/*
Theme Name: Skyware Corporate
Theme URI: https://www.skyware.co.kr/
Description: 화면기획서 기반의 관리자 편집형 Skyware 전용 블록 테마입니다.
Author: Skyware
Version: 2.61.861
Text Domain: skyware-corporate
License: GNU General Public License v2 or later
*/

:root {
  --sw-navy: #102f67;
  --sw-blue: #4779c9;
  --sw-cyan: #20b8d1;
  --sw-mint: #21a892;
  --sw-ink: #17243a;
  --sw-muted: #607089;
  --sw-mist: #eef5fb;
  --sw-line: #dbe5f0;
  --sw-white: #fff;
  --sw-shadow: 0 22px 70px rgba(16, 47, 103, 0.12);
  --sw-radius: 24px;
}

html { scroll-behavior: smooth; scroll-padding-top: 92px; }
/* 앵커 탭이 있는 페이지는 헤더(79) 아래에 탭 막대(67)가 한 줄 더 붙으므로,
   앵커로 건너뛴 제목이 그 뒤로 숨지 않게 그만큼 더 내려 둔다. */
html:has(.sw-anchor-nav) { scroll-padding-top: 158px; }
/* overflow-x:hidden 은 body 를 스크롤 컨테이너로 만들어 sticky 헤더를 무력화한다.
   clip 은 잘라내되 컨테이너를 만들지 않아 헤더가 실제로 고정된다. */
body { margin: 0; overflow-x: clip; }
a { text-underline-offset: 0.18em; }
main { min-height: 55vh; }

/* sticky 는 부모 박스 안에서만 움직인다. .sw-site-header 의 부모인 템플릿 파트
   래퍼는 헤더와 높이가 같아 붙을 자리가 없으므로, 래퍼 자체를 고정한다. */
.wp-site-blocks > header.wp-block-template-part { position: sticky; z-index: 1000; top: 0; }

.sw-site-header {
  border-bottom: 1px solid rgba(16, 47, 103, 0.09);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 5px 28px rgba(16, 47, 103, 0.06);
  backdrop-filter: blur(18px);
}

.sw-header-inner { min-height: 78px; padding: 0 24px; }
.sw-header-inner .wp-block-site-logo img { height: auto; }
.sw-primary-nav .wp-block-navigation-item__content { color: var(--sw-ink); text-decoration: none; }
.sw-primary-nav .wp-block-navigation-item__content:hover { color: var(--sw-blue); }
.sw-primary-nav .wp-block-navigation__submenu-container {
  min-width: 190px !important;
  padding: 10px !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 16px;
  background: var(--sw-white) !important;
  box-shadow: var(--sw-shadow);
}
.sw-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 9px 12px; border-radius: 9px; }
.sw-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--sw-mist); }
.sw-header-cta { flex: 0 0 auto; }
/* 데스크톱 메뉴 항목 간격 (모바일 패널은 따로 간격을 둔다) */
.sw-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container { gap: clamp(24px, 2.4vw, 56px); }
.sw-header-inner { gap: 18px; }
/* 헤더는 넓은 폭보다 조금 더 넓게 써서 1.4배 큰 메뉴가 한 줄에 들어가게 한다. */
.sw-site-header > .sw-header-inner.alignwide { max-width: 1520px; }
/* 최상위 메뉴 글씨: 큰 화면에서 기본(0.94rem + 1pt)의 약 1.4배, 좁아질수록 조금씩 줄인다. */
.sw-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-size: clamp(18px, calc(1.1vw + 5px), 23px); font-weight: 700; }
.sw-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation__submenu-icon svg { width: 14px; height: 14px; }
/* 기술지원: 구분선 뒤에 한 단계 연하게 */
.sw-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .sw-nav-support { position: relative; padding-left: clamp(16px, 1.6vw, 24px); }
.sw-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .sw-nav-support::before { content: ""; position: absolute; top: 50%; left: 0; width: 1px; height: 14px; transform: translateY(-50%); background: currentColor; opacity: .3; }
.sw-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .sw-nav-support > .wp-block-navigation-item__content { font-size: .92em; font-weight: 500 !important; opacity: .8; }
/* 서비스 문의: 테두리만 있는 알약 버튼 */
.sw-header-cta .wp-block-button__link { padding: 9px 20px; border: 1.5px solid var(--sw-navy); border-radius: 99px; background: transparent; color: var(--sw-navy); font-size: calc(.9rem + 1pt); font-weight: 700; transition: background .2s ease, color .2s ease; }
.sw-header-cta .wp-block-button__link:hover { background: var(--sw-navy); color: #fff; }
/* 지구본 언어 전환 */
.sw-header-inner > p:has(.sw-lang-switch) { flex: 0 0 auto; margin: 0; line-height: 0; }
.sw-lang-switch {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  color: var(--sw-ink);
  transition: background .2s ease, color .2s ease;
}
.sw-lang-switch::before {
  content: "";
  width: 22px;
  height: 22px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20M2 12h20'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20M2 12h20'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sw-lang-switch span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sw-lang-switch:hover { background: var(--sw-mist); color: var(--sw-blue); }
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part:not(.is-scrolled) .sw-lang-switch { color: #fff; }
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part:not(.is-scrolled) .sw-lang-switch:hover { background: rgba(255, 255, 255, .15); }

/* 오른쪽 아래 떠 있는 서비스 문의 버튼 + 말풍선 (챗봇 버튼 위) */
.sw-fab { position: fixed; z-index: 90; right: 24px; bottom: 100px; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
body:has(.sw-contact) .sw-fab { display: none; }
.sw-fab-bubble { position: relative; padding: 14px 42px 14px 18px; border-radius: 16px; background: #fff; box-shadow: 0 14px 34px rgba(16, 47, 103, .18); animation: sw-fab-in .45s ease both .6s; }
.sw-fab-bubble::after { content: ""; position: absolute; right: 34px; bottom: -6px; width: 12px; height: 12px; transform: rotate(45deg); background: #fff; }
.sw-fab-bubble[hidden] { display: none; }
.sw-fab-bubble p { margin: 0; }
.sw-fab-bubble .sw-fab-title { color: var(--sw-ink); font-size: calc(.92rem + 1pt); font-weight: 700; }
.sw-fab-bubble .sw-fab-sub { margin-top: 3px; color: var(--sw-muted); font-size: calc(.78rem + 1pt); }
.sw-fab-close { position: absolute; top: 8px; right: 10px; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 50%; background: none; color: #9aa7b8; font-size: 18px; line-height: 1; cursor: pointer; }
.sw-fab-close:hover { background: var(--sw-mist); color: var(--sw-ink); }
.sw-fab-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 24px 14px 18px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--sw-navy), #1f4f9f);
  box-shadow: 0 14px 30px rgba(16, 47, 103, .3);
  color: #fff;
  font-size: calc(.98rem + 1pt);
  font-weight: 800;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
.sw-fab-button::before {
  content: "";
  width: 22px;
  height: 22px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sw-fab-button:hover { transform: translateY(-2px); box-shadow: 0 18px 36px rgba(16, 47, 103, .38); color: #fff; }
@keyframes sw-fab-in { from { opacity: 0; transform: translateY(8px); } }
@media (max-width: 781px) {
  .sw-fab { right: 16px; bottom: 84px; }
  .sw-fab-bubble { display: none; }
  .sw-fab-button { padding: 12px 18px 12px 14px; }
}
@media (prefers-reduced-motion: reduce) { .sw-fab-bubble { animation: none; } }

/* 코어 내비의 오버레이 전환점은 600px 인데, 1.4배 키운 메뉴가 한 줄에 들어가는 것은
   1280px 부터다. 그 사이에서는 내비가 두 줄로 접히므로 햄버거를 계속 쓴다. */
@media (min-width: 600px) and (max-width: 1279px) {
  .sw-site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
  .sw-site-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
}

/* 모바일 메뉴: 오른쪽에서 들어오는 패널 + 아코디언 (site.js 가 .sw-mnav 를 붙인다). */
.sw-site-header .sw-mnav.is-menu-open {
  left: auto !important;
  right: 0 !important;
  width: min(340px, 86vw);
  padding: 0 !important;
  background: #fff !important;
  color: var(--sw-ink) !important;
  box-shadow: 0 0 0 100vmax rgba(8, 20, 45, .5);
  animation: sw-mnav-in .28s ease both;
}
@keyframes sw-mnav-in { from { transform: translateX(100%); } }
.sw-site-header .sw-mnav .wp-block-navigation__responsive-dialog { position: relative; margin: 0 !important; }
.sw-site-header .sw-mnav .sw-mnav-home { display: none; }
.sw-site-header .sw-mnav.is-menu-open .sw-mnav-home {
  display: flex;
  align-items: center;
  height: 60px;
  padding: 0 22px;
  border-bottom: 1px solid var(--sw-line);
  color: var(--sw-ink);
  font-size: calc(1.15rem + 1pt);
  font-weight: 800;
  text-decoration: none;
}
.sw-site-header .sw-mnav.is-menu-open .wp-block-navigation__responsive-container-close { top: 16px; right: 16px; color: var(--sw-ink); }
.sw-site-header .sw-mnav.is-menu-open .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }
.sw-site-header .sw-mnav.is-menu-open .wp-block-navigation__responsive-container-content { padding: 0 !important; align-items: stretch !important; }
.sw-site-header .sw-mnav.is-menu-open .wp-block-navigation__container { width: 100%; gap: 0 !important; align-items: stretch !important; }
.sw-site-header .sw-mnav.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { display: block; position: relative; width: 100%; border-bottom: 1px solid var(--sw-line); }
.sw-site-header .sw-mnav.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
  display: flex !important;
  width: 100%;
  padding: 16px 60px 16px 22px !important;
  color: var(--sw-ink) !important;
  font-size: calc(1.06rem + 1pt);
  font-weight: 700;
}
.sw-site-header .sw-mnav.is-menu-open .has-child > .wp-block-navigation__submenu-icon {
  display: grid !important;
  position: absolute;
  top: 0;
  right: 8px;
  width: 48px;
  height: 58px;
  margin: 0;
  padding: 0;
  place-items: center;
  border: 0;
  background: none;
  color: var(--sw-ink) !important;
  cursor: pointer;
}
.sw-site-header .sw-mnav.is-menu-open .has-child > .wp-block-navigation__submenu-icon svg { width: 16px; height: 16px; transition: transform .25s ease; }
.sw-site-header .sw-mnav.is-menu-open .sw-open > .wp-block-navigation-item__content,
.sw-site-header .sw-mnav.is-menu-open .sw-open > .wp-block-navigation__submenu-icon { color: var(--sw-blue) !important; }
.sw-site-header .sw-mnav.is-menu-open .sw-open > .wp-block-navigation__submenu-icon svg { transform: rotate(180deg); }
.sw-site-header .sw-mnav.is-menu-open .has-child > .wp-block-navigation__submenu-container { display: none !important; }
.sw-site-header .sw-mnav.is-menu-open .sw-open > .wp-block-navigation__submenu-container {
  display: block !important;
  position: static !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 10px 0 !important;
  border: 0 !important;
  border-radius: 0;
  background: var(--sw-navy) !important;
  box-shadow: none;
  opacity: 1 !important;
  visibility: visible !important;
}
.sw-site-header .sw-mnav.is-menu-open .sw-open > .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  display: block;
  padding: 11px 22px !important;
  border-radius: 0;
  color: #fff !important;
  font-size: calc(.98rem + 1pt);
  font-weight: 500;
}
.sw-site-header .sw-mnav.is-menu-open .sw-open > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: rgba(255, 255, 255, .1); }
@media (prefers-reduced-motion: reduce) { .sw-site-header .sw-mnav.is-menu-open { animation: none; } }

.sw-site-footer { padding: 72px 24px 26px; }
.sw-site-footer a { color: #fff; text-decoration-color: rgba(255, 255, 255, 0.35); }
.sw-site-footer p { color: rgba(255, 255, 255, 0.76); }
.sw-footer-links { margin: 0; padding: 0; list-style: none; }
.sw-footer-links li { margin: 0 0 7px; }
.sw-footer-rule { opacity: 0.18; margin-top: 36px !important; }

.sw-section { padding: clamp(72px, 9vw, 128px) 24px; }
.sw-section-tight { padding: clamp(48px, 6vw, 82px) 24px; }
.sw-section-heading { max-width: 780px; margin-bottom: 44px; }
.sw-section-heading > :first-child { margin-top: 0; }
/* 위에 있던 영문 라벨을 걷어내면서 제목이 섹션의 첫 줄이 됐다. 본문 먹색 대신
   브랜드 네이비를 쓰고 크기를 키워, 라벨이 하던 구분 역할을 제목이 대신한다. */
.sw-section-heading h2 {
  color: var(--sw-navy);
  font-size: calc(clamp(1.95rem, 3.2vw, 2.7rem) + 1pt);
  letter-spacing: -.025em;
}
.sw-eyebrow {
  margin-bottom: 12px;
  color: var(--sw-blue);
  font-size: calc(0.78rem + 1pt);
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.sw-lead { color: var(--sw-muted); font-size: calc(clamp(1.04rem, 1.8vw, 1.28rem) + 1pt); line-height: 1.75; }

.sw-hero-carousel { position: relative; min-height: min(800px, 80vh); background: var(--sw-navy); overflow: hidden; }
.sw-hero-carousel::before,
.sw-hero-carousel::after { content: ""; position: absolute; z-index: 1; border-radius: 999px; filter: blur(2px); pointer-events: none; }
.sw-hero-carousel::before { width: 52vw; height: 52vw; right: -18vw; top: -27vw; background: rgba(32, 184, 209, 0.24); }
.sw-hero-carousel::after { width: 36vw; height: 36vw; left: -16vw; bottom: -20vw; background: rgba(71, 121, 201, 0.36); }
.sw-hero-carousel > .wp-block-group {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  align-items: center;
  min-height: min(800px, 80vh);
  padding: 84px 24px 120px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(18px);
  transition: opacity 0.7s ease, transform 0.7s ease, visibility 0.7s;
}
.sw-hero-carousel > .wp-block-group.is-active,
.sw-hero-carousel:not(:has(.is-active)) > .wp-block-group:first-child { opacity: 1; visibility: visible; transform: none; }
.sw-hero-inner { width: min(1200px, 100%); margin-inline: auto; }
.sw-hero-inner h1,
.sw-hero-inner h2 { max-width: 980px; margin: 12px 0 24px; color: white; letter-spacing: -0.045em; }
.sw-hero-inner p:not(.sw-eyebrow) { max-width: 660px; color: rgba(255,255,255,.78); font-size: calc(clamp(1.05rem,2vw,1.28rem) + 1pt); }
.sw-hero-inner .sw-eyebrow { color: #83e9f5; }
.sw-hero-inner .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: white; color: var(--sw-navy); }
.sw-hero-inner .is-style-outline .wp-block-button__link { border-color: rgba(255,255,255,.65); color: white; }
.sw-hero-controls { position: absolute; z-index: 5; bottom: 54px; left: max(24px, calc((100vw - 1200px) / 2)); display: flex; gap: 10px; }
.sw-hero-controls button { width: 38px; height: 5px; padding: 0; border: 0; border-radius: 99px; background: rgba(255,255,255,.36); cursor: pointer; }
.sw-hero-controls button[aria-current="true"] { background: white; }

.sw-page-hero {
  position: relative;
  padding: clamp(88px, 10vw, 150px) 24px clamp(62px, 7vw, 92px);
  color: white;
  background: linear-gradient(130deg, #0b2758, #315fa7 65%, #1ea9bd);
  overflow: hidden;
}
/* 배너 배경 장식. 자체 제작 SVG 격자를 타일로 깔고 위아래를 서서히 지워
   제목 주변이 답답해지지 않게 한다. 장식이므로 DOM에 넣지 않고 배경으로만 쓴다. */
.sw-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(assets/images/hero-network.svg) 0 0 / 180px 180px repeat;
  -webkit-mask-image: linear-gradient(105deg, transparent 24%, rgba(0,0,0,.5) 56%, #000 88%);
  mask-image: linear-gradient(105deg, transparent 24%, rgba(0,0,0,.5) 56%, #000 88%);
  pointer-events: none;
}
/* 오른쪽 위에서 들어오는 부드러운 빛. 홈 히어로의 원형 글로우와 결을 맞춘다. */
.sw-page-hero::after {
  content: "";
  position: absolute;
  top: -34vw;
  right: -20vw;
  width: 62vw;
  height: 62vw;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(32, 184, 209, .3), transparent 62%);
  pointer-events: none;
}
/* 장식 두 겹 위로 본문을 올린다. */
.sw-page-hero > * { position: relative; z-index: 1; }

/* 사진 배경 배너. 섹션마다 다른 사진을 쓰려고 두 조각으로 나눴다.
   has-photo 가 장식 레이어를 사진으로 바꾸고, is-photo-* 가 어떤 사진인지만 정한다.
   새 사진을 추가할 때는 is-photo-<이름> 한 줄만 늘리면 된다.
   그라디언트를 사진 위에 덮어 글자 대비를 확보하므로 사진이 밝아도 흰 글씨가 읽힌다. */
.sw-page-hero.has-photo {
  /* 사진이 밝을수록 올린다. 0 이면 브랜드 그라디언트만으로 충분하다는 뜻. */
  --sw-hero-shade: 0;
}
.sw-page-hero.has-photo::before {
  background:
    /* 글자가 놓이는 왼쪽에 그늘을 깔아, 어떤 사진이 와도 흰 글씨가 읽히게 한다. */
    linear-gradient(90deg, rgba(8, 26, 58, .74), rgba(8, 26, 58, .3) 46%, transparent 76%),
    /* 사진별 추가 농도 */
    linear-gradient(0deg, rgba(8, 26, 58, var(--sw-hero-shade)), rgba(8, 26, 58, var(--sw-hero-shade))),
    linear-gradient(130deg, rgba(11, 39, 88, .9), rgba(49, 95, 167, .74) 62%, rgba(30, 169, 189, .6)),
    var(--sw-hero-photo) center / cover no-repeat;
  -webkit-mask-image: none;
  mask-image: none;
}
.sw-page-hero.is-photo-company { --sw-hero-photo: url(assets/images/hero-company.jpg); }
/* 서버 사진은 은색이라 그라디언트만으로는 본문이 흐려진다. */
.sw-page-hero.is-photo-tech { --sw-hero-photo: url(assets/images/hero-tech.jpg); --sw-hero-shade: .3; }
/* 코드와 화면이 글자 옆에서 어수선해지는 것을 눌러 준다. */
.sw-page-hero.is-photo-solution { --sw-hero-photo: url(assets/images/hero-solution.jpg); --sw-hero-shade: .14; }
.sw-page-hero.is-photo-portfolio { --sw-hero-photo: url(assets/images/hero-portfolio.jpg); }
.sw-page-hero.is-photo-support { --sw-hero-photo: url(assets/images/hero-support.jpg); --sw-hero-shade: .14; }
.sw-page-hero h1 { margin: 8px 0 0; color: white; font-size: calc(clamp(2.3rem, 6vw, 5rem) + 1pt); letter-spacing: -.04em; }
.sw-page-hero p { max-width: 700px; color: rgba(255,255,255,.78); }
/* 밑줄 탭. 알약 대신 글자만 두고 현재 섹션에만 파란 밑줄을 그린다. 밑줄은 막대
   아래 경계선 위에 겹쳐 놓아 선 하나로 이어져 보인다. */
.sw-anchor-nav { position: sticky; z-index: 100; top: 79px; padding: 0 24px; border-bottom: 1px solid var(--sw-line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.sw-anchor-nav .wp-block-buttons { gap: 0; justify-content: center; }
.sw-anchor-nav .wp-block-button__link { position: relative; padding: 19px 22px; border-radius: 0; background: transparent; color: var(--sw-muted); font-size: calc(16px + 1pt); font-weight: 500; white-space: nowrap; transition: color .2s ease; }
.sw-anchor-nav .wp-block-button__link::after { content: ""; position: absolute; right: 22px; bottom: -1px; left: 22px; height: 2px; background: var(--sw-blue); opacity: 0; transition: opacity .2s ease; }
.sw-anchor-nav .wp-block-button__link:hover { background: transparent; color: var(--sw-navy); }
.sw-anchor-nav .wp-block-button__link.is-current { color: var(--sw-blue); font-weight: 600; }
.sw-anchor-nav .wp-block-button__link.is-current::after { opacity: 1; }
/* 선택된 항목 강조: 옅은 파란 알약 배경 + 빛나는 밑줄 */
.sw-anchor-nav .wp-block-button__link { transition: color .2s ease, background .25s ease; }
.sw-anchor-nav .wp-block-button__link::before { content: ""; position: absolute; inset: 10px 8px; z-index: -1; border-radius: 99px; background: linear-gradient(90deg, rgba(71, 121, 201, .12), rgba(32, 184, 209, .12)); opacity: 0; transform: scale(.92); transition: opacity .25s ease, transform .25s ease; }
.sw-anchor-nav .wp-block-button__link:hover::before { opacity: .6; transform: scale(1); }
.sw-anchor-nav .wp-block-button__link.is-current { font-weight: 800; }
.sw-anchor-nav .wp-block-button__link.is-current::before { opacity: 1; transform: scale(1); box-shadow: 0 0 0 1px rgba(71, 121, 201, .18), 0 6px 18px rgba(63, 182, 255, .25); }
.sw-anchor-nav .wp-block-button__link.is-current::after { height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--sw-blue), var(--sw-cyan)); box-shadow: 0 0 10px rgba(63, 182, 255, .9); }
.sw-anchor-nav .wp-block-button { isolation: isolate; }

.sw-card-grid { gap: 20px; }
.sw-card {
  height: 100%;
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid var(--sw-line);
  border-radius: var(--sw-radius);
  background: white;
  box-shadow: 0 10px 34px rgba(16, 47, 103, 0.06);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.sw-card:hover { transform: translateY(-5px); border-color: rgba(71,121,201,.45); box-shadow: var(--sw-shadow); }
.sw-card h3 { margin-top: 8px; }
.sw-card p { color: var(--sw-muted); }
/* 도식 이미지에서 옮겨온 카드: 영문 라벨과 체크 목록 */
.sw-card p.sw-tag { margin-top: 6px; color: var(--sw-blue); background: var(--sw-mist); }
.sw-card ul { margin: 16px 0 0; padding: 0; list-style: none; }
.sw-card ul li { position: relative; padding-left: 22px; color: var(--sw-muted); line-height: 1.75; }
.sw-card ul li::before { content: "✓"; position: absolute; left: 0; color: var(--sw-cyan); font-weight: 800; }
.sw-card-number { color: var(--sw-cyan); font-size: calc(.8rem + 1pt); font-weight: 800; letter-spacing: .14em; }
/* 카드 제목(특장점 · 도입 효과 등): 크게, 앞에 색 막대. 두 번째 카드는 초록 계열로 구분. */
.sw-card-label { display: flex; align-items: center; gap: 10px; margin-bottom: 18px !important; color: var(--sw-blue); font-size: calc(1.25rem + 1pt); font-weight: 800; letter-spacing: -.01em; }
.sw-card-label::before { content: ""; flex: 0 0 auto; width: 5px; height: 1.1em; border-radius: 3px; background: currentColor; }
.wp-block-columns > .wp-block-column:nth-child(2) .sw-card-label { color: #13806e; }
.sw-icon-badge { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 16px; background: var(--sw-mist); color: var(--sw-blue); font-size: calc(1.45rem + 1pt); font-weight: 800; }
/* 배지 안의 Lucide 아이콘. SVG가 1em·currentColor라 위의 font-size와 color를 그대로 따른다. */
.sw-icon-badge svg { display: block; }
/* 배지가 카드 라벨 위에 올 때는 블록 기본 간격이 너무 벌어진다. */
.sw-icon-badge + .sw-card-number { margin-top: 14px; }
.sw-link-card a::after { content: "  ↗"; }

/* 문서형 페이지(sw-doc) 전용 보정. 이 클래스를 붙인 섹션에만 적용되므로 다른
   페이지의 sw-card / sw-card-grid 는 그대로다. */
.sw-doc .sw-card-grid { flex-wrap: wrap; }
/* 칼럼이 좁아질 때 내용이 칼럼을 밀어내지 않게 한다. 카드 높이는 height:100% 로
   서로 맞춰지므로 그대로 둔다. */
.sw-doc .sw-card-grid > .wp-block-column { min-width: 0; }
/* alignwide 카드 안에서 constrained 레이아웃이 본문을 760px로 좁혀 한쪽에 큰 여백을
   남기던 문제. 카드 안에서는 폭을 카드에 맞춘다. */
.sw-doc .sw-card > * { max-width: none; margin-left: 0; margin-right: 0; }
/* 배지는 display:grid 라 폭을 명시하지 않으면 블록 전체로 늘어난다. 아이콘은
   정사각으로 두되, 글자 배지가 들어와도 줄바꿈되지 않게 한다. */
.sw-doc .sw-icon-badge { display: inline-grid; width: auto; min-width: 52px; padding: 0 12px; white-space: nowrap; }
.sw-doc .sw-table-wrap { max-width: 100%; }
.sw-doc img, .sw-doc figure { max-width: 100%; }

/* ── 경영철학 카드 ──────────────────────────────────────────────────
   남색 배경 위의 원 4개를 밝은 패널 위 카드 4장으로 바꾼 섹션. 원 안에 제목만
   있어 넷이 구분되지 않고 설명이 원 밖에 떠 있던 것을 한 장에 묶었다.
   색과 크기는 지정받은 값을 그대로 쓴다. */
.sw-philosophy { padding-top: 96px; padding-bottom: 96px; background: #f5f7fa; }
.sw-philosophy-eyebrow { margin-bottom: 12px; color: #1e9e8a; font-size: calc(13px + 1pt); font-weight: 700; letter-spacing: .08em; }
.sw-philosophy .sw-section-heading h2 { color: #1f4e8c; font-size: calc(36px + 1pt); font-weight: 700; letter-spacing: -.02em; }
.sw-philosophy .sw-lead { font-size: calc(18px + 1pt); color: #4b5563; }

/* 코어 칼럼은 781px 에서 한 번에 1열로 접힌다. 태블릿에서 2열을 두려면
   그리드로 바꿔야 해서 display 를 덮어쓴다. */
/* 코어 칼럼 블록은 flex 로 깔리고, 781px 아래에서 flex-basis: 100% !important 로
   한 줄씩 쌓는다. 그 규칙을 이겨야 열 수를 우리가 정할 수 있다. 클래스를 하나
   더 얹고 !important 를 쓰는 이유다. */
.wp-block-columns.sw-value-grid { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.wp-block-columns.sw-value-grid > .wp-block-column { width: auto; margin: 0 !important; flex-basis: auto !important; }
@media (max-width: 1024px) { .wp-block-columns.sw-value-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .wp-block-columns.sw-value-grid { grid-template-columns: 1fr; } }

.sw-value-card {
  height: 100%;
  padding: 32px 24px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
  transition: border-color .2s ease, transform .2s ease;
}
.sw-value-card:hover { transform: translateY(-4px); border-color: #1e9e8a; }
.sw-value-no { margin: 0; color: #1e9e8a; font-size: calc(14px + 1pt); font-weight: 600; }
.sw-value-icon {
  display: grid;
  width: 64px;
  height: 64px;
  margin-top: 18px;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #e8f1fb, #1f4e8c);
  color: #fff;
}
/* constrained 레이아웃이 폭을 가진 자식에 margin-left:auto 를 !important 로 걸어
   가운데로 민다. 번호·제목과 같은 왼쪽 기준선에 두려면 선택자를 한 단계 더
   좁혀서 되돌려야 한다. */
.sw-value-card .sw-value-icon { margin-right: auto !important; margin-left: 0 !important; }
.sw-value-icon svg { display: block; width: 28px; height: 28px; }
.sw-value-card h3 { margin: 20px 0 0; color: #1f4e8c; font-size: calc(20px + 1pt); font-weight: 700; }
.sw-value-en { margin: 4px 0 0; color: #6b7280; font-size: calc(13px + 1pt); }
.sw-value-desc { margin: 14px 0 0; color: #4b5563; font-size: calc(15px + 1pt); line-height: 1.7; }

.sw-circle-grid { gap: 28px; text-align: center; }
.sw-circle-grid .wp-block-column { display: flex; flex-direction: column; align-items: center; }
.sw-circle {
  display: grid;
  width: clamp(132px, 15vw, 178px);
  aspect-ratio: 1;
  margin-bottom: 20px;
  padding: 18px;
  place-items: center;
  border: 1px solid var(--sw-line);
  border-radius: 50%;
  background: white;
  box-shadow: 0 12px 38px rgba(16, 47, 103, 0.08);
  color: var(--sw-navy);
  font-size: calc(clamp(0.92rem, 1.5vw, 1.05rem) + 1pt);
  font-weight: 800;
  line-height: 1.35;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.sw-circle-grid .wp-block-column:hover .sw-circle { transform: translateY(-6px); border-color: rgba(71, 121, 201, .45); box-shadow: var(--sw-shadow); }
.sw-circle-grid h3 { margin: 0 0 6px; font-size: calc(1.12rem + 1pt); }
.sw-circle-grid p { margin: 0; color: var(--sw-muted); }
.sw-dark .sw-circle { border-color: rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .06); color: white; box-shadow: none; }
.sw-dark .sw-circle-grid p { color: rgba(255, 255, 255, .74); }

/* Light circle grid (홈 Company): 큰 흰 원 + 얇은 하늘색 테두리, 뒤에 겹친 연한 원과 테두리 위 점,
   섹션 모서리의 큰 곡선 장식. 장식은 모두 CSS 라 원 안 문구는 그대로 편집할 수 있다. */
.sw-section:not(.sw-dark):has(> .sw-circle-grid) {
  --sw-orb: clamp(150px, 23vw, 320px);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(180deg, #fbfcff, #f4f7fd);
}
.sw-section:not(.sw-dark):has(> .sw-circle-grid)::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -340px;
  right: -260px;
  width: 620px;
  aspect-ratio: 1;
  border: 1px solid rgba(71, 121, 201, .28);
  border-radius: 50%;
  background: radial-gradient(circle at 20% 80%, rgba(120, 165, 240, .22), transparent 55%);
}
.sw-section:not(.sw-dark):has(> .sw-circle-grid)::after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -300px;
  left: -220px;
  width: 440px;
  aspect-ratio: 1;
  border: 1px solid rgba(71, 121, 201, .22);
  border-radius: 50%;
  background: radial-gradient(circle at 76% 13%, #b9cff5 0 16px, transparent 17px);
}
.sw-section:not(.sw-dark) .sw-circle-grid { margin-top: 56px; gap: clamp(20px, 4vw, 56px); }
.sw-section:not(.sw-dark) .sw-circle-grid .wp-block-column { position: relative; z-index: 0; }
.sw-section:not(.sw-dark) .sw-circle {
  position: relative;
  flex: 0 0 auto;
  width: var(--sw-orb);
  height: var(--sw-orb);
  margin-bottom: 34px;
  border: 1px solid rgba(71, 121, 201, .38);
  background: radial-gradient(circle at 50% 35%, #fff 60%, #f6f9ff);
  box-shadow: 0 24px 60px rgba(71, 121, 201, .16), 0 0 0 8px rgba(255, 255, 255, .55);
  color: var(--sw-navy);
  font-size: calc(clamp(1.1rem, 2vw, 1.75rem) + 1pt);
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -.01em;
}
/* 원 뒤에 살짝 겹쳐 보이는 연한 원 */
.sw-section:not(.sw-dark) .sw-circle::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 42%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: linear-gradient(135deg, #e3ecfb, #eef3fc);
}
.sw-section:not(.sw-dark) .sw-circle-grid .wp-block-column:nth-child(3n+1) .sw-circle::before { top: 24%; left: -18%; }
.sw-section:not(.sw-dark) .sw-circle-grid .wp-block-column:nth-child(3n+2) .sw-circle::before { top: -4%; right: -16%; }
.sw-section:not(.sw-dark) .sw-circle-grid .wp-block-column:nth-child(3n) .sw-circle::before { bottom: -8%; left: -16%; width: 48%; }
/* 테두리 선을 따라 도는 파란 점: 원보다 16px 큰 투명 틀의 맨 위에 점을 그리고 틀을 돌린다. */
.sw-section:not(.sw-dark) .sw-circle::after {
  content: "";
  position: absolute;
  inset: -16px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 16px, #4a86f0 0 7px, rgba(74, 134, 240, .32) 7.5px 11px, rgba(74, 134, 240, .1) 11.5px 15px, transparent 15.5px);
  pointer-events: none;
  animation: sw-dot-orbit 12s linear infinite;
}
.sw-section:not(.sw-dark) .sw-circle-grid .wp-block-column:nth-child(3n+1) .sw-circle::after { --sw-dot-from: 40deg; }
.sw-section:not(.sw-dark) .sw-circle-grid .wp-block-column:nth-child(3n+2) .sw-circle::after { --sw-dot-from: 220deg; animation-duration: 16s; animation-direction: reverse; }
.sw-section:not(.sw-dark) .sw-circle-grid .wp-block-column:nth-child(3n) .sw-circle::after { --sw-dot-from: 135deg; animation-duration: 10s; }
@property --sw-dot-from { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes sw-dot-orbit {
  from { transform: rotate(var(--sw-dot-from)); }
  to { transform: rotate(calc(var(--sw-dot-from) + 1turn)); }
}
@media (prefers-reduced-motion: reduce) {
  .sw-section:not(.sw-dark) .sw-circle::after { animation: none; transform: rotate(var(--sw-dot-from)); }
}
.sw-section:not(.sw-dark) .sw-circle-grid .wp-block-column:hover .sw-circle {
  transform: translateY(-6px);
  border-color: rgba(71, 121, 201, .6);
  box-shadow: 0 30px 70px rgba(71, 121, 201, .24), 0 0 0 8px rgba(255, 255, 255, .7);
}
.sw-section:not(.sw-dark) .sw-circle-grid .wp-block-column > p:not(.sw-circle) { max-width: 19em; color: #4b5563; font-size: calc(clamp(.95rem, 1.2vw, 1.08rem) + 1pt); line-height: 1.75; word-break: keep-all; }

/* Dark circle grid: deep-blue glowing section with glossy orbs (number · icon · title · bar)
   joined by a glowing line. Icons come from CSS so the circles stay plain editable text. */
.sw-dark:has(> .sw-circle-grid) {
  --sw-orb: clamp(150px, 17vw, 210px);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(50% 60% at 50% 55%, rgba(40, 120, 255, .28), transparent 70%),
    radial-gradient(40% 50% at 8% 10%, rgba(32, 184, 209, .16), transparent 70%),
    radial-gradient(45% 55% at 95% 95%, rgba(71, 121, 201, .26), transparent 70%),
    linear-gradient(180deg, #061735, #0a2358 55%, #061735);
}
.sw-dark:has(> .sw-circle-grid)::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(rgba(120, 180, 255, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 180, 255, .06) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(70% 80% at 50% 50%, #000, transparent);
  pointer-events: none;
}
.sw-dark:has(> .sw-circle-grid) .sw-section-heading h2 {
  background: linear-gradient(90deg, #fff 45%, #7cc8ff 75%, #3fb6ff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.sw-dark .sw-circle-grid { position: relative; margin-top: 48px; counter-reset: sw-circle; }
.sw-dark .sw-circle-grid::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: calc(var(--sw-orb) / 2);
  right: 12.5%;
  left: 12.5%;
  height: 2px;
  background: linear-gradient(90deg, rgba(63, 182, 255, .2), rgba(63, 182, 255, .9) 50%, rgba(63, 182, 255, .2));
  box-shadow: 0 0 10px rgba(63, 182, 255, .8);
}
.sw-dark .sw-circle-grid .wp-block-column { position: relative; z-index: 1; }
/* 선 끝의 빛나는 점: 원 양옆에 하나씩 */
.sw-dark .sw-circle-grid .wp-block-column:not(:first-child)::before,
.sw-dark .sw-circle-grid .wp-block-column:not(:last-child)::after {
  content: "";
  position: absolute;
  top: calc(var(--sw-orb) / 2 - 4px);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #bfe8ff;
  box-shadow: 0 0 0 3px rgba(63, 182, 255, .35), 0 0 12px 3px rgba(63, 182, 255, .9);
}
.sw-dark .sw-circle-grid .wp-block-column:not(:first-child)::before { left: calc(50% - var(--sw-orb) / 2 - 14px); }
.sw-dark .sw-circle-grid .wp-block-column:not(:last-child)::after { right: calc(50% - var(--sw-orb) / 2 - 14px); }
.sw-dark .sw-circle {
  --i: none;
  position: relative;
  flex: 0 0 auto;
  width: var(--sw-orb);
  height: var(--sw-orb);
  margin-bottom: 26px;
  padding: 0 0 18px;
  align-content: center;
  gap: 4px;
  border: 0;
  background:
    linear-gradient(90deg, #3fb6ff, #7cd8ff) center 74% / 34px 3px no-repeat,
    radial-gradient(60% 40% at 50% 12%, rgba(150, 205, 255, .35), transparent 70%),
    radial-gradient(70% 45% at 50% 100%, rgba(32, 184, 209, .28), transparent 70%),
    radial-gradient(circle, #10408f 0%, #0b2a66 62%, #071d4a 100%);
  box-shadow:
    inset 0 0 0 1px rgba(140, 205, 255, .4),
    inset 0 0 34px rgba(60, 160, 255, .35),
    0 0 36px rgba(40, 140, 255, .38),
    0 22px 50px rgba(0, 8, 30, .6);
  color: #fff;
  font-size: calc(clamp(1.02rem, 1.7vw, 1.28rem) + 1pt);
  letter-spacing: -.01em;
  counter-increment: sw-circle;
  transition: transform .3s ease, box-shadow .3s ease;
}
.sw-dark .sw-circle::before {
  content: "0" counter(sw-circle);
  display: block;
  justify-self: center;
  width: 48px;
  padding-bottom: 42px;
  text-align: center;
  background: var(--i) center bottom 6px / 32px no-repeat;
  color: #5cc8ff;
  font-size: calc(.8rem + 1pt);
  font-weight: 800;
  letter-spacing: .18em;
}
.sw-dark .sw-circle-grid .wp-block-column:nth-child(1) .sw-circle { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); }
.sw-dark .sw-circle-grid .wp-block-column:nth-child(2) .sw-circle { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5M9 18h6M10 22h4'/%3E%3Cpath d='M12 2V1M4.2 4.2l-.7-.7M19.8 4.2l.7-.7'/%3E%3C/svg%3E"); }
.sw-dark .sw-circle-grid .wp-block-column:nth-child(3) .sw-circle { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m11 17 2 2a1 1 0 1 0 3-3'/%3E%3Cpath d='m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4'/%3E%3Cpath d='m21 3 1 11h-2M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3M3 4h8'/%3E%3C/svg%3E"); }
.sw-dark .sw-circle-grid .wp-block-column:nth-child(4) .sw-circle { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20M2 12h20'/%3E%3C/svg%3E"); }
/* 바깥 테두리의 밝은 청록 링 */
.sw-dark .sw-circle::after {
  content: "";
  position: absolute;
  inset: -3px;
  padding: 2px;
  border-radius: 50%;
  background: conic-gradient(from 210deg, #7cd8ff, rgba(63, 182, 255, .15) 25%, rgba(63, 182, 255, .15) 55%, #3fb6ff 80%, #7cd8ff);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  filter: drop-shadow(0 0 6px rgba(63, 182, 255, .9));
}
.sw-dark .sw-circle-grid .wp-block-column:hover .sw-circle {
  transform: translateY(-6px);
  box-shadow:
    inset 0 0 0 1px rgba(160, 215, 255, .6),
    inset 0 0 40px rgba(70, 170, 255, .45),
    0 0 56px rgba(40, 150, 255, .6),
    0 26px 56px rgba(0, 8, 30, .6);
}
.sw-dark .sw-circle-grid .wp-block-column:hover .sw-circle::after { animation: sw-orbit 4s linear infinite; }
.sw-dark .sw-circle-grid .wp-block-column > p:not(.sw-circle) { max-width: 15em; color: rgba(255, 255, 255, .82); font-size: calc(.98rem + 1pt); line-height: 1.6; word-break: keep-all; transition: color .25s ease; }
.sw-dark .sw-circle-grid .wp-block-column:hover > p:not(.sw-circle) { color: #fff; }
@keyframes sw-orbit { to { transform: rotate(1turn); } }
@media (max-width: 781px) {
  .sw-dark .sw-circle-grid::before,
  .sw-dark .sw-circle-grid .wp-block-column::before,
  .sw-dark .sw-circle-grid .wp-block-column::after { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .sw-dark .sw-circle-grid .wp-block-column:hover .sw-circle::after { animation: none; }
}

.sw-metric-strip { padding: 42px 24px; background: var(--sw-navy); color: white; }
.sw-metric-strip .wp-block-column { border-left: 1px solid rgba(255,255,255,.18); padding-left: 22px; }
.sw-metric-strip .wp-block-column:first-child { border-left: 0; }
.sw-metric-strip strong { display: block; color: #fff; font-size: calc(clamp(1.8rem,4vw,3rem) + 1pt); line-height: 1.1; }
.sw-metric-strip p { color: rgba(255,255,255,.68); }

.sw-soft { background: var(--sw-mist); }
.sw-dark { background: var(--sw-navy); color: white; }
.sw-dark h2, .sw-dark h3 { color: white; }
.sw-dark p { color: rgba(255,255,255,.74); }
.sw-gradient { background: linear-gradient(135deg, #f5faff, #eef8f8); }
.sw-media-frame img { width: 100%; border: 1px solid var(--sw-line); box-shadow: var(--sw-shadow); }
.sw-logo-wall img { width: 100%; border: 1px solid var(--sw-line); background: white; }

.sw-process { counter-reset: sw-step; }
.sw-process > .wp-block-column { position: relative; padding-top: 58px; }
.sw-process > .wp-block-column::before { counter-increment: sw-step; content: "0" counter(sw-step); position: absolute; top: 0; left: 0; color: var(--sw-cyan); font-size: calc(1.65rem + 1pt); font-weight: 800; }
.sw-process > .wp-block-column:not(:last-child)::after { content: ""; position: absolute; top: 20px; left: 52px; right: -10px; height: 1px; background: var(--sw-line); }

.sw-timeline { border-left: 2px solid var(--sw-line); padding-left: 30px; }
.sw-timeline > .wp-block-group { position: relative; padding: 0 0 30px; }
.sw-timeline > .wp-block-group::before { content: ""; position: absolute; top: 9px; left: -38px; width: 14px; height: 14px; border: 3px solid white; border-radius: 50%; background: var(--sw-blue); box-shadow: 0 0 0 2px var(--sw-blue); }

.sw-table-wrap { overflow-x: auto; border: 1px solid var(--sw-line); border-radius: 18px; }
/* 표 틀은 넓은 폭인데 안쪽이 본문 폭(760px)으로 다시 줄던 문제: 틀 안에서는 폭 제한을 푼다. */
.sw-table-wrap.is-layout-constrained > * { max-width: none; }
.sw-table-wrap .wp-block-table { width: 100%; margin: 0; }
.sw-table-wrap table { min-width: 720px; margin: 0; }

/* 구성도: 래스터 PNG 대신 인라인 SVG. 좁은 화면에서는 가로 스크롤로 라벨 크기를 지킨다. */
/* 구성도는 본문 폭이 아니라 넓은 폭까지 펼쳐 크게 보이게 한다. */
.is-layout-constrained > .sw-diagram { max-width: var(--wp--style--global--wide-size, 1200px); }
.sw-diagram { overflow: hidden; margin: 0; padding: clamp(14px, 2vw, 24px); border: 1px solid var(--sw-line); border-radius: var(--sw-radius); background: #fff; box-shadow: var(--sw-shadow); }
.sw-diagram svg { display: block; width: 100%; height: auto; }
.sw-table-wrap th { background: var(--sw-navy); color: white; }
.sw-table-wrap td, .sw-table-wrap th { padding: 18px 22px; border-color: var(--sw-line); line-height: 1.7; word-break: keep-all; }

.sw-cta { padding: clamp(44px,7vw,84px); border-radius: 32px; color: white; background: linear-gradient(135deg,var(--sw-navy),var(--sw-blue) 62%,var(--sw-cyan)); box-shadow: var(--sw-shadow); }
.sw-cta h2 { max-width: 760px; color: white; }
.sw-cta p { max-width: 680px; color: rgba(255,255,255,.78); }
.sw-cta .wp-block-button__link { background: white; color: var(--sw-navy); }

.sw-portfolio-card { overflow: hidden; height: 100%; border: 1px solid var(--sw-line); border-radius: var(--sw-radius); background: white; }
.sw-portfolio-card figure { margin: 0; border-radius: 0; }
.sw-portfolio-card figure img { width: 100%; aspect-ratio: 16/9; border-radius: 0; object-fit: cover; }
.sw-portfolio-card > :not(figure) { margin-left: 24px; margin-right: 24px; }
.sw-portfolio-card > :last-child { margin-bottom: 26px; }
.sw-tag { display: inline-block; width: fit-content; padding: 5px 10px; border-radius: 99px; background: #e8f5fb; color: var(--sw-navy); font-size: calc(.78rem + 1pt); font-weight: 700; }
.sw-tag-row { gap: 8px; }

/* 조직도: 대표이사 → 참모(COO · 고문) → 기업부설연구소 → 4개 본부. 선과 아이콘은 CSS 가 그린다. */
.sw-org {
  --sw-org-line: #c3d2e6;
  --i-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
  --i-cog: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v3M12 19v3M4.9 4.9l2.1 2.1M17 17l2.1 2.1M2 12h3M19 12h3M4.9 19.1 7 17M17 7l2.1-2.1'/%3E%3C/svg%3E");
  --i-doc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E");
  --i-flask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 2v7.5L4.7 20.5a1 1 0 0 0 .9 1.5h12.8a1 1 0 0 0 .9-1.5L14 9.5V2M8.5 2h7M7 16h10'/%3E%3C/svg%3E");
  --i-box: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.7l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.7l7 4a2 2 0 0 0 2 0l7-4a2 2 0 0 0 1-1.7Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5M12 22V12'/%3E%3C/svg%3E");
  --i-monitor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='3' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E");
  --i-pen: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.2 6.8a1 1 0 0 0-4-4L3.8 16.2a2 2 0 0 0-.5.8L2 21.4a.5.5 0 0 0 .6.6l4.4-1.3a2 2 0 0 0 .8-.5zM15 5l4 4'/%3E%3C/svg%3E");
  --i-chart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v16a2 2 0 0 0 2 2h16M18 17V9M13 17V5M8 17v-3'/%3E%3C/svg%3E");
  position: relative;
  max-width: 1080px;
  margin-inline: auto;
}
.sw-org > *, .sw-org-staff > *, .sw-org-divisions > *, .sw-org-division > * { margin-block: 0; }
.sw-org-node {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: fit-content;
  min-height: 52px;
  margin-inline: auto;
  padding: 12px 24px;
  border-radius: 12px;
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
  word-break: keep-all;
}
.sw-org-node::before { content: ""; flex: 0 0 auto; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.sw-org-node.is-ceo { --i: var(--i-user); min-width: min(280px, 100%); min-height: 78px; border-radius: 18px; background: linear-gradient(135deg, #0b214d, var(--sw-navy) 55%, #1f4f9f); color: #fff; font-size: calc(1.35rem + 1pt); box-shadow: 0 18px 40px rgba(16, 47, 103, .28); }
.sw-org-node.is-ceo::before { width: 24px; height: 24px; }
.sw-org-staff { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 0 20%; padding: 28px 0; }
.sw-org-staff::before { content: ""; position: absolute; top: 0; bottom: 0; left: calc(50% - 1px); width: 2px; background: var(--sw-org-line); }
.sw-org-staff::after { content: ""; position: absolute; top: calc(50% - 1px); right: 20%; left: 20%; height: 2px; background: var(--sw-org-line); }
.sw-org-staff .sw-org-node { width: min(100%, 300px); }
.sw-org-node.is-coo { --i: var(--i-cog); background: #1b3f7e; color: #fff; }
.sw-org-node.is-advisor { --i: var(--i-doc); border: 1px solid var(--sw-line); background: #fff; color: var(--sw-navy); }
.sw-org-node.is-lab { --i: var(--i-flask); padding-inline: 30px; border: 1px solid #c9daf2; border-radius: 99px; background: var(--sw-mist); color: var(--sw-navy); }
.sw-org-divisions { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; padding-top: 52px; }
.sw-org-divisions::before { content: ""; position: absolute; top: 0; left: calc(50% - 1px); width: 2px; height: 26px; background: var(--sw-org-line); }
.sw-org-divisions::after { content: ""; position: absolute; top: 25px; right: calc((100% - 54px) / 8); left: calc((100% - 54px) / 8); height: 2px; background: var(--sw-org-line); }
.sw-org-division { position: relative; }
.sw-org-division::before { content: ""; position: absolute; top: -26px; left: calc(50% - 1px); width: 2px; height: 26px; background: var(--sw-org-line); }
.sw-org-division .sw-org-node.is-head { width: 100%; min-height: 58px; color: #fff; font-size: calc(1.05rem + 1pt); box-shadow: 0 10px 24px rgba(16, 47, 103, .16); }
.sw-org-division.is-dev { --sw-div: #12336f; --i: var(--i-box); }
.sw-org-division.is-it { --sw-div: #2f5fb3; --i: var(--i-monitor); }
.sw-org-division.is-design { --sw-div: #13806e; --i: var(--i-pen); }
.sw-org-division.is-mgmt { --sw-div: #0e7490; --i: var(--i-chart); }
.sw-org-division .is-head { background: var(--sw-div); }
.sw-org-teams { display: grid; gap: 8px; margin: 12px 0 0 !important; padding: 0; list-style: none; }
.sw-org-teams li { padding: 11px 12px; border: 1px solid var(--sw-line); border-top: 2px solid var(--sw-div); border-radius: 10px; background: #fff; color: var(--sw-ink); font-size: calc(.95rem + 1pt); font-weight: 600; text-align: center; transition: transform .2s ease, box-shadow .2s ease; }
.sw-org-teams li:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(16, 47, 103, .1); }
@media (max-width: 900px) {
  .sw-org-divisions { grid-template-columns: repeat(2, 1fr); gap: 28px 18px; }
  .sw-org-divisions::after, .sw-org-division::before { display: none; }
  .sw-org-divisions::before { height: 52px; }
}
@media (max-width: 600px) {
  .sw-org-staff { grid-template-columns: 1fr; gap: 14px; }
  .sw-org-staff::after { display: none; }
  .sw-org-divisions { grid-template-columns: 1fr; }
}

/* SCOS 주요 기능 사진 카드 (공식 홈페이지의 서비스 카드): 3칸, 둥근 사진 위 어두운 막 + 흰 제목 · 목록. */
.sw-photo-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.sw-photo-cards > * { margin: 0 !important; }
.sw-photo-card { overflow: hidden; min-height: 300px; padding: 40px 44px !important; border-radius: 28px; box-shadow: 0 18px 40px rgba(16, 47, 103, .16); }
.sw-photo-card .wp-block-cover__image-background { transition: transform .6s ease; }
.sw-photo-card .wp-block-cover__background { transition: opacity .35s ease; }
.sw-photo-card:hover .wp-block-cover__image-background { transform: scale(1.06); }
.sw-photo-card:hover .wp-block-cover__background { opacity: .45 !important; }
.sw-photo-card .wp-block-cover__inner-container { width: 100%; }
.sw-photo-card h3 { margin: 0 0 16px; color: #fff; font-size: calc(1.2rem + 1pt); font-weight: 800; }
.sw-photo-card ul { margin: 0; padding: 0; list-style: none; }
.sw-photo-card li { color: rgba(255, 255, 255, .92); font-size: calc(.95rem + 1pt); line-height: 1.85; }
.sw-photo-card li::before { content: "- "; }
@media (max-width: 1024px) { .sw-photo-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .sw-photo-cards { grid-template-columns: 1fr; } }

/* 한 페이지형 섹션(회사소개)의 소개 문장은 본문 폭에 가두지 않고 넓게 편다. */
.sw-onepage.is-layout-constrained > .sw-lead { max-width: var(--wp--style--global--wide-size, 1200px); }

/* 슬로건 흐름: 크고 옅은 글씨 두 줄이 서로 반대 방향으로 끊김 없이 흐른다.
   한 줄에 같은 문구 4개를 넣고 -50% 까지 밀면 이음매 없이 반복된다. */
.sw-marquee-wrap { overflow: hidden; padding-block: clamp(36px, 6vw, 80px); background: #fff; }
.sw-marquee { display: grid; gap: clamp(4px, 1vw, 12px); user-select: none; }
.sw-mq-row { display: flex; width: max-content; animation: sw-mq 48s linear infinite; }
.sw-mq-row.is-reverse { animation-direction: reverse; animation-duration: 56s; }
.sw-mq-row span {
  flex: 0 0 auto;
  padding-right: .45em;
  color: #eef1f5;
  font-size: clamp(3rem, 8.6vw, 8.4rem);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.1;
  white-space: nowrap;
}
.sw-marquee-wrap:hover .sw-mq-row { animation-play-state: paused; }
@keyframes sw-mq { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .sw-mq-row { animation: none; } }

/* 홈 Insights: 카테고리 · 제목 · 요약 카드 3개와 전체 보기 버튼. */
/* 카드뉴스: 위에 주제 삽화(테마 SVG), 아래 흰 영역에 카테고리 · 제목 · 요약, 맨 아래 날짜와 READ MORE.
   READ MORE 링크가 카드 전체를 덮어 어디를 눌러도 이동한다. */
.sw-insight-grid { gap: 24px; }
.sw-insight-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid #dfe7f2;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(16, 47, 103, .06);
  text-align: left;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.sw-insight-card:hover { transform: translateY(-6px); border-color: #b9cde8; box-shadow: 0 24px 50px rgba(16, 47, 103, .14); }
.sw-insight-card > * { margin: 0; }
.sw-insight-card .sw-insight-thumb { overflow: hidden; aspect-ratio: 16 / 9; background: #e3eefb; }
.sw-insight-card .sw-insight-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.sw-insight-card:hover .sw-insight-thumb img { transform: scale(1.04); }
.sw-insight-card > :not(.sw-insight-thumb) { padding-inline: clamp(20px, 2.2vw, 28px); }
.sw-insight-card .sw-insight-cat { margin-top: 22px; color: var(--sw-blue); font-size: calc(.72rem + 1pt); font-weight: 800; letter-spacing: .16em; }
.sw-insight-card h3 { margin-top: 10px; font-size: calc(clamp(1.1rem, 1.5vw, 1.28rem) + 1pt); font-weight: 800; line-height: 1.45; letter-spacing: -.02em; word-break: keep-all; }
.sw-insight-card h3 a { color: var(--sw-ink); text-decoration: none; }
.sw-insight-card:hover h3 a { color: var(--sw-blue); }
.sw-insight-card .sw-insight-summary { display: -webkit-box; margin-top: 10px; overflow: hidden; color: var(--sw-muted); font-size: calc(.92rem + 1pt); line-height: 1.7; word-break: keep-all; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
/* 날짜와 READ MORE 를 맨 아래 한 줄로 */
.sw-insight-card .sw-insight-date { margin-top: auto; padding-top: 20px; color: #7a889c; font-size: calc(.82rem + 1pt); }
.sw-insight-card .sw-insight-more { margin: -1.45em 0 0; padding-bottom: 22px; text-align: right; }
.sw-insight-card .sw-insight-more a { color: var(--sw-navy); font-size: calc(.74rem + 1pt); font-weight: 800; letter-spacing: .12em; text-decoration: none; }
.sw-insight-card .sw-insight-more a::after { content: " →"; }
.sw-insight-card .sw-insight-more a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.sw-insight-card:has(.sw-insight-more a:focus-visible) { outline: 3px solid var(--sw-blue); outline-offset: 3px; }
@media (max-width: 781px) {
  .sw-insight-card { max-width: 480px; margin-inline: auto; }
}
.sw-insight-all { margin-top: 40px; }
.sw-insight-all .wp-block-button__link { padding: 14px 30px; border: 1px solid var(--sw-navy); border-radius: 99px; background: transparent; color: var(--sw-navy); font-size: calc(.85rem + 1pt); font-weight: 800; letter-spacing: .12em; }
.sw-insight-all .wp-block-button__link:hover { background: var(--sw-navy); color: #fff; }

/* 채용절차: 단계 카드를 화살표로 잇는 흐름도. 한 줄 칸 수에 맞춰 화살표 위치가 바뀐다. */
.sw-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px 48px; counter-reset: sw-step-row; }
.sw-step {
  position: relative;
  padding: 30px 28px 28px;
  border: 1px solid var(--sw-line);
  border-radius: var(--sw-radius);
  background: #fff;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.sw-step:hover { transform: translateY(-4px); border-color: rgba(71, 121, 201, .45); box-shadow: var(--sw-shadow); }
.sw-steps > .sw-step + .sw-step { margin-top: 0; }
.sw-step::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -38px;
  width: 28px;
  height: 28px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: var(--sw-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 14px no-repeat;
  box-shadow: 0 6px 16px rgba(71, 121, 201, .35);
}
.sw-step:nth-child(3n)::after, .sw-step:last-child::after { display: none; }
.sw-step-icon { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 16px; background: linear-gradient(135deg, var(--sw-navy), var(--sw-blue)); color: #fff; font-size: calc(1.5rem + 1pt); box-shadow: 0 10px 24px rgba(16, 47, 103, .22); }
.sw-step:nth-child(n+4) .sw-step-icon { background: linear-gradient(135deg, var(--sw-blue), var(--sw-cyan)); }
.sw-step:last-child .sw-step-icon { background: linear-gradient(135deg, var(--sw-cyan), var(--sw-mint)); }
.sw-step .sw-step-no { margin: 20px 0 0; color: var(--sw-blue); font-size: calc(.76rem + 1pt); font-weight: 800; letter-spacing: .16em; }
.sw-step h3 { margin: 6px 0 0; color: var(--sw-ink); font-size: calc(1.25rem + 1pt); }
.sw-step .sw-step-en { margin: 2px 0 0; color: var(--sw-muted); font-size: calc(.88rem + 1pt); font-weight: 600; }
.sw-step .sw-step-desc { margin: 14px 0 0; padding-top: 14px; border-top: 1px solid var(--sw-line); color: var(--sw-muted); font-size: calc(.95rem + 1pt); line-height: 1.7; word-break: keep-all; }
@media (max-width: 999px) {
  .sw-steps { grid-template-columns: repeat(2, 1fr); }
  .sw-step:nth-child(3n)::after { display: block; }
  .sw-step:nth-child(2n)::after { display: none; }
}
@media (max-width: 599px) {
  .sw-steps { grid-template-columns: 1fr; gap: 44px; }
  .sw-step::after, .sw-step:nth-child(3n)::after { display: block; top: auto; right: auto; bottom: -38px; left: 50%; transform: translateX(-50%) rotate(90deg); }
  .sw-step:last-child::after { display: none; }
}

.sw-benefit-grid { gap: 24px; }
.sw-benefit-card {
  position: relative;
  height: 100%;
  overflow: hidden;
  padding: 34px 30px 30px;
  border: 1px solid var(--sw-line);
  border-radius: var(--sw-radius);
  background: #fff;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.sw-benefit-card::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 4px; background: linear-gradient(90deg, var(--sw-blue), var(--sw-cyan)); }
.sw-benefit-card:hover { transform: translateY(-5px); border-color: rgba(71, 121, 201, .45); box-shadow: var(--sw-shadow); }
.sw-benefit-grid > .wp-block-column:nth-child(2) .sw-benefit-card::before { background: linear-gradient(90deg, var(--sw-navy), var(--sw-blue)); }
.sw-benefit-grid > .wp-block-column:nth-child(3) .sw-benefit-card::before { background: linear-gradient(90deg, var(--sw-cyan), var(--sw-mint)); }
.sw-benefit-icon { display: grid; width: 56px; height: 56px; place-items: center; border-radius: 16px; background: var(--sw-mist); color: var(--sw-blue); font-size: calc(1.6rem + 1pt); }
.sw-benefit-grid > .wp-block-column:nth-child(2) .sw-benefit-icon { color: var(--sw-navy); }
.sw-benefit-grid > .wp-block-column:nth-child(3) .sw-benefit-icon { color: var(--sw-mint); }
.sw-benefit-card h3 { margin: 22px 0 4px; color: var(--sw-ink); font-size: calc(1.3rem + 1pt); }
.sw-benefit-card .sw-benefit-sub { margin: 0; color: var(--sw-muted); font-size: calc(.95rem + 1pt); }
.sw-benefit-list { margin: 22px 0 0; padding: 20px 0 0; border-top: 1px solid var(--sw-line); list-style: none; }
.sw-benefit-list li { position: relative; padding: 6px 0 6px 28px; color: var(--sw-ink); font-weight: 500; }
.sw-benefit-list li::before { content: ""; position: absolute; top: 50%; left: 0; width: 18px; height: 18px; transform: translateY(-50%); border-radius: 50%; background: var(--sw-mist) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234779c9' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat; }

/* 고객사 로고 롤링. 기획서 s5의 슬라이더를 CSS만으로 구현해 JS를 늘리지 않는다.
   두 벌의 로고 묶음을 넣고 -50%까지 밀면 이음매 없이 반복된다. */
.sw-logo-roll { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.sw-logo-roll > .wp-block-group { display: flex; width: max-content; flex-wrap: nowrap; align-items: center; gap: 18px; animation: sw-logo-roll 60s linear infinite; }
.sw-logo-roll:hover > .wp-block-group { animation-play-state: paused; }
/* 로고를 흰 정사각 박스에 담는다. 원본 비율이 제각각이라 박스로 칸을 맞춘다. */
/* 박스 크기를 확정하고 object-fit으로 맞춘다. max-width:100% 는 크기가 정해지지
   않은 figure 기준으로 풀려서 큰 원본이 박스를 넘치고 잘렸다. */
/* 로고 칸은 각지게 둔다. 둥근 모서리는 로고 자체를 깎아 보이게 한다.
   높이는 105px 로 맞춰 아래 격자와 같은 8:5 비율이 된다. */
.sw-logo-roll figure { box-sizing: border-box; flex: 0 0 auto; width: 168px; height: 105px; margin: 0; padding: 16px 24px; border: 1px solid var(--sw-line); border-radius: 0; background: #fff; }
.sw-logo-roll img { display: block; width: 100%; height: 100%; max-width: none; border: 0; border-radius: 0; background: none; box-shadow: none; object-fit: contain; }
@keyframes sw-logo-roll { to { transform: translateX(calc(-50% - 9px)); } }

/* 홈 메인 배너 바로 아래의 어두운 고객사 띠. 로고 원본 대부분이 흰 배경이라,
   흑백 반전 후 screen 으로 겹쳐 흰 배경은 사라지고 로고만 밝은 실루엣으로 남게 한다.
   롤 자체가 mask 로 격리되므로 롤에도 띠와 같은 배경색을 줘야 겹침이 맞게 된다. */
.sw-clients {
  --sw-band: #0a111f;
  padding-block: 40px 46px;
  background: var(--sw-band);
  color: #fff;
}
.sw-clients .sw-section-heading { margin-bottom: 26px; text-align: center; }
.sw-clients .sw-section-heading h3 { margin: 0; color: rgba(255, 255, 255, .92); font-size: calc(1.05rem + 1pt); font-weight: 700; letter-spacing: .02em; }
.sw-clients .sw-section-heading .sw-lead { margin: 6px 0 0; color: rgba(255, 255, 255, .55); font-size: calc(.92rem + 1pt); }
.sw-clients .sw-logo-roll { background: var(--sw-band); }
.sw-clients .sw-logo-roll > .wp-block-group { gap: 26px; animation-duration: 70s; }
.sw-clients .sw-logo-roll figure { width: 172px; height: 64px; padding: 8px 18px; border: 0; background: var(--sw-band); }
.sw-clients .sw-logo-roll img { filter: grayscale(1) invert(1) contrast(1.2); mix-blend-mode: screen; opacity: .72; transition: opacity .3s ease; }
.sw-clients .sw-logo-roll figure:hover img { opacity: 1; }

/* 고객사 로고 그리드(기획서 s8). 컬럼 블록은 50칸을 한 줄에 눕히므로 grid로 덮어쓴다. */
/* 51장 중 42장이 가로로 긴 워드마크라 칸도 가로형으로 둔다. */
/* 칸을 키우고 여백을 줄여 로고가 상자를 채우게 한다. 156px 상자에 좌우 20px
   여백이면 그릴 폭이 116px 뿐이라, 글자가 들어간 로고는 뭉개져서 잘린 것처럼
   보였다. object-fit:contain 이라 실제로 잘리지는 않는다. */
.sw-logo-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px; }
/* 로고 파일이 잉크 경계에 딱 맞게 잘려 있어 여백이 좁으면 글자가 칸에 닿아
   잘린 것처럼 보인다. 안쪽 여백을 넉넉히 둔다. */
.sw-logo-grid > .wp-block-column { box-sizing: border-box; aspect-ratio: 8 / 5; margin: 0 !important; flex-basis: auto !important; padding: 18px 26px; border: 1px solid var(--sw-line); border-radius: 0; background: #fff; transition: border-color .25s ease, box-shadow .25s ease; }
.sw-logo-grid > .wp-block-column:hover { border-color: rgba(71, 121, 201, .45); box-shadow: 0 10px 26px rgba(16, 47, 103, .08); }
.sw-logo-grid figure { width: 100%; height: 100%; margin: 0; }
/* 테마 전역 이미지 규칙이 라운드와 그림자를 준다. 로고는 각진 흰 칸 안에
   그대로 놓여야 하므로 둘 다 끈다. */
.sw-logo-grid img { display: block; width: 100%; height: 100%; max-width: none; border: 0; border-radius: 0; background: none; box-shadow: none; object-fit: contain; }

.sw-form-placeholder, .wpcf7-form { padding: clamp(24px,4vw,44px); border: 1px solid var(--sw-line); border-radius: var(--sw-radius); background: white; box-shadow: 0 12px 45px rgba(16,47,103,.07); }
.wpcf7-form label { display: block; margin-bottom: 18px; color: var(--sw-navy); font-weight: 700; }
.wpcf7-form input:not([type="checkbox"]), .wpcf7-form select, .wpcf7-form textarea { box-sizing: border-box; width: 100%; margin-top: 7px; padding: 13px 14px; border: 1px solid #cbd8e7; border-radius: 10px; background: #fff; font: inherit; }
.wpcf7-form input[type="submit"] { padding: 13px 26px; border: 0; border-radius: 99px; background: var(--sw-navy); color: white; font-weight: 800; cursor: pointer; }

/* 홈 Solution: 머리글(라벨 · 제목 · 전체 보기) + 큰 제품 카드 3개(아래에 화면 미리보기) + 작은 카드 2개.
   각 카드의 '자세히 보기' 링크가 카드 전체를 덮고, 오른쪽 원형 화살표로 보인다. */
.sw-solutions { background: linear-gradient(180deg, #eef5fc, #f7fbff); }
.sw-sol-header { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 40px; margin-bottom: clamp(32px, 4vw, 48px); }
.sw-sol-header > *, .sw-sol-intro > * { margin-block: 0; }
.sw-sol-eyebrow { color: var(--sw-blue); font-size: calc(.8rem + 1pt); font-weight: 800; letter-spacing: .2em; }
.sw-sol-intro .sw-sol-title { margin-top: 10px; color: var(--sw-ink); font-size: calc(clamp(1.8rem, 3.2vw, 2.6rem) + 1pt); font-weight: 800; line-height: 1.25; letter-spacing: -.03em; }
.sw-sol-intro .sw-sol-lead { margin-top: 14px; color: var(--sw-muted); font-size: calc(1rem + 1pt); line-height: 1.7; word-break: keep-all; }
.sw-sol-all a { display: inline-flex; align-items: center; gap: 10px; color: var(--sw-navy); font-size: calc(.95rem + 1pt); font-weight: 800; text-decoration: none; }
.sw-sol-all a::after { content: "→"; display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid #b9cde8; border-radius: 50%; background: #fff; transition: transform .2s ease, background .2s ease; }
.sw-sol-all a:hover::after { transform: translateX(3px); background: var(--sw-mist); }

.sw-sol-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.sw-sol-grid > * { margin-block: 0; }
.sw-sol-card {
  --i: none;
  position: relative;
  overflow: hidden;
  border: 1px solid #d3e2f4;
  border-radius: 22px;
  background: #fff;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.sw-sol-card:hover { transform: translateY(-4px); border-color: #a9c4e8; box-shadow: 0 22px 50px rgba(16, 47, 103, .12); }
.sw-sol-card > *, .sw-sol-body > * { margin-block: 0; }
.sw-sol-card.is-lg { display: flex; flex-direction: column; }
.sw-sol-body { padding: 30px 90px 26px 30px; }
.sw-sol-card .sw-sol-name { display: flex; align-items: center; gap: 12px; color: var(--sw-ink); font-size: calc(1.35rem + 1pt); font-weight: 800; letter-spacing: -.02em; }
.sw-sol-card .sw-sol-name::before { content: ""; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 11px; background: var(--i) center / 22px no-repeat, linear-gradient(135deg, #e3eefc, #d2e4fa); }
.sw-sol-card .sw-sol-sub { margin-top: 8px; color: var(--sw-blue); font-size: calc(.76rem + 1pt); font-weight: 800; letter-spacing: .06em; }
.sw-sol-card .sw-sol-tag { margin-top: 10px; color: var(--sw-muted); font-size: calc(.95rem + 1pt); line-height: 1.65; word-break: keep-all; }
/* 카드 전체 링크 + 원형 화살표: 링크 글자는 화면에서 숨기고(스크린리더용으로 남김),
   ::before 는 카드 전체를 덮는 클릭 영역, ::after 는 오른쪽 원형 화살표. 둘 다 카드 기준 위치. */
.sw-sol-card .sw-sol-go { position: static; margin: 0; }
.sw-sol-card .sw-sol-go a { position: static; color: transparent; font-size: 0; text-decoration: none; }
.sw-sol-card .sw-sol-go a::before { content: ""; position: absolute; z-index: 2; inset: 0; border-radius: inherit; }
.sw-sol-card .sw-sol-go a::after {
  content: "→";
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 26px;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  transform: translateY(-50%);
  border: 1px solid #b9cde8;
  border-radius: 50%;
  background: #fff;
  color: var(--sw-navy);
  font-size: calc(1rem + 1pt);
  font-weight: 700;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.sw-sol-card.is-lg .sw-sol-go a::after { top: 32px; transform: none; }
.sw-sol-card:hover .sw-sol-go a::after { border-color: var(--sw-navy); background: var(--sw-navy); color: #fff; }
.sw-sol-card:has(.sw-sol-go a:focus-visible) { outline: 3px solid var(--sw-blue); outline-offset: 3px; }
/* 아래쪽 화면 미리보기 */
.sw-sol-card .sw-sol-shot { margin: auto 0 0; padding: 24px 24px 0; background: linear-gradient(180deg, #e3eefb, #cfe2f7); }
.sw-sol-card .sw-sol-shot img { display: block; width: 100%; height: 190px; border-radius: 10px 10px 0 0; object-fit: cover; object-position: top center; box-shadow: 0 -4px 24px rgba(16, 47, 103, .14); transition: transform .4s ease; }
.sw-sol-card:hover .sw-sol-shot img { transform: translateY(-6px); }
.sw-sol-card.is-sm { display: grid; grid-template-columns: auto 1fr; column-gap: 18px; align-items: center; padding: 26px 90px 26px 26px; }
.sw-sol-card.is-sm .sw-sol-name { grid-column: 1 / -1; }
.sw-sol-card.is-sm .sw-sol-tag { margin-top: 8px; }
/* 제품별 아이콘 */
.sw-sol-card.is-scos { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f4f9f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4ZM3 6h18M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E"); }
.sw-sol-card.is-ums { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f4f9f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2zM8 9h8M8 13h5'/%3E%3C/svg%3E"); }
.sw-sol-card.is-ai { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f4f9f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.9 15.5A2 2 0 0 0 8.5 14.1l-6.1-1.6a.5.5 0 0 1 0-1l6.1-1.6a2 2 0 0 0 1.4-1.4l1.6-6.1a.5.5 0 0 1 1 0l1.6 6.1a2 2 0 0 0 1.4 1.4l6.1 1.6a.5.5 0 0 1 0 1l-6.1 1.6a2 2 0 0 0-1.4 1.4l-1.6 6.1a.5.5 0 0 1-1 0zM20 3v4M22 5h-4'/%3E%3C/svg%3E"); }
.sw-sol-card.is-si { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f4f9f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='8' x='2' y='2' rx='2'/%3E%3Crect width='20' height='8' x='2' y='14' rx='2'/%3E%3Cpath d='M6 6h.01M6 18h.01'/%3E%3C/svg%3E"); }
.sw-sol-card.is-mro { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f4f9f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.7l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.7l7 4a2 2 0 0 0 2 0l7-4a2 2 0 0 0 1-1.7ZM3.3 7 12 12l8.7-5M12 22V12'/%3E%3C/svg%3E"); }
@media (max-width: 1024px) { .sw-sol-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) {
  .sw-sol-grid { grid-template-columns: 1fr; }
  .sw-sol-body { padding-right: 80px; }
}

/* 채용정보 '스카이웨어의 사람들': 왼쪽 글, 오른쪽 궤도 위 사람 아이콘 그림(CSS 로만 그린 장식). */
.sw-people {
  --i-person: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4.2' fill='%233f7fe6'/%3E%3Cpath d='M3.5 21.5c0-4.7 3.8-8 8.5-8s8.5 3.3 8.5 8z' fill='%2393bbf5'/%3E%3C/svg%3E");
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #fbfcff, #f2f6fd);
}
.sw-people::before { content: ""; position: absolute; bottom: -180px; left: -160px; width: 360px; aspect-ratio: 1; border: 1px solid rgba(71, 121, 201, .22); border-radius: 50%; background: radial-gradient(circle at 70% 18%, #6f9ff0 0 8px, transparent 9px); }
.sw-people-grid { gap: clamp(32px, 5vw, 72px); }
.sw-people .sw-people-title { margin: 0; color: var(--sw-navy); font-size: calc(clamp(1.8rem, 3.4vw, 2.7rem) + 1pt); font-weight: 900; letter-spacing: -.03em; line-height: 1.25; word-break: keep-all; }
.sw-people .sw-people-title::after { content: ""; display: block; width: 52px; height: 3px; margin: 26px 0 28px; border-radius: 3px; background: linear-gradient(90deg, var(--sw-blue), #9cc0f5); }
.sw-people-grid p { margin: 0 0 1.3em; color: #3f4b5c; font-size: calc(1.02rem + 1pt); line-height: 1.85; word-break: keep-all; }
.sw-people-art { position: relative; width: min(100%, 440px); aspect-ratio: 1; margin-inline: auto; }
.sw-people-art span { position: absolute; display: block; border-radius: 50%; }
.sw-pa-ring { inset: 4%; border: 1px solid rgba(71, 121, 201, .35); animation: sw-pa-spin 60s linear infinite; }
.sw-pa-ring.is-inner { inset: 22%; border-style: dashed; border-color: rgba(71, 121, 201, .3); animation-duration: 90s; animation-direction: reverse; }
.sw-pa-blob { top: 8%; left: 2%; width: 34%; aspect-ratio: 1; background: radial-gradient(circle, rgba(111, 159, 240, .25), transparent 70%); filter: blur(4px); }
.sw-pa-avatar { background: var(--i-person) center 58% / 46% no-repeat, radial-gradient(circle at 50% 30%, #ffffff, #e9f1fd); border: 1px solid rgba(255, 255, 255, .9); box-shadow: 0 18px 40px rgba(71, 121, 201, .2), inset 0 0 0 8px rgba(255, 255, 255, .5); }
.sw-pa-avatar.is-main { top: 30%; left: 30%; width: 40%; aspect-ratio: 1; }
.sw-pa-avatar.is-top { top: 6%; right: 4%; width: 21%; aspect-ratio: 1; }
.sw-pa-avatar.is-left { bottom: 16%; left: 4%; width: 19%; aspect-ratio: 1; }
/* 바깥 원(inset 4%)을 따라 도는 점: 원보다 12px 큰 투명 틀의 맨 위에 점을 그리고 틀을 돌린다. */
.sw-pa-dot {
  --sw-dot-from: 0deg;
  inset: calc(4% - 12px);
  background: radial-gradient(circle at 50% 12px, #4a86f0 0 6.5px, rgba(74, 134, 240, .3) 7px 10px, rgba(74, 134, 240, .1) 10.5px 12px, transparent 12.5px);
  pointer-events: none;
  animation: sw-dot-orbit 24s linear infinite;
}
.sw-pa-dot.is-1 { --sw-dot-from: -60deg; }
.sw-pa-dot.is-2 { --sw-dot-from: 90deg; animation-duration: 30s; }
.sw-pa-dot.is-3 { --sw-dot-from: 190deg; animation-duration: 20s; }
.sw-pa-avatar.is-top, .sw-pa-avatar.is-left { animation: sw-pa-float 6s ease-in-out infinite; }
.sw-pa-avatar.is-left { animation-delay: -3s; }
@keyframes sw-pa-spin { to { transform: rotate(1turn); } }
@keyframes sw-pa-float { 50% { transform: translateY(-8px); } }
@media (max-width: 781px) {
  .sw-people-grid p br { display: none; }
  .sw-people-art { width: min(80%, 320px); }
}
@media (prefers-reduced-motion: reduce) {
  .sw-pa-ring, .sw-pa-avatar { animation: none !important; }
  .sw-pa-dot { animation: none !important; transform: rotate(var(--sw-dot-from)); }
}

/* 연혁: 가운데 세로선을 두고 연도가 좌우로 번갈아 놓이는 타임라인. 시대 구분은 선 위의 알약. */
.sw-tl2 { position: relative; max-width: 1000px; margin: 44px auto 0; padding-bottom: 8px; }
.sw-tl2::before { content: ""; position: absolute; top: 0; bottom: 0; left: calc(50% - 1px); width: 2px; background: linear-gradient(180deg, #c7d6ea, #c7d6ea 92%, transparent); }
.sw-tl2-era {
  position: relative;
  z-index: 1;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 44px;
  padding: 9px 20px;
  border-radius: 99px;
  background: var(--sw-navy);
  box-shadow: 0 10px 24px rgba(16, 47, 103, .2);
  color: #fff;
  font-size: calc(.88rem + 1pt);
  font-weight: 700;
  text-align: center;
  word-break: keep-all;
}
.sw-tl2-era span { margin-right: 10px; color: #7cd0ff; font-weight: 800; letter-spacing: .08em; }
.sw-tl2-year { position: relative; box-sizing: border-box; width: 50%; padding: 0 46px 52px; }
.sw-tl2-year.is-left { margin-right: 50%; text-align: right; }
.sw-tl2-year.is-right { margin-left: 50%; text-align: left; }
.sw-tl-more:has(.sw-tl2) { text-align: center; }
.sw-tl2-year::before {
  content: "";
  position: absolute;
  top: 7px;
  width: 16px;
  height: 16px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--sw-blue);
  box-shadow: 0 0 0 2px #9fbde6, 0 0 0 8px rgba(71, 121, 201, .12);
}
.sw-tl2-year.is-left::before { right: -8px; }
.sw-tl2-year.is-right::before { left: -8px; }
/* 반짝임: 점의 빛이 커졌다 작아지고, 둘레에서 빛 고리가 퍼져 나간다. 연도마다 박자를 어긋나게. */
.sw-tl2-year::before { animation: sw-tl-glow 2.6s ease-in-out infinite; animation-delay: calc(var(--sw-tl-i, 0) * -0.45s); }
.sw-tl2-year::after {
  content: "";
  position: absolute;
  top: 7px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(63, 182, 255, .55);
  animation: sw-tl-ripple 2.6s ease-out infinite;
  animation-delay: calc(var(--sw-tl-i, 0) * -0.45s);
  pointer-events: none;
}
.sw-tl2-year.is-left::after { right: -8px; }
.sw-tl2-year.is-right::after { left: -8px; }
.sw-tl2-year:nth-of-type(2n) { --sw-tl-i: 1; }
.sw-tl2-year:nth-of-type(3n) { --sw-tl-i: 2; }
.sw-tl2-year:nth-of-type(4n) { --sw-tl-i: 3; }
.sw-tl2-year:nth-of-type(5n) { --sw-tl-i: 4; }
@keyframes sw-tl-glow {
  0%, 100% { box-shadow: 0 0 0 2px #9fbde6, 0 0 0 8px rgba(71, 121, 201, .12), 0 0 6px rgba(63, 182, 255, .3); filter: brightness(1); }
  50% { box-shadow: 0 0 0 2px #7cc4ff, 0 0 0 8px rgba(63, 182, 255, .22), 0 0 18px 4px rgba(63, 182, 255, .75); filter: brightness(1.35); }
}
@keyframes sw-tl-ripple {
  0% { box-shadow: 0 0 0 0 rgba(63, 182, 255, .55); }
  70%, 100% { box-shadow: 0 0 0 16px rgba(63, 182, 255, 0); }
}
@media (prefers-reduced-motion: reduce) { .sw-tl2-year::before, .sw-tl2-year::after { animation: none; } }
.sw-tl2-year:first-of-type::before { background: var(--sw-cyan); }
.sw-tl2-year h3 { margin: 0 0 12px; color: var(--sw-ink); font-size: calc(clamp(1.35rem, 2vw, 1.6rem) + 1pt); font-weight: 800; line-height: 1.2; }
.sw-tl2-year ul { margin: 0; padding: 0; list-style: none; }
.sw-tl2-year li { color: #4b5563; font-size: calc(.93rem + 1pt); line-height: 1.65; word-break: keep-all; }
.sw-tl2-year li + li { margin-top: 8px; }
.sw-tl2-year:hover h3 { color: var(--sw-blue); }
.sw-tl-more .sw-tl2 { margin-top: 20px; }
@media (max-width: 781px) {
  .sw-tl2::before { left: 11px; }
  .sw-tl2-era { margin-left: 0; }
  .sw-tl2-year, .sw-tl2-year.is-left, .sw-tl2-year.is-right { width: auto; margin: 0; padding: 0 0 40px 40px; text-align: left; }
  .sw-tl2-year.is-left::before, .sw-tl2-year.is-right::before,
  .sw-tl2-year.is-left::after, .sw-tl2-year.is-right::after { right: auto; left: 3px; }
}

/* 개인정보 처리방침 · 이메일 무단 수집 거부: 읽기 편한 폭의 문서 페이지. */
.sw-legal { padding-top: clamp(56px, 7vw, 96px); background: linear-gradient(180deg, #f3f7fd, #fff 320px); }
.sw-legal .sw-legal-title { margin: 0 0 clamp(28px, 4vw, 44px); padding-bottom: 24px; border-bottom: 2px solid var(--sw-navy); color: var(--sw-ink); font-size: calc(clamp(1.9rem, 3vw, 2.5rem) + 1pt); font-weight: 800; letter-spacing: -.03em; }
.sw-legal h2 { margin: 2.6em 0 .8em; color: var(--sw-ink); font-size: calc(1.2rem + 1pt); font-weight: 800; }
.sw-legal p, .sw-legal li { color: #3f4b5c; font-size: calc(.96rem + 1pt); line-height: 1.85; word-break: keep-all; }
.sw-legal ul { padding-left: 1.2em; }
.sw-legal li + li { margin-top: 4px; }
.sw-legal .sw-table-wrap { margin: 1.4em 0; }
.sw-legal .sw-table-wrap td, .sw-legal .sw-table-wrap th { font-size: calc(.9rem + 1pt); line-height: 1.6; vertical-align: top; word-break: keep-all; }
.sw-legal .sw-table-wrap tbody td:first-child { color: var(--sw-ink); font-weight: 700; white-space: nowrap; }
.sw-legal a { color: var(--sw-blue); text-underline-offset: 3px; }

/* 문의하기: 왼쪽 안내(제목 · 응답 안내 · 연락처), 오른쪽 폼 카드. */
.sw-contact {
  --i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
  --i-tel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E");
  --i-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-5.5 10.2-7.4 11.8a1 1 0 0 1-1.2 0C9.5 20.2 4 15 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  background: linear-gradient(180deg, #eef4fc, #f8fbff 55%, #fff);
}
.sw-contact-grid { gap: clamp(32px, 6vw, 88px); align-items: flex-start; }
.sw-contact-info > * { margin-block: 0; }
.sw-contact-title { color: var(--sw-ink); font-size: calc(clamp(2rem, 3.4vw, 2.8rem) + 1pt); font-weight: 800; line-height: 1.25; letter-spacing: -.03em; word-break: keep-all; }
.sw-contact-info .sw-contact-lead { margin-top: 18px; color: var(--sw-muted); font-size: calc(1rem + 1pt); line-height: 1.75; }
.sw-contact-info .sw-contact-chip { display: inline-flex; align-items: center; gap: 8px; margin: 22px 0 40px; padding: 9px 16px; border-radius: 99px; background: #e2edfb; color: var(--sw-navy); font-size: calc(.86rem + 1pt); font-weight: 700; }
.sw-contact-chip::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--sw-blue); box-shadow: 0 0 0 4px rgba(71, 121, 201, .2); }
.sw-contact-block { padding: 24px 0; border-top: 1px solid var(--sw-line); }
.sw-contact-block:last-child { border-bottom: 1px solid var(--sw-line); }
.sw-contact-block > * { margin-block: 0; }
.sw-contact-block h3 { margin-bottom: 12px; color: var(--sw-ink); font-size: calc(1.02rem + 1pt); font-weight: 800; }
.sw-contact-block p { display: flex; align-items: center; gap: 10px; margin-top: 6px; color: var(--sw-muted); font-size: calc(.95rem + 1pt); }
.sw-contact-block p::before { content: ""; flex: 0 0 auto; width: 16px; height: 16px; background: var(--sw-blue); -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.sw-contact-block .sw-contact-mail { --i: var(--i-mail); }
.sw-contact-block .sw-contact-tel { --i: var(--i-tel); }
.sw-contact-block .sw-contact-addr { --i: var(--i-pin); }
.sw-contact-block .sw-contact-link::before { display: none; }
.sw-contact-block a { color: inherit; text-decoration: none; }
.sw-contact-block a:hover { color: var(--sw-blue); }
.sw-contact-block .sw-contact-link a { color: var(--sw-blue); font-weight: 700; }
.sw-contact-block .sw-contact-link a::after { content: " →"; }

.sw-contact-form .wpcf7-form { padding: clamp(24px, 3.4vw, 44px); border: 1px solid #dfe7f2; border-radius: 22px; background: #fff; box-shadow: 0 24px 60px rgba(16, 47, 103, .09); }
.sw-cf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 18px; }
.sw-cf-field.is-full { grid-column: 1 / -1; }
.sw-cf-grid p { margin: 0; }
.sw-contact-form .wpcf7-form label { margin: 0; color: var(--sw-ink); font-size: calc(.9rem + 1pt); font-weight: 700; }
.sw-contact-form label em, .sw-cf-consent em { color: #e5484d; font-style: normal; }
.sw-contact-form label small { margin-left: 2px; color: var(--sw-muted); font-size: calc(.76rem + 1pt); font-weight: 500; }
.sw-contact-form .wpcf7-form input:not([type="checkbox"]):not([type="submit"]),
.sw-contact-form .wpcf7-form select,
.sw-contact-form .wpcf7-form textarea { margin-top: 9px; padding: 14px 16px; border: 1px solid #d5dfec; border-radius: 10px; color: var(--sw-ink); font-size: calc(.95rem + 1pt); font-weight: 500; transition: border-color .2s ease, box-shadow .2s ease; }
.sw-contact-form .wpcf7-form ::placeholder { color: #9aa7b8; }
.sw-contact-form .wpcf7-form :is(input, select, textarea):focus { border-color: var(--sw-blue); outline: 0; box-shadow: 0 0 0 4px rgba(71, 121, 201, .15); }
.sw-contact-form .wpcf7-form select {
  padding-right: 44px;
  -webkit-appearance: none;
  appearance: none;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23607089' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 16px center / 16px no-repeat;
}
.sw-contact-form .wpcf7-form textarea { min-height: 150px; resize: vertical; }
.sw-cf-grid .sw-cf-count { margin-top: 6px; color: var(--sw-muted); font-size: calc(.78rem + 1pt); text-align: right; }
.sw-cf-consent .wpcf7-list-item { margin: 0; }
.sw-cf-consent label { display: inline-flex; align-items: center; gap: 10px; font-weight: 500 !important; }
.sw-cf-consent input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: var(--sw-navy); }
.sw-cf-consent a { color: var(--sw-blue); text-underline-offset: 3px; }
.sw-contact-form .wpcf7-form input.sw-cf-submit { width: 100%; padding: 17px 26px; border-radius: 99px; background: linear-gradient(90deg, var(--sw-navy), #1f4f9f); box-shadow: 0 14px 30px rgba(16, 47, 103, .22); font-size: calc(1rem + 1pt); letter-spacing: .02em; transition: transform .2s ease, box-shadow .2s ease; }
.sw-contact-form .wpcf7-form input.sw-cf-submit:hover { transform: translateY(-2px); box-shadow: 0 18px 36px rgba(16, 47, 103, .3); }
.sw-contact-form .wpcf7-spinner { display: block; margin: 12px auto 0; }
.sw-contact-form .wpcf7-not-valid-tip { margin-top: 6px; color: #e5484d; font-size: calc(.8rem + 1pt); font-weight: 500; }
.sw-contact-form .wpcf7-response-output { margin: 20px 0 0 !important; padding: 12px 16px !important; border-radius: 10px; font-size: calc(.9rem + 1pt); }
@media (max-width: 781px) {
  .sw-cf-grid { grid-template-columns: 1fr; }
  .sw-contact-info .sw-contact-chip { margin-bottom: 28px; }
}

.wp-block-details { margin-bottom: 12px; background: white; }
.wp-block-details summary { color: var(--sw-navy); font-size: calc(1.05rem + 1pt); font-weight: 700; cursor: pointer; }
.wp-block-details[open] summary { margin-bottom: 12px; }
.sw-post-card { margin-bottom: 18px; padding: 28px; border: 1px solid var(--sw-line); border-radius: 18px; }
.sw-empty-state { padding: 140px 24px; }

.woocommerce ul.products li.product,
.wc-block-grid__product { padding: 20px; border: 1px solid var(--sw-line); border-radius: 18px; background: white; }
.woocommerce span.onsale { background: var(--sw-cyan); }

@media (max-width: 1100px) {
  .sw-header-cta { display: none; }
  .sw-primary-nav { margin-left: auto; }
}

@media (max-width: 781px) {
  .sw-header-inner { min-height: 70px; padding: 0 18px; }
  .sw-header-inner .wp-block-site-logo img { width: 148px; }
  .sw-section { padding-left: 18px; padding-right: 18px; }
  .sw-page-hero { padding-left: 18px; padding-right: 18px; }
  html:has(.sw-anchor-nav) { scroll-padding-top: 139px; }
  .sw-anchor-nav { top: 70px; overflow-x: auto; }
  .sw-anchor-nav .wp-block-buttons { width: max-content; flex-wrap: nowrap; justify-content: flex-start; }
  .sw-anchor-nav .wp-block-button__link { padding: 15px 14px; font-size: calc(15px + 1pt); }
  .sw-anchor-nav .wp-block-button__link::after { right: 14px; left: 14px; }
  .sw-hero-carousel, .sw-hero-carousel > .wp-block-group { min-height: 690px; }
  .sw-hero-carousel > .wp-block-group { padding-inline: 18px; }
  .sw-circle-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px 12px; }
  .sw-metric-strip .wp-block-columns { display: grid; grid-template-columns: repeat(2, 1fr); }
  .sw-metric-strip .wp-block-column { border-left: 0; border-top: 1px solid rgba(255,255,255,.16); padding: 18px 0 0; }
  .sw-process > .wp-block-column:not(:last-child)::after { display: none; }
  .sw-cta { border-radius: 22px; }
  .sw-site-footer { padding-inline: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
  /* 위 규칙만 적용하면 롤링이 끝 위치로 튀어 로고가 잘린다. 애니메이션을 끄고 가로 스크롤로 넘긴다. */
  .sw-logo-roll { overflow-x: auto; }
  .sw-logo-roll > .wp-block-group { animation: none !important; transform: none !important; }
}

/* 카드를 2열 그리드로 흘린다. 칼럼마다 세로로 쌓으면 가로로 읽을 때 번호가
   01·03 / 02·04 로 건너뛰고, height:100% 가 칼럼 높이에 맞춰 늘어나 빈 공간이 생긴다.
   그리드는 문서 순서대로 채우고 행 단위로 높이를 맞춘다. */
/* 행마다 높이를 따로 잡으면 칸별로 들쭉날쭉하다. 모든 행을 같은 높이로 둔다. */
.sw-card-matrix { display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: 1fr; gap: 20px; }
/* 코어 블록 간격이 격자 칸 안에서 카드를 밀어내려 한 칸씩 어긋났다. 간격은
   gap 이 맡으므로 칸 안의 위 여백은 지운다. */
.sw-card-matrix > * { margin-top: 0; margin-block-start: 0; }
.sw-card-matrix.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sw-card-matrix.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sw-card-matrix .sw-tag { max-width: 100%; overflow-wrap: anywhere; }
.sw-card-matrix > .sw-card { height: 100%; }
@media (max-width: 1024px) {
  .sw-card-matrix.is-3, .sw-card-matrix.is-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 781px) {
  .sw-card-matrix, .sw-card-matrix.is-3, .sw-card-matrix.is-4 { grid-template-columns: 1fr; }
}

/* 대표인사말 전용. sw-ceo 를 붙인 섹션에만 적용되므로 다른 섹션은 그대로다.
   한글은 단어 중간에서 끊기면 읽기 나빠지므로 전 구간 keep-all 로 둔다. */
/* 두 줄은 붙이고 본문과는 40px 떨어뜨려, 헤드라인 덩어리가 하나로 읽히게 한다. */
.sw-ceo-headline { margin: 0; color: var(--sw-ink); font-size: calc(40px + 1pt); font-weight: 700; line-height: 1.35; letter-spacing: -.03em; word-break: keep-all; }
.sw-ceo-headline:last-of-type { margin-bottom: 40px; }
.sw-ceo-accent { color: var(--sw-blue); font-weight: 700; }
.sw-ceo-body { max-width: 720px; }
.sw-ceo-body p { margin: 0 0 1.6em; color: var(--sw-muted); font-size: calc(18px + 1pt); font-weight: 400; line-height: 1.9; word-break: keep-all; }
.sw-ceo-body p:last-child { margin-bottom: 0; }
/* 단락마다 핵심 문장만 무게로 올린다. 색은 바꾸지 않아 읽는 흐름이 끊기지 않는다. */
.sw-ceo-body strong { color: var(--sw-ink); font-weight: 600; }
/* 서명은 본문 안에 있어 .sw-ceo-body p 보다 특정도를 높여야 크기가 먹는다. */
.sw-ceo-body p.sw-ceo-sign { margin: 48px 0 0; color: var(--sw-ink); font-size: calc(16px + 1pt); font-weight: 400; text-align: right; word-break: keep-all; }
.sw-ceo-body p.sw-ceo-sign strong { margin-left: 8px; color: var(--sw-ink); font-size: calc(20px + 1pt); font-weight: 700; }
/* 오른쪽 시각 요소. 사진과 설립연도를 세로로 세우고 스크롤에 따라 따라오게 한다. */
.sw-ceo-visual { position: sticky; top: 108px; }
.sw-ceo-visual .sw-media-frame img { border-radius: var(--sw-radius); }
/* 캡션은 박스 없이 사진 아래 왼쪽에 둔다. 배경·테두리·그림자를 두면 사진 카드와
   겹쳐 보여 오히려 무거워진다. */
.sw-ceo-since { margin: 20px 0 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; text-align: left; word-break: keep-all; }
.sw-ceo-since strong { display: block; color: var(--sw-blue); font-size: calc(14px + 1pt); font-weight: 600; letter-spacing: .15em; line-height: 1.2; }
.sw-ceo-since span { display: block; margin-top: 6px; color: #1a2b4c; font-size: calc(22px + 1pt); font-weight: 700; letter-spacing: 0; line-height: 1.25; }

@media (max-width: 1024px) {
  .sw-ceo-headline { font-size: calc(32px + 1pt); }
  .sw-ceo-body p { font-size: calc(17px + 1pt); }
}

@media (max-width: 768px) {
  .sw-ceo-headline { font-size: calc(28px + 1pt); }
  .sw-ceo-body p { font-size: calc(16px + 1pt); }
  .sw-ceo-visual { position: static; }
  /* 1컬럼으로 떨어질 때 사진이 글보다 먼저 오게 한다. */
  .sw-ceo .wp-block-columns { display: flex; flex-direction: column; }
  .sw-ceo .wp-block-columns > .wp-block-column:first-child { order: 2; }
  .sw-ceo .wp-block-columns > .wp-block-column:last-child { order: 1; margin-bottom: 32px; }
}

/* ── 회사소개 원페이지 ───────────────────────────────────────────────
   대표인사말·연혁·인증·비전·오시는길을 한 페이지에 잇는다. sw-onepage 를 붙인
   섹션에만 적용되므로 다른 페이지 구성에는 영향이 없다. */
.sw-onepage { padding-top: 120px; padding-bottom: 120px; }
.sw-onepage + .sw-onepage { border-top: 0; }
.sw-onepage-alt { background: #f8fafc; }
.sw-onepage-head { margin-bottom: 48px; }
/* 영문 라벨은 걷어냈다. 규칙은 남겨 두지 않는다. 제목 아래 한글 한 줄이
   그 자리를 대신한다. */
.sw-onepage-sub { margin: 14px 0 0; color: var(--sw-muted); font-size: calc(17px + 1pt); line-height: 1.75; word-break: keep-all; }
/* 회사 비전 한 줄. 제목만 "비전"이고 정작 문구가 없으면 섹션이 비어 보인다.
   공식 사이트에 실린 문장이라 임의로 바꾸지 않는다. */
.sw-vision-line { margin: 20px 0 0; color: var(--sw-navy); font-size: calc(clamp(1.35rem, 2.4vw, 1.95rem) + 1pt); font-weight: 700; letter-spacing: -.015em; }
.sw-onepage-title { margin: 0; color: var(--sw-ink); font-size: calc(32px + 1pt); font-weight: 700; letter-spacing: -.02em; word-break: keep-all; }

/* 연혁 타임라인: 왼쪽 연도, 가운데 선과 점, 오른쪽 내용. */
.sw-tl-era { margin: 0 0 22px; color: var(--sw-ink); font-size: calc(1.1rem + 1pt); font-weight: 700; word-break: keep-all; }
.sw-tl-era + .sw-tl { margin-bottom: 44px; }
.sw-tl-era span { margin-right: 10px; color: var(--sw-blue); font-size: calc(.82rem + 1pt); font-weight: 800; letter-spacing: .1em; }
.sw-tl { position: relative; padding-left: 0; border: 0; }
.sw-tl-row { display: grid; grid-template-columns: 120px 32px 1fr; align-items: start; }
.sw-tl-year { padding-top: 2px; color: var(--sw-blue); font-size: calc(24px + 1pt); font-weight: 700; line-height: 1.2; }
.sw-tl-rail { position: relative; justify-self: center; width: 1px; min-height: 100%; background: var(--sw-line); }
.sw-tl-rail::before { content: ""; position: absolute; top: 9px; left: 50%; width: 11px; height: 11px; transform: translateX(-50%); border: 2px solid #fff; border-radius: 50%; background: var(--sw-blue); box-shadow: 0 0 0 2px var(--sw-blue); }
.sw-tl-body { padding: 0 0 36px 8px; color: var(--sw-muted); line-height: 1.85; word-break: keep-all; }
.sw-tl-row:last-child .sw-tl-body { padding-bottom: 0; }
.sw-tl-row:last-child .sw-tl-rail { min-height: 26px; }
/* 전체 보기: 코어 Details 블록이라 JavaScript 없이 펼쳐진다. */
.sw-tl-more { margin-top: 8px; border: 0; background: none; }
.sw-tl-more > summary { display: inline-block; width: auto; padding: 11px 22px; border: 1px solid var(--sw-line); border-radius: 99px; background: #fff; color: var(--sw-navy); font-size: calc(.92rem + 1pt); font-weight: 700; list-style: none; cursor: pointer; }
.sw-tl-more > summary::-webkit-details-marker { display: none; }
.sw-tl-more > summary::after { content: " 전체 보기"; }
.sw-tl-more[open] > summary::after { content: " 접기"; }
.sw-tl-more > summary:hover { border-color: var(--sw-blue); color: var(--sw-blue); }
.sw-tl-more[open] > summary { margin-bottom: 28px; }
/* 인증 및 특허. 데이터는 assets/certs/certs.json, 스캔본은 그 옆에 둔다. */
.sw-cert-lead { margin: 0 0 28px; color: var(--sw-muted); font-size: calc(17px + 1pt); line-height: 1.8; word-break: keep-all; }
/* 분류 탭 — 섹션 내비와 같은 밑줄 모양 */
.sw-cert-tabs { display: flex; margin: 0 0 28px; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid #e5e9f0; }
.sw-cert-tabs button { position: relative; padding: 12px 16px; border: 0; background: none; color: var(--sw-muted); font: inherit; font-size: calc(15px + 1pt); font-weight: 500; cursor: pointer; transition: color .2s ease; }
.sw-cert-tabs button::after { content: ""; position: absolute; right: 16px; bottom: -1px; left: 16px; height: 2px; background: var(--sw-blue); opacity: 0; transition: opacity .2s ease; }
.sw-cert-tabs button:hover { color: var(--sw-navy); }
.sw-cert-tabs button[aria-selected="true"] { color: var(--sw-blue); font-weight: 700; }
.sw-cert-tabs button[aria-selected="true"]::after { opacity: 1; }
.sw-cert-tabs button:focus-visible { outline: 2px solid var(--sw-blue); outline-offset: -4px; }
/* 카드 격자 */
.sw-cert-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.sw-cert { box-sizing: border-box; padding: 16px; border: 1px solid #e5e9f0; border-radius: 12px; background: #fff; transition: border-color .2s ease, transform .2s ease; }
.sw-cert[role="button"] { cursor: pointer; }
.sw-cert[role="button"]:hover { transform: translateY(-4px); border-color: var(--sw-blue); }
.sw-cert[role="button"]:focus-visible { outline: 2px solid var(--sw-blue); outline-offset: 2px; }
.sw-cert[hidden] { display: none; }
.sw-cert.is-fading { opacity: 0; }
.sw-cert { opacity: 1; transition: border-color .2s ease, transform .2s ease, opacity .25s ease; }
.sw-cert-shot { display: grid; aspect-ratio: 3 / 4; margin: 0; overflow: hidden; place-items: center; border-radius: 8px; background: #f1f4f9; }
.sw-cert-shot img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.sw-cert[role="button"]:hover .sw-cert-shot img { transform: scale(1.03); }
/* 스캔본이 아직 없을 때 자리만 지킨다. */
.sw-cert-shot.is-empty { color: #9aa8bd; }
.sw-cert-shot .sw-cert-badge { width: 44px; height: 44px; }
.sw-cert-group { margin: 16px 0 0; color: #8d9bb1; font-size: calc(12px + 1pt); font-weight: 600; letter-spacing: .08em; }
.sw-cert-title { margin: 6px 0 0; color: var(--sw-navy); font-size: calc(17px + 1pt); font-weight: 700; line-height: 1.4; word-break: keep-all; }
.sw-cert-sub { margin: 6px 0 0; color: var(--sw-muted); font-size: calc(14px + 1pt); line-height: 1.55; word-break: keep-all; }
.sw-cert-meta { margin: 10px 0 0; color: #9aa8bd; font-size: calc(13px + 1pt); line-height: 1.5; word-break: keep-all; }
/* 라이트박스 */
.sw-cert-box { position: fixed; z-index: 2100; inset: 0; display: grid; padding: 24px; place-items: center; }
.sw-cert-box[hidden] { display: none; }
.sw-cert-dim { position: absolute; inset: 0; background: rgba(6, 15, 33, .78); }
.sw-cert-stage { position: relative; display: flex; width: min(1080px, 100%); max-height: calc(100vh - 48px); gap: 12px; align-items: center; }
.sw-cert-figure { display: flex; min-width: 0; margin: 0; flex: 1 1 auto; flex-direction: column; gap: 14px; align-items: center; }
/* 스캔본을 원본 크기로 두면 작게 뜬다. 높이를 화면에 맞추고 폭은 따라가게 한다. */
.sw-cert-figure img { width: auto; height: min(70vh, 820px); max-width: 100%; border-radius: 10px; background: #fff; object-fit: contain; }
.sw-cert-figure figcaption { flex: 0 0 auto; text-align: center; }
.sw-cert-box-title { margin: 0; color: #fff; font-size: calc(18px + 1pt); font-weight: 700; word-break: keep-all; }
.sw-cert-box-sub { margin: 5px 0 0; color: rgba(255, 255, 255, .82); font-size: calc(14px + 1pt); word-break: keep-all; }
.sw-cert-box-meta { margin: 4px 0 0; color: rgba(255, 255, 255, .58); font-size: calc(13px + 1pt); word-break: keep-all; }
.sw-cert-stage button { flex: 0 0 auto; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; font: inherit; cursor: pointer; transition: background .2s ease; }
.sw-cert-stage button:hover { background: rgba(255, 255, 255, .3); }
.sw-cert-stage button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.sw-cert-prev, .sw-cert-next { width: 46px; height: 46px; font-size: calc(26px + 1pt); line-height: 1; }
.sw-cert-close { position: absolute; top: -6px; right: -6px; width: 38px; height: 38px; font-size: calc(15px + 1pt); }

/* 오시는길: 왼쪽 정보, 오른쪽 지도 */
.sw-loc-grid { gap: 28px; }
.sw-loc-map { display: grid; height: 100%; min-height: 360px; overflow: hidden; place-items: stretch; border: 1px solid var(--sw-line); border-radius: 16px; background: #f1f4f9; color: var(--sw-muted); }
.sw-loc-map iframe { display: block; width: 100%; height: 100%; min-height: 360px; border: 0; }
.sw-loc-more { margin: 12px 0 0; text-align: right; }
.sw-loc-more a { color: var(--sw-blue); font-size: calc(14px + 1pt); font-weight: 600; text-decoration: none; }
.sw-loc-more a:hover { text-decoration: underline; }
.sw-loc-more a::after { content: " ↗"; }
.sw-copy-addr { margin-left: 8px; padding: 5px 12px; border: 1px solid var(--sw-line); border-radius: 99px; background: #fff; color: var(--sw-navy); font-size: calc(.78rem + 1pt); font-weight: 700; cursor: pointer; }
.sw-copy-addr:hover { border-color: var(--sw-blue); color: var(--sw-blue); }
.sw-copy-addr.is-done { border-color: var(--sw-mint); color: var(--sw-mint); }

@media (max-width: 1024px) {
  .sw-cert-grid { grid-template-columns: repeat(3, 1fr); }
  .sw-onepage-title { font-size: calc(28px + 1pt); }
}
@media (max-width: 768px) {
  .sw-onepage { padding-top: 80px; padding-bottom: 80px; }
  .sw-cert-grid { grid-template-columns: repeat(2, 1fr); }
  .sw-tl-row { grid-template-columns: 84px 24px 1fr; }
  .sw-tl-year { font-size: calc(20px + 1pt); }
}

/* ── 영상 히어로 ─────────────────────────────────────────────────────
   헤더가 위에 겹치도록 헤더 높이만큼 끌어올리고 같은 값을 padding 으로 돌려준다. */
.sw-vhero { position: relative; box-sizing: border-box; display: grid; min-height: 100vh; min-height: 100svh; padding: 79px 0 0; align-items: center; overflow: hidden; background: #0b1a3a; }
/* 히어로가 있는 페이지에서만 헤더를 흐름 밖으로 빼 배경 위에 겹친다. 음수 마진으로
   끌어올리면 WordPress 전역 스타일의 margin-block-start 에 밀린다. */
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part { position: fixed; inset-inline: 0; top: 0; }
.wp-site-blocks:has(.sw-vhero) > .wp-block-post-content { margin-top: 0; }
.sw-vhero-slides { position: absolute; z-index: 0; inset: 0; }
.sw-vslide { position: absolute; inset: 0; opacity: 0; transition: opacity .9s ease; }
.sw-vslide.is-active { opacity: 1; }
.sw-vhero-video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
/* 가운데는 그대로 두고 가장자리만 남색으로 눌러 글줄이 뜨게 한다. */
.sw-vslide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11, 26, 58, .92) 0%, rgba(11, 26, 58, .74) 46%, rgba(11, 26, 58, .55) 100%); }
.sw-vhero-canvas { position: absolute; z-index: 1; inset: 0; display: block; width: 100%; height: 100%; }
.sw-vhero-texts { position: relative; z-index: 2; display: grid; }
/* 네 장을 같은 칸에 겹쳐 두면 섹션 높이가 가장 긴 장에 맞춰진다. */
.sw-vtext { grid-area: 1 / 1; opacity: 0; transition: opacity .6s ease; pointer-events: none; }
.sw-vtext.is-active { opacity: 1; pointer-events: auto; }
.sw-vhero-cta { margin: 34px 0 0; }
.sw-vhero-cta a { display: inline-flex; padding: 17px 34px; border: 1px solid rgba(255, 255, 255, .5); border-radius: 999px; color: #fff; font-size: calc(20px + 1pt); font-weight: 600; text-decoration: none; gap: 8px; align-items: center; transition: background .25s ease, border-color .25s ease; }
.sw-vhero-cta a::after { content: "→"; }
.sw-vhero-cta a:hover { border-color: transparent; background: var(--sw-blue); }
/* 슬라이드 선택 */
/* 배너 전환 막대. PREV · 점 · NEXT 를 하나의 알약 안에 묶어 영상 위에서도 읽히게 한다. */
.sw-vhero-nav {
  position: absolute;
  z-index: 3;
  bottom: 44px;
  left: 50%;
  display: flex;
  align-items: center;
  gap: clamp(18px, 3vw, 34px);
  padding: 11px clamp(18px, 3vw, 28px);
  transform: translateX(-50%);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 999px;
  background: rgba(7, 20, 49, .5);
  backdrop-filter: blur(12px);
}
.sw-vhero-arrow {
  padding: 0;
  border: 0;
  background: none;
  color: rgba(255, 255, 255, .55);
  font: inherit;
  font-size: calc(.76rem + 1pt);
  font-weight: 700;
  letter-spacing: .2em;
  cursor: pointer;
  transition: color .2s ease;
}
.sw-vhero-arrow:hover { color: #fff; }
.sw-vhero-dots { display: flex; align-items: center; gap: 14px; }
.sw-vhero-dots button { position: relative; width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .34); cursor: pointer; transition: background .25s ease; }
.sw-vhero-dots button:hover { background: rgba(255, 255, 255, .7); }
/* 현재 장은 가운데를 비우고 시안색 고리를 둘러 한눈에 구분되게 한다.
   고리는 자동 넘김이 얼마나 남았는지도 함께 보여 준다. conic-gradient 의 각도를
   @property 로 등록해야 브라우저가 각도를 보간한다. 등록을 모르는 브라우저에서는
   옅은 시안 고리가 그대로 남으므로 현재 장 표시 자체는 유지된다. */
@property --sw-ring {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
.sw-vhero-dots button[aria-current="true"] { background: rgba(7, 20, 49, .9); }
.sw-vhero-dots button[aria-current="true"]::after {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  background: conic-gradient(var(--sw-cyan) var(--sw-ring), rgba(255, 255, 255, .26) 0);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 2px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 2px));
}
.sw-vhero-dots button.is-live::after { animation: sw-vhero-ring var(--sw-ring-time, 7000ms) linear forwards; }
/* 손이 올라가거나 화면 밖으로 나가 넘김이 멈추면 고리도 그 자리에 선다. */
.sw-vhero.is-held .sw-vhero-dots button.is-live::after { animation-play-state: paused; }
@keyframes sw-vhero-ring { to { --sw-ring: 360deg; } }
.sw-vhero-nav button:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.sw-vhero-inner { position: relative; z-index: 1; box-sizing: border-box; width: min(1400px, 100%); margin-inline: auto; padding: 0 24px; }
.sw-vhero-label { margin: 0 0 24px; color: #5b9bff; font-size: calc(22px + 1pt); font-weight: 700; letter-spacing: .1em; }
.sw-vhero-title { margin: 0; color: #fff; font-size: calc(clamp(44px, 5.4vw, 76px) + 1pt); font-weight: 700; line-height: 1.3; letter-spacing: -.02em; word-break: keep-all; }
.sw-vhero-title + .sw-vhero-title { margin-top: 0; }
.sw-vhero-desc { margin: 32px 0 0; max-width: 1000px; color: rgba(255, 255, 255, .85); font-size: calc(24px + 1pt); line-height: 1.7; word-break: keep-all; }
/* 타이핑이 끝나면 설명문이 따라 나온다. 자바스크립트가 없으면 처음부터 보인다. */
.sw-typing .sw-vhero-desc { opacity: 0; transition: opacity .6s ease; }
.sw-typing .sw-vhero-desc.is-shown { opacity: 1; }
.sw-typing .sw-vhero-cta { opacity: 0; transition: opacity .6s ease; }
.sw-typing .sw-vhero-cta.is-shown { opacity: 1; }
.sw-type-cursor { display: inline-block; width: 2px; height: 1em; margin-left: 2px; background: currentColor; vertical-align: -.08em; animation: sw-caret 1s steps(1, end) infinite; }
@keyframes sw-caret { 0%, 50% { opacity: 1; } 50.01%, 100% { opacity: 0; } }

/* 히어로 위 헤더는 투명, 80px 넘게 내려가면 흰 배경으로 돌아온다. */
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part .sw-site-header { border-bottom-color: transparent; background: transparent; box-shadow: none; backdrop-filter: none; transition: background .3s ease, box-shadow .3s ease, border-color .3s ease; }
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part .sw-primary-nav .wp-block-navigation-item__content,
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part .wp-block-navigation__responsive-container-open,
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part .sw-primary-nav .wp-block-navigation__submenu-icon { color: #fff; transition: color .3s ease; }
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part.is-scrolled .sw-site-header { border-bottom-color: rgba(16, 47, 103, .09); background: rgba(255, 255, 255, .94); box-shadow: 0 5px 28px rgba(16, 47, 103, .06); backdrop-filter: blur(18px); }
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part.is-scrolled .sw-primary-nav .wp-block-navigation-item__content,
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part.is-scrolled .wp-block-navigation__responsive-container-open,
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part.is-scrolled .sw-primary-nav .wp-block-navigation__submenu-icon { color: var(--sw-ink); }
/* 드롭다운과 모바일 오버레이는 흰 패널이라 항상 남색 글자를 쓴다. */
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon,
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part .is-menu-open .wp-block-navigation-item__content,
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part .is-menu-open .wp-block-navigation__submenu-icon,
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part .wp-block-navigation__responsive-container-close { color: var(--sw-ink); }
/* 아이콘은 currentColor 를 따라가고, 문의 버튼은 남색 배경이라 영상 위에서 묻힌다. */
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part .wc-block-customer-account__link,
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part .wc-block-mini-cart__button { color: #fff; transition: color .3s ease; }
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part .sw-header-cta .wp-block-button__link { border: 1px solid rgba(255, 255, 255, .65); background: transparent; color: #fff; transition: background .3s ease, border-color .3s ease, color .3s ease; }
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part.is-scrolled .wc-block-customer-account__link { color: #4779c9; }
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part.is-scrolled .wc-block-mini-cart__button { color: var(--sw-ink); }
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part.is-scrolled .sw-header-cta .wp-block-button__link { border-color: transparent; background: var(--wp--preset--color--navy, #102f67); color: #fff; }

@media (max-width: 1024px) {
  .sw-vhero-title { font-size: calc(54px + 1pt); }
}
@media (max-width: 768px) {
  .sw-vhero { padding-top: 70px; }
  /* 헤더가 781px 아래에서 18px 로 좁아지므로 히어로 글줄도 같은 x 에 맞춘다. */
  .sw-vhero-inner { padding-inline: 18px; }
  .sw-vhero-title { font-size: calc(38px + 1pt); }
  .sw-vhero-desc { margin-top: 22px; font-size: calc(19px + 1pt); }
  .sw-vhero-label { font-size: calc(17px + 1pt); }
  .sw-vhero-cta a { padding: 14px 26px; font-size: calc(17px + 1pt); }
}
@media (prefers-reduced-motion: reduce) {
  .sw-type-cursor { display: none; }
  .sw-typing .sw-vhero-desc,
  .sw-typing .sw-vhero-cta { opacity: 1; }
}

/* 계절 인사 팝업. functions.php 가 기간 안에서만 찍어 내고, 화면에 띄우는 것은
   JS 가 맡는다. 스크립트가 죽으면 hidden 인 채로 남아 본문을 가리지 않는다. */
.sw-popup { position: fixed; z-index: 2000; inset: 0; display: grid; padding: 24px; place-items: center; }
.sw-popup[hidden] { display: none; }
.sw-popup-dim { position: absolute; inset: 0; background: rgba(6, 15, 33, .62); backdrop-filter: blur(3px); }
.sw-popup-panel { position: relative; width: min(420px, 100%); max-height: calc(100vh - 48px); overflow-y: auto; }
.sw-popup-tools { display: flex; margin: 0 0 12px; gap: 8px; justify-content: flex-end; }
.sw-popup-tools button { border: 0; border-radius: 999px; background: rgba(9, 22, 48, .78); color: rgba(255, 255, 255, .88); font: inherit; font-size: calc(13px + 1pt); cursor: pointer; backdrop-filter: blur(6px); transition: background .2s ease, color .2s ease; }
.sw-popup-tools button:hover { background: rgba(9, 22, 48, .95); color: #fff; }
.sw-popup-tools button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.sw-popup-today { padding: 9px 16px; }
.sw-popup-today::before { content: "\2715"; margin-right: 7px; font-size: calc(11px + 1pt); }
.sw-popup-x { width: 38px; height: 38px; font-size: calc(14px + 1pt); }
/* 보름달. 이미지 없이 카드 안에서 그린다. */
.sw-popup-card { position: relative; padding: 44px 36px 40px; overflow: hidden; border-radius: 22px; background: radial-gradient(150px 150px at 82% 16%, rgba(255, 233, 186, .22) 0%, rgba(255, 233, 186, 0) 70%), linear-gradient(160deg, #16305f 0%, #0b1a3a 58%); box-shadow: 0 30px 70px rgba(4, 12, 28, .45); }
.sw-popup-card::before { content: ""; position: absolute; top: 34px; right: 36px; width: 62px; height: 62px; border-radius: 50%; background: radial-gradient(circle at 36% 34%, #fff6e2 0%, #ffe6b4 52%, #f4cf8a 100%); box-shadow: 0 0 34px rgba(255, 224, 168, .45); }
.sw-popup-eyebrow { position: relative; display: inline-block; margin: 0 0 22px; padding-bottom: 7px; border-bottom: 2px solid rgba(255, 255, 255, .55); color: rgba(255, 255, 255, .88); font-size: calc(14px + 1pt); font-weight: 600; letter-spacing: .02em; }
.sw-popup-title { position: relative; margin: 0; color: #fff; font-size: calc(32px + 1pt); font-weight: 700; line-height: 1.38; letter-spacing: -.02em; word-break: keep-all; }
.sw-popup-title em { color: #ffd489; font-style: normal; }
.sw-popup-body { position: relative; margin: 22px 0 0; color: rgba(255, 255, 255, .8); font-size: calc(15px + 1pt); line-height: 1.75; word-break: keep-all; }
.sw-popup-cta { position: relative; margin: 30px 0 0; }
.sw-popup-cta a { display: inline-flex; padding: 13px 26px; border-radius: 999px; background: #fff; color: var(--sw-navy); font-size: calc(15px + 1pt); font-weight: 700; text-decoration: none; gap: 8px; align-items: center; transition: background .2s ease, color .2s ease; }
.sw-popup-cta a::after { content: "\2192"; }
.sw-popup-cta a:hover { background: var(--sw-blue); color: #fff; }
@media (max-width: 480px) {
  .sw-popup { padding: 16px; }
  .sw-popup-card { padding: 36px 24px 32px; }
  .sw-popup-card::before { top: 26px; right: 24px; width: 48px; height: 48px; }
  .sw-popup-title { font-size: calc(26px + 1pt); }
}
/* 팝업이 열려 있는 동안 뒤 문서가 따라 스크롤되지 않게 한다. overflow-x 는 sticky
   헤더가 쓰는 clip 그대로 둔다. */
body.sw-locked { overflow-y: hidden; }
@media (max-width: 480px) {
  .sw-cert-grid { grid-template-columns: 1fr; }
  .sw-cert-tabs button { padding: 11px 12px; font-size: calc(14px + 1pt); }
  .sw-cert-tabs button::after { right: 12px; left: 12px; }
  .sw-cert-box { padding: 14px; }
  .sw-cert-stage { gap: 4px; }
  .sw-cert-prev, .sw-cert-next { width: 36px; height: 36px; font-size: calc(21px + 1pt); }
}

/* ── 공지 · 뉴스 목록 ───────────────────────────────────────────────── */
.sw-news-hero { padding: 84px 24px 8px; }
.sw-news-headline { margin: 10px 0 0; color: var(--sw-navy); font-size: calc(44px + 1pt); font-weight: 700; line-height: 1.35; letter-spacing: -.02em; word-break: keep-all; }
.sw-news-lead { margin: 18px 0 0; color: var(--sw-muted); font-size: calc(17px + 1pt); line-height: 1.8; word-break: keep-all; }
/* 머리말 아래 빈 띠가 넓어지지 않게 다음 섹션의 위 여백을 줄인다. */
.sw-news-hero + .sw-section { padding-top: 40px; }
.sw-news-grid { gap: 48px; }
.sw-news-col-title { display: flex; margin: 0 0 10px; color: var(--sw-navy); font-size: calc(22px + 1pt); font-weight: 700; gap: 18px; align-items: center; }
.sw-news-col-title::after { content: ""; height: 1px; flex: 1 1 auto; background: var(--sw-line); }
/* 목록 한 줄: 왼쪽 썸네일, 오른쪽 글 */
.sw-news-row { padding: 26px 0; border-bottom: 1px solid var(--sw-line); align-items: center; gap: 32px; }
.sw-news-row:first-child { padding-top: 0; }
.sw-news-thumb { flex: 0 0 auto; margin: 0; }
.sw-news-thumb img { width: 320px; height: 175px; border-radius: 10px; object-fit: cover; }
/* 대표 이미지가 없는 글은 글만 남고 줄이 무너지지 않는다. */
.sw-news-thumb:empty { display: none; }
.sw-news-body { min-width: 0; flex: 1 1 auto; }
.sw-news-date { margin: 0; color: var(--sw-muted); font-size: calc(14px + 1pt); }
.sw-news-title { margin: 8px 0 0; font-size: calc(20px + 1pt); font-weight: 700; line-height: 1.45; word-break: keep-all; }
.sw-news-title a { color: var(--sw-navy); text-decoration: none; }
.sw-news-title a:hover { color: var(--sw-blue); }
/* 목록 분류는 네모 외곽선. 다른 페이지의 알약 태그는 그대로 둔다. */
.sw-news-body .sw-tag { margin: 12px 0 0; padding: 0; border-radius: 0; background: none; font-weight: 400; }
.sw-news-body .sw-tag a { display: inline-block; padding: 5px 12px; border: 1px solid #ccd3de; border-radius: 2px; background: none; color: #5b6472; font-size: calc(13px + 1pt); text-decoration: none; }
.sw-news-body .sw-tag a:hover { border-color: var(--sw-blue); color: var(--sw-blue); }
.sw-news-pages { margin-top: 36px; gap: 6px; }
.sw-news-pages a, .sw-news-pages .current { padding: 7px 12px; border-radius: 8px; color: var(--sw-muted); font-size: calc(14px + 1pt); text-decoration: none; }
.sw-news-pages .current { background: var(--sw-navy); color: #fff; font-weight: 700; }
.sw-news-empty { margin: 0; padding: 28px 0; color: var(--sw-muted); font-size: calc(15px + 1pt); }
/* 알림 레일 */
.sw-notice-card { margin-bottom: 14px; padding: 20px; border: 1px solid var(--sw-line); border-radius: 12px; background: #fff; transition: border-color .2s ease; }
.sw-notice-card:hover { border-color: var(--sw-blue); }
.sw-notice-date { margin: 0; color: var(--sw-muted); font-size: calc(13px + 1pt); }
.sw-notice-title { margin: 7px 0 0; font-size: calc(16px + 1pt); font-weight: 700; line-height: 1.5; word-break: keep-all; }
.sw-notice-title a { color: var(--sw-navy); text-decoration: none; }
.sw-notice-title a:hover { color: var(--sw-blue); }
.sw-notice-excerpt { margin: 8px 0 0; color: var(--sw-muted); font-size: calc(14px + 1pt); line-height: 1.65; word-break: keep-all; }

/* ── 단일 글 ────────────────────────────────────────────────────────── */
.sw-post { padding-bottom: 96px; }
.sw-post-head { padding: 72px 24px 44px; text-align: center; }
.sw-post-cat { margin: 0 0 20px; text-align: center; }
.sw-post-cat a { display: inline-block; padding: 6px 14px; border: 1px solid var(--sw-line); border-radius: 999px; color: var(--sw-muted); font-size: calc(13px + 1pt); text-decoration: none; }
.sw-post-cat a:hover { border-color: var(--sw-blue); color: var(--sw-blue); }
.sw-post-title { margin: 0; color: var(--sw-navy); font-size: calc(40px + 1pt); font-weight: 700; line-height: 1.38; letter-spacing: -.02em; word-break: keep-all; }
.sw-post-date { margin: 20px 0 0; color: var(--sw-muted); font-size: calc(15px + 1pt); }
.sw-post-cover { margin: 0 0 56px; }
.sw-post-cover img { width: 100%; max-height: 560px; object-fit: cover; }
.sw-post-body { font-size: calc(17px + 1pt); line-height: 1.9; word-break: keep-all; }
.sw-post-body > * + * { margin-top: 1.5em; }
.sw-post-body h2 { margin-top: 2em; font-size: calc(26px + 1pt); }
.sw-post-body h3 { margin-top: 1.8em; font-size: calc(20px + 1pt); }
.sw-post-body img { border-radius: 12px; }
.sw-post-nav { margin-top: 64px; padding-top: 28px; border-top: 1px solid var(--sw-line); gap: 12px; }
.sw-post-nav a { color: var(--sw-muted); font-size: calc(15px + 1pt); font-weight: 600; text-decoration: none; }
.sw-post-nav a:hover { color: var(--sw-blue); }

@media (max-width: 1024px) {
  .sw-news-grid { gap: 36px; }
  .sw-news-headline { font-size: calc(34px + 1pt); }
  .sw-post-title { font-size: calc(32px + 1pt); }
}
@media (max-width: 781px) {
  .sw-news-hero { padding: 56px 18px 4px; }
  .sw-news-headline { font-size: calc(27px + 1pt); }
  .sw-news-row { gap: 16px; }
  /* 코어 대표 이미지 블록이 인라인으로 320x175 를 박아 넣는다. 인라인은 선택자
     우선순위로 못 이기므로 좁은 화면에서만 !important 로 되돌린다. */
  .sw-news-thumb img { width: 116px !important; height: 86px !important; }
  .sw-news-row { gap: 14px; padding: 18px 0; }
  .sw-news-title { font-size: calc(17px + 1pt); }
  .sw-post-head { padding: 48px 18px 32px; }
  .sw-post-title { font-size: calc(25px + 1pt); }
  .sw-post-cover { margin-bottom: 36px; }
  .sw-post-body { font-size: calc(16px + 1pt); }
}

/* ── 뉴스 오른쪽 레일 ───────────────────────────────────────────────── */
a.sw-news-more { flex: 0 0 auto; align-self: center; padding: 11px 20px; border-radius: 3px; background: #1f2430; color: #fff; font-size: calc(14px + 1pt); font-weight: 600; text-decoration: none; white-space: nowrap; transition: background .2s ease; }
a.sw-news-more:hover { background: var(--sw-blue); }
.sw-rail-title-sm { display: flex; margin: 40px 0 8px; color: var(--sw-navy); font-size: calc(17px + 1pt); font-weight: 700; gap: 14px; align-items: center; }
.sw-rail-title-sm::after { content: ""; height: 1px; flex: 1 1 auto; background: var(--sw-line); }
/* 알림 슬라이더 — 대표 이미지를 배경으로 쓰는 코어 커버 블록 */
.sw-rail-slider { position: relative; overflow: hidden; border-radius: 14px; }
.sw-rail-slide { display: none; margin: 0; padding: 26px 24px; border-radius: 14px; }
.sw-rail-slide.is-active, .sw-rail-slider:not(.is-ready) .sw-rail-slide:first-child { display: flex; }
.sw-rail-slide .wp-block-cover__inner-container { width: 100%; }
.sw-rail-eyebrow { margin: 0; color: rgba(255, 255, 255, .85); font-size: calc(13px + 1pt); font-weight: 600; }
.sw-rail-eyebrow a { color: inherit; text-decoration: none; }
.sw-rail-title { margin: 8px 0 0; color: #fff; font-size: calc(21px + 1pt); font-weight: 700; line-height: 1.4; word-break: keep-all; }
.sw-rail-title a { color: inherit; text-decoration: none; }
a.sw-rail-go { display: grid; width: 46px; height: 46px; margin-top: 24px; place-items: center; border-radius: 50%; background: #fff; color: #1f2430; font-size: calc(18px + 1pt); text-decoration: none; transition: background .2s ease, color .2s ease; }
a.sw-rail-go:hover { background: var(--sw-blue); color: #fff; }
.sw-rail-dots { position: absolute; z-index: 2; bottom: 14px; left: 50%; display: flex; transform: translateX(-50%); gap: 7px; }
.sw-rail-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .45); cursor: pointer; }
.sw-rail-dots button[aria-current="true"] { background: #fff; }
.sw-rail-arrow { position: absolute; z-index: 2; top: 50%; width: 30px; height: 30px; padding: 0; transform: translateY(-50%); border: 0; border-radius: 50%; background: rgba(0, 0, 0, .28); color: #fff; font-size: calc(16px + 1pt); line-height: 1; cursor: pointer; transition: background .2s ease; }
.sw-rail-arrow:hover { background: rgba(0, 0, 0, .5); }
.sw-rail-arrow.is-prev { left: 8px; }
.sw-rail-arrow.is-next { right: 8px; }
.sw-rail-dots button:focus-visible, .sw-rail-arrow:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
/* 최근 포스트 */
.sw-mini-row { padding: 13px 0; border-bottom: 1px solid var(--sw-line); align-items: flex-start; gap: 13px; }
.sw-mini-row:last-child { border-bottom: 0; }
.sw-mini-thumb { flex: 0 0 auto; margin: 0; }
.sw-mini-thumb img { width: 56px; height: 56px; border-radius: 7px; object-fit: cover; }
.sw-mini-thumb:empty { display: none; }
.sw-mini-body { min-width: 0; flex: 1 1 auto; }
.sw-mini-title { margin: 0; font-size: calc(14.5px + 1pt); font-weight: 600; line-height: 1.5; word-break: keep-all; }
.sw-mini-title a { display: -webkit-box; overflow: hidden; color: var(--sw-navy); text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.sw-mini-title a:hover { color: var(--sw-blue); }
.sw-mini-date { margin: 5px 0 0; color: var(--sw-muted); font-size: calc(12.5px + 1pt); }
/* 해시태그 */
.sw-tagcloud { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.sw-tagcloud a { color: var(--sw-muted); font-size: calc(14px + 1pt) !important; text-decoration: none; }
.sw-tagcloud a::before { content: "# "; color: var(--sw-blue); }
.sw-tagcloud a:hover { color: var(--sw-blue); }

@media (max-width: 781px) {
  .sw-news-more a { padding: 8px 14px; font-size: calc(13px + 1pt); }
  .sw-rail-title { font-size: calc(18px + 1pt); }
}

/* ── 메인 인트로 ────────────────────────────────────────────────────── */
/* 숨기는 일은 애니메이션이 맡는다. 스크립트가 죽어도 3.2초 뒤 저절로 걷힌다. */
.sw-intro { position: fixed; z-index: 3000; inset: 0; display: grid; place-items: center; overflow: hidden; background: radial-gradient(58% 58% at 50% 46%, #23579f 0%, #123472 42%, #08152f 100%); animation: sw-intro-out .7s cubic-bezier(.4, 0, .2, 1) 3.2s forwards; }
.sw-intro.is-gone { animation: none; opacity: 0; visibility: hidden; pointer-events: none; }
/* 읽히는 것은 워드마크. 원본이 474px 라 그보다 작게 써서 또렷하게 둔다. */
/* 원본이 474px 뿐이라 그보다 크게 쓰면 고해상도 화면에서 뭉갠다. */
.sw-intro-logo { position: relative; z-index: 1; width: min(320px, 56vw); height: auto; animation: sw-intro-mark 1.4s cubic-bezier(.2, .7, .3, 1) both; }
.sw-intro-skip { position: absolute; bottom: 52px; left: 50%; padding: 9px 4px; transform: translateX(-50%); border: 0; border-bottom: 1px solid rgba(255, 255, 255, .5); background: none; color: #fff; font: inherit; font-size: calc(15px + 1pt); font-weight: 600; letter-spacing: .12em; cursor: pointer; transition: border-color .2s ease, color .2s ease; }
.sw-intro-skip span { margin-left: 8px; font-size: calc(11px + 1pt); }
.sw-intro-skip:hover { border-bottom-color: #fff; }
.sw-intro-skip:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
@keyframes sw-intro-mark {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@keyframes sw-intro-out {
  to { opacity: 0; visibility: hidden; pointer-events: none; }
}
@media (prefers-reduced-motion: reduce) {
  /* 움직임을 줄인 환경에서는 잠깐만 비추고 바로 걷는다. */
  .sw-intro { animation-delay: .8s; animation-duration: .2s; }
  .sw-intro-logo { animation: none; }
}

/* ── 커스텀 포인터 ──────────────────────────────────────────────────── */
/* 손가락으로 쓰는 기기에는 포인터가 없다. 그런 곳에서는 아무것도 만들지 않는다. */
/* 기본 커서를 숨기고 그리는 방식이라, 떠 있는 어떤 요소보다도 위에 있어야 한다.
   챗봇 위젯(9999) 아래에 깔리면 그 위에서는 포인터가 아예 보이지 않는다. */
.sw-cursor-dot, .sw-cursor-ring { position: fixed; z-index: 10000; top: 0; left: 0; border-radius: 50%; opacity: 0; pointer-events: none; }
.sw-cursor-dot { width: 7px; height: 7px; margin: -3.5px 0 0 -3.5px; background: var(--sw-blue); transition: opacity .2s ease; }
.sw-cursor-ring { width: 34px; height: 34px; margin: -17px 0 0 -17px; border: 1px solid rgba(71, 121, 201, .65); transition: width .18s ease, height .18s ease, margin .18s ease, border-color .18s ease, background .18s ease, opacity .2s ease; }
.sw-cursor-dot.is-on, .sw-cursor-ring.is-on { opacity: 1; }
/* 누를 수 있는 것 위에서는 고리가 커진다. */
.sw-cursor-ring.is-hot { width: 52px; height: 52px; margin: -26px 0 0 -26px; border-color: rgba(71, 121, 201, .9); background: rgba(71, 121, 201, .1); }
html.sw-has-cursor, html.sw-has-cursor * { cursor: none !important; }
/* 글을 쓰는 칸에서는 원래 막대 커서가 필요하다. */
html.sw-has-cursor input, html.sw-has-cursor textarea, html.sw-has-cursor select,
html.sw-has-cursor [contenteditable="true"] { cursor: auto !important; }

/* 밝은 하늘빛 섹션. 대각선 띠는 이미지 없이 그라디언트만으로 그린다.
   .sw-soft(연회색 남빛)가 칙칙해 보이는 자리에 대신 쓴다. */
.sw-sky {
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0) 4%, rgba(255, 255, 255, .72) 13%, rgba(255, 255, 255, .72) 27%, rgba(255, 255, 255, 0) 36%),
    linear-gradient(115deg, rgba(255, 255, 255, 0) 43%, rgba(255, 255, 255, .5) 51%, rgba(255, 255, 255, .5) 61%, rgba(255, 255, 255, 0) 70%),
    linear-gradient(115deg, rgba(255, 255, 255, 0) 76%, rgba(255, 255, 255, .62) 84%, rgba(255, 255, 255, .62) 95%, rgba(255, 255, 255, 0) 100%),
    radial-gradient(86% 78% at 82% 0%, rgba(255, 255, 255, .6) 0%, rgba(255, 255, 255, 0) 64%),
    linear-gradient(162deg, #e2f2ff 0%, #b7dbf6 46%, #96c8ee 100%);
}
/* 하늘빛 섹션의 큰 제목. 이 클래스를 붙인 제목에만 적용되므로 다른 섹션
   제목은 그대로다. */
.sw-sky-title { margin: 0 0 6px; color: var(--sw-navy); font-size: calc(44px + 1pt); font-weight: 800; line-height: 1.25; letter-spacing: -.02em; }
@media (max-width: 1024px) { .sw-sky-title { font-size: calc(36px + 1pt); } }
@media (max-width: 781px) { .sw-sky-title { font-size: calc(28px + 1pt); } }

/* ── 수행체계 5단계 ─────────────────────────────────────────────────
   경영철학과 같은 카드 체계(sw-value-*)를 쓰고, 다섯 장과 화살표만 여기서
   더한다. 칼럼마다 카드와 화살표가 함께 들어가므로 칼럼 자체를 가로로 편다. */
.wp-block-columns.sw-step-grid { grid-template-columns: repeat(5, 1fr); gap: 14px; align-items: stretch; }
.sw-step-grid > .wp-block-column { position: relative; display: flex; align-items: stretch; }
.sw-step-card { flex: 1 1 auto; padding: 28px 20px; }
.sw-step-card h3 { margin-top: 18px; }
/* 한글 부제는 경영철학(13px)보다 한 단계 크게 둔다. */
.sw-step-card .sw-value-en { font-size: calc(14px + 1pt); }
/* 카드 사이 화살표. 흐름을 보여 주는 장식이라 좁은 화면에서는 감춘다. */
.sw-step-arrow { position: absolute; z-index: 1; top: 50%; right: -15px; display: grid; width: 16px; height: 16px; place-items: center; transform: translateY(-50%); color: #c3cbd8; }
.sw-step-arrow svg { width: 16px; height: 16px; }
/* 체크 불릿 */
.sw-step-list { margin: 14px 0 0; padding: 0; list-style: none; }
.sw-step-list li { display: flex; margin-top: 8px; color: #4b5563; font-size: calc(14px + 1pt); line-height: 1.6; gap: 7px; align-items: flex-start; word-break: keep-all; }
.sw-step-list svg { width: 15px; height: 15px; flex: 0 0 auto; margin-top: 3px; color: #1e9e8a; }

@media (max-width: 1200px) {
  .wp-block-columns.sw-step-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .sw-step-arrow { display: none; }
}
@media (max-width: 900px) {
  .wp-block-columns.sw-step-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .wp-block-columns.sw-step-grid { grid-template-columns: 1fr; }
}

/* ── 포트폴리오 모자이크 ────────────────────────────────────────────
   타일 크기는 마크업이 아니라 순서로 정한다. 글이 몇 건이든 같은 리듬이
   반복되고, 새 글이 들어와도 손댈 곳이 없다. */
.sw-pf-head { margin-bottom: 40px; gap: 40px; align-items: flex-start; }
.sw-pf-head h2 { margin: 0; color: var(--sw-navy); font-size: calc(34px + 1pt); font-weight: 700; line-height: 1.35; word-break: keep-all; }
/* 한 페이지 8개(3칸 × 4줄을 빈칸 없이 채움):
   1번 큰 타일(2칸 × 2줄) + 2 · 3번 오른쪽 위아래 / 4 · 5 · 6번 한 줄 / 7번 한 칸 + 8번 두 칸. */
.sw-mosaic .wp-block-post-template { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: clamp(210px, 19vw, 270px); gap: 20px; list-style: none; margin: 0; padding: 0; }
.sw-tile { position: relative; overflow: hidden; height: 100%; margin: 0; border-radius: 18px; background: #e9eef5; box-shadow: 0 16px 40px rgba(16, 47, 103, .1); }
.sw-mosaic .wp-block-post-template > li:nth-child(8n+1) { grid-column: span 2; grid-row: span 2; }
.sw-mosaic .wp-block-post-template > li:nth-child(8n) { grid-column: span 2; }
.sw-tile-img, .sw-tile-img a, .sw-tile-img img { display: block; width: 100%; height: 100%; margin: 0; }
.sw-tile-img img { border-radius: 0; box-shadow: none; object-fit: cover; transition: transform .45s ease; }
.sw-tile:hover .sw-tile-img img { transform: scale(1.04); }
/* 대표 이미지가 없는 글도 자리를 지킨다. */
.sw-tile-img:empty::after { content: ""; display: block; height: 100%; background: linear-gradient(140deg, #dbe6f3, #eef3f9); }
.sw-tile-cap { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; padding: 46px 20px 18px; background: linear-gradient(transparent, rgba(8, 20, 42, .82)); }
.sw-tile-tag { margin: 0 0 8px; }
.sw-tile-tag a { display: inline-block; margin-right: 5px; padding: 3px 8px; background: rgba(255, 255, 255, .22); color: #fff; font-size: calc(12px + 1pt); text-decoration: none; }
.sw-tile-title { margin: 0; font-size: calc(16px + 1pt); font-weight: 700; line-height: 1.45; word-break: keep-all; }
.sw-tile-title a { color: #fff; text-decoration: none; }
.sw-tile-date { margin: 7px 0 0; color: rgba(255, 255, 255, .72); font-size: calc(12px + 1pt); }
/* 큰 타일은 글자도 한 단계 크게. */
.sw-mosaic .sw-tile-cap { padding: 70px 28px 24px; }
.sw-mosaic .sw-tile-title { font-size: calc(19px + 1pt); }
.sw-mosaic .wp-block-post-template > li:nth-child(8n+1) .sw-tile-title { font-size: calc(clamp(22px, 2.2vw, 30px) + 1pt); }
.sw-mosaic .wp-block-post-template > li:nth-child(8n+1) .sw-tile-cap { padding: 110px 36px 32px; }.sw-mosaic .wp-block-query-pagination { margin-top: 40px; }

@media (max-width: 900px) {
  .sw-mosaic .wp-block-post-template { grid-template-columns: 1fr 1fr; grid-auto-rows: clamp(180px, 34vw, 260px); }
  .sw-mosaic .wp-block-post-template > li:nth-child(8n+1), .sw-mosaic .wp-block-post-template > li:nth-child(8n) { grid-column: span 2; grid-row: span 1; }
  .sw-pf-head h2 { font-size: calc(27px + 1pt); }
}
@media (max-width: 600px) {
  .sw-mosaic .wp-block-post-template { grid-template-columns: 1fr; grid-auto-rows: 240px; gap: 14px; }
  .sw-mosaic .wp-block-post-template > li:nth-child(8n+1), .sw-mosaic .wp-block-post-template > li:nth-child(8n) { grid-column: auto; }
}

/* ===== UMS 제품 랜딩 (/ums/, 템플릿 page-product) ===== */
.sw-product-brand { margin: 0; }
.sw-product-brand a { display: inline-flex; align-items: baseline; gap: 8px; color: var(--sw-navy); text-decoration: none; }
.sw-product-brand strong { font-size: calc(1.7rem + 1pt); font-weight: 900; letter-spacing: -.03em; background: linear-gradient(90deg, #1f4f9f, #2f6bff 60%, #20b8d1); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sw-product-brand span { color: var(--sw-muted); font-size: calc(.8rem + 1pt); font-weight: 600; }

.sw-ums-eyebrow { margin: 0; color: #2f6bff; font-size: calc(.8rem + 1pt); font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.sw-ums-lead { margin: 16px 0 0; color: var(--sw-muted); font-size: calc(1.05rem + 1pt); line-height: 1.75; word-break: keep-all; }

/* 히어로 */
.sw-ums-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(64px, 8vw, 120px) 24px clamp(48px, 6vw, 80px);
  background:
    radial-gradient(45% 60% at 80% 30%, rgba(47, 107, 255, .45), transparent 70%),
    radial-gradient(35% 50% at 10% 90%, rgba(32, 184, 209, .3), transparent 70%),
    linear-gradient(160deg, #06132e, #0b2458 60%, #0e2f6e);
  color: #fff;
}
.sw-ums-hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(120, 180, 255, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(120, 180, 255, .07) 1px, transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(70% 80% at 60% 40%, #000, transparent); pointer-events: none; }
.sw-ums-hero > * { position: relative; }
.sw-ums-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
.sw-ums-hero-copy > * { margin-block: 0; }
.sw-ums-hero .sw-ums-eyebrow { color: #7cd0ff; }
.sw-ums-hero h1 { margin-top: 16px; color: #fff; font-size: calc(clamp(2.4rem, 5vw, 4.2rem) + 1pt); font-weight: 900; line-height: 1.15; letter-spacing: -.04em; }
.sw-ums-hero .sw-ums-lead { color: rgba(255, 255, 255, .78); }
.sw-ums-actions { margin-top: 32px; gap: 12px; }
.sw-ums-actions .wp-block-button__link { padding: 15px 28px; border-radius: 99px; font-size: calc(1rem + 1pt); font-weight: 800; }
.sw-ums-actions .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: linear-gradient(90deg, #2f6bff, #20b8d1); box-shadow: 0 14px 34px rgba(47, 107, 255, .45); color: #fff; }
.sw-ums-actions .is-style-outline .wp-block-button__link { border: 1.5px solid rgba(255, 255, 255, .5); background: transparent; color: #fff; }
.sw-ums-actions .wp-block-button__link:hover { transform: translateY(-2px); }

/* 휴대폰 속 채널별 메시지가 차례로 떠오른다 */
.sw-ums-phone { justify-self: center; width: min(100%, 330px); aspect-ratio: 9 / 17; padding: 14px; border-radius: 42px; background: linear-gradient(160deg, #1b2c4f, #0b1630); box-shadow: 0 40px 80px rgba(0, 0, 0, .45), inset 0 0 0 2px rgba(255, 255, 255, .08); }
.sw-ums-screen { display: flex; height: 100%; flex-direction: column; justify-content: flex-end; gap: 10px; overflow: hidden; padding: 22px 16px; border-radius: 30px; background: linear-gradient(180deg, #f4f8ff, #e6eefb); }
.sw-ums-msg { display: block; padding: 11px 14px; border-radius: 16px 16px 16px 4px; background: #fff; box-shadow: 0 6px 16px rgba(16, 47, 103, .12); color: var(--sw-ink); font-size: calc(.8rem + 1pt); line-height: 1.45; opacity: 0; transform: translateY(14px); animation: sw-ums-pop .6s ease forwards; }
.sw-ums-msg b { display: block; margin-bottom: 2px; font-size: calc(.68rem + 1pt); letter-spacing: .06em; }
.sw-ums-msg.is-sms b { color: #2f6bff; }
.sw-ums-msg.is-kakao { background: #fff7cc; } .sw-ums-msg.is-kakao b { color: #8a6d00; }
.sw-ums-msg.is-rcs b { color: #7a4dff; }
.sw-ums-msg.is-push { align-self: flex-end; border-radius: 16px 16px 4px 16px; background: #2f6bff; color: #fff; } .sw-ums-msg.is-push b { color: #cfe0ff; }
.sw-ums-msg.is-mail b { color: #13806e; }
.sw-ums-msg:nth-child(1) { animation-delay: .3s; }
.sw-ums-msg:nth-child(2) { animation-delay: .9s; }
.sw-ums-msg:nth-child(3) { animation-delay: 1.5s; }
.sw-ums-msg:nth-child(4) { animation-delay: 2.1s; }
.sw-ums-msg:nth-child(5) { animation-delay: 2.7s; }
@keyframes sw-ums-pop { to { opacity: 1; transform: none; } }

/* 핵심 수치 */
.sw-ums-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: clamp(40px, 5vw, 64px) !important; }
.sw-ums-stat { padding: 22px 24px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 18px; background: rgba(255, 255, 255, .06); backdrop-filter: blur(8px); }
.sw-ums-stat > * { margin: 0; }
.sw-ums-stat-num { color: #fff; font-size: calc(clamp(2rem, 3vw, 2.6rem) + 1pt); font-weight: 900; line-height: 1.1; letter-spacing: -.03em; }
.sw-ums-stat-num small { margin-left: 4px; color: #7cd0ff; font-size: .45em; font-weight: 800; letter-spacing: 0; }
.sw-ums-stat-label { margin-top: 8px !important; color: rgba(255, 255, 255, .7); font-size: calc(.86rem + 1pt); }

/* 공통 섹션 */
.sw-ums-sec { background: #fff; }
.sw-ums-soft { background: linear-gradient(180deg, #f3f7fe, #fff); }
.sw-ums-head { margin-bottom: clamp(32px, 4vw, 52px); text-align: center; }
.sw-ums-head > * { margin-block: 0; }
.sw-ums-head h2 { margin-top: 12px; color: var(--sw-ink); font-size: calc(clamp(1.8rem, 3.2vw, 2.6rem) + 1pt); font-weight: 900; letter-spacing: -.03em; word-break: keep-all; }
.sw-ums-head .sw-ums-lead { max-width: 720px; margin-inline: auto; }

/* 채널 */
.sw-ums-channels { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.sw-ums-channel { --c: #2f6bff; padding: 28px 22px; border: 1px solid #dfe7f2; border-top: 4px solid var(--c); border-radius: 18px; background: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.sw-ums-channel:hover { transform: translateY(-5px); box-shadow: 0 20px 44px rgba(16, 47, 103, .12); }
.sw-ums-channel > * { margin: 0; }
.sw-ums-channel h3 { color: var(--c); font-size: calc(1.08rem + 1pt); font-weight: 800; }
.sw-ums-channel p { margin-top: 10px; color: var(--sw-muted); font-size: calc(.9rem + 1pt); line-height: 1.6; word-break: keep-all; }
.sw-ums-channel.is-rcs { --c: #7a4dff; }
.sw-ums-channel.is-kakao { --c: #c29a00; }
.sw-ums-channel.is-push { --c: #20b8d1; }
.sw-ums-channel.is-mail { --c: #13806e; }

/* 기능 */
.sw-ums-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.sw-ums-feature { padding: 30px; border: 1px solid #dfe7f2; border-radius: 20px; background: #fff; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.sw-ums-feature:hover { transform: translateY(-5px); border-color: #a9c4e8; box-shadow: 0 22px 48px rgba(16, 47, 103, .12); }
.sw-ums-feature > * { margin: 0; }
.sw-ums-feature .sw-ums-feature-no { color: #2f6bff; font-size: calc(.76rem + 1pt); font-weight: 800; letter-spacing: .12em; }
.sw-ums-feature h3 { margin-top: 10px; color: var(--sw-ink); font-size: calc(1.2rem + 1pt); font-weight: 800; }
.sw-ums-feature ul { margin-top: 16px; padding: 16px 0 0; border-top: 1px solid var(--sw-line); list-style: none; }
.sw-ums-feature li { position: relative; padding: 5px 0 5px 24px; color: #3f4b5c; font-size: calc(.93rem + 1pt); }
.sw-ums-feature li::before { content: ""; position: absolute; top: 50%; left: 0; width: 14px; height: 14px; transform: translateY(-50%); border-radius: 50%; background: #e3ecff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 9px no-repeat; }

/* 발송 성능 (어두운 섹션) */
.sw-ums-dark { background: radial-gradient(50% 70% at 50% 0%, rgba(47, 107, 255, .35), transparent 70%), #07152f; }
.sw-ums-dark .sw-ums-eyebrow { color: #7cd0ff; }
.sw-ums-dark .sw-ums-head h2 { color: #fff; }
.sw-ums-dark .sw-ums-lead { color: rgba(255, 255, 255, .72); }
.sw-ums-perf { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; counter-reset: sw-perf; }
.sw-ums-perf-item { padding: 30px 26px; border: 1px solid rgba(124, 208, 255, .22); border-radius: 20px; background: rgba(255, 255, 255, .04); counter-increment: sw-perf; }
.sw-ums-perf-item > * { margin: 0; }
.sw-ums-perf-item::before { content: "0" counter(sw-perf); display: block; margin-bottom: 14px; color: #7cd0ff; font-size: calc(.8rem + 1pt); font-weight: 800; letter-spacing: .14em; }
.sw-ums-perf-item h3 { color: #fff; font-size: calc(1.12rem + 1pt); font-weight: 800; word-break: keep-all; }
.sw-ums-perf-item p { margin-top: 12px; color: rgba(255, 255, 255, .72); font-size: calc(.92rem + 1pt); line-height: 1.7; word-break: keep-all; }

/* 글로벌 */
.sw-ums-global { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.sw-ums-global-item { padding: 24px 22px; border-radius: 18px; background: #f3f7fe; }
.sw-ums-global-item > * { margin: 0; }
.sw-ums-global-item h3 { color: var(--sw-navy); font-size: calc(1rem + 1pt); font-weight: 800; word-break: keep-all; }
.sw-ums-global-item p { margin-top: 8px; color: var(--sw-muted); font-size: calc(.9rem + 1pt); line-height: 1.6; word-break: keep-all; }

/* 사례 */
.sw-ums-industries { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 28px !important; }
.sw-ums-industries p { margin: 0; padding: 8px 18px; border-radius: 99px; background: #e8f0ff; color: #1f4f9f; font-size: calc(.9rem + 1pt); font-weight: 700; }
.sw-ums-cases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sw-ums-case { padding: 26px 22px; border: 1px solid #dfe7f2; border-radius: 18px; background: #fff; }
.sw-ums-case > * { margin: 0; }
.sw-ums-case .sw-ums-case-client { color: #2f6bff; font-size: calc(.86rem + 1pt); font-weight: 800; }
.sw-ums-case h3 { margin-top: 8px; color: var(--sw-ink); font-size: calc(1rem + 1pt); font-weight: 800; line-height: 1.45; word-break: keep-all; }
.sw-ums-case .sw-ums-case-scope { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--sw-line); color: var(--sw-muted); font-size: calc(.84rem + 1pt); line-height: 1.6; }
.sw-ums-cta { background: linear-gradient(120deg, #0b2458, #2f6bff 70%, #20b8d1); }

@media (max-width: 1100px) {
  .sw-ums-channels, .sw-ums-cases { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sw-ums-perf, .sw-ums-global { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
  .sw-ums-hero-grid { grid-template-columns: 1fr; }
  .sw-ums-phone { width: min(80%, 280px); }
  .sw-ums-stats, .sw-ums-features, .sw-ums-channels, .sw-ums-cases { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .sw-ums-stats, .sw-ums-features, .sw-ums-channels, .sw-ums-cases, .sw-ums-perf, .sw-ums-global { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .sw-ums-msg { animation: none; opacity: 1; transform: none; } }

/* ===== 제품 랜딩 공통 추가 + 제품별 색 (SCOS 초록, AI 개인화 보라) ===== */
.sw-ums-features.is-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sw-ums-features.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sw-ums-feature > p:not(.sw-ums-feature-no) { margin-top: 12px; color: var(--sw-muted); font-size: calc(.93rem + 1pt); line-height: 1.7; word-break: keep-all; }
.sw-ums-top { margin-top: 36px !important; margin-bottom: 0 !important; }
.sw-ums-sec .sw-photo-cards { margin-top: 0; }
@media (max-width: 1100px) { .sw-ums-features.is-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .sw-ums-features.is-2, .sw-ums-features.is-4 { grid-template-columns: 1fr; } }

/* SCOS: 초록 계열 */
.page-template-page-product-scos .sw-ums-hero { background: radial-gradient(45% 60% at 80% 30%, rgba(32, 184, 160, .45), transparent 70%), radial-gradient(35% 50% at 10% 90%, rgba(71, 121, 201, .3), transparent 70%), linear-gradient(160deg, #04201d, #093b3c 60%, #0d4f4a); }
.page-template-page-product-scos .sw-ums-hero .sw-ums-eyebrow, .page-template-page-product-scos .sw-ums-stat-num small, .page-template-page-product-scos .sw-ums-dark .sw-ums-eyebrow, .page-template-page-product-scos .sw-ums-perf-item::before { color: #6fe0c4; }
.page-template-page-product-scos .sw-ums-eyebrow, .page-template-page-product-scos .sw-ums-feature .sw-ums-feature-no { color: #12806e; }
.page-template-page-product-scos .sw-product-brand strong { background-image: linear-gradient(90deg, #0d4f4a, #12806e 55%, #20b8a0); }
.page-template-page-product-scos .sw-ums-actions .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: linear-gradient(90deg, #12806e, #20b8a0); box-shadow: 0 14px 34px rgba(18, 128, 110, .45); }
.page-template-page-product-scos .sw-ums-dark { background: radial-gradient(50% 70% at 50% 0%, rgba(32, 184, 160, .3), transparent 70%), #052523; }
.page-template-page-product-scos .sw-ums-perf-item { border-color: rgba(111, 224, 196, .22); }
.page-template-page-product-scos .sw-ums-feature li::before { background-color: #dcf5ee; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312806e' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
.page-template-page-product-scos .sw-ums-cta { background: linear-gradient(120deg, #093b3c, #12806e 70%, #20b8a0); }
.page-template-page-product-scos .sw-ums-msg.is-push { background: #12806e; }

/* AI 개인화: 보라 계열 */
.page-template-page-product-ai-platform .sw-ums-hero { background: radial-gradient(45% 60% at 80% 30%, rgba(122, 77, 255, .5), transparent 70%), radial-gradient(35% 50% at 10% 90%, rgba(47, 107, 255, .3), transparent 70%), linear-gradient(160deg, #0f0830, #22125e 60%, #2d1a7a); }
.page-template-page-product-ai-platform .sw-ums-hero .sw-ums-eyebrow, .page-template-page-product-ai-platform .sw-ums-stat-num small, .page-template-page-product-ai-platform .sw-ums-dark .sw-ums-eyebrow, .page-template-page-product-ai-platform .sw-ums-perf-item::before { color: #c3a8ff; }
.page-template-page-product-ai-platform .sw-ums-eyebrow, .page-template-page-product-ai-platform .sw-ums-feature .sw-ums-feature-no { color: #6a3df0; }
.page-template-page-product-ai-platform .sw-product-brand strong { background-image: linear-gradient(90deg, #2d1a7a, #6a3df0 55%, #2f6bff); }
.page-template-page-product-ai-platform .sw-ums-actions .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: linear-gradient(90deg, #6a3df0, #2f6bff); box-shadow: 0 14px 34px rgba(106, 61, 240, .45); }
.page-template-page-product-ai-platform .sw-ums-dark { background: radial-gradient(50% 70% at 50% 0%, rgba(122, 77, 255, .35), transparent 70%), #120a33; }
.page-template-page-product-ai-platform .sw-ums-perf-item { border-color: rgba(195, 168, 255, .22); }
.page-template-page-product-ai-platform .sw-ums-feature li::before { background-color: #ece5ff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a3df0' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
.page-template-page-product-ai-platform .sw-ums-industries p { background: #efe9ff; color: #4b2bb8; }
.page-template-page-product-ai-platform .sw-ums-global-item { background: #f5f2ff; }
.page-template-page-product-ai-platform .sw-ums-global-item h3 { color: #2d1a7a; }
.page-template-page-product-ai-platform .sw-ums-cta { background: linear-gradient(120deg, #22125e, #6a3df0 70%, #2f6bff); }
.page-template-page-product-ai-platform .sw-ums-msg.is-push { background: #6a3df0; }
.page-template-page-product-ai-platform .sw-step-icon, .page-template-page-product-ai-platform .sw-step::after { background-color: #6a3df0; }

/* 뉴스 포스트 분류 탭 */
.sw-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 8px; }
.sw-filter button {
  padding: 9px 18px;
  border: 1px solid #d5dfec;
  border-radius: 99px;
  background: #fff;
  color: var(--sw-muted);
  font: inherit;
  font-size: calc(.9rem + 1pt);
  font-weight: 600;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.sw-filter button:hover { border-color: var(--sw-blue); color: var(--sw-blue); }
.sw-filter button[aria-selected="true"] { border-color: var(--sw-navy); background: var(--sw-navy); box-shadow: 0 8px 20px rgba(16, 47, 103, .2); color: #fff; }
.sw-filter button:focus-visible { outline: 2px solid var(--sw-blue); outline-offset: 2px; }
.sw-news-list .wp-block-post[hidden] { display: none; }
.sw-filter-empty { padding: 40px 0; color: var(--sw-muted); text-align: center; }

/* 카드 묶음의 박스 크기 맞춤: 블록 기본 흐름 레이아웃이 두 번째 칸부터 위 여백을 붙여
   첫 칸만 튀어나와 보이던 문제. 여백을 없애고 한 줄의 카드를 같은 높이로 늘린다. */
:is(.sw-ums-stats, .sw-ums-channels, .sw-ums-features, .sw-ums-perf, .sw-ums-global, .sw-ums-cases, .sw-steps, .sw-benefit-grid, .sw-insight-grid, .sw-org-divisions) > * { margin-block: 0 !important; }
:is(.sw-ums-stats, .sw-ums-channels, .sw-ums-features, .sw-ums-perf, .sw-ums-global, .sw-ums-cases, .sw-steps) { align-items: stretch; }
:is(.sw-ums-stat, .sw-ums-channel, .sw-ums-feature, .sw-ums-perf-item, .sw-ums-global-item, .sw-ums-case, .sw-step) { box-sizing: border-box; height: 100%; }

/* 홈 Solution 카드 썸네일: 공식 홈페이지 서비스 사진(원본이 어둡게 처리돼 있어 밝게 보정). */
.sw-sol-card .sw-sol-shot { padding: 0; background: #0b1b3a; }
.sw-sol-card .sw-sol-shot img { height: 210px; border-radius: 0; box-shadow: none; object-position: center; filter: brightness(1.45) saturate(1.1); }
.sw-sol-card:hover .sw-sol-shot img { transform: scale(1.05); }
/* 작은 카드: 왼쪽 썸네일 + 오른쪽 이름 · 설명 */
.sw-sol-card.is-sm { grid-template-columns: 124px 1fr; column-gap: 22px; row-gap: 0; padding: 18px 90px 18px 18px; }
.sw-sol-card.is-sm .sw-sol-shot { grid-row: 1 / span 2; grid-column: 1; overflow: hidden; margin: 0; aspect-ratio: 1; border-radius: 14px; }
.sw-sol-card.is-sm .sw-sol-shot img { width: 100%; height: 100%; object-fit: cover; }
.sw-sol-card.is-sm:has(.sw-sol-shot) .sw-sol-name { grid-column: 2; align-self: end; }
.sw-sol-card.is-sm:has(.sw-sol-shot) .sw-sol-tag { grid-column: 2; align-self: start; }
@media (max-width: 640px) { .sw-sol-card.is-sm { grid-template-columns: 88px 1fr; padding-right: 76px; } }

/* 제품 랜딩 2칸 카드(특장점 · 도입 효과): 라벨을 제목처럼 크게, 본문도 한 단계 크게. */
.sw-ums-features.is-2 .sw-ums-feature { padding: 36px 38px; }
.sw-ums-features.is-2 .sw-ums-feature-no { display: flex; align-items: center; gap: 10px; font-size: calc(1.3rem + 1pt); font-weight: 900; letter-spacing: -.01em; }
.sw-ums-features.is-2 .sw-ums-feature-no::before { content: ""; width: 5px; height: 1.05em; border-radius: 3px; background: currentColor; }
.sw-ums-features.is-2 .sw-ums-feature:nth-child(2) .sw-ums-feature-no { color: #2f6bff; }
.sw-ums-features.is-2 .sw-ums-feature h3 { margin-top: 14px; font-size: calc(1.4rem + 1pt); }
.sw-ums-features.is-2 .sw-ums-feature li { font-size: calc(1.02rem + 1pt); padding-block: 7px; }

/* 제품 헤더의 '스카이웨어 홈' 앞 집 아이콘 */
.sw-product-header .sw-nav-support > .wp-block-navigation-item__content { display: inline-flex; align-items: center; gap: 6px; }
.sw-product-header .sw-nav-support > .wp-block-navigation-item__content::before {
  content: "";
  flex: 0 0 auto;
  width: 1.05em;
  height: 1.05em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5V20a1 1 0 0 0 1 1h4v-6h4v6h4a1 1 0 0 0 1-1V9.5'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5V20a1 1 0 0 0 1 1h4v-6h4v6h4a1 1 0 0 0 1-1V9.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* 뉴스 분류별 색: 탭(점 · 테두리, 선택 시 채움)과 목록의 분류 태그에 같은 색을 쓴다. */
.sw-filter button { --c: var(--sw-navy); display: inline-flex; align-items: center; gap: 8px; }
.sw-filter button::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--c); }
.sw-filter button[data-cat=""]::before { display: none; }
.sw-filter button[data-cat="news"] { --c: #2f6bff; }
.sw-filter button[data-cat="tech-insight"] { --c: #6a3df0; }
.sw-filter button[data-cat="cloud-insight"] { --c: #0e8fb0; }
.sw-filter button[data-cat="tech-brief"] { --c: #13806e; }
.sw-filter button:hover { border-color: var(--c); color: var(--c); }
.sw-filter button[aria-selected="true"] { border-color: var(--c); background: var(--c); box-shadow: 0 8px 20px color-mix(in srgb, var(--c) 35%, transparent); color: #fff; }
.sw-filter button[aria-selected="true"]::before { background: #fff; }
/* 목록의 분류 태그 */
.sw-news-list .wp-block-post { --c: var(--sw-navy); }
.sw-news-list .wp-block-post.category-news { --c: #2f6bff; }
.sw-news-list .wp-block-post.category-tech-insight { --c: #6a3df0; }
.sw-news-list .wp-block-post.category-cloud-insight { --c: #0e8fb0; }
.sw-news-list .wp-block-post.category-tech-brief { --c: #13806e; }
.sw-news-list .wp-block-post .sw-tag a { border-color: color-mix(in srgb, var(--c) 35%, transparent) !important; background: color-mix(in srgb, var(--c) 9%, #fff) !important; color: var(--c) !important; font-weight: 700; }
.sw-news-list .wp-block-post .sw-tag a { display: inline-block; padding: 5px 14px; border: 1px solid; border-radius: 99px; }
/* 공식 홈페이지 서비스 사진은 원본이 어둡게 처리돼 있어 썸네일에서 밝게 보정한다. */
:is(.sw-news-thumb, .sw-mini-thumb, .sw-tile-img) img:is([src*="/AI_"], [src*="/TMS_"], [src*="/slider_"]) { filter: brightness(1.45) saturate(1.1); }

/* 제품 랜딩 섹션 머리글: 라벨 양옆 가는 선, 더 큰 제목 */
.sw-ums-head .sw-ums-eyebrow { display: flex; align-items: center; justify-content: center; gap: 18px; }
.sw-ums-head .sw-ums-eyebrow::before, .sw-ums-head .sw-ums-eyebrow::after { content: ""; width: 40px; height: 1px; background: currentColor; opacity: .5; }
.sw-ums-head h2 { font-size: calc(clamp(2.1rem, 3.8vw, 3.2rem) + 1pt); }

/* UMS 채널: 테두리 없는 가운데 정렬 칸 + 세로 구분선, 색 얼룩 위 큰 아이콘, 원형 화살표 */
.sw-ums-channels { gap: 0; }
.sw-ums-channel {
  --c: #2f6bff;
  --bg: #e6efff;
  --i: none;
  position: relative;
  padding: 170px 22px 10px;
  border: 0;
  border-left: 1px solid #e3e9f2;
  border-radius: 0;
  background: transparent;
  text-align: center;
  transition: none;
}
.sw-ums-channel:first-child { border-left: 0; }
.sw-ums-channel:hover { transform: none; box-shadow: none; }
/* 얼룩 배경 */
.sw-ums-channel::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 50%;
  width: 150px;
  height: 140px;
  transform: translateX(-50%) rotate(-8deg);
  border-radius: 58% 42% 55% 45% / 50% 58% 42% 50%;
  background: radial-gradient(circle at 40% 40%, var(--bg), color-mix(in srgb, var(--bg) 60%, transparent) 70%);
  transition: transform .5s ease;
}
/* 아이콘 */
.sw-ums-channel::after {
  content: "";
  position: absolute;
  top: 38px;
  left: 50%;
  width: 78px;
  height: 78px;
  transform: translateX(-50%);
  background: var(--c);
  -webkit-mask: var(--i) center / contain no-repeat;
  mask: var(--i) center / contain no-repeat;
}
.sw-ums-channel:hover::before { transform: translateX(-50%) rotate(8deg) scale(1.06); }
.sw-ums-channel h3 { color: var(--sw-ink); font-size: calc(1.35rem + 1pt); font-weight: 900; letter-spacing: -.02em; }
.sw-ums-channel p:not(.sw-ums-channel-go) { margin-top: 10px; color: #4b5563; font-size: calc(1rem + 1pt); line-height: 1.65; }
.sw-ums-channel .sw-ums-channel-go { margin-top: 22px !important; }
.sw-ums-channel-go a { display: inline-grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: var(--bg); color: var(--c); font-size: 1.2rem; font-weight: 700; text-decoration: none; transition: background .2s ease, color .2s ease, transform .2s ease; }
.sw-ums-channel-go a:hover { background: var(--c); color: #fff; transform: translateX(3px); }
.sw-ums-channel.is-sms { --c: #2f6bff; --bg: #e3edff; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/%3E%3Cpath d='M8 12h.01M12 12h.01M16 12h.01' stroke-width='2.6'/%3E%3C/svg%3E"); }
.sw-ums-channel.is-rcs { --c: #7a4dff; --bg: #efe7ff; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='11' height='19' x='3' y='2.5' rx='2'/%3E%3Cpath d='M8 18.5h1'/%3E%3Crect width='9' height='7' x='12' y='7' rx='1.5' fill='white'/%3E%3Cpath d='M14.5 10.5h.01M16.5 10.5h.01M18.5 10.5h.01' stroke-width='2.2'/%3E%3C/svg%3E"); }
.sw-ums-channel.is-kakao { --c: #e0b100; --bg: #fff5c9; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3C6.5 3 2 6.6 2 11c0 2.8 1.8 5.2 4.6 6.6L5.8 21l4-2.6c.7.1 1.4.2 2.2.2 5.5 0 10-3.6 10-8S17.5 3 12 3z' fill='black'/%3E%3C/svg%3E"); }
.sw-ums-channel.is-push { --c: #0e9fb3; --bg: #dff6f8; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='12' height='20' x='6' y='2' rx='2'/%3E%3Cpath d='M12 18h.01' stroke-width='2.4'/%3E%3Cpath d='M9.5 12.5h5l-.8-1.2V9.5a1.7 1.7 0 0 0-3.4 0v1.8z' fill='black'/%3E%3Cpath d='M11.3 14h1.4'/%3E%3C/svg%3E"); }
.sw-ums-channel.is-mail { --c: #13806e; --bg: #dff3ec; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E"); }
@media (max-width: 1100px) {
  .sw-ums-channel { border-left: 0; }
  .sw-ums-channels { row-gap: 32px; }
}

/* Insights 카드: 가운데 정렬로 상속되던 글을 왼쪽으로, 날짜(왼쪽)와 READ MORE(오른쪽)를 한 줄에 겹치지 않게. */
.sw-insight-card, .sw-insight-card > * { text-align: left !important; }
.sw-insight-card .sw-insight-date { margin-top: auto; padding-top: 20px; padding-bottom: 22px; }
.sw-insight-card .sw-insight-more { position: absolute; right: clamp(20px, 2.2vw, 28px); bottom: 22px; margin: 0 !important; padding: 0 !important; text-align: right !important; }

/* 연혁 시대 구분 알약: 그라데이션 + 빛, 번호는 동그란 배지, 빛줄기가 천천히 훑고 지나간다. */
.sw-tl2-era {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  overflow: hidden;
  padding: 10px 26px 10px 10px;
  border: 1px solid rgba(124, 208, 255, .35);
  background: linear-gradient(100deg, #0b214d, #1f4f9f 55%, #1a8fb8);
  box-shadow: 0 12px 30px rgba(16, 47, 103, .3), 0 0 0 6px rgba(71, 121, 201, .1), inset 0 1px 0 rgba(255, 255, 255, .18);
  font-size: calc(.95rem + 1pt);
  letter-spacing: -.01em;
}
.sw-tl2-era span {
  display: grid;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  margin: 0;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #5fd3ef, #20b8d1);
  box-shadow: 0 0 14px rgba(95, 211, 239, .7);
  color: #06224a;
  font-size: calc(.82rem + 1pt);
  font-weight: 900;
  letter-spacing: 0;
}
.sw-tl2-era::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -40%;
  width: 30%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .28), transparent);
  transform: skewX(-20deg);
  animation: sw-era-shine 5s ease-in-out infinite;
  pointer-events: none;
}
@keyframes sw-era-shine { 0%, 55% { left: -40%; } 100% { left: 130%; } }
@media (prefers-reduced-motion: reduce) { .sw-tl2-era::after { animation: none; display: none; } }

/* 회사 헤더의 '기술지원' 앞 헤드셋 아이콘 (제품 헤더는 집 아이콘) */
.sw-site-header:not(.sw-product-header) .sw-nav-support > .wp-block-navigation-item__content { display: inline-flex; align-items: center; gap: 6px; }
.sw-site-header:not(.sw-product-header) .sw-nav-support > .wp-block-navigation-item__content::before {
  content: "";
  flex: 0 0 auto;
  width: 1.1em;
  height: 1.1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* 홈 Solution: 5개 카드를 모두 같은 크기로, 둘째 줄 2개는 가운데 정렬 (6칸 격자에서 카드마다 2칸). */
.sw-sol-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.sw-sol-grid > .sw-sol-card { grid-column: span 2; }
.sw-sol-grid > .sw-sol-card:nth-child(4):nth-last-child(2) { grid-column: 2 / span 2; }
.sw-sol-grid > .sw-sol-card:nth-child(5):last-child { grid-column: 4 / span 2; }
/* 작은 카드도 큰 카드와 같은 모양: 위 이름 · 설명, 아래 사진 */
.sw-sol-card.is-sm { display: flex; flex-direction: column; padding: 0; }
.sw-sol-card.is-sm > .sw-sol-name, .sw-sol-card.is-sm > .sw-sol-tag { padding-inline: 30px 90px; }
.sw-sol-card.is-sm > .sw-sol-name { padding-top: 30px; }
.sw-sol-card.is-sm > .sw-sol-tag { padding-bottom: 26px; }
.sw-sol-card.is-sm > .sw-sol-tag br { display: none; }
.sw-sol-card.is-sm .sw-sol-shot { order: 10; margin-top: auto !important; aspect-ratio: auto; border-radius: 0; }
.sw-sol-card.is-sm .sw-sol-shot img { height: 210px; }
.sw-sol-card.is-sm .sw-sol-go a::after { top: 32px; transform: none; }
@media (max-width: 1024px) {
  .sw-sol-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sw-sol-grid > .sw-sol-card, .sw-sol-grid > .sw-sol-card:nth-child(4):nth-last-child(2), .sw-sol-grid > .sw-sol-card:nth-child(5):last-child { grid-column: auto; }
  .sw-sol-grid > .sw-sol-card:nth-child(5):last-child { grid-column: 1 / -1; justify-self: center; width: calc(50% - 11px); }
}
@media (max-width: 640px) {
  .sw-sol-grid { grid-template-columns: 1fr; }
  .sw-sol-grid > .sw-sol-card:nth-child(5):last-child { width: auto; justify-self: stretch; }
}
.sw-sol-card.is-sm:has(.sw-sol-shot) .sw-sol-name, .sw-sol-card.is-sm:has(.sw-sol-shot) .sw-sol-tag { align-self: stretch; }

/* 섹션 머리글: 제목 아래 소개 문장이 본문 폭(760px)에 갇혀 두 줄로 꺾이지 않게 넓은 폭을 쓴다. */
.sw-section-heading.is-layout-constrained > * { max-width: var(--wp--style--global--wide-size, 1200px); }
/* 섹션 제목 굵기 통일 */
.sw-section-heading h2, .sw-sky-title, .sw-onepage-title, .sw-pf-head h2, .sw-ums-head h2, .sw-sol-intro .sw-sol-title, .sw-people .sw-people-title, .sw-news-col-title { font-weight: 800 !important; }

/* 홈 AI 챗봇 섹션: 실제 챗봇 창 모양 + 창 밖 왼쪽 아래에 선 CLOUVI 다람쥐.
   다람쥐 PNG 는 흰 배경이 있어 multiply 로 배경에 녹인다. */
.sw-cv-grid { gap: clamp(28px, 5vw, 72px); }
.sw-cv-grid .sw-section-heading > * { margin-block-start: 0; }
.sw-cv-grid .sw-section-heading > * + * { margin-top: 18px; }
.sw-cvw { position: relative; width: min(100%, 520px); margin: 30px auto 20px; padding: 0 0 0 150px; }
/* 창: 은은하게 빛나는 테두리 */
.sw-cvw-window { position: relative; z-index: 1; overflow: hidden; border-radius: 26px; background: #fff; box-shadow: 0 0 0 1px rgba(47, 107, 255, .18), 0 0 0 6px rgba(47, 107, 255, .06), 0 30px 70px rgba(16, 47, 103, .2); }
.sw-cvw-head { display: flex; align-items: center; gap: 10px; padding: 14px 16px; background: linear-gradient(100deg, #1f4f9f, #2f6bff 70%, #3fa0ff); color: #fff; }
.sw-cvw-avatar { position: relative; display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50%; background: #fff; box-shadow: 0 0 0 3px rgba(255, 255, 255, .35); }
.sw-cvw-avatar img { width: 30px; height: 30px; object-fit: contain; }
.sw-cvw-avatar::after { content: ""; position: absolute; right: -1px; bottom: -1px; width: 11px; height: 11px; border: 2px solid #2f6bff; border-radius: 50%; background: #5fe3a1; }
.sw-cvw-title { display: grid; flex: 1; line-height: 1.25; }
.sw-cvw-title b { font-size: calc(.95rem + 1pt); letter-spacing: .06em; }
.sw-cvw-title small { color: rgba(255, 255, 255, .82); font-size: calc(.72rem + 1pt); }
.sw-cvw-ctrl { display: flex; gap: 6px; }
.sw-cvw-ctrl i { width: 26px; height: 26px; border-radius: 50%; background: rgba(255, 255, 255, .16) no-repeat center / 12px; }
.sw-cvw-ctrl i:first-child { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E"); }
.sw-cvw-ctrl i:last-child { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E"); }
/* 대화 */
.sw-cvw-body { display: flex; flex-direction: column; gap: 10px; padding: 18px 16px 14px; background: linear-gradient(180deg, #f4f8ff, #fff); }
.sw-cvw-body > span { opacity: 0; transform: translateY(10px); animation: sw-cv-pop .55s ease forwards; }
.sw-cvw-q { align-self: flex-end; max-width: 80%; padding: 10px 15px; border-radius: 18px 18px 4px 18px; background: linear-gradient(135deg, #1f4f9f, #2f6bff); box-shadow: 0 8px 18px rgba(47, 107, 255, .25); color: #fff; font-size: calc(.88rem + 1pt); animation-delay: .3s !important; }
.sw-cvw-a { align-self: flex-start; max-width: 85%; padding: 10px 15px; border-radius: 18px 18px 18px 4px; background: #eaf1fd; color: var(--sw-ink); font-size: calc(.88rem + 1pt); animation-delay: 1.1s !important; }
.sw-cvw-tags { display: flex; gap: 6px; animation-delay: 1.6s !important; }
.sw-cvw-tags em { padding: 3px 10px; border: 1px solid #cfe0fb; border-radius: 99px; background: #fff; color: #2f6bff; font-size: calc(.68rem + 1pt); font-style: normal; font-weight: 700; }
.sw-cvw-items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; animation-delay: 2.1s !important; }
.sw-cvw-item { display: grid; gap: 2px; padding: 7px 7px 9px; border: 1px solid #e3eaf4; border-radius: 14px; background: #fff; box-shadow: 0 6px 14px rgba(16, 47, 103, .08); }
.sw-cvw-item b { overflow: hidden; margin-top: 6px; color: var(--sw-ink); font-size: calc(.7rem + 1pt); text-overflow: ellipsis; white-space: nowrap; }
.sw-cvw-item small { color: var(--sw-muted); font-size: calc(.6rem + 1pt); }
.sw-cvw-thumb { --t1: #dbe8fb; --t2: #eef4fe; --s: #2f6bff; position: relative; display: block; aspect-ratio: 1; border-radius: 10px; background: radial-gradient(circle at 50% 35%, var(--t2), var(--t1)); }
/* 퀼팅 패딩 아이콘 */
.sw-cvw-thumb::after { content: ""; position: absolute; inset: 16% 18% 12%; background: var(--s); -webkit-mask: var(--puffer) center / contain no-repeat; mask: var(--puffer) center / contain no-repeat; }
.sw-cvw { --puffer: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 44'%3E%3Cpath fill='black' d='M15 2h10l3 3 7 3 3 6 1 12-5 1v15H6V27l-5-1 1-12 3-6 7-3z'/%3E%3Cg fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M9 16h22M8 23h24M7 30h26M7 37h26'/%3E%3Cpath d='M20 6v36'/%3E%3C/g%3E%3C/svg%3E"); }
.sw-cvw-item.is-2 .sw-cvw-thumb { --t1: #cfefe4; --t2: #e9f8f3; --s: #13806e; }
.sw-cvw-item.is-3 .sw-cvw-thumb { --t1: #e2d8ff; --t2: #f3efff; --s: #6a3df0; }
.sw-cvw-heart { position: absolute; top: 5px; right: 5px; z-index: 1; width: 18px; height: 18px; border-radius: 50%; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ff5a7a'%3E%3Cpath d='M12 21s-7.5-4.6-9.6-9.2C.8 8.3 3 4.5 6.6 4.5c2 0 3.6 1.1 4.4 2.6.8-1.5 2.4-2.6 4.4-2.6 3.6 0 5.8 3.8 4.2 7.3C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E") center / 11px no-repeat; box-shadow: 0 2px 6px rgba(0, 0, 0, .12); }
.sw-cvw-best { position: absolute; top: 5px; left: 5px; z-index: 1; padding: 1px 6px; border-radius: 6px; background: #ff5a7a; color: #fff; font-size: 9px; font-style: normal; font-weight: 800; letter-spacing: .04em; }
/* 입력 중 점 */
.sw-cvw-typing { display: inline-flex; align-self: flex-start; gap: 4px; padding: 10px 14px; border-radius: 18px 18px 18px 4px; background: #eaf1fd; animation-delay: 2.9s !important; }
.sw-cvw-typing i { width: 6px; height: 6px; border-radius: 50%; background: #7aa2e8; animation: sw-cvw-dot 1.2s ease-in-out infinite; }
.sw-cvw-typing i:nth-child(2) { animation-delay: .15s; }
.sw-cvw-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes sw-cvw-dot { 0%, 60%, 100% { opacity: .35; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }
.sw-cvw-input { display: flex; align-items: center; justify-content: space-between; margin: 0 14px 14px; padding: 8px 8px 8px 16px; border: 1px solid #e3eaf4; border-radius: 99px; background: #fff; color: #9aa7b8; font-size: calc(.82rem + 1pt); }
.sw-cvw-input i { width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(135deg, #1f4f9f, #2f6bff) no-repeat; box-shadow: 0 6px 14px rgba(47, 107, 255, .35); position: relative; }
.sw-cvw-input i::after { content: ""; position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 15px no-repeat; }
/* 떠 있는 배지 */
.sw-cvw-badge { position: absolute; z-index: 2; display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border: 1px solid #dbe6f5; border-radius: 99px; background: #fff; box-shadow: 0 10px 24px rgba(16, 47, 103, .14); color: var(--sw-ink); font-size: calc(.72rem + 1pt); font-weight: 800; animation: sw-cv-float 6s ease-in-out infinite; }
.sw-cvw-badge::before { content: ""; width: 8px; height: 8px; border-radius: 50%; }
.sw-cvw-badge.is-live { top: -16px; right: 18px; }
.sw-cvw-badge.is-live::before { background: #5fe3a1; box-shadow: 0 0 0 3px rgba(95, 227, 161, .25); }
.sw-cvw-badge.is-ai { top: 42%; left: 96px; animation-delay: -3s; }
.sw-cvw-badge.is-ai::before { background: #7a4dff; box-shadow: 0 0 0 3px rgba(122, 77, 255, .2); }
/* 다람쥐: 창 밖 왼쪽 아래에 선다 */
.sw-cvw-bot { position: absolute; z-index: 0; bottom: -10px; left: -10px; width: 200px; height: auto; mix-blend-mode: multiply; animation: sw-cv-float 5s ease-in-out infinite; }
@keyframes sw-cv-float { 50% { transform: translateY(-10px); } }
@keyframes sw-cv-pop { to { opacity: 1; transform: none; } }
@media (max-width: 781px) {
  .sw-cvw { padding-left: 0; padding-bottom: 150px; }
  .sw-cvw-bot { left: 50%; bottom: -20px; width: 170px; margin-left: -85px; }
  .sw-cvw-badge.is-ai { top: auto; bottom: 170px; left: 0; }
}
@media (prefers-reduced-motion: reduce) { .sw-cvw-bot, .sw-cvw-badge, .sw-cvw-typing i { animation: none; } .sw-cvw-body > span { animation: none; opacity: 1; transform: none; } }
/* 뉴스 머리 제목은 한 줄로: 본문 폭 제한을 풀고, 넓은 화면에서는 줄바꿈하지 않는다. */
.sw-news-hero .is-layout-constrained > * { max-width: var(--wp--style--global--wide-size, 1200px); }
@media (min-width: 1000px) { .sw-news-hero .sw-news-headline { white-space: nowrap; } }

/* 헤더를 화면 전체 폭으로: 로고는 왼쪽 끝, 버튼은 오른쪽 끝 */
.sw-site-header > .sw-header-inner.alignwide { max-width: none; padding-inline: clamp(20px, 3vw, 56px); }
/* 지구본 아이콘 크게 */
.sw-lang-switch { width: 46px; height: 46px; }
.sw-lang-switch::before { width: 28px; height: 28px; }

/* 뉴스 글 상세: 크고 색으로 강조한 제목, 작성자 · 날짜 줄, 더 큰 본문 */
.sw-post-head.is-layout-constrained > * { max-width: 1000px; }
.sw-post-head .sw-post-title {
  margin-top: 18px;
  font-size: calc(clamp(2rem, 3.6vw, 3.2rem) + 1pt);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: -.03em;
  background: linear-gradient(90deg, #0b214d, #1f4f9f 55%, #2f6bff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  word-break: keep-all;
}
.sw-post-meta { gap: 6px 14px; margin-top: 20px !important; color: var(--sw-muted); font-size: calc(.95rem + 1pt); }
.sw-post-meta > * { margin: 0 !important; }
.sw-post-meta .sw-post-author strong { color: var(--sw-ink); font-weight: 700; }
.sw-post-meta .sw-post-date { position: relative; padding-left: 14px; }
.sw-post-meta .sw-post-date::before { content: ""; position: absolute; top: 50%; left: 0; width: 3px; height: 3px; border-radius: 50%; background: currentColor; }
.sw-post-body { font-size: calc(19px + 1pt); line-height: 1.95; }
.sw-post-body .sw-lead { font-size: calc(1.3rem + 1pt); }
.sw-post-body .sw-lead strong { color: #1f4f9f; }
.sw-post-cover img:is([src*="/AI_"], [src*="/TMS_"], [src*="/slider_"]) { filter: brightness(1.45) saturate(1.1); }
@media (max-width: 781px) { .sw-post-body { font-size: calc(17px + 1pt); } }

/* UMS 사례 카드 맨 위 고객사 로고 칸 (로고 파일이 없는 곳은 이름을 로고처럼) */
.sw-ums-case .sw-ums-case-logo { display: grid; height: 72px; margin: 0 0 18px !important; padding: 12px 20px; place-items: center; border: 1px solid #e6ecf4; border-radius: 12px; background: #fff; }
.sw-ums-case .sw-ums-case-logo img { width: auto; max-width: 150px; height: auto; max-height: 44px; object-fit: contain; }
.sw-ums-case .sw-ums-case-logo.is-text { color: var(--sw-ink); font-size: calc(1.15rem + 1pt); font-weight: 900; letter-spacing: -.02em; }

/* UMS 채널: 화살표를 카드 맨 아래로 모아 수평 정렬 */
.sw-ums-channel { display: flex; flex-direction: column; align-items: center; }
.sw-ums-channel .sw-ums-channel-go { margin-top: auto !important; padding-top: 22px; }
/* RCS 아이콘: 말풍선이 꽉 찬 네모로 보이던 문제 (선만 그린다) */
.sw-ums-channel.is-rcs { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4.5V4a1.5 1.5 0 0 0-1.5-1.5h-5A1.5 1.5 0 0 0 3 4v16a1.5 1.5 0 0 0 1.5 1.5h5A1.5 1.5 0 0 0 11 20v-3'/%3E%3Cpath d='M6.5 18.5h1'/%3E%3Cpath d='M13 7h7a1.5 1.5 0 0 1 1.5 1.5v5A1.5 1.5 0 0 1 20 15h-4l-3 2.5V15a1.5 1.5 0 0 1-1.5-1.5v-5A1.5 1.5 0 0 1 13 7z'/%3E%3Cpath d='M14.8 11h.01M16.5 11h.01M18.2 11h.01' stroke-width='2.2'/%3E%3C/svg%3E"); }

/* UMS 인증 · 등록 배지 */
.sw-ums-certs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sw-ums-certs > * { margin-block: 0 !important; }
.sw-ums-cert { position: relative; height: 100%; box-sizing: border-box; padding: 24px 24px 24px 84px; border: 1px solid #dfe7f2; border-radius: 18px; background: #fff; }
.sw-ums-cert::before { content: ""; position: absolute; top: 22px; left: 22px; width: 44px; height: 44px; border-radius: 12px; background: #e8f0ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.7 9a1 1 0 0 1-.6 0C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.2-2.7a1.2 1.2 0 0 1 1.6 0C14.5 3.8 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / 24px no-repeat; }
.sw-ums-cert > * { margin: 0; }
.sw-ums-cert h3 { color: var(--sw-ink); font-size: calc(1.02rem + 1pt); font-weight: 800; line-height: 1.45; word-break: keep-all; }
.sw-ums-cert p { margin-top: 6px; color: var(--sw-muted); font-size: calc(.88rem + 1pt); }

/* UMS FAQ 펼침 목록 */
.sw-ums-faq { max-width: 920px; margin-inline: auto !important; }
.sw-ums-faq > * { margin-block: 0 0 12px !important; }
.sw-ums-q { overflow: hidden; border: 1px solid #dfe7f2; border-radius: 16px; background: #fff; transition: border-color .2s ease, box-shadow .2s ease; }
.sw-ums-q[open] { border-color: #b9cde8; box-shadow: 0 14px 32px rgba(16, 47, 103, .08); }
.sw-ums-q > summary { position: relative; padding: 22px 64px 22px 26px; color: var(--sw-ink); font-size: calc(1.05rem + 1pt); font-weight: 800; list-style: none; cursor: pointer; }
.sw-ums-q > summary::-webkit-details-marker { display: none; }
.sw-ums-q > summary::before { content: "Q"; margin-right: 12px; color: #2f6bff; font-weight: 900; }
.sw-ums-q > summary::after { content: ""; position: absolute; top: 50%; right: 24px; width: 12px; height: 12px; border-right: 2px solid var(--sw-muted); border-bottom: 2px solid var(--sw-muted); transform: translateY(-70%) rotate(45deg); transition: transform .25s ease; }
.sw-ums-q[open] > summary::after { transform: translateY(-30%) rotate(-135deg); }
.sw-ums-q > p { margin: 0; padding: 0 26px 24px 56px; color: #3f4b5c; font-size: calc(.98rem + 1pt); line-height: 1.8; word-break: keep-all; }
@media (max-width: 900px) { .sw-ums-certs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .sw-ums-certs { grid-template-columns: 1fr; } }

/* 섹션 머리글 묶음 밖에 놓인 섹션 제목(홈 Contact Us 등)도 같은 크기 · 색 · 굵기로 */
.sw-section > .sw-card-grid > .wp-block-column > h2.wp-block-heading:first-child { color: var(--sw-navy); font-size: calc(clamp(1.95rem, 3.2vw, 2.7rem) + 1pt); font-weight: 800; letter-spacing: -.025em; }

/* 핵심 수치 등장: JS 가 준비되면(is-armed) 숨겼다가 화면에 들어오면(is-in) 차례로 떠오르고 빛이 한 번 훑는다. */
.sw-ums-stats.is-armed .sw-ums-stat { opacity: 0; transform: translateY(18px); }
.sw-ums-stats.is-in .sw-ums-stat { position: relative; overflow: hidden; opacity: 1; transform: none; transition: opacity .6s ease, transform .6s ease; }
.sw-ums-stats.is-in .sw-ums-stat:nth-child(2) { transition-delay: .15s; }
.sw-ums-stats.is-in .sw-ums-stat:nth-child(3) { transition-delay: .3s; }
.sw-ums-stats.is-in .sw-ums-stat:nth-child(4) { transition-delay: .45s; }
.sw-ums-stats.is-in .sw-ums-stat::after { content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .18), transparent); transform: skewX(-18deg); animation: sw-stat-shine 1.4s ease .6s 1 forwards; pointer-events: none; }
.sw-ums-stats.is-in .sw-ums-stat:hover { border-color: rgba(124, 208, 255, .5); background: rgba(255, 255, 255, .1); }
.sw-ums-stat-num { font-variant-numeric: tabular-nums; }
@keyframes sw-stat-shine { to { left: 130%; } }
@media (prefers-reduced-motion: reduce) { .sw-ums-stats.is-armed .sw-ums-stat { opacity: 1; transform: none; } .sw-ums-stats.is-in .sw-ums-stat::after { display: none; } }

/* 사례 로고: 어떤 스타일이 와도 이미지 전체가 보이게 (언더아머 로고 양옆 잘림) */
.sw-ums-case .sw-ums-case-logo { overflow: visible; }
.sw-ums-case .sw-ums-case-logo img { width: 100% !important; max-width: 150px !important; height: 44px !important; max-height: none !important; object-fit: contain !important; object-position: center !important; }
/* 인증 배지 5개: 3개 + 가운데 2개 */
.sw-ums-certs { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.sw-ums-certs > .sw-ums-cert { grid-column: span 2; }
.sw-ums-certs > .sw-ums-cert:nth-child(4):nth-last-child(2) { grid-column: 2 / span 2; }
.sw-ums-certs > .sw-ums-cert:nth-child(5):last-child { grid-column: 4 / span 2; }
@media (max-width: 900px) { .sw-ums-certs { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sw-ums-certs > .sw-ums-cert, .sw-ums-certs > .sw-ums-cert:nth-child(4):nth-last-child(2), .sw-ums-certs > .sw-ums-cert:nth-child(5):last-child { grid-column: auto; } }
@media (max-width: 560px) { .sw-ums-certs { grid-template-columns: 1fr; } }

/* UMS '선택하는 이유' 카드: 색 타일 아이콘, 큰 워터마크 번호, 윗면 색 띠, 호버 시 빛 */
.sw-ums-why .sw-ums-feature {
  --c: #2f6bff;
  --t: #e8f0ff;
  --i: none;
  position: relative;
  overflow: hidden;
  padding: 34px 28px 30px;
  border: 1px solid #e3eaf4;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(16, 47, 103, .06);
  counter-increment: sw-why;
}
.sw-ums-why { counter-reset: sw-why; }
.sw-ums-why .sw-ums-feature::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 4px; background: linear-gradient(90deg, var(--c), color-mix(in srgb, var(--c) 40%, #20b8d1)); }
.sw-ums-why .sw-ums-feature::after { content: "0" counter(sw-why); position: absolute; top: 14px; right: 18px; color: color-mix(in srgb, var(--c) 10%, #fff); font-size: 4.6rem; font-weight: 900; line-height: 1; letter-spacing: -.04em; }
.sw-ums-why .sw-ums-feature > * { position: relative; z-index: 1; }
.sw-ums-why .sw-ums-feature .sw-ums-feature-no { display: flex; align-items: center; gap: 0; color: var(--c) !important; font-size: calc(.72rem + 1pt); }
.sw-ums-why .sw-ums-feature .sw-ums-feature-no::before { content: ""; display: block; width: 54px; height: 54px; margin: 0 0 18px; border-radius: 16px; background: var(--t) no-repeat center / 28px; background-image: var(--i); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 18%, transparent); transition: transform .35s ease; }
.sw-ums-why .sw-ums-feature .sw-ums-feature-no { flex-direction: column; align-items: flex-start; }
.sw-ums-why .sw-ums-feature h3 { margin-top: 8px; font-size: calc(1.22rem + 1pt); font-weight: 900; }
.sw-ums-why .sw-ums-feature > p:not(.sw-ums-feature-no) { margin-top: 12px; color: #4b5563; font-size: calc(.95rem + 1pt); line-height: 1.75; }
.sw-ums-why .sw-ums-feature { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.sw-ums-why .sw-ums-feature:hover { transform: translateY(-6px); border-color: color-mix(in srgb, var(--c) 35%, #fff); box-shadow: 0 24px 50px color-mix(in srgb, var(--c) 22%, transparent); }
.sw-ums-why .sw-ums-feature:hover .sw-ums-feature-no::before { transform: rotate(-6deg) scale(1.06); }
.sw-ums-why .sw-ums-feature:nth-child(1) { --c: #2f6bff; --t: #e8f0ff; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22v-5M9 8V2M15 8V2M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8z'/%3E%3C/svg%3E"); }
.sw-ums-why .sw-ums-feature:nth-child(2) { --c: #7a4dff; --t: #efe7ff; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a4dff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='19' r='3'/%3E%3Cpath d='M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15'/%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3C/svg%3E"); }
.sw-ums-why .sw-ums-feature:nth-child(3) { --c: #0e9fb3; --t: #dff6f8; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e9fb3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20M2 12h20'/%3E%3C/svg%3E"); }
.sw-ums-why .sw-ums-feature:nth-child(4) { --c: #13806e; --t: #dff3ec; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2313806e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.7 9a1 1 0 0 1-.6 0C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.2-2.7a1.2 1.2 0 0 1 1.6 0C14.5 3.8 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }

/* 홈 Business 카드: 빈 아이콘 칸 채우기 + 오른쪽에 옅게 비치는 사진 배경 (링크 주소로 카드 구분) */
.sw-link-card { --photo: none; --i: none; --c: #2f6bff; position: relative; overflow: hidden; isolation: isolate; }
.sw-link-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, #fff 38%, rgba(255, 255, 255, .82) 62%, rgba(255, 255, 255, .45)), var(--photo) right center / cover no-repeat; transition: transform .6s ease; }
.sw-link-card:hover::before { transform: scale(1.04); }
.sw-link-card .sw-icon-badge { background: color-mix(in srgb, var(--c) 12%, #fff) var(--i) center / 26px no-repeat; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 20%, transparent); }
.sw-link-card:has(a[href*="/business/commerce/"]) { --c: #2f6bff; --photo: url("/wp-content/uploads/2026/09/slider_1.png"); --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4ZM3 6h18M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E"); }
.sw-link-card:has(a[href*="/business/si-ito/"]) { --c: #1f4f9f; --photo: url("/wp-content/uploads/2026/09/slider_6.png"); --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f4f9f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='8' x='2' y='2' rx='2'/%3E%3Crect width='20' height='8' x='2' y='14' rx='2'/%3E%3Cpath d='M6 6h.01M6 18h.01'/%3E%3C/svg%3E"); }
.sw-link-card:has(a[href*="/business/ai-business/"]) { --c: #6a3df0; --photo: url("/wp-content/uploads/2026/09/AI_4.png"); --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a3df0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.9 15.5A2 2 0 0 0 8.5 14.1l-6.1-1.6a.5.5 0 0 1 0-1l6.1-1.6a2 2 0 0 0 1.4-1.4l1.6-6.1a.5.5 0 0 1 1 0l1.6 6.1a2 2 0 0 0 1.4 1.4l6.1 1.6a.5.5 0 0 1 0 1l-6.1 1.6a2 2 0 0 0-1.4 1.4l-1.6 6.1a.5.5 0 0 1-1 0zM20 3v4M22 5h-4'/%3E%3C/svg%3E"); }
.sw-link-card:has(a[href*="/business/mro/"]) { --c: #13806e; --photo: url("/wp-content/uploads/2026/09/AI_1.png"); --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2313806e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.7l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.7l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16ZM3.3 7 12 12l8.7-5M12 22V12'/%3E%3C/svg%3E"); }
.sw-link-card:has(a[href*="/business/messaging/"]) { --c: #0e9fb3; --photo: url("/wp-content/uploads/2026/09/TMS_3.png"); --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e9fb3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2zM8 9h8M8 13h5'/%3E%3C/svg%3E"); }
.sw-link-card .sw-card-number { color: var(--c); }

/* 기술지원은 한 단계 작게 */
.sw-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .sw-nav-support > .wp-block-navigation-item__content { font-size: .8em !important; }

/* 뉴스 글 대표 사진: 원본(약 660px)을 화면 가득 늘리지 않고, 비율 그대로 가운데에 둥글게 */
.sw-post .sw-post-cover { max-width: min(900px, calc(100% - 48px)) !important; margin-inline: auto !important; overflow: hidden; border-radius: 22px; box-shadow: 0 24px 60px rgba(16, 47, 103, .16); }
.sw-post .sw-post-cover img { width: 100%; height: auto !important; aspect-ratio: auto !important; object-fit: contain !important; }

/* 링크 카드: '자세히 보기'를 카드 맨 아래로 모아 수평 정렬 */
.wp-block-column > .sw-link-card { height: 100%; box-sizing: border-box; }
.sw-link-card { display: flex; flex-direction: column; }
.sw-link-card > p:last-child:has(a) { margin-top: auto !important; padding-top: 18px; }
/* 제품/솔루션 카드도 아이콘 · 사진 배경 */
.sw-link-card:has(a[href="/scos/"]) { --c: #12806e; --photo: url("/wp-content/uploads/2026/09/slider_1.png"); --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312806e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4ZM3 6h18M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E"); }
.sw-link-card:has(a[href="/ums/"]) { --c: #2f6bff; --photo: url("/wp-content/uploads/2026/09/TMS_3.png"); --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2zM8 9h8M8 13h5'/%3E%3C/svg%3E"); }
.sw-link-card:has(a[href="/ai-platform/"]) { --c: #6a3df0; --photo: url("/wp-content/uploads/2026/09/AI_4.png"); --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a3df0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.9 15.5A2 2 0 0 0 8.5 14.1l-6.1-1.6a.5.5 0 0 1 0-1l6.1-1.6a2 2 0 0 0 1.4-1.4l1.6-6.1a.5.5 0 0 1 1 0l1.6 6.1a2 2 0 0 0 1.4 1.4l6.1 1.6a.5.5 0 0 1 0 1l-6.1 1.6a2 2 0 0 0-1.4 1.4l-1.6 6.1a.5.5 0 0 1-1 0zM20 3v4M22 5h-4'/%3E%3C/svg%3E"); }

/* 제품/솔루션 'Microservices 8모듈' 구성도: 가운데 SCOS Core 막대, 위아래 4개씩 모듈 타일을 선으로 잇는다. */
.sw-mods { margin-top: 18px; }
.sw-mods > * { margin-block: 0 !important; }
.sw-mods-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.sw-mods-row > * { margin-block: 0 !important; }
.sw-mods-bus { position: relative; margin: 26px 0 !important; padding: 12px; border-radius: 99px; background: linear-gradient(90deg, #0b214d, #1f4f9f 50%, #0b214d); box-shadow: 0 10px 24px rgba(16, 47, 103, .25), 0 0 0 6px rgba(47, 107, 255, .08); color: #fff; font-size: calc(1rem + 1pt); font-weight: 900; letter-spacing: .12em; text-align: center; }
.sw-mod { --c: #2f6bff; --i: none; position: relative; padding: 20px 14px 16px; border: 1px solid #dfe7f2; border-radius: 16px; background: #fff; text-align: center; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.sw-mod > * { margin: 0 !important; }
.sw-mod::before { content: ""; display: block; width: 46px; height: 46px; margin: 0 auto 10px; border-radius: 14px; background: color-mix(in srgb, var(--c) 12%, #fff) var(--i) center / 24px no-repeat; }
/* 모듈과 가운데 막대를 잇는 선 */
.sw-mod::after { content: ""; position: absolute; left: 50%; width: 2px; height: 27px; background: linear-gradient(var(--c), color-mix(in srgb, var(--c) 30%, transparent)); transform: translateX(-50%); transition: box-shadow .25s ease; }
.sw-mods-row.is-top .sw-mod::after { top: 100%; }
.sw-mods-row.is-bottom .sw-mod::after { bottom: 100%; background: linear-gradient(color-mix(in srgb, var(--c) 30%, transparent), var(--c)); }
.sw-mod:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--c) 40%, #fff); box-shadow: 0 16px 32px color-mix(in srgb, var(--c) 18%, transparent); }
.sw-mod:hover::after { box-shadow: 0 0 10px var(--c); }
.sw-mod .sw-mod-name { color: var(--sw-ink); font-size: calc(1rem + 1pt); font-weight: 800; word-break: keep-all; }
.sw-mod .sw-mod-en { margin-top: 2px !important; color: var(--sw-muted); font-size: calc(.76rem + 1pt); }
.sw-mod.is-1 { --c: #2f6bff; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.7l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.7l7 4a2 2 0 0 0 2 0l7-4a2 2 0 0 0 1-1.7ZM3.3 7 12 12l8.7-5M12 22V12'/%3E%3C/svg%3E"); }
.sw-mod.is-2 { --c: #7a4dff; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a4dff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9 4.5 4h15L21 9M3 9h18v2a3 3 0 0 1-6 0 3 3 0 0 1-6 0 3 3 0 0 1-6 0zM5 13v7h14v-7M10 20v-4h4v4'/%3E%3C/svg%3E"); }
.sw-mod.is-3 { --c: #0e9fb3; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e9fb3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2 2h3l2.7 12.4a2 2 0 0 0 2 1.6h8.8a2 2 0 0 0 2-1.5L22 7H6'/%3E%3C/svg%3E"); }
.sw-mod.is-4 { --c: #ff5a7a; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff5a7a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='5' x='3' y='8' rx='1'/%3E%3Cpath d='M12 8v13M19 13v7a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-7M7.5 8a2.5 2.5 0 0 1 0-5C10 3 12 8 12 8s2-5 4.5-5a2.5 2.5 0 0 1 0 5'/%3E%3C/svg%3E"); }
.sw-mod.is-5 { --c: #c29a00; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c29a00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M15 9.5c-.5-1-1.6-1.5-3-1.5-1.7 0-3 .9-3 2s1.3 1.6 3 2 3 .9 3 2-1.3 2-3 2c-1.4 0-2.5-.5-3-1.5M12 6v2M12 16v2'/%3E%3C/svg%3E"); }
.sw-mod.is-6 { --c: #13806e; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2313806e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2M15 18H9M19 18h2a1 1 0 0 0 1-1v-3.7a1 1 0 0 0-.2-.6l-3.5-4.3a1 1 0 0 0-.8-.4H14'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3C/svg%3E"); }
.sw-mod.is-7 { --c: #1f4f9f; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f4f9f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E"); }
.sw-mod.is-8 { --c: #e0762c; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e0762c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); }
@media (max-width: 781px) {
  .sw-mods-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sw-mod::after { display: none; }
  .sw-mods-bus { margin: 14px 0 !important; }
}


/* 제품/솔루션 분류별 목록: 파란 분류 제목, 제품명 + 오른쪽 링크 화살표, 가는 구분선, 한 줄 설명. 항목 전체가 링크. */
.sw-catalog-sec { padding-block: clamp(56px, 7vw, 96px); background: linear-gradient(180deg, #f7f9fd, #fff); }
.sw-catalog { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px clamp(24px, 4vw, 56px); }
.sw-catalog > *, .sw-catalog-col > *, .sw-catalog-item > * { margin-block: 0 !important; }
.sw-catalog-col { display: flex; flex-direction: column; gap: 10px; }
.sw-catalog-title { margin-bottom: 14px !important; color: #2f6bff; font-size: calc(1.08rem + 1pt); font-weight: 900; }
.sw-catalog-item { position: relative; padding: 18px 16px 20px; border-radius: 16px; transition: background .25s ease, box-shadow .25s ease, transform .25s ease; }
.sw-catalog-item:hover { background: #fff; box-shadow: 0 16px 36px rgba(16, 47, 103, .1); transform: translateY(-3px); }
.sw-catalog-name { position: relative; padding: 0 30px 14px 0; border-bottom: 1px solid #dfe6f0; }
.sw-catalog-name a { color: var(--sw-ink); font-size: calc(1.2rem + 1pt); font-weight: 800; letter-spacing: -.01em; text-decoration: none; }
.sw-catalog-name a::before { content: ""; position: absolute; inset: -18px -16px -80px; }
.sw-catalog-name::after { content: ""; position: absolute; top: 3px; right: 0; width: 18px; height: 18px; background: #b3bfcf; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E") center / contain no-repeat; transition: background .2s ease; }
.sw-catalog-item:hover .sw-catalog-name::after { background: #2f6bff; }
.sw-catalog-item:hover .sw-catalog-name a { color: #2f6bff; }
.sw-catalog-desc { margin-top: 14px !important; color: var(--sw-muted); font-size: calc(.93rem + 1pt); line-height: 1.7; word-break: keep-all; }
@media (max-width: 1024px) { .sw-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .sw-catalog { grid-template-columns: 1fr; } .sw-catalog-desc br { display: none; } }


/* 클로비 제품 페이지 */
.sw-clouvi-hero .sw-clouvi-note { margin-top: 18px !important; color: rgba(255, 255, 255, .6); font-size: calc(.82rem + 1pt); }
.sw-clouvi-hero .sw-cvw { margin: 10px auto; }
.sw-clouvi-hero .sw-cvw-bot { mix-blend-mode: normal; filter: drop-shadow(0 20px 30px rgba(0, 0, 0, .35)); border-radius: 50%; }
.sw-clouvi-hero .sw-cvw-badge.is-ai { left: 110px; }
.sw-clouvi-cases { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.sw-clouvi-cases > * { margin-block: 0 !important; }
.sw-clouvi-case { height: 100%; box-sizing: border-box; padding: 26px 24px; border: 1px solid #dfe7f2; border-radius: 20px; background: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.sw-clouvi-case:hover { transform: translateY(-5px); box-shadow: 0 20px 44px rgba(16, 47, 103, .12); }
.sw-clouvi-case > * { margin: 0 !important; }
.sw-clouvi-case .sw-ums-feature-no { color: #2f6bff; font-size: calc(.76rem + 1pt); font-weight: 800; letter-spacing: .08em; }
.sw-clouvi-case .sw-clouvi-say { position: relative; margin-top: 14px !important; padding: 12px 16px; border-radius: 16px 16px 16px 4px; background: #eaf1fd; color: var(--sw-ink); font-size: calc(.95rem + 1pt); font-weight: 700; word-break: keep-all; }
.sw-clouvi-case > p:last-child { margin-top: 14px !important; color: var(--sw-muted); font-size: calc(.92rem + 1pt); line-height: 1.7; word-break: keep-all; }
.sw-clouvi-connect { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sw-clouvi-link { margin-top: 12px !important; }
.sw-clouvi-link a { color: #2f6bff; font-weight: 700; text-decoration: none; }
.page-template-page-product-clouvi .sw-ums-hero { background: radial-gradient(45% 60% at 80% 35%, rgba(79, 220, 197, .35), transparent 70%), radial-gradient(35% 50% at 10% 90%, rgba(47, 107, 255, .35), transparent 70%), linear-gradient(160deg, #061a3a, #0b2d6b 60%, #0f3d8a); }
.page-template-page-product-clouvi .sw-product-brand strong { background-image: linear-gradient(90deg, #1f4e8c, #4a90e2 55%, #1b8f7d); }
@media (max-width: 1024px) { .sw-clouvi-cases { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sw-clouvi-connect { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .sw-clouvi-cases { grid-template-columns: 1fr; } }

/* 섹션 제목 통일: 한 페이지형 제목(조직도 · 오시는길 등)과 '함께하는 고객사'도 위 섹션 제목과 같은 남색 · 크기 · 굵기 */
.sw-onepage-title,
.sw-section:not(.sw-clients) .sw-section-heading > h3.wp-block-heading:first-child {
  color: var(--sw-navy) !important;
  font-size: calc(clamp(1.95rem, 3.2vw, 2.7rem) + 1pt) !important;
  font-weight: 800 !important;
  letter-spacing: -.025em;
}

/* 섹션 안의 제목 · 문단 · 목록이 본문 폭(760px, 가운데)에 머물러 넓은 카드 · 표와 왼쪽 선이 어긋나던 문제.
   같은 넓은 폭을 쓰게 해 왼쪽 시작점을 맞춘다. 문서형 페이지(sw-legal)는 읽기 폭을 유지한다. */
.sw-section:not(.sw-legal).is-layout-constrained > :where(h2, h3, h4, p, ul, ol, .wp-block-group:not(.alignfull):not(.alignwide), .wp-block-columns:not(.alignfull):not(.alignwide), .wp-block-buttons) {
  max-width: var(--wp--style--global--wide-size, 1200px);
}

/* SI · ITO 보유 솔루션 자산 카드: 이름 · 부제, 한 줄 정의, 핵심 구성 태그, 사례 · 이력 */
.sw-assets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.sw-assets > * { margin-block: 0 !important; }
.sw-asset { --c: #2f6bff; position: relative; display: flex; flex-direction: column; box-sizing: border-box; height: 100%; padding: 28px 26px 24px; border: 1px solid #dfe7f2; border-top: 4px solid var(--c); border-radius: 18px; background: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.sw-asset:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(16, 47, 103, .1); }
.sw-asset > * { margin: 0 !important; }
.sw-asset.is-2 { --c: #7a4dff; } .sw-asset.is-3 { --c: #0e9fb3; } .sw-asset.is-4 { --c: #13806e; } .sw-asset.is-5 { --c: #e0762c; }
.sw-asset .sw-asset-name { color: var(--c); font-size: calc(1.4rem + 1pt); font-weight: 900; letter-spacing: -.02em; }
.sw-asset .sw-asset-sub { margin-top: 2px !important; color: var(--sw-ink); font-size: calc(.95rem + 1pt); font-weight: 700; }
.sw-asset .sw-asset-desc { margin-top: 14px !important; padding-top: 14px; border-top: 1px solid var(--sw-line); color: #4b5563; font-size: calc(.93rem + 1pt); line-height: 1.75; word-break: keep-all; }
.sw-asset .sw-asset-label { margin-top: 18px !important; color: var(--sw-muted); font-size: calc(.72rem + 1pt); font-weight: 800; letter-spacing: .12em; }
.sw-asset .sw-asset-tags { gap: 6px; margin-top: 8px !important; }
.sw-asset .sw-asset-tags p { margin: 0; padding: 5px 11px; border-radius: 99px; background: color-mix(in srgb, var(--c) 10%, #fff); color: color-mix(in srgb, var(--c) 80%, #000); font-size: calc(.8rem + 1pt); font-weight: 700; }
.sw-asset .sw-asset-more { margin-top: auto !important; padding-top: 16px; color: var(--sw-muted); font-size: calc(.84rem + 1pt); line-height: 1.6; word-break: keep-all; }
@media (max-width: 1024px) { .sw-assets { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .sw-assets { grid-template-columns: 1fr; } }


/* 회사소개 한 페이지형 섹션(대표인사말 · 연혁 · 인증 · 비전 · 조직도 · 오시는길) 머리글 통일:
   가운데 본문 폭에 갇히지 않고 넓은 폭 기준 왼쪽 정렬, 제목 · 부제 · 소개문 같은 글꼴 · 크기 · 색 */
.sw-onepage-head { margin-bottom: 44px !important; text-align: left !important; }
.sw-onepage-head.is-layout-constrained > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; text-align: left !important; }
.sw-onepage .sw-onepage-title { margin: 0 !important; font-family: inherit; line-height: 1.3; }
.sw-onepage .sw-onepage-sub,
.sw-onepage.is-layout-constrained > .sw-lead,
.sw-onepage .sw-cert-lead {
  margin-top: 14px !important;
  color: var(--sw-muted) !important;
  font-family: inherit;
  font-size: calc(1.05rem + 1pt) !important;
  font-weight: 400;
  line-height: 1.75;
  text-align: left !important;
  word-break: keep-all;
}
.sw-onepage.is-layout-constrained > .sw-lead { margin-top: -28px !important; margin-bottom: 36px !important; }
.sw-onepage .sw-vision-line { text-align: left !important; }

/* 링크 카드 배경: 흐릿한 회색 사진 대신 흰 바탕 + 카드 색 빛 번짐 + 오른쪽 아래 큰 아이콘 워터마크 */
.sw-link-card::before { background: radial-gradient(70% 60% at 100% 0%, color-mix(in srgb, var(--c) 16%, transparent), transparent 70%), radial-gradient(60% 50% at 0% 100%, color-mix(in srgb, var(--c) 7%, transparent), transparent 70%), #fff !important; transition: opacity .35s ease; }
.sw-link-card::after { content: ""; position: absolute; right: -26px; bottom: -30px; z-index: -1; width: 150px; height: 150px; background: var(--i) center / contain no-repeat; opacity: .09; transition: transform .45s ease, opacity .35s ease; pointer-events: none; }
.sw-link-card:hover::before { transform: none; }
.sw-link-card:hover::after { opacity: .16; transform: rotate(-10deg) scale(1.06); }
.sw-link-card:hover { border-color: color-mix(in srgb, var(--c) 35%, #fff); box-shadow: 0 20px 44px color-mix(in srgb, var(--c) 16%, transparent); }

/* 기술지원 · 스카이웨어 홈: 이전(.8em, 약 13px)의 2배 */
.sw-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .sw-nav-support > .wp-block-navigation-item__content { font-size: 1.6em !important; }

/* 비전 경영철학: 지그재그 세로 목록 + 겹친 육각형 아이콘(빛남) + 연결선 · 동그라미 점 + 순서대로 등장 */
.wp-block-columns.sw-value-grid:not(.sw-step-grid) { grid-template-columns: 1fr !important; gap: 18px !important; max-width: 820px; margin-inline: auto !important; }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column { --c: #3fa2f0; --c2: #9fd2fb; }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column:nth-child(2) { --c: #1266d6; --c2: #7fb2f5; margin-left: 90px !important; }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column:nth-child(3) { --c: #10c9b2; --c2: #93eee2; }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column:nth-child(4) { --c: #2f7bff; --c2: #9fbfff; margin-left: 90px !important; }
.sw-value-grid:not(.sw-step-grid) .sw-value-card { position: relative; display: grid; grid-template-columns: 150px 70px 1fr; grid-template-rows: auto auto auto; align-items: center; column-gap: 0; padding: 6px 0; border: 0 !important; background: none !important; box-shadow: none !important; transform: none !important; }
.sw-value-grid:not(.sw-step-grid) .sw-value-card > * { margin: 0 !important; }
/* 육각형: 색 육각형 안에 흰 육각형, 가운데 아이콘 */
.sw-value-grid:not(.sw-step-grid) .sw-value-icon { position: relative; z-index: 1; grid-column: 1; grid-row: 1 / span 3; display: grid; width: 150px; height: 130px; place-items: center; clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%); background: linear-gradient(135deg, var(--c2), var(--c)); color: var(--c); font-size: 34px; }
.sw-value-grid:not(.sw-step-grid) .sw-value-icon::before { content: ""; position: absolute; inset: 16% 14%; z-index: -1; clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%); background: linear-gradient(160deg, #fff, #eef5ff); }
.sw-value-grid:not(.sw-step-grid) .sw-value-icon svg { width: 36px; height: 36px; }
/* 빛: 육각형 뒤에서 은은하게 숨 쉬듯 */
.sw-value-grid:not(.sw-step-grid) .sw-value-card::before { content: ""; position: absolute; top: 50%; left: 75px; width: 170px; height: 150px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--c) 45%, transparent), transparent 65%); transform: translate(-50%, -50%); animation: sw-hex-glow 3.2s ease-in-out infinite; pointer-events: none; }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column:nth-child(2) .sw-value-card::before { animation-delay: -.8s; }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column:nth-child(3) .sw-value-card::before { animation-delay: -1.6s; }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column:nth-child(4) .sw-value-card::before { animation-delay: -2.4s; }
@keyframes sw-hex-glow { 0%, 100% { opacity: .55; transform: translate(-50%, -50%) scale(.92); } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.08); } }
/* 연결선과 동그라미 점 (번호 칸을 점으로 쓴다) */
.sw-value-grid:not(.sw-step-grid) .sw-value-no { position: relative; grid-column: 2; grid-row: 1 / span 3; justify-self: end; width: 18px; height: 18px; margin-right: 18px !important; border: 4px solid var(--c); border-radius: 50%; background: #fff; color: transparent !important; font-size: 0 !important; }
.sw-value-grid:not(.sw-step-grid) .sw-value-no::before { content: ""; position: absolute; top: 50%; right: 100%; width: 56px; height: 2px; background: linear-gradient(90deg, var(--c), color-mix(in srgb, var(--c) 40%, #fff)); transform: translateY(-50%); }
.sw-value-grid:not(.sw-step-grid) .sw-value-no::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; box-shadow: 0 0 0 0 color-mix(in srgb, var(--c) 50%, transparent); animation: sw-dot-ripple 2.4s ease-out infinite; }
@keyframes sw-dot-ripple { 70%, 100% { box-shadow: 0 0 0 12px transparent; } }
.sw-value-grid:not(.sw-step-grid) .sw-value-card h3 { grid-column: 3; color: var(--sw-ink) !important; font-size: calc(1.45rem + 1pt) !important; font-weight: 900; }
.sw-value-grid:not(.sw-step-grid) .sw-value-card .sw-value-en { grid-column: 3; margin-top: 2px !important; color: var(--c) !important; font-size: calc(.8rem + 1pt); font-weight: 700; letter-spacing: .04em; }
.sw-value-grid:not(.sw-step-grid) .sw-value-card .sw-value-desc { grid-column: 3; margin-top: 8px !important; color: #4b5563; font-size: calc(.98rem + 1pt); line-height: 1.7; word-break: keep-all; }
/* 순서대로 등장 (JS 가 is-armed → is-in 을 붙인다) */
.sw-value-grid:not(.sw-step-grid).is-armed > .wp-block-column { opacity: 0; transform: translateX(-40px); }
.sw-value-grid:not(.sw-step-grid).is-in > .wp-block-column { opacity: 1; transform: none; transition: opacity .7s ease, transform .7s cubic-bezier(.2, .8, .2, 1); }
.sw-value-grid:not(.sw-step-grid).is-in > .wp-block-column:nth-child(2) { transition-delay: .2s; }
.sw-value-grid:not(.sw-step-grid).is-in > .wp-block-column:nth-child(3) { transition-delay: .4s; }
.sw-value-grid:not(.sw-step-grid).is-in > .wp-block-column:nth-child(4) { transition-delay: .6s; }
@media (max-width: 781px) {
  .sw-value-grid:not(.sw-step-grid) > .wp-block-column:nth-child(2), .sw-value-grid:not(.sw-step-grid) > .wp-block-column:nth-child(4) { margin-left: 30px !important; }
  .sw-value-grid:not(.sw-step-grid) .sw-value-card { grid-template-columns: 96px 44px 1fr; }
  .sw-value-grid:not(.sw-step-grid) .sw-value-icon { width: 96px; height: 84px; }
  .sw-value-grid:not(.sw-step-grid) .sw-value-icon svg { width: 26px; height: 26px; }
  .sw-value-grid:not(.sw-step-grid) .sw-value-card::before { left: 48px; width: 110px; height: 100px; }
  .sw-value-grid:not(.sw-step-grid) .sw-value-no { width: 14px; height: 14px; margin-right: 10px !important; border-width: 3px; }
  .sw-value-grid:not(.sw-step-grid) .sw-value-no::before { width: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .sw-value-grid:not(.sw-step-grid) .sw-value-card::before, .sw-value-grid:not(.sw-step-grid) .sw-value-no::after { animation: none; }
  .sw-value-grid:not(.sw-step-grid).is-armed > .wp-block-column { opacity: 1; transform: none; }
}

/* 채용분야: 어두운 사진 배경, 강조색 한 줄 + 큰 흰 제목, 반투명 검은 카드(가운데 정렬) */
.sw-positions { position: relative; isolation: isolate; background: linear-gradient(rgba(6, 12, 26, .72), rgba(6, 12, 26, .82)), url("assets/images/hero-tech.jpg") center / cover no-repeat fixed; color: #fff; }
.sw-positions .sw-section-heading { text-align: center; }
.sw-positions .sw-positions-eyebrow { margin: 0 !important; color: #ff6b6b; font-size: calc(1rem + 1pt); font-weight: 700; }
.sw-positions .sw-section-heading h2 { margin-top: 10px !important; color: #fff !important; }
.sw-positions .sw-section-heading .sw-lead { color: rgba(255, 255, 255, .72); }
.sw-positions .sw-card-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px !important; }
.sw-positions .sw-card-grid > .wp-block-column { margin: 0 !important; }
.sw-positions .sw-card { height: 100%; box-sizing: border-box; padding: 34px 26px !important; border: 1px solid rgba(255, 255, 255, .08) !important; border-radius: 14px; background: rgba(0, 0, 0, .62) !important; backdrop-filter: blur(4px); box-shadow: none !important; text-align: center; transition: transform .3s ease, background .3s ease, border-color .3s ease; }
.sw-positions .sw-card:hover { transform: translateY(-5px); border-color: rgba(255, 107, 107, .5) !important; background: rgba(0, 0, 0, .75) !important; }
.sw-positions .sw-card > * { margin: 0 !important; }
.sw-positions .sw-card h3 { color: #fff !important; font-size: calc(1.5rem + 1pt) !important; font-weight: 800; }
.sw-positions .sw-card p { margin-top: 14px !important; color: rgba(255, 255, 255, .86) !important; font-size: calc(.98rem + 1pt); line-height: 1.7; word-break: keep-all; }
.sw-positions .sw-card .sw-position-en { margin-top: 8px !important; color: #ff6b6b !important; font-size: calc(.9rem + 1pt); font-weight: 600; }
.sw-positions > p:last-child { color: rgba(255, 255, 255, .75); text-align: center; }
.sw-positions > p:last-child a { color: #fff; }
@media (max-width: 900px) { .sw-positions .sw-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sw-positions { background-attachment: scroll; } }
@media (max-width: 560px) { .sw-positions .sw-card-grid { grid-template-columns: 1fr; } }

/* 채용 '스카이웨어의 사람들' 본문: 크게, 핵심 표현은 파란색 강조 */
.sw-people-grid p { font-size: calc(1.2rem + 1pt) !important; line-height: 1.8 !important; color: #2b3547 !important; }
.sw-people-grid p strong { color: #2f6bff; font-weight: 800; }

/* 클로비 시연: 영상 플레이어 모양 틀 안에서 챗봇 장면을 재생 (실제 영상으로 교체 예정) */
.sw-demo { position: relative; max-width: 960px; margin: 0 auto; overflow: hidden; border-radius: 22px; background: linear-gradient(160deg, #0b1b3a, #12306b); box-shadow: 0 40px 80px rgba(6, 20, 50, .35); }
.sw-demo-bar { display: flex; align-items: center; gap: 7px; padding: 12px 16px; background: rgba(255, 255, 255, .06); color: rgba(255, 255, 255, .7); font-size: calc(.8rem + 1pt); }
.sw-demo-bar i { width: 11px; height: 11px; border-radius: 50%; background: #ff6b6b; }
.sw-demo-bar i:nth-child(2) { background: #ffd166; } .sw-demo-bar i:nth-child(3) { background: #5fe3a1; }
.sw-demo-bar span { margin-left: 10px; }
.sw-demo-stage { display: grid; aspect-ratio: 16 / 9; place-items: center; overflow: hidden; background: radial-gradient(60% 70% at 50% 40%, rgba(63, 143, 224, .35), transparent 70%); }
.sw-demo-stage .sw-cvw { margin: 0; transform: scale(.82); }
.sw-demo-stage .sw-cvw-bot { mix-blend-mode: normal; border-radius: 50%; }
.sw-demo:not(.is-playing) .sw-cvw-body > span { animation-play-state: paused; opacity: 0; }
.sw-demo-play { position: absolute; top: 50%; left: 50%; z-index: 5; display: grid; width: 88px; height: 88px; place-items: center; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); box-shadow: 0 0 0 12px rgba(255, 255, 255, .15), 0 20px 40px rgba(0, 0, 0, .35); cursor: pointer; transform: translate(-50%, -50%); transition: transform .2s ease, opacity .3s ease; }
.sw-demo-play span { width: 0; height: 0; margin-left: 6px; border-top: 16px solid transparent; border-bottom: 16px solid transparent; border-left: 26px solid #1f4f9f; }
.sw-demo-play:hover { transform: translate(-50%, -50%) scale(1.06); }
.sw-demo.is-playing .sw-demo-play { opacity: 0; pointer-events: none; }
.sw-demo-tag { position: absolute; right: 16px; bottom: 12px; z-index: 4; margin: 0; padding: 5px 12px; border-radius: 99px; background: rgba(0, 0, 0, .45); color: rgba(255, 255, 255, .85); font-size: calc(.72rem + 1pt); }

/* 복지혜택: 흰 카드 + 얇은 띠 대신 진한 그라데이션 색 블록, 큰 흰 아이콘(CSS 로 그림), 흰 알약 태그 */
.sw-benefit-grid { gap: 22px !important; }
.sw-benefit-card { --g1: #1f4f9f; --g2: #3f8fe0; --i: none; padding: 34px 30px 30px !important; border: 0 !important; border-radius: 24px !important; background: radial-gradient(80% 60% at 100% 0%, rgba(255, 255, 255, .18), transparent 60%), linear-gradient(150deg, var(--g1), var(--g2)) !important; box-shadow: 0 22px 50px color-mix(in srgb, var(--g1) 30%, transparent) !important; color: #fff; }
.sw-benefit-card::before { display: none !important; }
.sw-benefit-grid > .wp-block-column:nth-child(1) .sw-benefit-card { --g1: #1f4f9f; --g2: #3f8fe0; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='4' rx='1'/%3E%3Cpath d='M12 8v13M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5'/%3E%3C/svg%3E"); }
.sw-benefit-grid > .wp-block-column:nth-child(2) .sw-benefit-card { --g1: #0b214d; --g2: #2f5fb3; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9H4.5a2.5 2.5 0 0 1 0-5H6M18 9h1.5a2.5 2.5 0 0 0 0-5H18M4 22h16M10 14.7V17c0 .6-.5 1-1 1.2C7.9 18.8 7 20.2 7 22M14 14.7V17c0 .6.5 1 1 1.2 1.1.6 2 2 2 3.8M18 2H6v7a6 6 0 0 0 12 0z'/%3E%3C/svg%3E"); }
.sw-benefit-grid > .wp-block-column:nth-child(3) .sw-benefit-card { --g1: #0d6b5f; --g2: #20b8a0; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 20h10M10 20c5.5-2.5.8-6.4 3-10M9.5 9.4c1.1.8 1.8 2.2 2.3 3.7-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2 2.8-.5 4.4 0 5.5.8zM14.1 6a7 7 0 0 0-1.1 4c1.9-.1 3.3-.6 4.3-1.4 1-1 1.6-2.3 1.7-4.6-2.7.1-4 1-4.9 2z'/%3E%3C/svg%3E"); }
.sw-benefit-card .sw-benefit-icon { width: 64px !important; height: 64px !important; border-radius: 18px !important; background: rgba(255, 255, 255, .16) !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25); position: relative; }
.sw-benefit-card .sw-benefit-icon svg { display: none; }
.sw-benefit-card .sw-benefit-icon::after { content: ""; position: absolute; inset: 16px; background: #fff; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.sw-benefit-card h3 { color: #fff !important; font-size: calc(1.5rem + 1pt) !important; font-weight: 900; }
.sw-benefit-card .sw-benefit-sub { color: rgba(255, 255, 255, .8) !important; font-size: calc(1rem + 1pt) !important; }
.sw-benefit-card .sw-benefit-list { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 20px !important; border-top: 1px solid rgba(255, 255, 255, .22) !important; }
.sw-benefit-card .sw-benefit-list li { padding: 8px 14px !important; border-radius: 99px; background: rgba(255, 255, 255, .95); color: var(--g1) !important; font-size: calc(.92rem + 1pt); font-weight: 700; }
.sw-benefit-card .sw-benefit-list li::before { display: none !important; }
.sw-benefit-card:hover { transform: translateY(-6px); }

/* 사업분야 허브 구성도: 가운데 로고, 두꺼운 하늘색 고리 위 5개 원, 바깥으로 이름표 */
.sw-hub-sec { background: linear-gradient(180deg, #f5f9ff, #fff); }
.sw-hub { --r: 36%; position: relative; width: min(100%, 820px); aspect-ratio: 1 / .92; margin: 10px auto 0; }
.sw-hub-ring { position: absolute; top: 50%; left: 50%; width: calc(var(--r) * 2); aspect-ratio: 1; border: clamp(34px, 7vw, 62px) solid transparent; border-radius: 50%; background: linear-gradient(135deg, #7fe0f5, #1fb6e8 50%, #0e8fd6) border-box; -webkit-mask: linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) padding-box exclude, linear-gradient(#000 0 0); transform: translate(-50%, -50%); filter: drop-shadow(0 20px 40px rgba(14, 143, 214, .3)); animation: sw-hub-spin 60s linear infinite; }
@keyframes sw-hub-spin { to { transform: translate(-50%, -50%) rotate(1turn); } }
.sw-hub-core { position: absolute; top: 50%; left: 50%; display: grid; width: calc(var(--r) * 1.3); aspect-ratio: 1; place-items: center; border-radius: 50%; background: #fff; box-shadow: 0 20px 50px rgba(16, 47, 103, .14), inset 0 0 0 1px #e3edf8; transform: translate(-50%, -50%); }
.sw-hub-core img { width: 62%; height: auto; }
.sw-hub-node { --ico: none; position: absolute; left: var(--x); top: var(--y); z-index: 2; text-decoration: none; transform: translate(-50%, -50%); }
.sw-hub-node.n1 { --x: 50%; --y: 14%; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4ZM3 6h18M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E"); }
.sw-hub-node.n2 { --x: 84.2%; --y: 38.9%; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='8' x='2' y='2' rx='2'/%3E%3Crect width='20' height='8' x='2' y='14' rx='2'/%3E%3Cpath d='M6 6h.01M6 18h.01M10 6h8M10 18h8'/%3E%3C/svg%3E"); }
.sw-hub-node.n3 { --x: 71.2%; --y: 79.1%; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.9 15.5A2 2 0 0 0 8.5 14.1l-6.1-1.6a.5.5 0 0 1 0-1l6.1-1.6a2 2 0 0 0 1.4-1.4l1.6-6.1a.5.5 0 0 1 1 0l1.6 6.1a2 2 0 0 0 1.4 1.4l6.1 1.6a.5.5 0 0 1 0 1l-6.1 1.6a2 2 0 0 0-1.4 1.4l-1.6 6.1a.5.5 0 0 1-1 0zM20 3v4M22 5h-4'/%3E%3C/svg%3E"); }
.sw-hub-node.n4 { --x: 28.8%; --y: 79.1%; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.7l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.7l7 4a2 2 0 0 0 2 0l7-4a2 2 0 0 0 1-1.7ZM3.3 7 12 12l8.7-5M12 22V12'/%3E%3C/svg%3E"); }
.sw-hub-node.n5 { --x: 15.8%; --y: 38.9%; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2zM8 9h8M8 13h5'/%3E%3C/svg%3E"); }
.sw-hub-dot { position: relative; display: block; width: clamp(92px, 16vw, 136px); aspect-ratio: 1; border-radius: 50%; background: #fff; box-shadow: 0 0 0 6px rgba(127, 224, 245, .9), 0 16px 34px rgba(14, 143, 214, .3); transition: transform .3s ease, box-shadow .3s ease; }
.sw-hub-dot::after { content: ""; position: absolute; inset: 26%; background: #0e8fd6; -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.sw-hub-node:hover .sw-hub-dot { transform: scale(1.08); box-shadow: 0 0 0 8px #7fe0f5, 0 0 40px rgba(31, 182, 232, .6); }
.sw-hub-label { position: absolute; top: 50%; display: grid; min-width: 150px; color: var(--sw-ink); line-height: 1.35; transform: translateY(-50%); }
.sw-hub-label b { font-size: calc(1.1rem + 1pt); font-weight: 900; }
.sw-hub-label small { color: var(--sw-muted); font-size: calc(.85rem + 1pt); }
.sw-hub-label::before { content: ""; position: absolute; top: 50%; width: 46px; height: 1px; background: #7fb9e6; }
.sw-hub-node.is-right .sw-hub-label { left: calc(100% + 62px); text-align: left; }
.sw-hub-node.is-right .sw-hub-label::before { right: calc(100% + 10px); }
.sw-hub-node.is-left .sw-hub-label { right: calc(100% + 62px); text-align: right; }
.sw-hub-node.is-left .sw-hub-label::before { left: calc(100% + 10px); }
.sw-hub-node.is-top .sw-hub-label { top: auto; bottom: calc(100% + 18px); left: 50%; text-align: center; transform: translateX(-50%); }
.sw-hub-node.is-top .sw-hub-label::before { display: none; }
.sw-hub-node:hover .sw-hub-label b { color: #0e8fd6; }
@media (max-width: 900px) {
  .sw-hub { aspect-ratio: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
  .sw-hub-ring { display: none; }
  .sw-hub-core { position: static; grid-column: 1 / -1; width: 180px; margin: 0 auto; transform: none; }
  .sw-hub-node { position: static; display: grid; justify-items: center; gap: 10px; transform: none; }
  .sw-hub-label, .sw-hub-node.is-top .sw-hub-label { position: static; min-width: 0; text-align: center; transform: none; }
  .sw-hub-label::before { display: none; }
}
@media (prefers-reduced-motion: reduce) { .sw-hub-ring { animation: none; } }

/* UMS '선택하는 이유' 카드: 윗면 띠 대신 카드 전체를 카드 색으로 두른다 */
.sw-ums-why .sw-ums-feature { border: 2px solid color-mix(in srgb, var(--c) 45%, #fff) !important; }
.sw-ums-why .sw-ums-feature::before { display: none !important; }
.sw-ums-why .sw-ums-feature:hover { border-color: var(--c) !important; }

/* UMS FAQ: 질문 · 답변 글씨 크게 */
.sw-ums-q > summary { padding: 26px 70px 26px 30px; font-size: calc(1.3rem + 1pt); }
.sw-ums-q > summary::before { font-size: 1.1em; }
.sw-ums-q > p { padding: 0 30px 28px 64px; font-size: calc(1.12rem + 1pt); line-height: 1.85; }

/* 홈 Solution 카드 제목: 제품 색 그라데이션 글자, 색이 채워진 아이콘 타일, 알약 부제, 호버 밑줄 */
.sw-sol-card { --sc1: #1f4f9f; --sc2: #3f8fe0; }
.sw-sol-card.is-scos { --sc1: #0d6b5f; --sc2: #20b8a0; }
.sw-sol-card.is-ums { --sc1: #1f4f9f; --sc2: #3f8fe0; }
.sw-sol-card.is-ai { --sc1: #4b2bb8; --sc2: #8a6bff; }
.sw-sol-card.is-si { --sc1: #0b214d; --sc2: #2f5fb3; }
.sw-sol-card.is-mro { --sc1: #0c5f7a; --sc2: #1fb6e8; }
.sw-sol-card .sw-sol-name { position: relative; width: fit-content; gap: 14px; font-size: calc(1.6rem + 1pt) !important; font-weight: 900 !important; letter-spacing: -.03em; background: linear-gradient(90deg, var(--sc1), var(--sc2)); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.sw-sol-card .sw-sol-name::before { width: 44px !important; height: 44px !important; border-radius: 13px !important; background: linear-gradient(135deg, var(--sc1), var(--sc2)) !important; box-shadow: 0 8px 18px color-mix(in srgb, var(--sc1) 30%, transparent); -webkit-mask: none; }
.sw-sol-card .sw-sol-name::after { content: ""; position: absolute; top: 11px; left: 11px; width: 22px; height: 22px; background: #fff; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.sw-sol-card .sw-sol-name { -webkit-text-fill-color: transparent; }
.sw-sol-card .sw-sol-sub { display: inline-block; width: fit-content; margin-top: 10px !important; padding: 4px 12px; border-radius: 99px; background: color-mix(in srgb, var(--sc2) 12%, #fff); color: var(--sc1) !important; font-size: calc(.72rem + 1pt) !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.sw-sol-card.is-sm > .sw-sol-name::after { top: 41px; left: 41px; }
/* 작은 카드 사진을 카드 폭 가득 */
.sw-sol-card.is-sm .sw-sol-shot { width: 100% !important; margin: auto 0 0 !important; padding: 0 !important; }
.sw-sol-card.is-sm .sw-sol-shot img { width: 100% !important; }
.sw-sol-card.is-sm > .sw-sol-tag br { display: inline; }

/* 홈 Solution 카드 애니메이션: 순서대로 튀어 오르며 등장, 마우스 따라 3D 기울기 + 빛 반사, 제목 반짝임, 아이콘 숨쉬기, 사진 켄 번스 */
.sw-sol-grid { perspective: 1400px; }
.sw-sol-grid.is-armed > .sw-sol-card { opacity: 0; transform: translateY(60px) scale(.94) rotateX(8deg); }
.sw-sol-grid.is-in > .sw-sol-card { opacity: 1; transform: none; transition: opacity .8s ease, transform .9s cubic-bezier(.18, 1.25, .4, 1); }
.sw-sol-grid.is-in > .sw-sol-card:nth-child(2) { transition-delay: .12s; }
.sw-sol-grid.is-in > .sw-sol-card:nth-child(3) { transition-delay: .24s; }
.sw-sol-grid.is-in > .sw-sol-card:nth-child(4) { transition-delay: .36s; }
.sw-sol-grid.is-in > .sw-sol-card:nth-child(5) { transition-delay: .48s; }
/* 3D 기울기 (JS 가 --rx, --ry, --mx, --my 를 넣는다) */
.sw-sol-grid.is-in > .sw-sol-card.is-tilting { transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(-6px); transition: transform .12s ease-out, box-shadow .3s ease; transition-delay: 0s !important; }
.sw-sol-card .sw-sol-go { z-index: 3; }
.sw-sol-card > .sw-sol-glare { position: absolute; inset: 0; z-index: 2; border-radius: inherit; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 255, 255, .45), transparent 45%); opacity: 0; mix-blend-mode: soft-light; pointer-events: none; transition: opacity .3s ease; }
.sw-sol-card.is-tilting > .sw-sol-glare { opacity: 1; }
/* 제목 그라데이션 반짝임 */
.sw-sol-card .sw-sol-name { background-image: linear-gradient(90deg, var(--sc1), var(--sc2), #fff 50%, var(--sc2), var(--sc1)) !important; background-size: 250% 100% !important; animation: sw-title-shine 6s ease-in-out infinite; }
@keyframes sw-title-shine { 0%, 60%, 100% { background-position: 0% 0; } 80% { background-position: 100% 0; } }
.sw-sol-grid > .sw-sol-card:nth-child(2) .sw-sol-name { animation-delay: .8s; }
.sw-sol-grid > .sw-sol-card:nth-child(3) .sw-sol-name { animation-delay: 1.6s; }
.sw-sol-grid > .sw-sol-card:nth-child(4) .sw-sol-name { animation-delay: 2.4s; }
.sw-sol-grid > .sw-sol-card:nth-child(5) .sw-sol-name { animation-delay: 3.2s; }
/* 아이콘 숨쉬기 · 호버 점프 */
.sw-sol-card .sw-sol-name::before { animation: sw-ico-breathe 3s ease-in-out infinite; }
@keyframes sw-ico-breathe { 50% { box-shadow: 0 8px 18px color-mix(in srgb, var(--sc1) 30%, transparent), 0 0 0 7px color-mix(in srgb, var(--sc2) 18%, transparent); } }
.sw-sol-card:hover .sw-sol-name::before, .sw-sol-card:hover .sw-sol-name::after { animation: sw-ico-jump .6s cubic-bezier(.3, 1.6, .5, 1); }
@keyframes sw-ico-jump { 40% { transform: translateY(-7px) rotate(-8deg); } }
/* 사진 켄 번스 */
.sw-sol-card .sw-sol-shot img { animation: sw-kenburns 14s ease-in-out infinite alternate; transform-origin: 60% 40%; }
@keyframes sw-kenburns { from { transform: scale(1); } to { transform: scale(1.12) translate(-2%, -1%); } }
.sw-sol-grid > .sw-sol-card:nth-child(even) .sw-sol-shot img { animation-direction: alternate-reverse; transform-origin: 30% 60%; }
/* 화살표 통통 */
.sw-sol-card:hover .sw-sol-go a::after { animation: sw-arrow-bounce .8s ease-in-out infinite; }
@keyframes sw-arrow-bounce { 50% { transform: translateX(5px); } }
.sw-sol-card.is-lg:hover .sw-sol-go a::after, .sw-sol-card.is-sm:hover .sw-sol-go a::after { animation-name: sw-arrow-bounce; }
@media (prefers-reduced-motion: reduce) {
  .sw-sol-grid.is-armed > .sw-sol-card { opacity: 1; transform: none; }
  .sw-sol-card .sw-sol-name, .sw-sol-card .sw-sol-name::before, .sw-sol-card .sw-sol-shot img, .sw-sol-card:hover .sw-sol-go a::after { animation: none !important; }
  .sw-sol-grid.is-in > .sw-sol-card.is-tilting { transform: none; }
}

/* 8모듈 가운데 막대 글자: 카드 문단 회색 규칙에 묻히던 문제 → 흰 글씨 + 빛, 앞에 아이콘 */
.sw-card .sw-mods-bus, .sw-mods .sw-mods-bus { display: flex; align-items: center; justify-content: center; gap: 10px; color: #fff !important; font-size: calc(1.25rem + 1pt) !important; font-weight: 900 !important; letter-spacing: .16em; text-shadow: 0 0 14px rgba(124, 208, 255, .8); }
.sw-mods .sw-mods-bus::before { content: ""; width: 22px; height: 22px; background: #7cd0ff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='16' height='16' x='4' y='4' rx='2'/%3E%3Crect width='6' height='6' x='9' y='9' rx='1'/%3E%3Cpath d='M15 2v2M15 20v2M2 15h2M2 9h2M20 15h2M20 9h2M9 2v2M9 20v2'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='16' height='16' x='4' y='4' rx='2'/%3E%3Crect width='6' height='6' x='9' y='9' rx='1'/%3E%3Cpath d='M15 2v2M15 20v2M2 15h2M2 9h2M20 15h2M20 9h2M9 2v2M9 20v2'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-mods .sw-mods-bus { background: linear-gradient(90deg, #0b214d, #1f4f9f 35%, #2f6bff 50%, #1f4f9f 65%, #0b214d) !important; background-size: 200% 100% !important; animation: sw-bus-flow 4s linear infinite; }
@keyframes sw-bus-flow { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .sw-mods .sw-mods-bus { animation: none; } }

/* 인재상 카드: 윗부분 그라데이션 색 영역 + 유리 원 아이콘 + 큰 번호, 아래 제목 · 설명 */
#talent .sw-card-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px !important; counter-reset: sw-talent; }
#talent .sw-card-grid > .wp-block-column { margin: 0 !important; }
#talent .sw-card {
  --g1: #1f4f9f; --g2: #3f8fe0; --i: none;
  position: relative; height: 100%; box-sizing: border-box; overflow: hidden;
  padding: 196px 26px 30px !important; border: 0 !important; border-radius: 24px;
  background: #fff !important; box-shadow: 0 18px 44px rgba(16, 47, 103, .1) !important;
  counter-increment: sw-talent; transition: transform .35s ease, box-shadow .35s ease;
}
#talent .sw-card::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 170px; background: radial-gradient(70% 90% at 90% 0%, rgba(255, 255, 255, .25), transparent 60%), linear-gradient(150deg, var(--g1), var(--g2)); transition: height .4s ease; }
#talent .sw-card::after { content: "0" counter(sw-talent); position: absolute; top: 12px; right: 18px; color: rgba(255, 255, 255, .25); font-size: 4rem; font-weight: 900; line-height: 1; letter-spacing: -.04em; }
#talent .sw-card .sw-icon-badge { position: absolute; top: 40px; left: 26px; z-index: 1; width: 90px !important; height: 90px !important; border-radius: 50% !important; background: rgba(255, 255, 255, .18) !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45), 0 12px 26px rgba(0, 0, 0, .15) !important; backdrop-filter: blur(6px); transition: transform .4s cubic-bezier(.3, 1.5, .5, 1); }
#talent .sw-card .sw-icon-badge::after { content: ""; position: absolute; inset: 24px; background: #fff; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
#talent .sw-card > * { position: relative; z-index: 1; margin: 0 !important; }
#talent .sw-card h3 { color: var(--sw-ink) !important; font-size: calc(1.25rem + 1pt) !important; font-weight: 900; line-height: 1.45; word-break: keep-all; }
#talent .sw-card h3 + p { margin-top: 12px !important; color: #4b5563 !important; font-size: calc(.98rem + 1pt); line-height: 1.75; word-break: keep-all; }
#talent .sw-card:hover { transform: translateY(-8px); box-shadow: 0 28px 60px color-mix(in srgb, var(--g1) 25%, transparent) !important; }
#talent .sw-card:hover::before { height: 184px; }
#talent .sw-card:hover .sw-icon-badge { transform: translateY(-6px) scale(1.06); }
#talent .sw-card-grid > .wp-block-column:nth-child(1) .sw-card { --g1: #1f4f9f; --g2: #3f8fe0; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E"); }
#talent .sw-card-grid > .wp-block-column:nth-child(2) .sw-card { --g1: #4b2bb8; --g2: #8a6bff; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.9 15.5A2 2 0 0 0 8.5 14.1l-6.1-1.6a.5.5 0 0 1 0-1l6.1-1.6a2 2 0 0 0 1.4-1.4l1.6-6.1a.5.5 0 0 1 1 0l1.6 6.1a2 2 0 0 0 1.4 1.4l6.1 1.6a.5.5 0 0 1 0 1l-6.1 1.6a2 2 0 0 0-1.4 1.4l-1.6 6.1a.5.5 0 0 1-1 0zM20 3v4M22 5h-4'/%3E%3C/svg%3E"); }
#talent .sw-card-grid > .wp-block-column:nth-child(3) .sw-card { --g1: #0d6b5f; --g2: #20b8a0; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); }
#talent .sw-card-grid > .wp-block-column:nth-child(4) .sw-card { --g1: #c2410c; --g2: #f59e0b; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-5.5 10.2-7.4 11.8a1 1 0 0 1-1.2 0C9.5 20.2 4 15 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
@media (max-width: 1024px) { #talent .sw-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { #talent .sw-card-grid { grid-template-columns: 1fr; } }

/* 홈 4단계(상담 → 제안 → 구축 → 운영): 큰 색 숫자, 반쪽 실선 + 반쪽 점선 원 안의 선 아이콘, 다음 단계로 화살표 */
.sw-process { --pw: 190px; gap: 28px !important; }
.sw-process > .wp-block-column { --c: #9ad14b; --c2: #c4e57d; --i: none; position: relative; padding-top: calc(var(--pw) + 44px) !important; text-align: center; }
.sw-process > .wp-block-column:nth-child(2) { --c: #3ccf98; --c2: #8ae6c2; }
.sw-process > .wp-block-column:nth-child(3) { --c: #2fc4dd; --c2: #88e2f0; }
.sw-process > .wp-block-column:nth-child(4) { --c: #3f8fe0; --c2: #8dbdf2; }
.sw-process > .wp-block-column:nth-child(1) { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='m21 21-6-6M7 8a3.5 3.5 0 0 1 3-2'/%3E%3C/svg%3E"); }
.sw-process > .wp-block-column:nth-child(2) { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5M9 18h6M10 22h4M10 14l1-3 1 2 1-2 1 3'/%3E%3C/svg%3E"); }
.sw-process > .wp-block-column:nth-child(3) { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='14' height='18' x='5' y='4' rx='2'/%3E%3Cpath d='M9 4V3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1M8.5 10h7M8.5 14h7M8.5 18h4'/%3E%3C/svg%3E"); }
.sw-process > .wp-block-column:nth-child(4) { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E"); }
/* 큰 숫자 (기존 01 · 02 카운터를 1 · 2 로) */
.sw-process > .wp-block-column::before { content: counter(sw-step) !important; top: 0 !important; left: calc(50% - var(--pw) / 2 - 30px) !important; z-index: 2; background: linear-gradient(160deg, var(--c2), var(--c)); -webkit-background-clip: text; background-clip: text; color: transparent !important; font-size: 150px !important; font-weight: 800 !important; line-height: 1 !important; letter-spacing: -.06em; }
/* 원: 오른쪽 위 반은 색 실선, 왼쪽 아래 반은 회색 점선 */
.sw-process > .wp-block-column::after { content: "" !important; display: block !important; position: absolute !important; top: 8px !important; left: 50% !important; right: auto !important; width: var(--pw) !important; height: var(--pw) !important; box-sizing: border-box; border: 2px solid; border-color: var(--c) var(--c) #c8ced8 #c8ced8; border-style: solid solid dashed dashed; border-radius: 50%; background: none !important; transform: translateX(-50%) rotate(-45deg); }
/* 원 가운데 선 아이콘 (설명 문단의 ::before 를 쓴다) */
.sw-process > .wp-block-column > p:last-child::before { content: ""; position: absolute; top: calc(8px + var(--pw) / 2 - 36px); left: calc(50% - 36px); width: 72px; height: 72px; background: #8a94a3; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
/* 다음 단계로 향하는 화살표 (제목의 ::after 를 쓴다) */
.sw-process > .wp-block-column:not(:last-child) > h3::after { content: ""; position: absolute; top: calc(8px + var(--pw) / 2 - 10px); right: -34px; width: 58px; height: 20px; background: var(--c); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 58 20' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 10h52M46 2l8 8-8 8'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 58 20' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 10h52M46 2l8 8-8 8'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-process > .wp-block-column > h3 { color: var(--c) !important; font-size: calc(1.3rem + 1pt) !important; font-weight: 900; }
.sw-process > .wp-block-column > p { max-width: 16em; margin-inline: auto !important; color: #5b6472; font-size: calc(.98rem + 1pt); line-height: 1.7; word-break: keep-all; }
/* 등장: 화면에 들어오면 차례로 */
.sw-process.is-armed > .wp-block-column { opacity: 0; transform: translateY(30px); }
.sw-process.is-in > .wp-block-column { opacity: 1; transform: none; transition: opacity .7s ease, transform .7s ease; }
.sw-process.is-in > .wp-block-column:nth-child(2) { transition-delay: .2s; }
.sw-process.is-in > .wp-block-column:nth-child(3) { transition-delay: .4s; }
.sw-process.is-in > .wp-block-column:nth-child(4) { transition-delay: .6s; }
@media (max-width: 781px) {
  .sw-process { --pw: 150px; }
  .sw-process > .wp-block-column::before { font-size: 118px !important; }
  .sw-process > .wp-block-column > h3::after { display: none; }
}
@media (prefers-reduced-motion: reduce) { .sw-process.is-armed > .wp-block-column { opacity: 1; transform: none; } }

/* 대표인사말: 얼굴 사진 대신 메시지 카드 (도용 방지) */
.sw-ceo-card { position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; justify-content: center; min-height: 420px; padding: 56px 44px 44px; border-radius: 26px; background: linear-gradient(150deg, #0b214d, #1f4f9f 60%, #2f7bff); box-shadow: 0 30px 70px rgba(16, 47, 103, .3); color: #fff; }
.sw-ceo-card > * { margin: 0 !important; }
.sw-ceo-card::before { content: "\201C"; position: absolute; top: -24px; left: 24px; color: rgba(255, 255, 255, .14); font-family: Georgia, serif; font-size: 13rem; line-height: 1; }
.sw-ceo-card::after { content: ""; position: absolute; inset: -40%; z-index: -1; background: radial-gradient(40% 40% at 70% 30%, rgba(124, 208, 255, .35), transparent 70%), repeating-linear-gradient(135deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 22px); animation: sw-ceo-drift 18s ease-in-out infinite alternate; }
@keyframes sw-ceo-drift { to { transform: translate(-6%, 6%) rotate(4deg); } }
.sw-ceo-card .sw-ceo-quote { color: #fff; font-size: calc(clamp(1.6rem, 2.4vw, 2.2rem) + 1pt); font-weight: 800; line-height: 1.45; letter-spacing: -.02em; word-break: keep-all; }
.sw-ceo-card .sw-ceo-quote strong { color: #7cd0ff; }
.sw-ceo-card .sw-ceo-by { display: flex; align-items: center; gap: 12px; margin-top: 32px !important; color: rgba(255, 255, 255, .85); font-size: calc(1rem + 1pt); font-weight: 700; }
.sw-ceo-card .sw-ceo-by::before { content: ""; width: 34px; height: 2px; background: #7cd0ff; }
@media (max-width: 781px) { .sw-ceo-card { min-height: 0; padding: 44px 28px 32px; } }
@media (prefers-reduced-motion: reduce) { .sw-ceo-card::after { animation: none; } }


/* 경영철학 육각형: 비어 있던 육각형 안에 가치별 아이콘 */
.sw-value-grid:not(.sw-step-grid) .sw-value-icon::after { content: ""; position: absolute; top: 50%; left: 50%; width: 40px; height: 40px; background: var(--c); -webkit-mask: var(--vi) center / contain no-repeat; mask: var(--vi) center / contain no-repeat; transform: translate(-50%, -50%); }
.sw-value-grid:not(.sw-step-grid) .sw-value-icon:has(svg)::after { display: none; }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column:nth-child(1) { --vi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.5 12.9 17 22l-5-3-5 3 1.5-9.1'/%3E%3C/svg%3E"); }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column:nth-child(2) { --vi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m16.2 7.8-2.1 6.3-6.3 2.1 2.1-6.3z'/%3E%3C/svg%3E"); }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column:nth-child(3) { --vi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.9M16 3.1a4 4 0 0 1 0 7.8'/%3E%3C/svg%3E"); }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column:nth-child(4) { --vi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.4-.5-2-1-3-1.1-2.1-.2-4 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.2.4-2.3 1-3.3.3 1.6 1.3 2.8 2.5 2.8z'/%3E%3C/svg%3E"); }
@media (max-width: 781px) { .sw-value-grid:not(.sw-step-grid) .sw-value-icon::after { width: 26px; height: 26px; } }

/* 제품/솔루션 메가메뉴: 분야 4단 × 솔루션(이름 · 구분선 · 한 줄 설명 · 바로가기 화살표) */
.sw-primary-nav .sw-mega { position: relative !important; }
.sw-primary-nav .sw-mega > .wp-block-navigation__submenu-container { left: 50% !important; right: auto !important; display: grid !important; grid-template-columns: repeat(4, 220px); gap: 8px 36px; width: max-content !important; min-width: 0 !important; padding: 28px 36px 30px !important; border: 0 !important; border-radius: 18px !important; background: linear-gradient(180deg, #fff, #f6faff) !important; box-shadow: 0 24px 60px rgba(16, 47, 103, .16) !important; transform: translateX(-50%); }
.sw-primary-nav .sw-mega-col { display: block !important; }
.sw-primary-nav .sw-mega-col > .wp-block-navigation-item__content { display: block; margin: 0 0 6px; padding: 0 !important; background: none !important; color: #1f6fe5 !important; font-size: calc(.84rem + 1pt) !important; font-weight: 800; pointer-events: none; }
.sw-primary-nav .sw-mega-col > .wp-block-navigation__submenu-icon { display: none !important; }
.sw-primary-nav .sw-mega-col > .wp-block-navigation__submenu-container { position: static !important; display: grid !important; gap: 4px; visibility: visible !important; width: auto !important; height: auto !important; min-width: 0 !important; overflow: visible !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; opacity: 1 !important; transform: none !important; }
.sw-primary-nav .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content { position: relative; display: grid !important; padding: 14px 32px 14px 12px !important; border-radius: 12px; transition: background .2s ease, transform .2s ease; }
.sw-primary-nav .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content:hover { background: #eaf3ff !important; transform: translateX(3px); }
.sw-primary-nav .sw-mega-col .wp-block-navigation-item__label { padding-bottom: 10px; border-bottom: 1px solid #e3e9f2; color: var(--sw-ink); font-size: calc(1rem + 1pt); font-weight: 800; }
.sw-primary-nav .sw-mega-col .wp-block-navigation-item__description { display: block; margin-top: 10px; color: #6b7280; font-size: calc(.8rem + 1pt); font-weight: 500; line-height: 1.6; white-space: normal; }
.sw-primary-nav .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content::after { content: ""; position: absolute; top: 16px; right: 10px; width: 14px; height: 14px; background: #9aa6b8; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-primary-nav .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content:hover::after { background: #1f6fe5; }
.sw-primary-nav .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content:hover .wp-block-navigation-item__label { color: #1f6fe5; }
/* 메가메뉴는 데스크톱 호버일 때만 열린다 */
.sw-primary-nav .sw-mega:not(:hover):not(:focus-within) > .wp-block-navigation__submenu-container { visibility: hidden !important; opacity: 0 !important; }
/* 모바일 메뉴: 분야 제목 아래 솔루션을 늘 펼쳐 둔다 */
.sw-site-header .sw-mnav.is-menu-open .sw-mega > .wp-block-navigation__submenu-container { display: none !important; grid-template-columns: 1fr; width: auto !important; padding: 8px 0 !important; box-shadow: none !important; background: none !important; transform: none; }
.sw-site-header .sw-mnav.is-menu-open .sw-mega.sw-open > .wp-block-navigation__submenu-container { display: grid !important; }
.sw-site-header .sw-mnav.is-menu-open .sw-mega-col > .wp-block-navigation__submenu-container { display: grid !important; }
.sw-site-header .sw-mnav.is-menu-open .sw-mega-col > .wp-block-navigation__submenu-icon { display: none !important; }
.sw-site-header .sw-mnav.is-menu-open .sw-mega-col .wp-block-navigation-item__description { display: none; }
.sw-site-header .sw-mnav.is-menu-open .sw-mega-col .wp-block-navigation-item__label { padding-bottom: 0; border: 0; }
.sw-site-header .sw-mnav.is-menu-open .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content::after { display: none; }
@media (max-width: 1180px) { .sw-primary-nav .sw-mega > .wp-block-navigation__submenu-container { grid-template-columns: repeat(4, 180px); gap: 8px 20px; padding: 24px !important; } }

/* 사업분야 허브 v2: 유리 느낌의 원, 굵은 그라데이션 고리, 점선 안쪽 원, 점+선 이름표 */
.sw-hub-sec { position: relative; overflow: hidden; background: radial-gradient(circle at 0 12%, rgba(120, 180, 250, .22), transparent 22%), radial-gradient(circle at 100% 92%, rgba(120, 180, 250, .22), transparent 24%), linear-gradient(180deg, #f7fbff, #fff); }
.sw-hub-sec .sw-ums-eyebrow { display: flex; align-items: center; justify-content: center; gap: 16px; color: #1463d8 !important; letter-spacing: .14em; }
.sw-hub-sec .sw-ums-eyebrow::before, .sw-hub-sec .sw-ums-eyebrow::after { content: ""; width: 48px; height: 1px; background: #1463d8; }
.sw-hub-sec .sw-ums-head h2 { font-size: clamp(2rem, 4.2vw, 3.2rem) !important; font-weight: 900 !important; letter-spacing: -.02em; }
.sw-hub { --r: 35%; max-width: 900px; width: 100%; }
.sw-hub::before { content: ""; position: absolute; top: 50%; left: 50%; width: 94%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(160, 205, 255, .28) 40%, rgba(160, 205, 255, .08) 62%, transparent 70%); transform: translate(-50%, -50%); pointer-events: none; }
.sw-hub::after { content: ""; position: absolute; top: 50%; left: 50%; width: 52%; aspect-ratio: 1; border: 2px dotted rgba(31, 150, 200, .35); border-radius: 50%; transform: translate(-50%, -50%); pointer-events: none; }
.sw-hub-ring { border-width: clamp(34px, 7.2vw, 66px); background: conic-gradient(from 200deg, #0a5fd8, #1f9cf0 30%, #7fe6fb 55%, #3fb2f5 75%, #0a5fd8) border-box; filter: drop-shadow(0 24px 50px rgba(10, 95, 216, .28)); animation-duration: 80s; }
.sw-hub-core { z-index: 1; width: calc(var(--r) * 1.05); background: radial-gradient(circle at 50% 35%, #fff 55%, #eef4fd); box-shadow: 0 0 0 16px rgba(255, 255, 255, .7), 0 0 0 17px #dbe8f8, 0 26px 60px rgba(16, 47, 103, .18), inset 0 -10px 30px rgba(31, 99, 216, .08); }
.sw-hub-core img { width: 70%; }
.sw-hub-dot { width: clamp(92px, 17vw, 150px); background: radial-gradient(circle at 50% 30%, #fff 60%, #f0f6ff); box-shadow: 0 0 0 10px rgba(200, 232, 255, .75), 0 0 0 11px rgba(120, 200, 245, .55), 0 18px 40px rgba(10, 95, 216, .25); }
.sw-hub-dot::after { inset: 30%; background: #1463d8; }
.sw-hub-dot::before { content: ""; position: absolute; z-index: 1; width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(10, 95, 216, .35); transform: translate(-50%, -50%); }
.sw-hub-node.n1 .sw-hub-dot::before { top: 108%; left: 50%; }
.sw-hub-node.n2 .sw-hub-dot::before { top: 50%; left: -8%; }
.sw-hub-node.n3 .sw-hub-dot::before { top: 2%; left: 18%; }
.sw-hub-node.n4 .sw-hub-dot::before { top: 2%; left: 82%; }
.sw-hub-node.n5 .sw-hub-dot::before { top: 50%; left: 108%; }
.sw-hub-node:hover .sw-hub-dot { box-shadow: 0 0 0 12px rgba(127, 224, 245, .8), 0 0 0 13px #3fb2f5, 0 0 50px rgba(31, 156, 240, .55); }
.sw-hub-label b { font-size: calc(1.35rem + 1pt); letter-spacing: -.01em; }
.sw-hub-label small { font-size: calc(.95rem + 1pt); }
.sw-hub-label::before { width: 44px; background: #1f7ae0; }
.sw-hub-label::after { content: ""; position: absolute; top: 50%; width: 11px; height: 11px; border-radius: 50%; background: #1f7ae0; box-shadow: 0 0 0 3px #fff, 0 0 0 4px rgba(31, 122, 224, .3); transform: translateY(-50%); }
.sw-hub-node.is-right .sw-hub-label { left: calc(100% + 60px); }
.sw-hub-node.is-right .sw-hub-label::after { right: calc(100% + 50px); }
.sw-hub-node.is-left .sw-hub-label { right: calc(100% + 60px); }
.sw-hub-node.is-left .sw-hub-label::after { left: calc(100% + 50px); }
/* 맨 위 e-Commerce 이름표는 오른쪽 위로 */
.sw-hub-node.n1 .sw-hub-label { top: 22%; bottom: auto; left: calc(100% + 60px); text-align: left; transform: translateY(-50%); }
.sw-hub-node.n1 .sw-hub-label::before { display: block; right: calc(100% + 10px); }
.sw-hub-node.n1 .sw-hub-label::after { right: calc(100% + 50px); }
@media (max-width: 900px) {
  .sw-hub::before, .sw-hub::after, .sw-hub-dot::before, .sw-hub-label::after { display: none; }
  .sw-hub-node.n1 .sw-hub-label { position: static; transform: none; text-align: center; }
}

/* 허브 v2 보강: 이름표를 크게, 점선 궤도 위로 빛나는 점 3개가 돈다 */
.sw-hub-label { min-width: 200px; gap: 4px; }
.sw-hub-label b { color: #0b1f44; font-size: clamp(1.3rem, 2.3vw, 1.85rem) !important; font-weight: 900; letter-spacing: -.02em; }
.sw-hub-label small { color: #1463d8; font-size: clamp(.95rem, 1.4vw, 1.1rem) !important; font-weight: 700; }
.sw-hub-node.is-right .sw-hub-label, .sw-hub-node.n1 .sw-hub-label { left: calc(100% + 64px); }
.sw-hub-node.is-left .sw-hub-label { right: calc(100% + 64px); }
.sw-hub-label::before { width: 48px; height: 2px; }
.sw-hub-core::before { content: ""; position: absolute; top: 50%; left: 50%; z-index: -1; width: calc(141.5% + 16px); aspect-ratio: 1; border-radius: 50%; background:
  radial-gradient(circle at 50% 8px, #fff 0 3px, #1f9cf0 4px 5px, rgba(31, 156, 240, .35) 6px, transparent 8px),
  radial-gradient(circle at calc(93.3% - 6.93px) calc(75% - 4px), #fff 0 3px, #1f9cf0 4px 5px, rgba(31, 156, 240, .35) 6px, transparent 8px),
  radial-gradient(circle at calc(6.7% + 6.93px) calc(75% - 4px), #fff 0 3px, #1f9cf0 4px 5px, rgba(31, 156, 240, .35) 6px, transparent 8px);
  transform: translate(-50%, -50%); animation: sw-hub-orbit 14s linear infinite; pointer-events: none; }
@keyframes sw-hub-orbit { from { transform: translate(-50%, -50%) rotate(0); } to { transform: translate(-50%, -50%) rotate(1turn); } }
.sw-hub-dot::before { animation: sw-hub-blink 2.4s ease-in-out infinite; }
@keyframes sw-hub-blink { 50% { box-shadow: 0 0 0 5px rgba(31, 156, 240, .25), 0 0 14px rgba(31, 156, 240, .7); } }
@media (max-width: 900px) { .sw-hub-core::before { display: none; } .sw-hub-label { min-width: 0; } }
@media (prefers-reduced-motion: reduce) { .sw-hub-core::before, .sw-hub-dot::before { animation: none; } }

/* 허브 궤도: 점 대신 반짝이는 별 다섯 개가 점선 궤도를 따라 돈다 */
.sw-hub-core::before { width: 150.5%; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cdefs%3E%3CradialGradient id='h'%3E%3Cstop offset='0' stop-color='%237fd8ff' stop-opacity='.9'/%3E%3Cstop offset='1' stop-color='%237fd8ff' stop-opacity='0'/%3E%3C/radialGradient%3E%3ClinearGradient id='s' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%235fd0ff'/%3E%3Cstop offset='1' stop-color='%231463d8'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(100 6)'%3E%3Cg%3E%3CanimateTransform attributeName='transform' type='scale' values='.55;1.25;.55' dur='2.2s' begin='0.00s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='.45;1;.45' dur='2.2s' begin='0.00s' repeatCount='indefinite'/%3E%3Ccircle r='6' fill='url(%23h)'/%3E%3Cpath d='M0,-7 C.7,-1.6 1.6,-.7 7,0 C1.6,.7 .7,1.6 0,7 C-.7,1.6 -1.6,.7 -7,0 C-1.6,-.7 -.7,-1.6 0,-7Z' fill='url(%23s)'/%3E%3Ccircle r='1.3' fill='%23fff'/%3E%3C/g%3E%3C/g%3E%3Cg transform='translate(189.4 70.95)'%3E%3Cg%3E%3CanimateTransform attributeName='transform' type='scale' values='.55;1.25;.55' dur='2.2s' begin='0.45s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='.45;1;.45' dur='2.2s' begin='0.45s' repeatCount='indefinite'/%3E%3Ccircle r='6' fill='url(%23h)'/%3E%3Cpath d='M0,-7 C.7,-1.6 1.6,-.7 7,0 C1.6,.7 .7,1.6 0,7 C-.7,1.6 -1.6,.7 -7,0 C-1.6,-.7 -.7,-1.6 0,-7Z' fill='url(%23s)'/%3E%3Ccircle r='1.3' fill='%23fff'/%3E%3C/g%3E%3C/g%3E%3Cg transform='translate(155.3 176)'%3E%3Cg%3E%3CanimateTransform attributeName='transform' type='scale' values='.55;1.25;.55' dur='2.2s' begin='0.90s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='.45;1;.45' dur='2.2s' begin='0.90s' repeatCount='indefinite'/%3E%3Ccircle r='6' fill='url(%23h)'/%3E%3Cpath d='M0,-7 C.7,-1.6 1.6,-.7 7,0 C1.6,.7 .7,1.6 0,7 C-.7,1.6 -1.6,.7 -7,0 C-1.6,-.7 -.7,-1.6 0,-7Z' fill='url(%23s)'/%3E%3Ccircle r='1.3' fill='%23fff'/%3E%3C/g%3E%3C/g%3E%3Cg transform='translate(44.7 176)'%3E%3Cg%3E%3CanimateTransform attributeName='transform' type='scale' values='.55;1.25;.55' dur='2.2s' begin='1.35s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='.45;1;.45' dur='2.2s' begin='1.35s' repeatCount='indefinite'/%3E%3Ccircle r='6' fill='url(%23h)'/%3E%3Cpath d='M0,-7 C.7,-1.6 1.6,-.7 7,0 C1.6,.7 .7,1.6 0,7 C-.7,1.6 -1.6,.7 -7,0 C-1.6,-.7 -.7,-1.6 0,-7Z' fill='url(%23s)'/%3E%3Ccircle r='1.3' fill='%23fff'/%3E%3C/g%3E%3C/g%3E%3Cg transform='translate(10.6 70.95)'%3E%3Cg%3E%3CanimateTransform attributeName='transform' type='scale' values='.55;1.25;.55' dur='2.2s' begin='1.80s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='.45;1;.45' dur='2.2s' begin='1.80s' repeatCount='indefinite'/%3E%3Ccircle r='6' fill='url(%23h)'/%3E%3Cpath d='M0,-7 C.7,-1.6 1.6,-.7 7,0 C1.6,.7 .7,1.6 0,7 C-.7,1.6 -1.6,.7 -7,0 C-1.6,-.7 -.7,-1.6 0,-7Z' fill='url(%23s)'/%3E%3Ccircle r='1.3' fill='%23fff'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat; }

/* 메가메뉴는 '제품/솔루션' 바로 아래로 떨어진다 (옆으로 날아가지 않게 위치를 고정) */
@media (min-width: 782px) {
  .wp-block-navigation.sw-primary-nav .sw-mega > .wp-block-navigation__submenu-container { position: absolute !important; top: calc(100% + 14px) !important; right: auto !important; left: 50% !important; margin: 0 !important; transform: translateX(-50%) !important; }
  /* 메뉴 글자와 패널 사이 빈틈에서 닫히지 않게 투명 다리 */
  .wp-block-navigation.sw-primary-nav .sw-mega > .wp-block-navigation__submenu-container::before { content: ""; position: absolute; right: 0; bottom: 100%; left: 0; height: 16px; }
  .wp-block-navigation.sw-primary-nav .sw-mega-col > .wp-block-navigation__submenu-container { position: static !important; top: auto !important; left: auto !important; }
}

/* 조직도 v2 '전문인력 중심 조직도': 대표이사 · 좌우 참모 → 협업체계 알약 → 4개 본부(색 그라데이션 머리 + 팀 알약) */
.sw-org2-sec { position: relative; overflow: hidden; background: radial-gradient(circle at 4% 18%, rgba(140, 190, 250, .25), transparent 18%), radial-gradient(circle at 96% 80%, rgba(140, 190, 250, .22), transparent 22%), linear-gradient(180deg, #f5f9ff, #fff) !important; }
.sw-org2-head { position: relative; }
.sw-org2-eyebrow { display: flex; align-items: center; gap: 14px; margin: 0 0 12px !important; color: #1463d8; font-size: calc(.78rem + 1pt); font-weight: 800; letter-spacing: .42em; }
.sw-org2-eyebrow::after { content: ""; width: 56px; height: 1px; background: #8fb4e8; }
.sw-org2-head .sw-onepage-title { font-size: clamp(2rem, 4vw, 3rem) !important; font-weight: 900 !important; }
.sw-org2-hl { background: linear-gradient(90deg, #0b4fd0, #1f8ff0); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sw-org2-lab { position: absolute !important; top: 0; right: 0; display: grid; justify-items: center; gap: 10px; width: 300px; max-width: none !important; margin: 0 !important; padding: 26px 22px 18px; border: 1.5px dashed #a9c6ee; border-radius: 18px; background: rgba(255, 255, 255, .6); }
.sw-org2-lab > * { margin: 0 !important; }
.sw-org2-lab::before { content: ""; position: absolute; top: 50%; right: calc(100% + 2px); width: 120px; border-top: 2px dotted #7fa6dd; }
.sw-org2-lab::after { content: ""; position: absolute; top: calc(50% - 4px); right: 100%; width: 9px; height: 9px; border-radius: 50%; background: #1f6fe5; }
.sw-org2-badge { position: absolute; top: -15px; left: 50%; padding: 4px 18px; border-radius: 99px; background: linear-gradient(90deg, #1f6fe5, #3f9cf5); color: #fff; font-size: calc(.8rem + 1pt); font-weight: 800; transform: translateX(-50%); white-space: nowrap; }
.sw-org2-labsub { display: flex; gap: 12px; color: #52607a; font-size: calc(.82rem + 1pt); }
.sw-org2-labsub span { color: #b6c3d6; }
.sw-org2 { --ln: #7fb0ea; max-width: 1280px !important; }
.sw-org2 > * { margin-block: 0 !important; }
.sw-org2-node { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 12px; margin: 0 !important; padding: 18px 28px; border-radius: 14px; background: #fff; color: #0b1f44; font-weight: 800; box-shadow: 0 12px 30px rgba(16, 47, 103, .1); word-break: keep-all; }
.sw-org2-node::before { content: ""; flex: 0 0 auto; width: 26px; height: 26px; background: currentColor; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.sw-org2-node.is-lab { --i: var(--i-flask); width: 100%; padding: 16px 20px; border: 1.5px solid #9cc0f0; border-radius: 99px; box-shadow: none; font-size: calc(1.1rem + 1pt); }
.sw-org2-top { position: relative; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 0 60px; }
.sw-org2-top::before { content: ""; position: absolute; top: 50%; right: 12%; left: 12%; height: 2px; background: var(--ln); }
.sw-org2-node.is-coo { --i: var(--i-cog); justify-self: end; min-width: 320px; font-size: calc(1.1rem + 1pt); }
.sw-org2-node.is-advisor { --i: var(--i-doc); justify-self: start; min-width: 280px; font-size: calc(1.1rem + 1pt); }
.sw-org2-node.is-ceo { --i: var(--i-user); min-width: 340px; min-height: 96px; border-radius: 16px; background: linear-gradient(135deg, #0b2a6b, #123f96 60%, #1d5ad0); color: #fff; font-size: calc(1.6rem + 1pt); font-weight: 900; box-shadow: 0 20px 44px rgba(11, 42, 107, .35); }
.sw-org2-node.is-ceo::before { width: 32px; height: 32px; }
.sw-org2-node.is-coo::after, .sw-org2-node.is-advisor::after { content: ""; position: absolute; top: calc(50% - 5px); width: 10px; height: 10px; border-radius: 50%; background: #1f6fe5; box-shadow: 0 0 0 3px #fff; }
.sw-org2-node.is-coo::after { right: -30px; }
.sw-org2-node.is-advisor::after { left: -30px; }
.sw-org2-hub { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.9M16 3.1a4 4 0 0 1 0 7.8'/%3E%3C/svg%3E"); position: relative; z-index: 1; display: flex; align-items: center; gap: 12px; width: fit-content; margin: 56px auto 0 !important; padding: 16px 44px; border: 1.5px solid #9cc0f0; border-radius: 99px; background: #fff; color: #0b1f44; font-size: calc(1.1rem + 1pt); font-weight: 800; box-shadow: 0 10px 26px rgba(16, 47, 103, .1); }
.sw-org2-hub::before { content: ""; width: 28px; height: 28px; background: #0b3f99; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.sw-org2-hub::after { content: ""; position: absolute; bottom: 100%; left: calc(50% - 1px); width: 2px; height: 56px; background: var(--ln); }
.sw-org2-divs { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 50px !important; }
.sw-org2-divs::before { content: ""; position: absolute; top: -50px; left: calc(50% - 1px); width: 2px; height: 22px; background: var(--ln); }
.sw-org2-divs::after { content: ""; position: absolute; top: -28px; right: 12.5%; left: 12.5%; height: 2px; background: var(--ln); }
.sw-org2-div { position: relative; margin: 0 !important; }
.sw-org2-div::before { content: ""; position: absolute; top: -28px; left: calc(50% - 1px); width: 2px; height: 28px; background: var(--ln); }
.sw-org2-div::after { content: ""; position: absolute; top: -5px; left: calc(50% - 5px); z-index: 2; width: 10px; height: 10px; border-radius: 50%; background: #1f6fe5; box-shadow: 0 0 0 3px #fff; }
.sw-org2-div.is-dev { --a: #0b2a6b; --b: #1d56b8; --dot: #1f6fe5; --i: var(--i-box); }
.sw-org2-div.is-it { --a: #1f5fd6; --b: #4a9bf6; --dot: #1f6fe5; --i: var(--i-monitor); }
.sw-org2-div.is-design { --a: #0f9a74; --b: #2cc79e; --dot: #13a57c; --i: var(--i-pen); }
.sw-org2-div.is-mgmt { --a: #0d6b8c; --b: #16a9c8; --dot: #0e8fb0; --i: var(--i-chart); }
.sw-org2-dhead { position: relative; z-index: 1; display: grid; grid-template-columns: 40px 1fr; align-items: center; gap: 0 18px; margin: 0 !important; padding: 24px 22px; border-radius: 14px; background: linear-gradient(120deg, var(--a), var(--b)); color: #fff; box-shadow: 0 16px 34px color-mix(in srgb, var(--a) 35%, transparent); }
.sw-org2-dhead::before { content: ""; grid-row: 1 / span 2; width: 40px; height: 40px; background: #fff; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.sw-org2-dhead strong { font-size: calc(1.3rem + 1pt); font-weight: 900; line-height: 1.3; }
.sw-org2-dhead span { margin-top: 4px; color: rgba(255, 255, 255, .72); font-size: calc(.66rem + 1pt); font-weight: 700; letter-spacing: .22em; }
.sw-org2-dhead span::before { content: "— "; }
.sw-org2-dhead span::after { content: " —"; }
.sw-org2-teams { position: relative; display: grid; gap: 14px; margin: 14px 0 0 !important; padding: 0 0 0 38px !important; list-style: none; }
.sw-org2-teams::before { content: ""; position: absolute; top: -14px; bottom: 28px; left: 18px; width: 2px; background: color-mix(in srgb, var(--dot) 45%, #fff); }
.sw-org2-teams li { position: relative; display: flex; align-items: center; justify-content: space-between; margin: 0 !important; padding: 16px 20px; border-radius: 12px; background: #fff; color: #0b1f44; font-size: calc(1.02rem + 1pt); font-weight: 800; box-shadow: 0 8px 22px rgba(16, 47, 103, .08); transition: transform .25s ease, box-shadow .25s ease; }
.sw-org2-teams li::before { content: ""; position: absolute; top: calc(50% - 5px); left: -25px; width: 10px; height: 10px; border-radius: 50%; background: var(--dot); box-shadow: 0 0 0 3px #fff; }
.sw-org2-teams li::after { content: ""; width: 9px; height: 9px; border-top: 2px solid #7a8aa6; border-right: 2px solid #7a8aa6; transform: rotate(45deg); }
.sw-org2-teams li:hover { transform: translateX(4px); box-shadow: 0 12px 28px color-mix(in srgb, var(--a) 22%, transparent); }
.sw-org2-teams li:hover::after { border-color: var(--dot); }
@media (max-width: 1180px) {
  .sw-org2-lab { position: relative !important; margin-top: 28px !important; }
  .sw-org2-lab::before, .sw-org2-lab::after { display: none; }
  .sw-org2-top { gap: 0 24px; }
  .sw-org2-node.is-coo, .sw-org2-node.is-advisor { min-width: 0; }
  .sw-org2-node.is-ceo { min-width: 240px; }
}
@media (max-width: 900px) {
  .sw-org2-top { grid-template-columns: 1fr; gap: 14px; justify-items: center; }
  .sw-org2-top::before, .sw-org2-node.is-coo::after, .sw-org2-node.is-advisor::after { display: none; }
  .sw-org2-node.is-ceo { order: -1; }
  .sw-org2-node.is-coo, .sw-org2-node.is-advisor { justify-self: center; }
  .sw-org2-divs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 18px; }
  .sw-org2-divs::after, .sw-org2-div::before, .sw-org2-div::after { display: none; }
}
@media (max-width: 600px) { .sw-org2-divs { grid-template-columns: 1fr; } .sw-org2-lab { width: 100%; } }

/* 조직도: 기업부설연구소는 최고운영책임자(COO) 바로 아래 점선으로 매단다 */
.sw-org2-coo { position: relative; z-index: 1; justify-self: end; margin: 0 !important; }
.sw-org2-coo > * { margin: 0 !important; }
.sw-org2-coo .sw-org2-node.is-lab { position: absolute; top: calc(100% + 34px); right: 0; left: 0; display: flex; flex-wrap: wrap; column-gap: 12px; row-gap: 2px; width: auto; padding: 14px 20px; border: 1.5px dashed #8fb4e8; border-radius: 14px; background: rgba(255, 255, 255, .85); color: #0b3f99; font-size: calc(1.02rem + 1pt); box-shadow: 0 10px 24px rgba(16, 47, 103, .08); }
.sw-org2-coo .sw-org2-node.is-lab small { flex-basis: 100%; color: #6b7a93; font-size: calc(.8rem + 1pt); font-weight: 600; text-align: center; }
.sw-org2-coo .sw-org2-node.is-lab::after { content: ""; position: absolute; bottom: 100%; left: calc(50% - 1px); height: 34px; border-left: 2px dotted #7fa6dd; }
.sw-org2-hub { margin-top: 150px !important; }
.sw-org2-hub::after { height: 150px; }
@media (max-width: 1180px) {
  .sw-org2-coo .sw-org2-node.is-coo { min-width: 0; }
}
@media (max-width: 900px) {
  .sw-org2-coo { justify-self: center; display: grid; gap: 26px; }
  .sw-org2-coo .sw-org2-node.is-lab { position: relative; top: auto; }
  .sw-org2-coo .sw-org2-node.is-lab::after { height: 26px; }
  .sw-org2-hub { margin-top: 56px !important; }
  .sw-org2-hub::after { height: 56px; }
}

/* 조직도 팀 카드: 팀 이름 아래 하는 일 한 줄, 화살표는 오른쪽 가운데 */
.sw-org2-teams li { display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 12px; row-gap: 4px; }
.sw-org2-teams li strong { grid-column: 1; font-weight: 800; }
.sw-org2-teams li span { grid-column: 1; color: #5b6880; font-size: calc(.84rem + 1pt); font-weight: 500; line-height: 1.55; word-break: keep-all; }
.sw-org2-teams li::after { grid-column: 2; grid-row: 1 / span 2; }
.sw-org2-teams::before { bottom: 40px; }

/* 조직도: COO 대신 대표이사 왼쪽에 기업부설연구소 (고문/법률과 같은 흰 카드) */
.sw-org2-node.is-lab.is-side { justify-self: end; flex-wrap: wrap; row-gap: 2px; width: auto; min-width: 300px; padding: 16px 28px; border: 0; border-radius: 14px; background: #fff; color: #0b1f44; box-shadow: 0 12px 30px rgba(16, 47, 103, .1); }
.sw-org2-node.is-lab.is-side small { flex-basis: 100%; color: #6b7a93; font-size: calc(.8rem + 1pt); font-weight: 600; text-align: center; }
.sw-org2-node.is-lab.is-side::after { content: ""; position: absolute; top: calc(50% - 5px); right: -30px; width: 10px; height: 10px; border-radius: 50%; background: #1f6fe5; box-shadow: 0 0 0 3px #fff; }
.sw-org2-hub { margin-top: 56px !important; }
.sw-org2-hub::after { height: 56px; }
@media (max-width: 1180px) { .sw-org2-node.is-lab.is-side { min-width: 0; } }
@media (max-width: 900px) { .sw-org2-node.is-lab.is-side { justify-self: center; } .sw-org2-node.is-lab.is-side::after { display: none; } }

/* 조직도: 가로선 양끝을 첫째·넷째 본부의 세로선 중심과 정확히 맞춘다 (칸 사이 24px 간격 반영) */
.sw-org2-divs::after { right: calc((100% - 72px) / 8 - 1px); left: calc((100% - 72px) / 8 - 1px); }

/* 조직도 본부 머리: 영문명이 줄바꿈되지 않게 한 줄로, 네 칸 높이를 똑같이 */
.sw-org2-dhead { min-height: 104px; align-content: center; }
.sw-org2-dhead span { overflow: hidden; font-size: calc(.6rem + 1pt); letter-spacing: .14em; text-overflow: ellipsis; white-space: nowrap; }
.sw-org2-dhead span::before, .sw-org2-dhead span::after { content: none; }

/* 조직도 팀 카드: 설명 줄 수와 관계없이 모든 카드를 같은 높이로 */
.sw-org2-teams li { box-sizing: border-box; height: 136px; align-content: center; }
.sw-org2-teams::before { bottom: 68px; }
@media (max-width: 900px) { .sw-org2-teams li { height: auto; min-height: 112px; } .sw-org2-teams::before { bottom: 56px; } }

/* 조직도: 경영지원실은 대표이사 왼쪽 별도 조직(차트 아이콘), 아래 본부는 두 칸 */
.sw-org2-node.is-lab.is-side.is-mgmt { --i: var(--i-chart); }
.sw-org2.is-two .sw-org2-divs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; max-width: 900px; margin-inline: auto !important; }
.sw-org2.is-two .sw-org2-divs::after { right: calc((100% - 40px) / 4 - 1px); left: calc((100% - 40px) / 4 - 1px); }
@media (max-width: 600px) { .sw-org2.is-two .sw-org2-divs { grid-template-columns: 1fr; } }

/* 조직도: 아래 본부 세 칸 (개발사업본부 · IT 서비스 · 기업부설연구소) */
.sw-org2.is-three .sw-org2-divs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; max-width: 1200px; margin-inline: auto !important; }
.sw-org2.is-three .sw-org2-divs::after { right: calc((100% - 64px) / 6 - 1px); left: calc((100% - 64px) / 6 - 1px); }
.sw-org2-div.is-lab { --a: #4b2fc4; --b: #8a6cf2; --dot: #6a4de0; --i: var(--i-flask); }
@media (max-width: 900px) { .sw-org2.is-three .sw-org2-divs { grid-template-columns: 1fr; max-width: 520px; } }

/* 조직도: IT 서비스는 녹색 (남색 · 녹색 · 보라 세 가지로 구분) */
.sw-org2.is-three .sw-org2-div.is-it { --a: #0f9a74; --b: #2cc79e; --dot: #13a57c; }

/* 허브 이름표: 파란 고리 위에 겹쳐도 읽히게 흰 반투명 받침, e-Commerce 이름표는 고리 바깥 위쪽으로 */
.sw-hub-label { padding: 8px 14px; border-radius: 12px; background: rgba(255, 255, 255, .92); box-shadow: 0 8px 22px rgba(16, 47, 103, .1); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.sw-hub-node.n1 .sw-hub-label { top: 4%; }
@media (max-width: 900px) { .sw-hub-label { padding: 0; background: none; box-shadow: none; } }

/* 단계 프로세스 5번째(운영): 아이콘이 없어 회색 네모로 보이던 것 → 톱니 아이콘, 보라 계열 색 */
.sw-process > .wp-block-column:nth-child(5) { --c: #6a5be8; --c2: #b3a9f7; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.2 2h-.4a2 2 0 0 0-2 2v.2a2 2 0 0 1-1 1.7l-.4.3a2 2 0 0 1-2 0l-.2-.1a2 2 0 0 0-2.7.7l-.2.4a2 2 0 0 0 .7 2.7l.2.1a2 2 0 0 1 1 1.7v.5a2 2 0 0 1-1 1.8l-.2.1a2 2 0 0 0-.7 2.7l.2.4a2 2 0 0 0 2.7.7l.2-.1a2 2 0 0 1 2 0l.4.3a2 2 0 0 1 1 1.7v.2a2 2 0 0 0 2 2h.4a2 2 0 0 0 2-2v-.2a2 2 0 0 1 1-1.7l.4-.3a2 2 0 0 1 2 0l.2.1a2 2 0 0 0 2.7-.7l.2-.4a2 2 0 0 0-.7-2.7l-.2-.1a2 2 0 0 1-1-1.7v-.5a2 2 0 0 1 1-1.8l.2-.1a2 2 0 0 0 .7-2.7l-.2-.4a2 2 0 0 0-2.7-.7l-.2.1a2 2 0 0 1-2 0l-.4-.3a2 2 0 0 1-1-1.7V4a2 2 0 0 0-2-2z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.sw-process.is-in > .wp-block-column:nth-child(5) { transition-delay: .8s; }

/* 솔루션 카드 모션 정리: 기울기 · 반사광 · 제목 번쩍임 · 아이콘 통통 · 사진 줌 반복을 걷어내고
   부드러운 등장 + 호버 때만 살짝 뜨는 절제된 움직임으로 */
.sw-sol-grid { perspective: none; }
.sw-sol-grid.is-armed > .sw-sol-card { opacity: 0; transform: translateY(28px); }
.sw-sol-grid.is-in > .sw-sol-card { opacity: 1; transform: none; transition: opacity .9s ease, transform .9s cubic-bezier(.22, .61, .36, 1), box-shadow .4s ease, border-color .4s ease; }
.sw-sol-grid.is-in > .sw-sol-card.is-tilting { transform: none; transition-delay: 0s !important; }
.sw-sol-card > .sw-sol-glare { display: none !important; }
.sw-sol-card .sw-sol-name { background-image: linear-gradient(90deg, var(--sc1), var(--sc2)) !important; background-size: 100% 100% !important; animation: none !important; }
.sw-sol-card .sw-sol-name::before, .sw-sol-card .sw-sol-name::after, .sw-sol-card:hover .sw-sol-name::before, .sw-sol-card:hover .sw-sol-name::after { animation: none !important; }
.sw-sol-card .sw-sol-shot { overflow: hidden; }
.sw-sol-card .sw-sol-shot img { animation: none !important; transform: scale(1); transition: transform 1.2s cubic-bezier(.22, .61, .36, 1); }
.sw-sol-card:hover .sw-sol-shot img { transform: scale(1.05); }
.sw-sol-grid.is-in > .sw-sol-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px color-mix(in srgb, var(--sc1) 18%, transparent); border-color: color-mix(in srgb, var(--sc2) 45%, #fff); transition-delay: 0s !important; }
.sw-sol-card:hover .sw-sol-go a::after, .sw-sol-card.is-lg:hover .sw-sol-go a::after, .sw-sol-card.is-sm:hover .sw-sol-go a::after { animation: none !important; transform: translateX(3px); transition: transform .3s ease; }
.sw-sol-card .sw-sol-go a { transition: background-color .3s ease, border-color .3s ease, color .3s ease; }
.sw-sol-card:hover .sw-sol-go a { border-color: var(--sc1) !important; background-color: var(--sc1) !important; color: #fff !important; }

/* 헤더 '기술지원' 글씨 = 옆 '서비스 문의' 버튼 글씨와 같은 크기 (둘 다 한 값으로 고정) */
.sw-site-header .sw-header-cta .wp-block-button__link { font-size: calc(.9rem + 1pt) !important; }
.sw-site-header .sw-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item.sw-nav-support > .wp-block-navigation-item__content { font-size: calc(.9rem + 1pt) !important; }
.sw-site-header .sw-nav-support > .wp-block-navigation-item__content::before { width: 1.15em !important; height: 1.15em !important; }

/* 단계 프로세스 색: 연두 · 민트 무지개 대신 브랜드 남색 → 하늘색 한 계열로 */
.sw-process > .wp-block-column:nth-child(1) { --c: #13337a; --c2: #3d6fc4; }
.sw-process > .wp-block-column:nth-child(2) { --c: #1a4fb5; --c2: #5b8fe6; }
.sw-process > .wp-block-column:nth-child(3) { --c: #1f6fe5; --c2: #6aa6f5; }
.sw-process > .wp-block-column:nth-child(4) { --c: #1d8fe0; --c2: #74c0f5; }
.sw-process > .wp-block-column:nth-child(5) { --c: #12a4d6; --c2: #7fd3f0; }
.sw-process > .wp-block-column > p:last-child::before { background: #7d8aa0; }

/* 자료실 소개서 신청: 왼쪽 안내(남색 그라데이션) + 오른쪽 신청 폼 */
.sw-brochure-btn { margin-top: auto !important; padding-top: 12px; }
.sw-brochure-btn .wp-block-button__link { padding: 10px 20px; border-radius: 99px; font-size: calc(.9rem + 1pt); font-weight: 700; }
.sw-brochure-sec { scroll-margin-top: 90px; background: linear-gradient(180deg, #f5f9ff, #fff); }
.sw-brochure-box { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); overflow: hidden; border-radius: 24px; background: #fff; box-shadow: 0 30px 70px rgba(16, 47, 103, .12); }
.sw-brochure-box > * { margin: 0 !important; }
.sw-brochure-intro { padding: 48px 40px; background: radial-gradient(circle at 100% 0, rgba(63, 156, 245, .45), transparent 55%), linear-gradient(150deg, #0b2a6b, #123f96 60%, #1d5ad0); color: #fff; }
.sw-brochure-intro h2 { margin: 0 !important; color: #fff !important; font-size: clamp(1.8rem, 3vw, 2.4rem) !important; font-weight: 900 !important; }
.sw-brochure-intro p { margin: 14px 0 0 !important; color: rgba(255, 255, 255, .82); line-height: 1.75; word-break: keep-all; }
.sw-brochure-points { display: grid; gap: 12px; margin: 28px 0 0 !important; padding: 0 !important; list-style: none; }
.sw-brochure-points li { display: flex; align-items: center; gap: 10px; color: #fff; font-weight: 700; }
.sw-brochure-points li::before { content: ""; flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, .18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat; }
.sw-brochure-box .wpcf7 { padding: 40px; }
.sw-cf-docs .wpcf7-checkbox { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 8px; }
.sw-cf-docs .wpcf7-list-item { margin: 0; }
.sw-cf-docs .wpcf7-list-item label { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1.5px solid #dbe5f2; border-radius: 12px; cursor: pointer; font-weight: 700; transition: border-color .2s ease, background .2s ease; }
.sw-cf-docs .wpcf7-list-item label:has(input:checked) { border-color: #1f6fe5; background: #eef5ff; color: #0b3f99; }
.sw-cf-docs .wpcf7-list-item input { width: 18px; height: 18px; accent-color: #1f6fe5; }
.sw-cf-notice { padding: 14px 16px; border-radius: 12px; background: #f4f7fb; color: #5b6880; font-size: calc(.8rem + 1pt); line-height: 1.7; }
.sw-cf-notice strong { color: #26344d; }
@media (max-width: 900px) {
  .sw-brochure-box { grid-template-columns: 1fr; }
  .sw-brochure-intro, .sw-brochure-box .wpcf7 { padding: 30px 22px; }
  .sw-cf-docs .wpcf7-checkbox { grid-template-columns: 1fr; }
}

/* 솔루션 카드 부제: 알약 배경 없이 글자만 (카드 색으로) */
.sw-sol-card .sw-sol-sub { display: block; margin-top: 8px !important; padding: 0 !important; border-radius: 0; background: none !important; color: var(--sc2) !important; font-size: calc(.8rem + 1pt) !important; letter-spacing: .04em; }

/* 허브 다섯 사업 색 구분: 아이콘 · 원 테두리 · 연결선 · 점 · 부제를 사업별 색으로 */
.sw-hub-node.n1 { --hc: #12a283; }
.sw-hub-node.n2 { --hc: #2c4fc2; }
.sw-hub-node.n3 { --hc: #7a4ce6; }
.sw-hub-node.n4 { --hc: #e38a17; }
.sw-hub-node.n5 { --hc: #1f7ae0; }
.sw-hub-node .sw-hub-dot::after { background: var(--hc); }
.sw-hub-node .sw-hub-dot { box-shadow: 0 0 0 10px color-mix(in srgb, var(--hc) 16%, #fff), 0 0 0 11px color-mix(in srgb, var(--hc) 40%, #fff), 0 18px 40px color-mix(in srgb, var(--hc) 28%, transparent); }
.sw-hub-node:hover .sw-hub-dot { box-shadow: 0 0 0 12px color-mix(in srgb, var(--hc) 24%, #fff), 0 0 0 13px var(--hc), 0 0 46px color-mix(in srgb, var(--hc) 45%, transparent); }
.sw-hub-node .sw-hub-label { border-left: 0; box-shadow: 0 8px 22px color-mix(in srgb, var(--hc) 14%, transparent); }
.sw-hub-node .sw-hub-label::before { background: var(--hc); }
.sw-hub-node .sw-hub-label::after { background: var(--hc); box-shadow: 0 0 0 3px #fff, 0 0 0 4px color-mix(in srgb, var(--hc) 35%, transparent); }
.sw-hub-node .sw-hub-label small { color: var(--hc) !important; }
.sw-hub-node:hover .sw-hub-label b { color: var(--hc); }

/* 메가메뉴 분야 제목: 분야별 색 (허브 구성도와 같은 색) + 제목에 붙던 밑줄 제거 */
.sw-primary-nav .sw-mega-col:nth-child(1) { --mc: #12a283; }
.sw-primary-nav .sw-mega-col:nth-child(2) { --mc: #1f7ae0; }
.sw-primary-nav .sw-mega-col:nth-child(3) { --mc: #7a4ce6; }
.sw-primary-nav .sw-mega-col:nth-child(4) { --mc: #2c4fc2; }
.sw-primary-nav .sw-mega-col > .wp-block-navigation-item__content { display: flex !important; align-items: center; gap: 8px; }
.sw-primary-nav .sw-mega-col > .wp-block-navigation-item__content::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--mc); box-shadow: 0 0 0 4px color-mix(in srgb, var(--mc) 18%, transparent); }
.sw-primary-nav .sw-mega-col > .wp-block-navigation-item__content .wp-block-navigation-item__label { padding-bottom: 0 !important; border-bottom: 0 !important; color: var(--mc) !important; font-size: calc(.88rem + 1pt); font-weight: 900; }
.sw-primary-nav .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content:hover { background: color-mix(in srgb, var(--mc) 9%, #fff) !important; }
.sw-primary-nav .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content:hover .wp-block-navigation-item__label { color: var(--mc) !important; }
.sw-primary-nav .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content:hover::after { background: var(--mc) !important; }
/* 솔루션 카탈로그 페이지 분야 제목도 같은 색 */
.sw-catalog > .sw-catalog-col:nth-child(1) { --mc: #12a283; }
.sw-catalog > .sw-catalog-col:nth-child(2) { --mc: #1f7ae0; }
.sw-catalog > .sw-catalog-col:nth-child(3) { --mc: #7a4ce6; }
.sw-catalog > .sw-catalog-col:nth-child(4) { --mc: #2c4fc2; }
.sw-catalog-col .sw-catalog-title { color: var(--mc); }
.sw-catalog-col .sw-catalog-item:hover .sw-catalog-name a { color: var(--mc); }
.sw-catalog-col .sw-catalog-item:hover .sw-catalog-name::after { background: var(--mc); }

/* 소개서 신청 v2: 왼쪽 안내에 3단계 흐름 · 연락처, 배경에 흐릿한 문서 그림, 폼 카드 이중 테두리 제거 */
.sw-brochure-intro { position: relative; display: flex; flex-direction: column; overflow: hidden; padding: 52px 44px !important; }
.sw-brochure-intro > * { position: relative; z-index: 1; }
.sw-brochure-intro::after { content: ""; position: absolute; right: -40px; bottom: -30px; width: 260px; height: 260px; background: rgba(255, 255, 255, .07); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-brochure-intro > p:not([class]) { font-size: calc(.98rem + 1pt); }
.sw-brochure-steps { counter-reset: bstep; position: relative; display: grid; gap: 26px; margin: 36px 0 0 !important; padding: 0 !important; list-style: none; }
.sw-brochure-steps::before { content: ""; position: absolute; top: 20px; bottom: 20px; left: 19px; width: 2px; background: linear-gradient(180deg, rgba(255, 255, 255, .5), rgba(255, 255, 255, .1)); }
.sw-brochure-steps li { counter-increment: bstep; position: relative; display: grid; grid-template-columns: 40px 1fr; column-gap: 16px; row-gap: 4px; margin: 0 !important; }
.sw-brochure-steps li::before { content: "0" counter(bstep); grid-row: 1 / span 2; display: grid; width: 40px; height: 40px; place-items: center; border: 1.5px solid rgba(255, 255, 255, .55); border-radius: 50%; background: #123f96; color: #fff; font-size: calc(.8rem + 1pt); font-weight: 900; }
.sw-brochure-steps li strong { align-self: end; color: #fff; font-size: calc(1.05rem + 1pt); font-weight: 800; }
.sw-brochure-steps li span { color: rgba(255, 255, 255, .72); font-size: calc(.86rem + 1pt); line-height: 1.65; word-break: keep-all; }
.sw-brochure-contact { display: grid; gap: 4px; margin-top: auto !important; padding: 18px 20px; border: 1px solid rgba(255, 255, 255, .22); border-radius: 14px; background: rgba(255, 255, 255, .08); }
.sw-brochure-steps + .sw-brochure-contact { margin-top: 40px !important; }
.sw-brochure-contact strong { margin-bottom: 4px; color: #fff; font-weight: 800; }
.sw-brochure-contact a { color: rgba(255, 255, 255, .88) !important; font-weight: 700; text-decoration: none; }
.sw-brochure-contact a:hover { color: #fff !important; text-decoration: underline; }
.sw-brochure-box .wpcf7 { align-self: center; }
.sw-brochure-box .wpcf7, .sw-brochure-box .wpcf7 form { margin: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
.sw-brochure-box .wpcf7 form { padding: 8px 12px !important; }
@media (max-width: 900px) { .sw-brochure-intro { padding: 32px 22px !important; } .sw-brochure-intro::after { width: 160px; height: 160px; } }

/* 분야 제목 앞 점: 퍼져 나가는 빛 고리로 반짝임 (분야마다 시차) */
@keyframes sw-dot-glow {
  0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--mc) 55%, transparent), 0 0 6px var(--mc); }
  70% { box-shadow: 0 0 0 9px color-mix(in srgb, var(--mc) 0%, transparent), 0 0 12px var(--mc); }
  100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--mc) 0%, transparent), 0 0 6px var(--mc); }
}
.sw-primary-nav .sw-mega-col > .wp-block-navigation-item__content::before { animation: sw-dot-glow 2s ease-out infinite; }
.sw-primary-nav .sw-mega-col:nth-child(2) > .wp-block-navigation-item__content::before { animation-delay: .5s; }
.sw-primary-nav .sw-mega-col:nth-child(3) > .wp-block-navigation-item__content::before { animation-delay: 1s; }
.sw-primary-nav .sw-mega-col:nth-child(4) > .wp-block-navigation-item__content::before { animation-delay: 1.5s; }
@media (prefers-reduced-motion: reduce) { .sw-primary-nav .sw-mega-col > .wp-block-navigation-item__content::before { animation: none; } }

/* 자료실 소개서 카드: 비어 있던 아이콘 칸에 자료별 아이콘 · 색 (회사 남색 / SCOS 초록 / UMS 파랑 / AI 보라) */
.sw-card-grid > .wp-block-column:has(.sw-brochure-btn) { --rc: #13337a; --rc2: #3d6fc4; --ri: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z'/%3E%3Cpath d='M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2M10 6h4M10 10h4M10 14h4M10 18h4'/%3E%3C/svg%3E"); }
.sw-card-grid > .wp-block-column:has(.sw-brochure-btn):nth-child(2) { --rc: #0d8a70; --rc2: #2cc79e; --ri: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4ZM3 6h18M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E"); }
.sw-card-grid > .wp-block-column:has(.sw-brochure-btn):nth-child(3) { --rc: #1a5fd0; --rc2: #4aa3f5; --ri: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2zM8 9h8M8 13h5'/%3E%3C/svg%3E"); }
.sw-card-grid > .wp-block-column:has(.sw-brochure-btn):nth-child(4) { --rc: #5b35d5; --rc2: #9a7bf5; --ri: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.9 15.5A2 2 0 0 0 8.5 14.1l-6.1-1.6a.5.5 0 0 1 0-1l6.1-1.6a2 2 0 0 0 1.4-1.4l1.6-6.1a.5.5 0 0 1 1 0l1.6 6.1a2 2 0 0 0 1.4 1.4l6.1 1.6a.5.5 0 0 1 0 1l-6.1 1.6a2 2 0 0 0-1.4 1.4l-1.6 6.1a.5.5 0 0 1-1 0zM20 3v4M22 5h-4'/%3E%3C/svg%3E"); }
.sw-card:has(.sw-brochure-btn) .sw-icon-badge { position: relative; width: 56px !important; height: 56px !important; margin: 0 0 6px !important; border-radius: 16px; background: linear-gradient(135deg, var(--rc), var(--rc2)) !important; box-shadow: 0 12px 24px color-mix(in srgb, var(--rc) 30%, transparent); }
.sw-card:has(.sw-brochure-btn) .sw-icon-badge::after { content: ""; position: absolute; inset: 14px; background: #fff; -webkit-mask: var(--ri) center / contain no-repeat; mask: var(--ri) center / contain no-repeat; }
.sw-card:has(.sw-brochure-btn) .sw-brochure-btn .wp-block-button__link { background: var(--rc) !important; }
.sw-card:has(.sw-brochure-btn) a:not(.wp-block-button__link) { color: var(--rc) !important; }

/* 홈 챗봇 장면: 파란 다람쥐 대신 CLOUVI 공식 마크(구름 속 다람쥐)를 흰 원 안에 */
.sw-cvw-bot[src*="clouvi-mark"] { box-sizing: border-box; width: 190px; padding: 26px; border-radius: 50%; background: #fff; mix-blend-mode: normal; box-shadow: 0 20px 50px rgba(8, 30, 80, .35), 0 0 0 8px rgba(255, 255, 255, .12); }
@media (max-width: 781px) { .sw-cvw-bot[src*="clouvi-mark"] { width: 150px; margin-left: -75px; padding: 20px; } }

/* 조직도 윗줄: 경영지원실 · 고문/법률 카드를 같은 높이 · 같은 폭으로 */
.sw-org2-top .sw-org2-node.is-side, .sw-org2-top .sw-org2-node.is-advisor { box-sizing: border-box; width: 300px; min-width: 0; height: 80px; padding-block: 0; align-content: center; }
@media (max-width: 1180px) { .sw-org2-top .sw-org2-node.is-side, .sw-org2-top .sw-org2-node.is-advisor { width: 240px; } }
@media (max-width: 900px) { .sw-org2-top .sw-org2-node.is-side, .sw-org2-top .sw-org2-node.is-advisor { width: min(100%, 300px); } }

/* 조직도 본부 머리: 아이콘 + 이름 묶음을 칸 가운데로 */
.sw-org2-dhead { grid-template-columns: 40px auto; justify-content: center; }

/* AI 사업 4단계(INPUT → BUILD → OUTPUT → LOOP): 단계 뜻에 맞는 아이콘 (데이터 · 코드 · 품질 방패 · 순환) */
.sw-process-ai > .wp-block-column:nth-child(1) { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'/%3E%3Cpath d='M3 5v14a9 3 0 0 0 18 0V5M3 12a9 3 0 0 0 18 0'/%3E%3C/svg%3E"); }
.sw-process-ai > .wp-block-column:nth-child(2) { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 18 6-6-6-6M8 6l-6 6 6 6M14 4l-4 16'/%3E%3C/svg%3E"); }
.sw-process-ai > .wp-block-column:nth-child(3) { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.7 9a1 1 0 0 1-.7 0C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.2-2.7a1.2 1.2 0 0 1 1.6 0C14.5 3.8 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.sw-process-ai > .wp-block-column:nth-child(4) { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8M3 3v5h5M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16M16 16h5v5'/%3E%3C/svg%3E"); }

/* 홈 Management Philosophy: 배경을 우주로 (깊은 남색 + 성운 빛 + 반짝이는 별 두 겹) */
.sw-dark:has(> .sw-circle-grid) {
  background:
    radial-gradient(38% 46% at 18% 22%, rgba(120, 80, 230, .30), transparent 70%),
    radial-gradient(42% 50% at 86% 78%, rgba(30, 140, 230, .30), transparent 72%),
    radial-gradient(30% 36% at 60% 10%, rgba(40, 190, 220, .14), transparent 70%),
    radial-gradient(120% 90% at 50% 120%, #0b1d4a, transparent 60%),
    linear-gradient(180deg, #02061a, #050d2b 55%, #02061a) !important;
}
.sw-dark:has(> .sw-circle-grid)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520'%3E%3Ccircle cx='168.4' cy='78.4' r='0.73' fill='%23ffffff' fill-opacity='0.38'/%3E%3Ccircle cx='190.2' cy='30.2' r='0.65' fill='%23ffe9c7' fill-opacity='0.37'/%3E%3Ccircle cx='217.4' cy='125.1' r='0.68' fill='%23ffffff' fill-opacity='0.38'/%3E%3Ccircle cx='492.7' cy='327.9' r='0.69' fill='%23ffe9c7' fill-opacity='0.38'/%3E%3Ccircle cx='25.8' cy='115.0' r='0.68' fill='%23ffe9c7' fill-opacity='0.41'/%3E%3Ccircle cx='75.0' cy='61.3' r='0.55' fill='%23ffffff' fill-opacity='0.72'/%3E%3Ccircle cx='53.6' cy='297.0' r='0.49' fill='%23ffffff' fill-opacity='0.39'/%3E%3Ccircle cx='293.5' cy='321.9' r='0.65' fill='%23cfe3ff' fill-opacity='0.59'/%3E%3Ccircle cx='242.1' cy='480.2' r='0.58' fill='%23ffffff' fill-opacity='0.46'/%3E%3Ccircle cx='363.5' cy='126.9' r='0.69' fill='%23cfe3ff' fill-opacity='0.59'/%3E%3Ccircle cx='379.3' cy='149.7' r='0.89' fill='%23ffe9c7' fill-opacity='0.40'/%3E%3Ccircle cx='85.8' cy='177.9' r='0.87' fill='%23ffffff' fill-opacity='0.54'/%3E%3Ccircle cx='397.6' cy='298.0' r='0.84' fill='%23cfe3ff' fill-opacity='0.49'/%3E%3Ccircle cx='309.1' cy='301.5' r='0.63' fill='%23cfe3ff' fill-opacity='0.73'/%3E%3Ccircle cx='246.5' cy='345.4' r='0.43' fill='%23ffe9c7' fill-opacity='0.67'/%3E%3Ccircle cx='148.0' cy='200.6' r='0.73' fill='%23ffe9c7' fill-opacity='0.36'/%3E%3Ccircle cx='184.8' cy='317.7' r='0.65' fill='%23cfe3ff' fill-opacity='0.45'/%3E%3Ccircle cx='67.3' cy='128.8' r='0.60' fill='%23ffffff' fill-opacity='0.74'/%3E%3Ccircle cx='86.5' cy='208.9' r='0.54' fill='%23ffe9c7' fill-opacity='0.41'/%3E%3Ccircle cx='449.3' cy='144.8' r='0.61' fill='%23ffe9c7' fill-opacity='0.51'/%3E%3Ccircle cx='498.0' cy='78.5' r='0.49' fill='%23ffffff' fill-opacity='0.45'/%3E%3Ccircle cx='6.3' cy='432.2' r='0.49' fill='%23ffffff' fill-opacity='0.48'/%3E%3Ccircle cx='217.9' cy='192.0' r='0.68' fill='%23ffffff' fill-opacity='0.78'/%3E%3Ccircle cx='237.5' cy='452.9' r='0.88' fill='%23ffe9c7' fill-opacity='0.66'/%3E%3Ccircle cx='207.0' cy='204.9' r='0.64' fill='%23ffffff' fill-opacity='0.53'/%3E%3Ccircle cx='35.0' cy='108.6' r='0.48' fill='%23ffffff' fill-opacity='0.50'/%3E%3Ccircle cx='53.2' cy='294.7' r='0.67' fill='%23ffffff' fill-opacity='0.78'/%3E%3Ccircle cx='36.6' cy='108.1' r='0.59' fill='%23cfe3ff' fill-opacity='0.64'/%3E%3Ccircle cx='313.2' cy='246.6' r='0.46' fill='%23ffe9c7' fill-opacity='0.57'/%3E%3Ccircle cx='249.8' cy='162.2' r='0.47' fill='%23cfe3ff' fill-opacity='0.69'/%3E%3Ccircle cx='248.9' cy='359.9' r='0.66' fill='%23cfe3ff' fill-opacity='0.44'/%3E%3Ccircle cx='76.2' cy='282.4' r='0.41' fill='%23ffffff' fill-opacity='0.59'/%3E%3Ccircle cx='362.0' cy='135.8' r='0.58' fill='%23ffffff' fill-opacity='0.43'/%3E%3Ccircle cx='276.9' cy='405.1' r='0.56' fill='%23ffffff' fill-opacity='0.45'/%3E%3Ccircle cx='419.2' cy='425.5' r='0.77' fill='%23ffe9c7' fill-opacity='0.45'/%3E%3Ccircle cx='184.9' cy='15.1' r='0.41' fill='%23cfe3ff' fill-opacity='0.48'/%3E%3Ccircle cx='100.7' cy='314.7' r='0.57' fill='%23cfe3ff' fill-opacity='0.71'/%3E%3Ccircle cx='496.6' cy='189.6' r='0.51' fill='%23ffffff' fill-opacity='0.45'/%3E%3Ccircle cx='175.6' cy='251.0' r='0.89' fill='%23ffffff' fill-opacity='0.62'/%3E%3Ccircle cx='249.3' cy='339.5' r='0.80' fill='%23ffffff' fill-opacity='0.39'/%3E%3Ccircle cx='473.1' cy='406.8' r='0.78' fill='%23ffffff' fill-opacity='0.57'/%3E%3Ccircle cx='225.6' cy='330.6' r='0.44' fill='%23ffe9c7' fill-opacity='0.78'/%3E%3Ccircle cx='240.8' cy='386.5' r='0.44' fill='%23ffffff' fill-opacity='0.42'/%3E%3Ccircle cx='14.3' cy='307.2' r='0.63' fill='%23ffe9c7' fill-opacity='0.65'/%3E%3Ccircle cx='341.8' cy='182.2' r='0.67' fill='%23ffffff' fill-opacity='0.41'/%3E%3Ccircle cx='415.7' cy='377.7' r='0.45' fill='%23ffffff' fill-opacity='0.69'/%3E%3Ccircle cx='225.6' cy='453.3' r='0.81' fill='%23cfe3ff' fill-opacity='0.44'/%3E%3Ccircle cx='110.6' cy='260.6' r='0.78' fill='%23ffe9c7' fill-opacity='0.50'/%3E%3Ccircle cx='433.8' cy='31.7' r='0.77' fill='%23ffe9c7' fill-opacity='0.75'/%3E%3Ccircle cx='430.1' cy='456.6' r='0.47' fill='%23ffffff' fill-opacity='0.42'/%3E%3Ccircle cx='453.9' cy='403.8' r='0.70' fill='%23ffffff' fill-opacity='0.70'/%3E%3Ccircle cx='89.6' cy='246.2' r='0.76' fill='%23cfe3ff' fill-opacity='0.60'/%3E%3Ccircle cx='354.8' cy='276.0' r='0.64' fill='%23ffffff' fill-opacity='0.70'/%3E%3Ccircle cx='129.2' cy='144.0' r='0.79' fill='%23ffffff' fill-opacity='0.58'/%3E%3Ccircle cx='395.2' cy='474.5' r='0.62' fill='%23ffffff' fill-opacity='0.63'/%3E%3Ccircle cx='360.2' cy='235.2' r='0.67' fill='%23ffffff' fill-opacity='0.57'/%3E%3Ccircle cx='363.6' cy='455.8' r='0.87' fill='%23ffffff' fill-opacity='0.47'/%3E%3Ccircle cx='436.8' cy='71.3' r='0.46' fill='%23ffffff' fill-opacity='0.55'/%3E%3Ccircle cx='349.0' cy='222.7' r='0.51' fill='%23ffffff' fill-opacity='0.49'/%3E%3Ccircle cx='466.5' cy='80.3' r='0.76' fill='%23ffffff' fill-opacity='0.65'/%3E%3Ccircle cx='131.6' cy='71.4' r='0.63' fill='%23ffffff' fill-opacity='0.69'/%3E%3Ccircle cx='207.1' cy='253.4' r='0.89' fill='%23ffffff' fill-opacity='0.72'/%3E%3Ccircle cx='367.3' cy='516.9' r='0.60' fill='%23cfe3ff' fill-opacity='0.54'/%3E%3Ccircle cx='165.6' cy='375.5' r='0.41' fill='%23ffe9c7' fill-opacity='0.60'/%3E%3Ccircle cx='365.6' cy='199.9' r='0.66' fill='%23ffffff' fill-opacity='0.48'/%3E%3Ccircle cx='58.7' cy='477.6' r='0.51' fill='%23ffffff' fill-opacity='0.74'/%3E%3Ccircle cx='138.1' cy='20.6' r='0.79' fill='%23ffffff' fill-opacity='0.47'/%3E%3Ccircle cx='426.3' cy='441.8' r='0.74' fill='%23ffe9c7' fill-opacity='0.78'/%3E%3Ccircle cx='77.7' cy='478.0' r='0.69' fill='%23ffffff' fill-opacity='0.67'/%3E%3Ccircle cx='145.1' cy='415.8' r='0.49' fill='%23cfe3ff' fill-opacity='0.75'/%3E%3Ccircle cx='487.9' cy='329.9' r='0.80' fill='%23ffffff' fill-opacity='0.39'/%3E%3Ccircle cx='34.6' cy='448.6' r='0.63' fill='%23ffe9c7' fill-opacity='0.50'/%3E%3Ccircle cx='481.9' cy='139.3' r='0.46' fill='%23ffffff' fill-opacity='0.59'/%3E%3Ccircle cx='487.8' cy='504.0' r='0.53' fill='%23cfe3ff' fill-opacity='0.43'/%3E%3Ccircle cx='326.9' cy='276.2' r='0.50' fill='%23ffffff' fill-opacity='0.55'/%3E%3Ccircle cx='140.7' cy='417.9' r='0.90' fill='%23ffffff' fill-opacity='0.37'/%3E%3Ccircle cx='381.2' cy='286.5' r='0.49' fill='%23ffe9c7' fill-opacity='0.56'/%3E%3Ccircle cx='55.3' cy='425.8' r='0.62' fill='%23ffe9c7' fill-opacity='0.57'/%3E%3Ccircle cx='504.6' cy='160.0' r='0.51' fill='%23ffffff' fill-opacity='0.45'/%3E%3Ccircle cx='432.8' cy='367.5' r='0.72' fill='%23cfe3ff' fill-opacity='0.53'/%3E%3Ccircle cx='510.6' cy='435.2' r='0.41' fill='%23cfe3ff' fill-opacity='0.63'/%3E%3Ccircle cx='224.0' cy='28.8' r='0.73' fill='%23cfe3ff' fill-opacity='0.52'/%3E%3Ccircle cx='311.4' cy='360.2' r='0.42' fill='%23cfe3ff' fill-opacity='0.43'/%3E%3Ccircle cx='231.8' cy='136.9' r='0.88' fill='%23cfe3ff' fill-opacity='0.79'/%3E%3Ccircle cx='127.1' cy='502.1' r='0.55' fill='%23ffffff' fill-opacity='0.51'/%3E%3Ccircle cx='174.4' cy='43.6' r='0.54' fill='%23ffffff' fill-opacity='0.65'/%3E%3Ccircle cx='262.5' cy='2.6' r='0.53' fill='%23ffe9c7' fill-opacity='0.39'/%3E%3Ccircle cx='305.1' cy='204.9' r='0.55' fill='%23ffffff' fill-opacity='0.63'/%3E%3Ccircle cx='304.5' cy='275.2' r='0.78' fill='%23ffe9c7' fill-opacity='0.65'/%3E%3Ccircle cx='397.4' cy='374.8' r='0.65' fill='%23ffffff' fill-opacity='0.48'/%3E%3Ccircle cx='22.8' cy='434.4' r='0.85' fill='%23ffffff' fill-opacity='0.63'/%3E%3Ccircle cx='473.1' cy='391.5' r='0.68' fill='%23ffffff' fill-opacity='0.72'/%3E%3Ccircle cx='429.7' cy='303.7' r='0.85' fill='%23ffffff' fill-opacity='0.66'/%3E%3Ccircle cx='44.2' cy='21.8' r='0.72' fill='%23ffe9c7' fill-opacity='0.78'/%3E%3Ccircle cx='434.6' cy='290.4' r='0.71' fill='%23ffffff' fill-opacity='0.63'/%3E%3Ccircle cx='254.4' cy='1.7' r='0.80' fill='%23ffffff' fill-opacity='0.69'/%3E%3Ccircle cx='342.8' cy='34.3' r='0.77' fill='%23ffffff' fill-opacity='0.46'/%3E%3Ccircle cx='440.0' cy='122.1' r='0.78' fill='%23ffe9c7' fill-opacity='0.45'/%3E%3Ccircle cx='256.9' cy='198.9' r='0.64' fill='%23ffffff' fill-opacity='0.66'/%3E%3Ccircle cx='320.8' cy='334.2' r='0.44' fill='%23cfe3ff' fill-opacity='0.42'/%3E%3Ccircle cx='338.8' cy='360.3' r='0.71' fill='%23ffe9c7' fill-opacity='0.41'/%3E%3Ccircle cx='31.5' cy='139.8' r='0.74' fill='%23ffe9c7' fill-opacity='0.66'/%3E%3Ccircle cx='151.2' cy='268.6' r='0.63' fill='%23ffffff' fill-opacity='0.56'/%3E%3Ccircle cx='516.5' cy='285.5' r='0.56' fill='%23ffe9c7' fill-opacity='0.39'/%3E%3Ccircle cx='9.1' cy='238.7' r='0.81' fill='%23ffe9c7' fill-opacity='0.79'/%3E%3Ccircle cx='516.9' cy='201.2' r='0.86' fill='%23ffffff' fill-opacity='0.77'/%3E%3Ccircle cx='302.4' cy='73.7' r='0.66' fill='%23ffffff' fill-opacity='0.78'/%3E%3Ccircle cx='313.8' cy='328.5' r='0.54' fill='%23cfe3ff' fill-opacity='0.40'/%3E%3Ccircle cx='120.3' cy='466.8' r='0.64' fill='%23ffffff' fill-opacity='0.36'/%3E%3Ccircle cx='494.0' cy='354.4' r='0.60' fill='%23ffe9c7' fill-opacity='0.68'/%3E%3Ccircle cx='178.9' cy='164.4' r='0.82' fill='%23cfe3ff' fill-opacity='0.35'/%3E%3Ccircle cx='436.3' cy='62.4' r='0.86' fill='%23cfe3ff' fill-opacity='0.67'/%3E%3Ccircle cx='131.7' cy='33.8' r='0.60' fill='%23ffffff' fill-opacity='0.74'/%3E%3Ccircle cx='187.6' cy='222.6' r='0.54' fill='%23ffffff' fill-opacity='0.37'/%3E%3Ccircle cx='26.8' cy='344.2' r='0.72' fill='%23cfe3ff' fill-opacity='0.42'/%3E%3Ccircle cx='226.8' cy='164.1' r='0.79' fill='%23ffe9c7' fill-opacity='0.70'/%3E%3Ccircle cx='459.8' cy='422.2' r='0.72' fill='%23ffffff' fill-opacity='0.76'/%3E%3Ccircle cx='374.2' cy='25.7' r='0.77' fill='%23ffffff' fill-opacity='0.55'/%3E%3Ccircle cx='335.1' cy='148.8' r='0.42' fill='%23ffffff' fill-opacity='0.77'/%3E%3Ccircle cx='88.8' cy='215.7' r='0.54' fill='%23cfe3ff' fill-opacity='0.47'/%3E%3Ccircle cx='211.2' cy='124.1' r='0.64' fill='%23ffffff' fill-opacity='0.65'/%3E%3Ccircle cx='87.0' cy='84.1' r='0.50' fill='%23ffe9c7' fill-opacity='0.76'/%3E%3Ccircle cx='286.2' cy='235.6' r='0.57' fill='%23ffe9c7' fill-opacity='0.69'/%3E%3Ccircle cx='72.6' cy='100.1' r='0.45' fill='%23ffffff' fill-opacity='0.50'/%3E%3Ccircle cx='166.0' cy='191.5' r='0.80' fill='%23ffffff' fill-opacity='0.44'/%3E%3Ccircle cx='389.8' cy='214.6' r='0.61' fill='%23ffe9c7' fill-opacity='0.59'/%3E%3Ccircle cx='140.5' cy='391.1' r='0.65' fill='%23cfe3ff' fill-opacity='0.61'/%3E%3Ccircle cx='65.5' cy='261.8' r='0.71' fill='%23ffffff' fill-opacity='0.74'/%3E%3Ccircle cx='48.2' cy='466.3' r='0.59' fill='%23ffe9c7' fill-opacity='0.64'/%3E%3Ccircle cx='496.1' cy='441.3' r='0.84' fill='%23ffffff' fill-opacity='0.36'/%3E%3Ccircle cx='221.1' cy='397.1' r='0.80' fill='%23ffe9c7' fill-opacity='0.79'/%3E%3Ccircle cx='0.1' cy='203.6' r='0.86' fill='%23ffe9c7' fill-opacity='0.72'/%3E%3Ccircle cx='505.6' cy='129.2' r='0.45' fill='%23ffffff' fill-opacity='0.42'/%3E%3Ccircle cx='489.6' cy='375.3' r='0.72' fill='%23ffe9c7' fill-opacity='0.69'/%3E%3Ccircle cx='44.2' cy='404.0' r='0.40' fill='%23ffffff' fill-opacity='0.41'/%3E%3Ccircle cx='335.7' cy='158.0' r='0.46' fill='%23ffe9c7' fill-opacity='0.46'/%3E%3Ccircle cx='363.3' cy='58.3' r='0.44' fill='%23ffffff' fill-opacity='0.59'/%3E%3Ccircle cx='201.8' cy='116.3' r='0.70' fill='%23cfe3ff' fill-opacity='0.35'/%3E%3Ccircle cx='518.1' cy='144.9' r='0.56' fill='%23ffffff' fill-opacity='0.73'/%3E%3Ccircle cx='247.2' cy='122.1' r='0.52' fill='%23cfe3ff' fill-opacity='0.78'/%3E%3C/svg%3E") !important;
  background-size: 520px 520px !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
  animation: sw-star-twinkle 6s ease-in-out infinite;
}
.sw-dark:has(> .sw-circle-grid)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='700' height='700'%3E%3Ccircle cx='38.7' cy='135.9' r='1.62' fill='%23ffffff' fill-opacity='0.86'/%3E%3Ccircle cx='180.1' cy='467.1' r='1.65' fill='%23ffffff' fill-opacity='0.69'/%3E%3Ccircle cx='487.1' cy='502.8' r='1.25' fill='%23ffffff' fill-opacity='0.76'/%3E%3Ccircle cx='557.9' cy='517.4' r='1.35' fill='%23ffffff' fill-opacity='0.68'/%3E%3Ccircle cx='218.2' cy='574.0' r='1.16' fill='%23cfe3ff' fill-opacity='0.69'/%3E%3Ccircle cx='76.3' cy='436.5' r='1.43' fill='%23ffe9c7' fill-opacity='0.96'/%3E%3Ccircle cx='291.9' cy='465.7' r='1.66' fill='%23ffe9c7' fill-opacity='0.66'/%3E%3Ccircle cx='38.1' cy='16.5' r='1.42' fill='%23ffffff' fill-opacity='0.77'/%3E%3Ccircle cx='128.9' cy='314.7' r='1.50' fill='%23ffffff' fill-opacity='0.73'/%3E%3Ccircle cx='698.3' cy='652.1' r='1.23' fill='%23ffe9c7' fill-opacity='0.67'/%3E%3Ccircle cx='22.3' cy='465.1' r='1.27' fill='%23cfe3ff' fill-opacity='0.75'/%3E%3Ccircle cx='309.7' cy='76.3' r='1.05' fill='%23ffe9c7' fill-opacity='0.63'/%3E%3Ccircle cx='668.9' cy='86.6' r='1.67' fill='%23cfe3ff' fill-opacity='0.68'/%3E%3Ccircle cx='538.1' cy='216.1' r='1.56' fill='%23ffe9c7' fill-opacity='0.64'/%3E%3Ccircle cx='137.0' cy='379.1' r='1.31' fill='%23ffe9c7' fill-opacity='0.73'/%3E%3Ccircle cx='21.2' cy='287.6' r='1.57' fill='%23ffffff' fill-opacity='0.91'/%3E%3Ccircle cx='262.9' cy='324.8' r='1.56' fill='%23ffffff' fill-opacity='0.62'/%3E%3Ccircle cx='523.1' cy='629.0' r='1.24' fill='%23ffffff' fill-opacity='0.71'/%3E%3Ccircle cx='183.5' cy='501.6' r='1.22' fill='%23ffffff' fill-opacity='0.71'/%3E%3Ccircle cx='505.1' cy='416.9' r='1.56' fill='%23ffffff' fill-opacity='0.98'/%3E%3Ccircle cx='17.0' cy='163.7' r='1.33' fill='%23ffe9c7' fill-opacity='0.98'/%3E%3Ccircle cx='552.9' cy='639.5' r='1.57' fill='%23ffe9c7' fill-opacity='0.65'/%3E%3Ccircle cx='128.1' cy='561.8' r='1.52' fill='%23ffffff' fill-opacity='0.93'/%3E%3Ccircle cx='425.1' cy='229.5' r='1.22' fill='%23ffffff' fill-opacity='0.74'/%3E%3Ccircle cx='358.3' cy='274.2' r='1.11' fill='%23ffffff' fill-opacity='0.76'/%3E%3Ccircle cx='337.2' cy='381.2' r='1.11' fill='%23ffffff' fill-opacity='0.77'/%3E%3C/svg%3E");
  background-size: 700px 700px;
  pointer-events: none;
  animation: sw-star-twinkle 4.5s ease-in-out infinite reverse, sw-star-drift 120s linear infinite;
}
@keyframes sw-star-twinkle { 0%, 100% { opacity: 1; } 50% { opacity: .45; } }
@keyframes sw-star-drift { to { background-position: 700px 350px; } }
@media (prefers-reduced-motion: reduce) { .sw-dark:has(> .sw-circle-grid)::before, .sw-dark:has(> .sw-circle-grid)::after { animation: none; } }

/* 단계 프로세스 원: 반은 실선 · 반은 점선이라 '그리다 만' 느낌 → 완성된 원(옅은 색 채움 + 색 테두리 + 그림자), 아이콘도 단계 색 */
.sw-process > .wp-block-column::after { border: 0 !important; background: radial-gradient(circle at 50% 35%, #fff 0%, color-mix(in srgb, var(--c) 9%, #fff) 100%) !important; box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--c) 45%, #fff), 0 18px 40px color-mix(in srgb, var(--c) 16%, transparent) !important; }
.sw-process > .wp-block-column > p:last-child::before { z-index: 1; background: var(--c) !important; }

/* 홈 챗봇 장면: CLOUVI 마크 원을 챗봇 창보다 앞으로 */
.sw-cvw-bot { z-index: 5 !important; }

/* 소개서 팝업: 달 대신 문서 아이콘, 파랑 계열 강조 */
.sw-popup.is-brochure .sw-popup-card { background: radial-gradient(180px 180px at 84% 14%, rgba(80, 160, 255, .35), transparent 70%), linear-gradient(160deg, #123a86 0%, #0b1a3a 100%); }
.sw-popup.is-brochure .sw-popup-card::before { width: 64px; height: 64px; border-radius: 18px; background: linear-gradient(135deg, #5fb0ff, #1f6fe5) !important; box-shadow: 0 12px 30px rgba(31, 111, 229, .5); }
.sw-popup.is-brochure .sw-popup-card::after { content: ""; position: absolute; top: 50px; right: 52px; width: 32px; height: 32px; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M12 18v-6M9 15l3 3 3-3'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M12 18v-6M9 15l3 3 3-3'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-popup.is-brochure .sw-popup-title em { color: #7cc4ff; }
@media (max-width: 600px) { .sw-popup.is-brochure .sw-popup-card::after { top: 38px; right: 36px; width: 24px; height: 24px; } }

/* 홈 챗봇 장면: 누끼 딴 CLOUVI 마크를 흰 원 없이 크게, 뒤에 은은한 파란 빛 */
.sw-cvw-bot[src*="clouvi-mark-cut"] { width: 230px; padding: 0; border-radius: 0; background: none; box-shadow: none; mix-blend-mode: normal; filter: drop-shadow(0 14px 26px rgba(31, 122, 224, .35)) drop-shadow(0 0 18px rgba(63, 198, 221, .35)); }
@media (max-width: 781px) { .sw-cvw-bot[src*="clouvi-mark-cut"] { width: 170px; margin-left: -85px; padding: 0; } }

/* 홈 솔루션 카드 v3: 흰 카드 + 위 글 · 아래 사진(색 제목 · 색 아이콘 칸)이 촌스럽다 →
   사진이 카드 전체를 채우고, 아래쪽 어두운 그라데이션 위에 흰 글씨 · 유리 아이콘 · 유리 화살표 */
.sw-sol-grid > .sw-sol-card, .sw-sol-grid > .sw-sol-card.is-lg, .sw-sol-grid > .sw-sol-card.is-sm { display: flex !important; flex-direction: column; justify-content: flex-end; min-height: 360px; padding: 30px 30px 28px !important; border: 0 !important; border-radius: 22px; background: #07142f !important; color: #fff; box-shadow: 0 18px 40px rgba(8, 24, 60, .16); }
.sw-sol-grid > .sw-sol-card .sw-sol-body { padding: 0 !important; }
.sw-sol-grid > .sw-sol-card .sw-sol-shot { position: absolute !important; inset: 0; z-index: 0; order: 0 !important; margin: 0 !important; padding: 0 !important; aspect-ratio: auto !important; border-radius: 0 !important; background: none !important; overflow: hidden; }
.sw-sol-grid > .sw-sol-card .sw-sol-shot img { width: 100% !important; height: 100% !important; border-radius: 0 !important; object-fit: cover; object-position: center; box-shadow: none !important; filter: saturate(1.05) brightness(.95) !important; transform: scale(1.001); transition: transform 1.4s cubic-bezier(.22, .61, .36, 1) !important; }
.sw-sol-grid > .sw-sol-card:hover .sw-sol-shot img { transform: scale(1.07) !important; }
.sw-sol-grid > .sw-sol-card::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(4, 12, 32, .05) 0%, rgba(4, 12, 32, .35) 38%, rgba(4, 12, 32, .9) 100%); pointer-events: none; transition: background .5s ease; }
.sw-sol-grid > .sw-sol-card::after { content: ""; position: absolute; left: 30px; bottom: 0; z-index: 3; width: 56px; height: 3px; border-radius: 3px 3px 0 0; background: var(--sc2); transition: width .5s cubic-bezier(.22, .61, .36, 1); pointer-events: none; }
.sw-sol-grid > .sw-sol-card:hover::after { width: calc(100% - 60px); }
.sw-sol-grid > .sw-sol-card:hover::before { background: linear-gradient(180deg, rgba(4, 12, 32, .1) 0%, color-mix(in srgb, var(--sc1) 45%, rgba(4, 12, 32, .5)) 45%, rgba(4, 12, 32, .92) 100%); }
.sw-sol-grid > .sw-sol-card .sw-sol-name, .sw-sol-grid > .sw-sol-card .sw-sol-sub, .sw-sol-grid > .sw-sol-card .sw-sol-tag, .sw-sol-grid > .sw-sol-card .sw-sol-body { position: relative; z-index: 2; padding: 0 !important; }
.sw-sol-grid > .sw-sol-card .sw-sol-name { color: #fff !important; background: none !important; -webkit-text-fill-color: #fff !important; font-size: calc(1.55rem + 1pt) !important; }
.sw-sol-grid > .sw-sol-card .sw-sol-name::before { width: 42px !important; height: 42px !important; border: 1px solid rgba(255, 255, 255, .28); border-radius: 12px !important; background: rgba(255, 255, 255, .14) !important; box-shadow: none !important; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.sw-sol-grid > .sw-sol-card .sw-sol-name::after, .sw-sol-grid > .sw-sol-card.is-sm > .sw-sol-name::after { top: 11px !important; left: 11px !important; width: 20px; height: 20px; }
.sw-sol-grid > .sw-sol-card .sw-sol-sub { margin-top: 10px !important; color: color-mix(in srgb, var(--sc2) 55%, #fff) !important; font-size: calc(.74rem + 1pt) !important; letter-spacing: .08em; }
.sw-sol-grid > .sw-sol-card .sw-sol-tag { margin-top: 10px !important; color: rgba(255, 255, 255, .82) !important; font-size: calc(.95rem + 1pt); }
.sw-sol-grid > .sw-sol-card .sw-sol-go a::after, .sw-sol-grid > .sw-sol-card.is-lg .sw-sol-go a::after, .sw-sol-grid > .sw-sol-card.is-sm .sw-sol-go a::after { top: 26px !important; right: 26px !important; z-index: 3; transform: none !important; border: 1px solid rgba(255, 255, 255, .45) !important; background: rgba(255, 255, 255, .12) !important; color: #fff !important; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.sw-sol-grid > .sw-sol-card:hover .sw-sol-go a::after { border-color: #fff !important; background: #fff !important; color: var(--sc1) !important; transform: rotate(-45deg) !important; transition: transform .35s ease, background .3s ease, color .3s ease !important; }
.sw-sol-grid.is-in > .sw-sol-card:hover { transform: translateY(-6px); box-shadow: 0 28px 60px color-mix(in srgb, var(--sc1) 28%, transparent); }
@media (max-width: 781px) { .sw-sol-grid > .sw-sol-card, .sw-sol-grid > .sw-sol-card.is-lg, .sw-sol-grid > .sw-sol-card.is-sm { min-height: 300px; padding: 24px 22px 22px !important; } .sw-sol-grid > .sw-sol-card::after { left: 22px; } }

/* 모바일 메뉴 패널: 헤더 높이만큼만 열려 스크롤이 생기던 것 → 화면 전체 높이로 쫙 펼친다.
   헤더에 걸린 backdrop-filter/transform 이 fixed 기준을 헤더로 바꾸므로 메뉴가 열린 동안은 끈다. */
.wp-site-blocks > header.wp-block-template-part:has(.sw-mnav.is-menu-open),
.wp-site-blocks > header.wp-block-template-part:has(.sw-mnav.is-menu-open) .sw-site-header { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; transform: none !important; filter: none !important; }
.sw-site-header .sw-mnav.is-menu-open { position: fixed !important; top: 0 !important; bottom: 0 !important; height: 100vh !important; height: 100dvh !important; max-height: none !important; overflow-x: hidden !important; overflow-y: auto !important; overscroll-behavior: contain; }
.sw-site-header .sw-mnav.is-menu-open .wp-block-navigation__responsive-close,
.sw-site-header .sw-mnav.is-menu-open .wp-block-navigation__responsive-dialog,
.sw-site-header .sw-mnav.is-menu-open .wp-block-navigation__responsive-container-content { width: 100% !important; max-width: none !important; height: auto; overflow: visible !important; }
/* 모바일 메뉴 안 '제품/솔루션': 데스크톱 메가메뉴 설정(가운데 띄우기 · 호버 때만 보이기)을 풀어 아래로 펼친다 */
.sw-site-header .sw-mnav.is-menu-open .sw-mega.sw-open > .wp-block-navigation__submenu-container { position: static !important; left: auto !important; width: 100% !important; min-width: 0 !important; visibility: visible !important; opacity: 1 !important; transform: none !important; }

/* 페이지 제목 배너 설명: 단어 중간에서 줄이 끊기지 않게, 긴 설명도 읽기 좋은 폭으로 */
.sw-page-hero p { max-width: 46em; word-break: keep-all; overflow-wrap: break-word; line-height: 1.7; }

/* UMS 이메일 구간별 라우팅 카드: 넓은 폭 전체를 쓰고, 단계 사이 줄바꿈은 단어 단위로 */
.sw-route-cards { display: grid; gap: 18px; }
.sw-route-cards > .sw-card { max-width: none !important; margin: 0 !important; padding: 26px 32px; }
.sw-route-cards > .sw-card > * { max-width: none !important; }
.sw-route-cards > .sw-card p:not(.sw-tag) { font-size: calc(1rem + 1pt); line-height: 1.8; word-break: keep-all; }

/* 고객 사례 카드 로고: 카드 맨 위 왼쪽, 로고마다 비율이 달라도 같은 높이 칸 안에 */
.sw-card .sw-case-logo { display: flex; align-items: center; width: 150px; height: 48px; margin: 0 0 14px !important; }
.sw-card .sw-case-logo img { width: auto !important; max-width: 100%; height: auto; max-height: 100%; object-fit: contain; object-position: left center; }

/* 제품 첫 화면 핸드폰 목업 v2: 실제 폰처럼 — 티타늄 테두리 · 옆 버튼 · 다이내믹 아일랜드 · 잠금화면 시계 ·
   배경화면 위 유리 알림 카드(채널 앱 아이콘 + 이름 + '지금') */
.sw-ums-phone { position: relative; padding: 11px !important; border-radius: 50px !important; background: linear-gradient(145deg, #9aa7bd, #4b5870 30%, #1a2233 60%, #6c7a92) !important; box-shadow: 0 50px 90px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .18), inset 0 0 0 2px rgba(255, 255, 255, .25) !important; }
.sw-ums-phone::before, .sw-ums-phone::after { content: ""; position: absolute; width: 4px; border-radius: 2px; background: linear-gradient(90deg, #5d6a82, #2a3346); }
.sw-ums-phone::before { top: 22%; left: -4px; height: 64px; box-shadow: 0 84px 0 #3a4459; }
.sw-ums-phone::after { top: 30%; right: -4px; height: 92px; }
.sw-ums-screen { position: relative; gap: 9px !important; padding: 150px 12px 18px !important; border-radius: 40px !important; background: radial-gradient(120% 70% at 20% 0%, #7b6cff 0%, transparent 55%), radial-gradient(90% 60% at 100% 40%, #1fb6e8 0%, transparent 60%), radial-gradient(100% 80% at 30% 100%, #1a3fa8 0%, transparent 70%), linear-gradient(180deg, #2a2f8f, #0b1c5a) !important; box-shadow: inset 0 0 0 5px #05070d; }
/* 다이내믹 아일랜드 */
.sw-ums-screen::before { content: ""; position: absolute; top: 14px; left: 50%; width: 92px; height: 26px; border-radius: 20px; background: #05070d; transform: translateX(-50%); }
/* 잠금화면 날짜 · 시계 */
.sw-ums-screen::after { content: "9:41"; position: absolute; top: 52px; right: 0; left: 0; color: rgba(255, 255, 255, .95); font-size: 60px; font-weight: 700; letter-spacing: -.02em; line-height: 1; text-align: center; text-shadow: 0 4px 20px rgba(0, 0, 0, .25); }
/* 알림 카드 */
.sw-ums-phone .sw-ums-msg, .sw-ums-phone .sw-ums-msg.is-push, .sw-ums-phone .sw-ums-msg.is-kakao { position: relative; align-self: stretch !important; padding: 10px 12px 11px 50px !important; border-radius: 18px !important; background: rgba(255, 255, 255, .78) !important; color: #111827 !important; font-size: calc(.76rem + 1pt) !important; line-height: 1.4; box-shadow: 0 8px 20px rgba(3, 10, 40, .25) !important; -webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4); }
.sw-ums-phone .sw-ums-msg b { display: flex !important; justify-content: space-between; margin-bottom: 1px; color: #6b7280 !important; font-size: calc(.62rem + 1pt) !important; font-weight: 700; letter-spacing: .02em; }
.sw-ums-phone .sw-ums-msg b::after { content: "지금"; color: #9ca3af; font-weight: 500; }
.sw-ums-phone .sw-ums-msg::before { content: ""; position: absolute; top: 50%; left: 11px; width: 30px; height: 30px; border-radius: 8px; background: var(--ac, #2f6bff) var(--ai) center / 17px no-repeat; transform: translateY(-50%); box-shadow: 0 3px 8px rgba(0, 0, 0, .18); }
.sw-ums-phone .sw-ums-msg.is-sms { --ac: linear-gradient(135deg, #4ade80, #16a34a); --ai: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 3C6.5 3 2 6.6 2 11c0 2.5 1.4 4.7 3.7 6.2L5 21l4.2-2.3c.9.2 1.8.3 2.8.3 5.5 0 10-3.6 10-8s-4.5-8-10-8z'/%3E%3C/svg%3E"); }
.sw-ums-phone .sw-ums-msg.is-kakao { --ac: #fee500; --ai: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233c1e1e'%3E%3Cpath d='M12 4C6.8 4 2.6 7.3 2.6 11.3c0 2.6 1.7 4.8 4.3 6.1l-1 3.6 4.1-2.7c.7.1 1.3.2 2 .2 5.2 0 9.4-3.3 9.4-7.2S17.2 4 12 4z'/%3E%3C/svg%3E"); }
.sw-ums-phone .sw-ums-msg.is-rcs { --ac: linear-gradient(135deg, #a78bfa, #6d28d9); --ai: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2zM8 9h8M8 13h5'/%3E%3C/svg%3E"); }
.sw-ums-phone .sw-ums-msg.is-push { --ac: linear-gradient(135deg, #60a5fa, #1d4ed8); --ai: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9M10.3 21a1.94 1.94 0 0 0 3.4 0'/%3E%3C/svg%3E"); }
.sw-ums-phone .sw-ums-msg.is-mail { --ac: linear-gradient(135deg, #38bdf8, #0369a1); --ai: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E"); }
.page-template-page-product-scos .sw-ums-phone .sw-ums-msg.is-push, .page-template-page-product-ai-platform .sw-ums-phone .sw-ums-msg.is-push { background: rgba(255, 255, 255, .78) !important; }
/* 홈 인디케이터 */
.sw-ums-phone .sw-ums-screen > .sw-ums-msg:last-child { margin-bottom: 12px; }

/* 좁은 화면 헤더: 햄버거 · 서비스 문의 · 지구본이 가운데 떠 있던 것 → 로고는 왼쪽, 나머지는 오른쪽 끝에 붙인다 */
@media (max-width: 1279px) {
  .sw-header-inner > .sw-primary-nav { flex: 0 0 auto !important; order: 3; margin-left: 0 !important; }
  .sw-header-inner > .sw-header-cta { order: 1; margin-left: auto !important; }
  .sw-header-inner > p:has(.sw-lang-switch) { order: 2; }
  .sw-header-inner { gap: 10px; }
}

/* 고객 사례 카드(로고 있는 묶음): 가로 3개씩 */
.sw-card-matrix:has(.sw-case-logo), .sw-card-grid:has(.sw-case-logo) { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 20px !important; }
.sw-card-matrix:has(.sw-case-logo) > *, .sw-card-grid:has(.sw-case-logo) > * { width: auto !important; margin: 0 !important; flex-basis: auto !important; }
@media (max-width: 1024px) { .sw-card-matrix:has(.sw-case-logo), .sw-card-grid:has(.sw-case-logo) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) { .sw-card-matrix:has(.sw-case-logo), .sw-card-grid:has(.sw-case-logo) { grid-template-columns: 1fr !important; } }

/* 고객 사례 3열: 좁은 본문 폭에 갇혀 있던 묶음을 넓은 폭으로, 로고는 테두리 · 잘림 없이 */
.is-layout-constrained > .sw-card-matrix:has(.sw-case-logo) { width: 100%; max-width: var(--wp--style--global--wide-size, 1200px) !important; margin-inline: auto !important; }
.sw-card .sw-case-logo img { border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; object-fit: contain !important; }

/* 핸드폰 목업 v3: 은색 테두리 · 큰 빈 공간 · 빈 아이콘이 촌스럽다 →
   실제 비율(9:19.5)의 얇은 블랙 프레임, 시계 바로 아래부터 알림이 쌓이는 다크 유리 카드, 모든 카드에 앱 아이콘 */
.sw-ums-phone { --ac: linear-gradient(135deg, #5b8cff, #2f5fe0); width: min(100%, 300px) !important; aspect-ratio: 9 / 19.5 !important; padding: 7px !important; border-radius: 46px !important; background: #0c0e13 !important; box-shadow: 0 0 0 1.5px #2b303b, 0 0 0 3px #11141a, 0 40px 80px rgba(0, 0, 0, .55), 0 0 60px rgba(80, 140, 255, .18) !important; }
.sw-ums-phone::before, .sw-ums-phone::after { width: 3px !important; background: #2b303b !important; }
.sw-ums-phone::before { left: -4.5px !important; box-shadow: 0 70px 0 #2b303b !important; }
.sw-ums-phone::after { right: -4.5px !important; }
.sw-ums-screen { justify-content: flex-start !important; gap: 8px !important; padding: 128px 10px 16px !important; border-radius: 39px !important; box-shadow: none !important; background: radial-gradient(90% 55% at 15% 8%, rgba(120, 110, 255, .55), transparent 60%), radial-gradient(80% 50% at 95% 55%, rgba(40, 170, 240, .4), transparent 65%), linear-gradient(180deg, #151a4a 0%, #0a1030 60%, #060a1f 100%) !important; }
.sw-ums-screen::before { top: 11px !important; width: 84px !important; height: 24px !important; }
.sw-ums-screen::after { top: 50px !important; font-size: 54px !important; font-weight: 600 !important; letter-spacing: -.01em !important; color: rgba(255, 255, 255, .92) !important; }
.sw-ums-phone .sw-ums-msg, .sw-ums-phone .sw-ums-msg.is-push, .sw-ums-phone .sw-ums-msg.is-kakao { padding: 9px 11px 10px 48px !important; border-radius: 18px !important; background: rgba(255, 255, 255, .14) !important; color: #fff !important; font-size: calc(.72rem + 1pt) !important; box-shadow: inset 0 0 0 .5px rgba(255, 255, 255, .18) !important; }
.sw-ums-phone .sw-ums-msg b { color: rgba(255, 255, 255, .62) !important; font-size: calc(.58rem + 1pt) !important; }
.sw-ums-phone .sw-ums-msg b::after { color: rgba(255, 255, 255, .45) !important; }
.sw-ums-phone .sw-ums-msg::before { left: 10px !important; width: 28px !important; height: 28px !important; border-radius: 7px !important; background: var(--ai) center / 16px no-repeat, var(--ac) !important; }
.page-template-page-product-scos .sw-ums-phone .sw-ums-msg.is-push, .page-template-page-product-ai-platform .sw-ums-phone .sw-ums-msg.is-push { background: rgba(255, 255, 255, .14) !important; }
/* 채널 이름이 없는 카드(SCOS · AI 개인화): 순서별 아이콘, 페이지 색 */
.page-template-page-product-scos .sw-ums-phone { --ac: linear-gradient(135deg, #2dd4bf, #0d8a74); }
.page-template-page-product-ai-platform .sw-ums-phone { --ac: linear-gradient(135deg, #a78bfa, #6a3df0); }
.sw-ums-msg:nth-child(1) { --ai: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4ZM3 6h18M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E"); }
.sw-ums-msg:nth-child(2) { --ai: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.9 15.5A2 2 0 0 0 8.5 14.1l-6.1-1.6a.5.5 0 0 1 0-1l6.1-1.6a2 2 0 0 0 1.4-1.4l1.6-6.1a.5.5 0 0 1 1 0l1.6 6.1a2 2 0 0 0 1.4 1.4l6.1 1.6a.5.5 0 0 1 0 1l-6.1 1.6a2 2 0 0 0-1.4 1.4l-1.6 6.1a.5.5 0 0 1-1 0z'/%3E%3C/svg%3E"); }
.sw-ums-msg:nth-child(3) { --ai: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8M3 3v5h5M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16M16 16h5v5'/%3E%3C/svg%3E"); }
.sw-ums-msg:nth-child(4) { --ai: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E"); }
.sw-ums-msg:nth-child(5) { --ai: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18M7 16l4-5 4 3 5-7'/%3E%3C/svg%3E"); }
@media (max-width: 781px) { .sw-ums-phone { width: min(78%, 270px) !important; } .sw-ums-screen { padding-top: 112px !important; } .sw-ums-screen::after { top: 44px !important; font-size: 46px !important; } }

/* Management Philosophy 원: 가장자리를 따라 별빛(밝은 꼬리 달린 빛점)이 늘 돌고, 원 전체가 별처럼 숨 쉬듯 반짝 */
@keyframes sw-orb-rim { to { transform: rotate(1turn); } }
@keyframes sw-orb-twinkle {
  0%, 100% { box-shadow: inset 0 0 0 1px rgba(140, 205, 255, .4), inset 0 0 34px rgba(60, 160, 255, .35), 0 0 30px rgba(40, 140, 255, .32), 0 22px 50px rgba(0, 8, 30, .6); }
  45% { box-shadow: inset 0 0 0 1px rgba(190, 230, 255, .75), inset 0 0 46px rgba(90, 185, 255, .55), 0 0 70px rgba(80, 180, 255, .75), 0 22px 50px rgba(0, 8, 30, .6); }
  52% { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .9), inset 0 0 52px rgba(120, 200, 255, .65), 0 0 90px rgba(120, 200, 255, .9), 0 22px 50px rgba(0, 8, 30, .6); }
}
@keyframes sw-rim-flare { 0%, 100% { opacity: .85; } 50% { opacity: 1; } }
.sw-dark .sw-circle { animation: sw-orb-twinkle 4.2s ease-in-out infinite; }
.sw-dark .sw-circle-grid .wp-block-column:nth-child(2) .sw-circle { animation-delay: -1s; }
.sw-dark .sw-circle-grid .wp-block-column:nth-child(3) .sw-circle { animation-delay: -2s; }
.sw-dark .sw-circle-grid .wp-block-column:nth-child(4) .sw-circle { animation-delay: -3s; }
.sw-dark .sw-circle::after,
.sw-dark .sw-circle-grid .wp-block-column:hover .sw-circle::after {
  inset: -3px;
  padding: 2.5px;
  background:
    conic-gradient(from 0deg, transparent 0 50%, rgba(124, 216, 255, .15) 62%, rgba(124, 216, 255, .7) 86%, #e9f8ff 95%, #fff 97.5%, transparent 98.5%),
    conic-gradient(rgba(63, 182, 255, .28), rgba(63, 182, 255, .28));
  filter: drop-shadow(0 0 4px #9fe2ff) drop-shadow(0 0 12px rgba(63, 182, 255, .9));
  animation: sw-orb-rim 5s linear infinite, sw-rim-flare 2.1s ease-in-out infinite;
}
.sw-dark .sw-circle-grid .wp-block-column:nth-child(2) .sw-circle::after { animation-delay: -1.25s, -.5s; }
.sw-dark .sw-circle-grid .wp-block-column:nth-child(3) .sw-circle::after { animation-delay: -2.5s, -1s; }
.sw-dark .sw-circle-grid .wp-block-column:nth-child(4) .sw-circle::after { animation-delay: -3.75s, -1.5s; }
.sw-dark .sw-circle-grid .wp-block-column:hover .sw-circle::after { animation-duration: 2.2s, 1s; }
@media (prefers-reduced-motion: reduce) { .sw-dark .sw-circle, .sw-dark .sw-circle::after, .sw-dark .sw-circle-grid .wp-block-column:hover .sw-circle::after { animation: none; } }

/* 포트폴리오 글 '발주업체 · 기간 · 범위' 표 → 가로로 나란한 정보 카드 (아이콘 + 작은 제목 + 굵은 값) */
.sw-post-body .sw-lead + .sw-table-wrap { margin-top: 28px !important; }
.sw-post-body .sw-lead + .sw-table-wrap .wp-block-table { margin: 0; overflow: visible; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.sw-post-body .sw-lead + .sw-table-wrap table, .sw-post-body .sw-lead + .sw-table-wrap tbody { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; width: 100%; border: 0 !important; background: none !important; }
.sw-post-body .sw-lead + .sw-table-wrap tbody { grid-column: 1 / -1; }
.sw-post-body .sw-lead + .sw-table-wrap tr { --ri: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18ZM6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2M10 6h4M10 10h4M10 14h4M10 18h4'/%3E%3C/svg%3E"); position: relative; display: grid; grid-template-columns: 44px 1fr; grid-template-rows: auto auto; column-gap: 14px; row-gap: 2px; align-content: center; padding: 20px 22px; border: 1px solid #e3eaf5; border-radius: 16px; background: linear-gradient(160deg, #fff, #f3f7fd); box-shadow: 0 10px 26px rgba(16, 47, 103, .07); }
.sw-post-body .sw-lead + .sw-table-wrap tr:nth-child(2) { --ri: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E"); }
.sw-post-body .sw-lead + .sw-table-wrap tr:nth-child(3) { --ri: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 2 10 5-10 5L2 7zM2 17l10 5 10-5M2 12l10 5 10-5'/%3E%3C/svg%3E"); }
.sw-post-body .sw-lead + .sw-table-wrap tr::before { content: ""; grid-row: 1 / span 2; width: 44px; height: 44px; border-radius: 12px; background: var(--ri) center / 22px no-repeat, linear-gradient(135deg, #3f8fe0, #1f4f9f); box-shadow: 0 8px 18px rgba(31, 79, 159, .25); }
.sw-post-body .sw-lead + .sw-table-wrap td { display: block; padding: 0 !important; border: 0 !important; background: none !important; }
.sw-post-body .sw-lead + .sw-table-wrap td:first-child { align-self: end; color: #6b7a93; font-size: calc(.78rem + 1pt); font-weight: 700; letter-spacing: .04em; }
.sw-post-body .sw-lead + .sw-table-wrap td:last-child { align-self: start; color: #0b1f44; font-size: calc(1.02rem + 1pt); font-weight: 800; line-height: 1.45; word-break: keep-all; }

/* 포트폴리오 목업 · 화면 이미지(portfolio-shot-*): 잘리지 않게 전체를 보여 주고, 여백은 옅은 배경으로 */
.sw-tile-img img[src*="portfolio-shot-"] { padding: 18px 18px 64px; background: linear-gradient(160deg, #f6f9fe, #e6eef9); object-fit: contain !important; }
.sw-post-cover img[src*="portfolio-shot-"] { max-height: 620px; padding: 32px; background: linear-gradient(160deg, #f6f9fe, #e6eef9); object-fit: contain !important; }

/* 제품 페이지 '도입 전과 후' 비교: 왼쪽 회색(이전) → 가운데 화살표 → 오른쪽 제품 색 카드(이후) */
body { --pc: #1f6fe5; --pc2: #5fa8ff; }
.page-template-page-product-scos { --pc: #0d8a74; --pc2: #2cc79e; }
.page-template-page-product-ai-platform { --pc: #6a3df0; --pc2: #a78bfa; }
.page-template-page-product-clouvi { --pc: #0e8fd6; --pc2: #4cc9f0; }
.sw-asis { display: grid; gap: 14px; }
.sw-asis > * { margin: 0 !important; }
.sw-asis-head, .sw-asis-row { display: grid; grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1.25fr); align-items: stretch; }
.sw-asis-head > *, .sw-asis-row > * { margin: 0 !important; }
.sw-asis-head .is-before { grid-column: 1; }
.sw-asis-head .is-after { grid-column: 3; }
.sw-asis-label { display: flex; align-items: center; gap: 8px; padding: 0 6px 4px; color: #7a8699; font-size: calc(.85rem + 1pt); font-weight: 800; letter-spacing: .08em; }
.sw-asis-label.is-after { color: var(--pc); }
.sw-asis-label::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.sw-asis-before { position: relative; display: flex; align-items: center; gap: 14px; padding: 22px 24px; border-radius: 16px; background: #eef1f6; color: #6b7587; font-size: calc(.98rem + 1pt); line-height: 1.6; word-break: keep-all; }
.sw-asis-before::before { content: ""; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; background: #c9d1dd url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center / 14px no-repeat; }
.sw-asis-before::after { content: ""; position: absolute; top: 50%; right: -46px; width: 28px; height: 28px; border-radius: 50%; background: linear-gradient(135deg, var(--pc2), var(--pc)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 14px no-repeat; box-shadow: 0 6px 16px color-mix(in srgb, var(--pc) 35%, transparent); transform: translateY(-50%); }
.sw-asis-after { grid-column: 3; position: relative; display: grid; gap: 4px; padding: 20px 24px 20px 70px; border: 1.5px solid color-mix(in srgb, var(--pc) 28%, #fff); border-radius: 16px; background: linear-gradient(135deg, #fff, color-mix(in srgb, var(--pc) 6%, #fff)); color: #4b5563; font-size: calc(.95rem + 1pt); line-height: 1.6; word-break: keep-all; box-shadow: 0 12px 30px color-mix(in srgb, var(--pc) 12%, transparent); }
.sw-asis-after strong { color: #0b1f44; font-size: calc(1.12rem + 1pt); font-weight: 900; }
.sw-asis-after::before { content: ""; position: absolute; top: 50%; left: 22px; width: 34px; height: 34px; border-radius: 10px; background: linear-gradient(135deg, var(--pc2), var(--pc)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 16px no-repeat; transform: translateY(-50%); }
.sw-asis-row .sw-asis-before { grid-column: 1; }
.sw-asis-row:hover .sw-asis-after { border-color: var(--pc); transform: translateX(4px); transition: transform .3s ease, border-color .3s ease; }
@supports (animation-timeline: view()) {
  .sw-asis-row { animation: sw-asis-in linear both; animation-timeline: view(); animation-range: entry 0% entry 60%; }
  @keyframes sw-asis-in { from { opacity: 0; transform: translateY(24px); } }
}
@media (max-width: 781px) {
  .sw-asis-head { display: none; }
  .sw-asis-row { grid-template-columns: 1fr; gap: 26px; }
  .sw-asis-row .sw-asis-before, .sw-asis-after { grid-column: 1; }
  .sw-asis-before::after { top: auto; right: auto; bottom: -27px; left: 50%; transform: translateX(-50%) rotate(90deg); }
}

/* 제품 페이지 '오픈 이후에도 곁에서 운영합니다': 어두운 띠 위 유리 카드 3장 */
.sw-ops { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.sw-ops > * { margin: 0 !important; }
.sw-ops-card { --oi: none; position: relative; padding: 30px 28px 30px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 20px; background: linear-gradient(160deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .03)); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: transform .3s ease, border-color .3s ease; }
.sw-ops-card:hover { transform: translateY(-6px); border-color: rgba(255, 255, 255, .35); }
.sw-ops-card::before { content: ""; display: block; width: 52px; height: 52px; margin-bottom: 20px; border-radius: 15px; background: var(--oi) center / 26px no-repeat, linear-gradient(135deg, var(--pc2), var(--pc)); box-shadow: 0 10px 26px color-mix(in srgb, var(--pc) 45%, transparent); }
.sw-ops-card.is-monitor { --oi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-4l-3 9L9 3l-3 9H2'/%3E%3C/svg%3E"); }
.sw-ops-card.is-support { --oi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E"); }
.sw-ops-card.is-grow { --oi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 7-8.5 8.5-5-5L2 17M16 7h6v6'/%3E%3C/svg%3E"); }
.sw-ops-card h3 { margin: 0 !important; color: #fff !important; font-size: calc(1.25rem + 1pt) !important; font-weight: 900; }
.sw-ops-card .sw-ops-desc { margin: 10px 0 0 !important; color: rgba(255, 255, 255, .78); font-size: calc(.95rem + 1pt); line-height: 1.7; word-break: keep-all; }
@media (max-width: 900px) { .sw-ops { grid-template-columns: 1fr; } }

/* 푸터 인증 배지: 영문 약칭 + 인증명 두 줄의 작은 타일 */
.sw-footer-certs { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.sw-footer-certs li { display: grid; gap: 3px; min-width: 104px; padding: 10px 14px 9px; border: 1px solid rgba(255, 255, 255, .22); border-radius: 10px; background: rgba(255, 255, 255, .06); line-height: 1.2; transition: background .2s ease, border-color .2s ease; }
.sw-footer-certs li:hover { border-color: rgba(255, 255, 255, .45); background: rgba(255, 255, 255, .12); }
.sw-footer-certs b { color: #fff; font-size: 15px; font-weight: 900; letter-spacing: .04em; }
.sw-footer-certs span { color: rgba(255, 255, 255, .7); font-size: 11.5px; font-weight: 600; letter-spacing: -.01em; white-space: nowrap; }

/* 푸터 인증 배지에 공식 마크 이미지가 들어오면: 마크 + 아래 인증명 */
.sw-footer-certs li.has-mark { justify-items: center; gap: 6px; min-width: 96px; padding: 10px 12px; background: rgba(255, 255, 255, .92); }
.sw-footer-certs li.has-mark img { display: block; width: auto; max-width: 110px; height: 34px; object-fit: contain; }
.sw-footer-certs li.has-mark span { color: #334155; font-size: 11px; }

/* 공식 마크에는 인증명이 이미 들어 있으므로 아래 글자는 화면에서 숨기고(스크린리더용으로만), 마크를 조금 크게 */
.sw-footer-certs li.has-mark { align-content: center; min-height: 58px; padding: 8px 14px; }
.sw-footer-certs li.has-mark img { height: 40px; max-width: 120px; }
.sw-footer-certs li.has-mark span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sw-footer-certs li:not(.has-mark) { min-height: 58px; align-content: center; }

/* 공식 마크(흰색 반전 · 투명 배경): 흰 타일 없이 남색 푸터 위에 바로, 높이를 맞춰 한 줄로 */
.sw-footer-certs { align-items: center; gap: 22px; }
.sw-footer-certs li.has-mark { min-width: 0; min-height: 0; padding: 0; border: 0; border-radius: 0; background: none; opacity: .85; transition: opacity .2s ease, transform .2s ease; }
.sw-footer-certs li.has-mark:hover { background: none; opacity: 1; transform: translateY(-2px); }
.sw-footer-certs li.has-mark img { height: 52px; max-width: 150px; }

/* 메가메뉴 분야 제목 가독성: 더 크고 진하게, 대비 높은 짙은 색, 아래 색 선으로 항목과 구분 */
.sw-primary-nav .sw-mega-col:nth-child(1) { --mc: #0b8a6e; }
.sw-primary-nav .sw-mega-col:nth-child(2) { --mc: #1660c8; }
.sw-primary-nav .sw-mega-col:nth-child(3) { --mc: #6436d6; }
.sw-primary-nav .sw-mega-col:nth-child(4) { --mc: #213f9a; }
.sw-primary-nav .sw-mega-col > .wp-block-navigation-item__content { gap: 10px !important; margin: 0 0 10px !important; padding: 0 0 12px !important; border-bottom: 2px solid color-mix(in srgb, var(--mc) 22%, #fff); }
.sw-primary-nav .sw-mega-col > .wp-block-navigation-item__content .wp-block-navigation-item__label { font-size: calc(1.05rem + 1pt) !important; font-weight: 900 !important; letter-spacing: -.01em; }
.sw-primary-nav .sw-mega-col > .wp-block-navigation-item__content::before { width: 9px; height: 9px; }

/* 채용분야 배경: 서버 사진 대신 사람과 사람이 이어지는 일러스트 (따뜻한 코랄 · 보라 빛) */
.sw-positions { background: linear-gradient(rgba(8, 10, 30, .35), rgba(8, 10, 30, .55)), url("assets/images/recruit-people.svg") center / cover no-repeat !important; }

/* 솔루션 홍보 팝업: 파스텔 배경 + 큰 제목 + 설명 + 오른쪽 아래 제품 화면(모니터 속 챗봇 대화) + 아래 '오늘 하루 보지 않기' 띠 */
.sw-popup.is-promo .sw-popup-panel { width: min(520px, 100%); overflow: hidden; border-radius: 22px; background: #fff; box-shadow: 0 40px 90px rgba(6, 15, 45, .45); }
.sw-promo { position: relative; min-height: 560px; padding: 30px 32px 0; overflow: hidden; background: radial-gradient(260px 260px at 100% 0, rgba(255, 255, 255, .35), transparent 70%), radial-gradient(320px 320px at 0 100%, rgba(255, 255, 255, .28), transparent 70%), linear-gradient(160deg, #c9d8ff 0%, #a9b8ff 55%, #9aa6f5 100%); }
.sw-promo::before, .sw-promo::after { content: ""; position: absolute; border-radius: 50%; background: rgba(255, 255, 255, .18); pointer-events: none; }
.sw-promo::before { top: -70px; right: -60px; width: 220px; height: 220px; }
.sw-promo::after { bottom: 40px; left: -90px; width: 240px; height: 240px; }
.sw-promo > * { position: relative; z-index: 1; margin: 0; }
.sw-promo-x { position: absolute !important; top: 16px; right: 16px; z-index: 3 !important; width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .6); color: #1b2a5c; font-size: 15px; cursor: pointer; }
.sw-promo-x:hover { background: #fff; }
.sw-promo-logo { display: block; width: 116px; height: auto; }
.sw-promo-kicker { margin-top: 26px !important; color: #fff; font-size: 26px; font-weight: 800; letter-spacing: -.03em; line-height: 1.2; text-shadow: 0 2px 10px rgba(40, 50, 140, .25); }
.sw-promo-title { margin-top: 4px !important; color: #1b2466; font-size: 50px; font-weight: 900; letter-spacing: -.04em; line-height: 1.08; }
.sw-promo-title em { font-style: normal; background: linear-gradient(90deg, #3b3fd8, #6a3df0); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sw-promo-body { max-width: 15.5em; margin-top: 18px !important; color: #fff; font-size: 16px; font-weight: 500; line-height: 1.65; word-break: keep-all; text-shadow: 0 1px 8px rgba(40, 50, 140, .25); }
.sw-promo-body b { font-weight: 800; }
.sw-promo-cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; padding: 11px 20px; border-radius: 99px; background: #1b2466; color: #fff !important; font-size: 15px; font-weight: 800; text-decoration: none; box-shadow: 0 10px 24px rgba(27, 36, 102, .35); transition: transform .2s ease, background .2s ease; }
.sw-promo-cta::after { content: "\2192"; }
.sw-promo-cta:hover { background: #3b3fd8; transform: translateY(-2px); }
/* 모니터 목업 */
.sw-promo-device { position: absolute !important; right: -30px; bottom: 0; width: 330px; height: 250px; padding: 12px 12px 0; border-radius: 18px 18px 0 0; background: linear-gradient(160deg, #e8ebf2, #b9bfcc); box-shadow: -20px 20px 50px rgba(20, 30, 90, .35); }
.sw-promo-screen { display: flex; flex-direction: column; gap: 9px; height: 100%; padding: 12px 14px; border-radius: 10px 10px 0 0; background: linear-gradient(180deg, #0f1c4d, #1a2f7a); }
.sw-promo-bar { display: flex; gap: 5px; }
.sw-promo-bar i { width: 7px; height: 7px; border-radius: 50%; background: rgba(255, 255, 255, .35); }
.sw-promo-q, .sw-promo-a { max-width: 80%; padding: 8px 11px; border-radius: 12px; font-size: 12px; line-height: 1.45; opacity: 0; animation: sw-promo-pop .5s ease forwards; }
.sw-promo-q { align-self: flex-end; border-bottom-right-radius: 3px; background: #6a7bff; color: #fff; animation-delay: .5s; }
.sw-promo-a { align-self: flex-start; border-bottom-left-radius: 3px; background: #fff; color: #1b2466; animation-delay: 1.3s; }
.sw-promo-items { display: flex; gap: 7px; opacity: 0; animation: sw-promo-pop .5s ease 2s forwards; }
.sw-promo-items i { flex: 1; height: 58px; border-radius: 8px; background: linear-gradient(160deg, #f4e3cf, #d8b48a); box-shadow: inset 0 -16px 0 rgba(255, 255, 255, .92); }
.sw-promo-items i:nth-child(2) { background: linear-gradient(160deg, #e2e5ea, #9aa3b2); box-shadow: inset 0 -16px 0 rgba(255, 255, 255, .92); }
.sw-promo-items i:nth-child(3) { background: linear-gradient(160deg, #e9dcc9, #b99a73); box-shadow: inset 0 -16px 0 rgba(255, 255, 255, .92); }
@keyframes sw-promo-pop { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
/* 아래 띠 */
.sw-promo-foot { display: flex; justify-content: space-between; align-items: center; padding: 12px 18px; background: #fff; border-top: 1px solid #e5e9f2; }
.sw-promo-foot button { border: 0; background: none; color: #475569; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.sw-promo-today { display: inline-flex; align-items: center; gap: 8px; }
.sw-promo-today::before { content: ""; width: 16px; height: 16px; border: 1.5px solid #94a3b8; border-radius: 4px; }
.sw-promo-today:hover::before { border-color: #3b3fd8; background: #eef0ff; }
.sw-promo-foot button:hover { color: #1b2466; }
@media (max-width: 560px) {
  .sw-promo { min-height: 520px; padding: 26px 22px 0; }
  .sw-promo-kicker { font-size: 21px; }
  .sw-promo-title { font-size: 40px; }
  .sw-promo-body { font-size: 15px; }
  .sw-promo-device { width: 270px; height: 205px; right: -40px; }
  .sw-promo-items i { height: 44px; }
}
@media (prefers-reduced-motion: reduce) { .sw-promo-q, .sw-promo-a, .sw-promo-items { animation: none; opacity: 1; } }

/* 핸드폰 목업 비율: 9:19.5 는 내용(시계 + 알림 5개)에 비해 너무 길어 아래가 비었다 →
   9:17 로 줄이고, 알림을 키워 화면을 채우고, 맨 아래에 잠금화면 버튼(손전등 · 카메라)과 홈 막대 */
.sw-ums-phone { width: min(100%, 310px) !important; aspect-ratio: 9 / 17 !important; }
.sw-ums-screen { position: relative; gap: 10px !important; padding: 122px 11px 78px !important; }
.sw-ums-phone .sw-ums-msg, .sw-ums-phone .sw-ums-msg.is-push, .sw-ums-phone .sw-ums-msg.is-kakao { padding: 12px 12px 13px 54px !important; font-size: calc(.78rem + 1pt) !important; }
.sw-ums-phone .sw-ums-msg::before { left: 11px !important; width: 32px !important; height: 32px !important; border-radius: 8px !important; background-size: 18px, auto !important; }
.sw-ums-phone .sw-ums-msg b { font-size: calc(.62rem + 1pt) !important; margin-bottom: 2px; }
.sw-ums-phone .sw-ums-screen > .sw-ums-msg:last-child { margin-bottom: 0 !important; }
/* 잠금화면 아래: 손전등 · 카메라 원형 버튼 + 홈 막대 (폰 프레임의 가상요소 대신 화면 배경으로 그린다) */
.sw-ums-phone .sw-ums-screen { background-image:
    radial-gradient(circle at 34px calc(100% - 42px), rgba(255, 255, 255, .16) 0 21px, transparent 22px),
    radial-gradient(circle at calc(100% - 34px) calc(100% - 42px), rgba(255, 255, 255, .16) 0 21px, transparent 22px),
    linear-gradient(90deg, transparent calc(50% - 50px), rgba(255, 255, 255, .75) calc(50% - 50px), rgba(255, 255, 255, .75) calc(50% + 50px), transparent calc(50% + 50px)),
    radial-gradient(90% 55% at 15% 8%, rgba(120, 110, 255, .55), transparent 60%),
    radial-gradient(80% 50% at 95% 55%, rgba(40, 170, 240, .4), transparent 65%),
    linear-gradient(180deg, #151a4a 0%, #0a1030 60%, #060a1f 100%) !important;
  background-size: auto, auto, 100% 4px, auto, auto, auto !important;
  background-position: 0 0, 0 0, 0 calc(100% - 9px), 0 0, 0 0, 0 0 !important;
  background-repeat: no-repeat !important; }
@media (max-width: 781px) { .sw-ums-phone { width: min(80%, 280px) !important; } .sw-ums-screen { padding: 108px 10px 70px !important; } }

/* 함께하는 고객사 띠: 흑백 반전 로고는 가독성이 떨어진다 → 원래 컬러 로고를 흰 카드 위에 (어두운 띠는 유지) */
.sw-clients .sw-logo-roll > .wp-block-group { gap: 14px; }
.sw-clients .sw-logo-roll figure { width: 176px; height: 76px; padding: 12px 20px; border: 0; border-radius: 14px; background: #fff; box-shadow: 0 8px 22px rgba(0, 0, 0, .25); transition: transform .25s ease, box-shadow .25s ease; }
.sw-clients .sw-logo-roll figure:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(0, 0, 0, .35); }
.sw-clients .sw-logo-roll img { filter: none !important; mix-blend-mode: normal !important; opacity: 1 !important; }
.sw-clients .sw-logo-roll { padding-block: 10px; }

/* Company 섹션 맨 아래로 합친 슬로건 흐름: 따로 뜬 여백 없이 원들 아래에 이어서, 조금 작게 */
.sw-company-sec { padding-bottom: 0 !important; overflow: hidden; }
.sw-company-sec > .sw-marquee { width: 100vw; max-width: none !important; margin: 64px calc(50% - 50vw) 0 !important; padding: 0 0 34px; }
.sw-company-sec .sw-mq-row span { font-size: clamp(44px, 6vw, 86px) !important; }

/* 핸드폰 목업: 내용 높이에 맞춰 9:15.5 로 — 시계 · 알림 5개 · 아래 버튼이 화면을 고르게 채운다 */
.sw-ums-phone { aspect-ratio: 9 / 15.5 !important; }
.sw-ums-screen { justify-content: flex-start !important; padding-bottom: 74px !important; }

/* 함께하는 고객사 띠: 검정 배경 대신 밝은 하늘빛 배경, 제목은 짙은 남색, 로고 카드는 옅은 테두리 */
.sw-clients { --sw-band: #f2f6fc; background: linear-gradient(180deg, #f6f9fe 0%, #eaf1fb 100%) !important; border-block: 1px solid #e3eaf4; }
.sw-clients .sw-section-heading h3 { color: var(--sw-ink) !important; }
.sw-clients .sw-section-heading .sw-lead { color: var(--sw-muted) !important; }
.sw-clients .sw-logo-roll { background: transparent !important; }
.sw-clients .sw-logo-roll figure { border: 1px solid #e1e8f2 !important; box-shadow: 0 6px 16px rgba(16, 47, 103, .06) !important; }
.sw-clients .sw-logo-roll figure:hover { box-shadow: 0 12px 26px rgba(16, 47, 103, .12) !important; }

/* 인증 마크 크기 균형: 같은 높이로 두면 가로로 긴 이노비즈만 커 보인다 → 눈에 보이는 면적이 비슷하도록 마크마다 높이를 달리 */
.sw-footer-certs { gap: 26px; }
.sw-footer-certs li.has-mark img { max-width: none; }
.sw-footer-certs li.is-innobiz img { height: 34px; }
.sw-footer-certs li.is-venture img { height: 54px; }
.sw-footer-certs li[class*="is-iso-"] img { height: 64px; }

/* Company 아래 슬로건 흐름: 배경에 묻히던 글자색을 한 단계 진하게, 윗줄은 파랑 · 아랫줄은 외곽선으로 대비 */
.sw-company-sec .sw-mq-row span { color: #cddaf0 !important; }
.sw-company-sec .sw-mq-row.is-reverse span { color: transparent !important; -webkit-text-stroke: 1.5px #b8c9e6; }

/* 인재상 카드 v2: 윗단 색 띠 + 흰 몸통 대신, 카드 전체를 색 그라데이션으로 —
   왼쪽 위 유리 아이콘, 오른쪽 아래 외곽선 큰 번호, 흰 제목 · 구분선 · 설명, 호버 때 빛이 번지며 떠오름 */
#talent .sw-card-grid { gap: 22px !important; align-items: stretch; }
#talent .sw-card { display: flex !important; flex-direction: column; min-height: 400px; padding: 34px 28px 30px !important; overflow: hidden; border: 0 !important; border-radius: 24px !important; background: radial-gradient(120% 70% at 100% 0%, rgba(255, 255, 255, .22), transparent 55%), radial-gradient(90% 60% at 0% 100%, rgba(0, 0, 0, .22), transparent 60%), linear-gradient(155deg, var(--g2), var(--g1) 70%) !important; box-shadow: 0 20px 44px color-mix(in srgb, var(--g1) 30%, transparent) !important; transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease !important; }
#talent .sw-card::before { top: auto !important; right: -40px !important; bottom: -40px !important; left: auto !important; width: 200px !important; height: 200px !important; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, .25), transparent 65%) !important; transition: transform .5s ease !important; }
#talent .sw-card::after { top: auto !important; right: 20px !important; bottom: 6px !important; color: transparent !important; -webkit-text-stroke: 1.5px rgba(255, 255, 255, .35); font-size: 6.2rem !important; }
#talent .sw-card .sw-icon-badge { position: relative !important; top: auto !important; left: auto !important; flex: 0 0 auto; width: 64px !important; height: 64px !important; margin: 0 0 28px !important; border: 1px solid rgba(255, 255, 255, .35); border-radius: 18px !important; background: rgba(255, 255, 255, .16) !important; box-shadow: 0 10px 24px rgba(0, 0, 0, .15) !important; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
#talent .sw-card .sw-icon-badge::after { inset: 17px !important; }
#talent .sw-card h3 { position: relative; padding-bottom: 18px; color: #fff !important; font-size: calc(1.3rem + 1pt) !important; line-height: 1.4; }
#talent .sw-card h3::after { content: ""; position: absolute; left: 0; bottom: 0; width: 36px; height: 3px; border-radius: 3px; background: rgba(255, 255, 255, .85); transition: width .35s ease; }
#talent .sw-card h3 + p { margin-top: 16px !important; color: rgba(255, 255, 255, .88) !important; font-size: calc(.95rem + 1pt) !important; line-height: 1.8; padding-bottom: 40px; }
#talent .sw-card:hover { transform: translateY(-10px) !important; box-shadow: 0 34px 70px color-mix(in srgb, var(--g1) 45%, transparent) !important; }
#talent .sw-card:hover::before { height: 200px !important; transform: scale(1.6); }
#talent .sw-card:hover h3::after { width: 72px; }
#talent .sw-card:hover .sw-icon-badge { transform: rotate(-6deg) scale(1.06) !important; }
#talent .sw-card-grid > .wp-block-column:nth-child(1) .sw-card { --g1: #173f8f; --g2: #3f8fe0; }
#talent .sw-card-grid > .wp-block-column:nth-child(2) .sw-card { --g1: #3d1fa6; --g2: #8a6bff; }
#talent .sw-card-grid > .wp-block-column:nth-child(3) .sw-card { --g1: #0a5c52; --g2: #22b8a0; }
#talent .sw-card-grid > .wp-block-column:nth-child(4) .sw-card { --g1: #b23a0a; --g2: #f5a20b; }
@media (max-width: 560px) { #talent .sw-card { min-height: 0; } }

/* 포트폴리오 한 페이지 15개(2페이지): 8개 기준 배치를 15개 기준으로 — 큰 칸 1 + 넓은 칸 3 + 보통 칸 11 = 3열 7줄이 빈칸 없이 */
.sw-mosaic .wp-block-post-template > li:nth-child(8n+1), .sw-mosaic .wp-block-post-template > li:nth-child(8n) { grid-column: auto; grid-row: auto; }
.sw-mosaic .wp-block-post-template > li:nth-child(8n+1) .sw-tile-title { font-size: calc(19px + 1pt); }
.sw-mosaic .wp-block-post-template > li:nth-child(8n+1) .sw-tile-cap { padding: 70px 28px 24px; }
.sw-mosaic .wp-block-post-template > li:nth-child(15n+1) { grid-column: span 2; grid-row: span 2; }
.sw-mosaic .wp-block-post-template > li:nth-child(15n+8), .sw-mosaic .wp-block-post-template > li:nth-child(15n+13), .sw-mosaic .wp-block-post-template > li:nth-child(15n) { grid-column: span 2; }
.sw-mosaic .wp-block-post-template > li:nth-child(15n+1) .sw-tile-title { font-size: calc(clamp(22px, 2.2vw, 30px) + 1pt); }
.sw-mosaic .wp-block-post-template > li:nth-child(15n+1) .sw-tile-cap { padding: 110px 36px 32px; }
@media (max-width: 1024px) {
  .sw-mosaic .wp-block-post-template > li:nth-child(15n+1) { grid-column: span 2; grid-row: span 1; }
  .sw-mosaic .wp-block-post-template > li:nth-child(15n+8), .sw-mosaic .wp-block-post-template > li:nth-child(15n+13), .sw-mosaic .wp-block-post-template > li:nth-child(15n) { grid-column: auto; }
}
@media (max-width: 640px) { .sw-mosaic .wp-block-post-template > li:nth-child(15n+1) { grid-column: auto; } }

/* 포트폴리오 분류 탭(링크형) + 카드 분류 배지 색 */
.sw-pf-tabs { justify-content: flex-start; margin: 8px 0 26px !important; }
.sw-pf-tabs a { --c: var(--sw-navy); display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border: 1px solid var(--sw-line); border-radius: 99px; background: #fff; color: var(--sw-ink); font-size: calc(.92rem + 1pt); font-weight: 700; text-decoration: none; transition: border-color .2s ease, color .2s ease, background .2s ease; }
.sw-pf-tabs a::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--c); }
.sw-pf-tabs a[data-cat=""]::before { display: none; }
.sw-pf-tabs a small { color: var(--sw-muted); font-size: .82em; font-weight: 600; }
.sw-pf-tabs a:hover { border-color: var(--c); color: var(--c); }
.sw-pf-tabs a[aria-current="true"] { border-color: var(--c); background: var(--c); color: #fff; box-shadow: 0 8px 20px color-mix(in srgb, var(--c) 30%, transparent); }
.sw-pf-tabs a[aria-current="true"] small { color: rgba(255, 255, 255, .75); }
.sw-pf-tabs a[aria-current="true"]::before { background: #fff; }
.sw-pf-tabs a[data-cat="brand-mall"] { --c: #0d8a74; }
.sw-pf-tabs a[data-cat="platform-app"] { --c: #1f6fe5; }
.sw-pf-tabs a[data-cat="erp-si"] { --c: #2c4fc2; }
.sw-pf-tabs a[data-cat="wechat"] { --c: #16a34a; }
.sw-pf-tabs a[data-cat="iot"] { --c: #e38a17; }
.sw-mosaic .sw-tile-tag a { border-radius: 99px; padding: 4px 11px; background: rgba(255, 255, 255, .22); font-weight: 700; }
.sw-mosaic .category-brand-mall .sw-tile-tag a { background: #0d8a74; }
.sw-mosaic .category-platform-app .sw-tile-tag a { background: #1f6fe5; }
.sw-mosaic .category-erp-si .sw-tile-tag a { background: #2c4fc2; }
.sw-mosaic .category-wechat .sw-tile-tag a { background: #16a34a; }
.sw-mosaic .category-iot .sw-tile-tag a { background: #e38a17; }

/* 포트폴리오 분류 탭 가운데 정렬 */
.sw-pf-tabs { justify-content: center !important; }

/* ── 홈 첫 화면 v2: 가운데 정렬 큰 문구(짧은 흰 막대 · 굵은 줄 · 가는 줄) + 테두리 알약 버튼,
      좌우 큰 화살표, 아래 가운데 막대형 점 ─────────────────────────────────── */
.sw-vslide::after { background: linear-gradient(180deg, rgba(5, 12, 30, .45) 0%, rgba(5, 12, 30, .35) 45%, rgba(5, 12, 30, .6) 100%) !important; }
.sw-vhero-inner { text-align: center; }
.sw-vhero-label { width: 40px; height: 3px; margin: 0 auto 30px !important; overflow: hidden; background: #fff; color: transparent !important; font-size: 0 !important; }
.sw-vhero-title { font-size: calc(clamp(40px, 4.6vw, 68px) + 1pt) !important; line-height: 1.25 !important; text-shadow: 0 4px 24px rgba(0, 0, 0, .3); }
.sw-vhero-title + .sw-vhero-title { font-weight: 300 !important; }
.sw-vhero-desc { max-width: 760px !important; margin: 26px auto 0 !important; color: rgba(255, 255, 255, .82) !important; font-size: calc(18px + 1pt) !important; }
.sw-vhero-cta { margin-top: 38px !important; }
.sw-vhero-cta a { padding: 14px 40px !important; border: 1.5px solid rgba(255, 255, 255, .85) !important; font-size: calc(16px + 1pt) !important; font-weight: 500 !important; }
.sw-vhero-cta a:hover { border-color: #fff !important; background: #fff !important; color: #0b1a3a !important; }
.sw-vhero-nav { inset: 0 !important; transform: none !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; pointer-events: none; }
.sw-vhero-nav > * { pointer-events: auto; }
.sw-vhero-arrow { position: absolute; top: 50%; width: 56px; height: 90px; color: transparent !important; font-size: 0 !important; transform: translateY(-50%); }
.sw-vhero-arrow::before { content: ""; position: absolute; top: 50%; left: 50%; width: 34px; height: 34px; border-top: 2px solid rgba(255, 255, 255, .85); border-left: 2px solid rgba(255, 255, 255, .85); transition: border-color .2s ease; }
.sw-vhero-arrow:first-child { left: clamp(12px, 7vw, 130px); }
.sw-vhero-arrow:first-child::before { transform: translate(-30%, -50%) rotate(-45deg); }
.sw-vhero-arrow:last-child { right: clamp(12px, 7vw, 130px); }
.sw-vhero-arrow:last-child::before { transform: translate(-70%, -50%) rotate(135deg); }
.sw-vhero-arrow:hover::before { border-color: #fff; }
.sw-vhero-dots { position: absolute; bottom: 38px; left: 50%; gap: 10px !important; transform: translateX(-50%); }
.sw-vhero-dots button { width: 10px !important; height: 4px !important; border-radius: 2px !important; background: rgba(255, 255, 255, .45) !important; transition: width .35s ease, background .35s ease !important; }
.sw-vhero-dots button[aria-current="true"] { width: 52px !important; background: #fff !important; }
.sw-vhero-dots button::after { display: none !important; }
@media (max-width: 781px) { .sw-vhero-arrow { width: 40px; } .sw-vhero-arrow::before { width: 22px; height: 22px; } }

/* ── 헤더 전체 메뉴 펼침: 메뉴에 마우스를 올리면 헤더가 흰색이 되고, 모든 하위 메뉴가
      각 메뉴 아래 칸으로 한꺼번에 펼쳐진다 (칸 사이 세로 구분선). site.js 가 .is-mega-open 을 붙인다. */
@media (min-width: 1280px) {
  .sw-site-header { position: relative; }
  .sw-site-header.is-mega-open { background: #fff !important; box-shadow: none !important; }
  .sw-site-header.is-mega-open::after { content: ""; position: absolute; top: 100%; right: 0; left: 0; z-index: 40; height: var(--sw-mega-h, 260px); border-top: 1px solid #e5e9f0; border-bottom: 1px solid #e5e9f0; background: #fff; box-shadow: 0 24px 40px rgba(16, 47, 103, .08); }
  .sw-site-header.is-mega-open .wp-block-navigation-item__content, .sw-site-header.is-mega-open .wp-block-navigation__submenu-icon, .sw-site-header.is-mega-open .sw-lang-switch { color: var(--sw-ink) !important; }
  .sw-site-header.is-mega-open .sw-header-inner .wp-block-site-logo img { filter: none !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .wp-block-navigation-item { position: relative !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container,
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container {
    position: absolute !important; top: calc(100% + (78px - 100%) / 2) !important; left: 50% !important; right: auto !important; z-index: 41 !important;
    display: block !important; visibility: visible !important; opacity: 1 !important; overflow: visible !important;
    width: 170px !important; min-width: 0 !important; height: auto !important; min-height: var(--sw-mega-h, 260px); margin: 0 !important; padding: 20px 0 !important;
    border: 0 !important; border-left: 1px solid #eef1f6 !important; border-right: 1px solid #eef1f6 !important; border-radius: 0 !important;
    background: none !important; box-shadow: none !important; transform: translateX(-50%) !important; text-align: center;
  }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    display: block !important; padding: 8px 10px !important; border-radius: 0 !important; background: none !important; color: #475569 !important; font-size: calc(.92rem + 1pt) !important; font-weight: 500 !important; transform: none !important;
  }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--sw-blue) !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after,
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before { display: none !important; }
  /* 제품/솔루션: 분야 제목 · 설명은 숨기고 솔루션 이름만 한 줄로 */
  .sw-site-header.is-mega-open .sw-mega-col { display: contents !important; }
  .sw-site-header.is-mega-open .sw-mega-col > .wp-block-navigation-item__content { display: none !important; }
  .sw-site-header.is-mega-open .sw-mega-col > .wp-block-navigation__submenu-container { position: static !important; display: block !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; }
  .sw-site-header.is-mega-open .sw-mega-col .wp-block-navigation-item__label { padding: 0 !important; border: 0 !important; color: inherit !important; font-size: inherit !important; font-weight: inherit !important; }
  .sw-site-header.is-mega-open .sw-mega-col .wp-block-navigation-item__description { display: none !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__submenu-icon { display: none !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover { color: var(--sw-blue) !important; }
  /* 헤더 오른쪽 버튼: 네모난 파란 '+ 서비스 문의' */
  .sw-header-cta .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; padding: 13px 26px !important; border: 0 !important; border-radius: 0 !important; background: #2f6bd8 !important; color: #fff !important; }
  .sw-header-cta .wp-block-button__link::before { content: "+"; font-size: 1.25em; font-weight: 400; line-height: 1; }
  .sw-header-cta .wp-block-button__link:hover { background: #1f55b8 !important; }
}

/* 경영철학 v3: 지그재그 세로 목록이 어설프다 → 가로 4칸. 한 줄로 이어진 선 위에 육각형 아이콘,
   그 아래 흰 카드(가치명 · 영문 · 설명), 카드 위쪽에 가치 색 띠 대신 은은한 색 그림자 */
.wp-block-columns.sw-value-grid:not(.sw-step-grid) { position: relative; display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 24px !important; max-width: 1200px !important; }
.wp-block-columns.sw-value-grid:not(.sw-step-grid)::before { content: ""; position: absolute; top: 60px; right: 12.5%; left: 12.5%; height: 2px; background: linear-gradient(90deg, #9fd2fb, #7fb2f5, #93eee2, #9fbfff); opacity: .8; }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column { margin: 0 !important; }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column:nth-child(2), .sw-value-grid:not(.sw-step-grid) > .wp-block-column:nth-child(4) { margin-left: 0 !important; }
.sw-value-grid:not(.sw-step-grid) .sw-value-card { display: flex !important; flex-direction: column; align-items: center; height: 100%; padding: 0 !important; border: 0 !important; background: none !important; text-align: center; }
.sw-value-grid:not(.sw-step-grid) .sw-value-card::before { display: none !important; }
.sw-value-grid:not(.sw-step-grid) .sw-value-no { display: none !important; }
.sw-value-grid:not(.sw-step-grid) .sw-value-icon { flex: 0 0 auto; width: 138px !important; height: 120px !important; margin: 0 0 -34px !important; z-index: 2; filter: drop-shadow(0 12px 22px color-mix(in srgb, var(--c) 35%, transparent)); transition: transform .35s ease; }
.sw-value-grid:not(.sw-step-grid) .sw-value-card > h3, .sw-value-grid:not(.sw-step-grid) .sw-value-card > .sw-value-en, .sw-value-grid:not(.sw-step-grid) .sw-value-card > .sw-value-desc { position: relative; z-index: 1; width: 100%; background: #fff; }
.sw-value-grid:not(.sw-step-grid) .sw-value-card > h3 { padding: 58px 22px 0 !important; border-radius: 20px 20px 0 0; font-size: calc(1.3rem + 1pt) !important; }
.sw-value-grid:not(.sw-step-grid) .sw-value-card > .sw-value-en { margin: 0 !important; padding: 6px 22px 0 !important; }
.sw-value-grid:not(.sw-step-grid) .sw-value-card > .sw-value-desc { flex: 1 1 auto; margin: 0 !important; padding: 14px 24px 30px !important; border-radius: 0 0 20px 20px; line-height: 1.7; word-break: keep-all; box-shadow: 0 24px 40px -18px color-mix(in srgb, var(--c) 30%, transparent); }
.sw-value-grid:not(.sw-step-grid) .sw-value-card > h3 { box-shadow: 0 -1px 0 rgba(16, 47, 103, .04); }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column { filter: drop-shadow(0 16px 30px rgba(16, 47, 103, .08)); transition: transform .35s ease; }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column:hover { transform: translateY(-8px); }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column:hover .sw-value-icon { transform: rotate(30deg) scale(1.04); }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column:hover .sw-value-icon::after { transform: translate(-50%, -50%) rotate(-30deg); }
.sw-value-grid:not(.sw-step-grid) .sw-value-icon::after { transition: transform .35s ease; }
.sw-value-grid:not(.sw-step-grid).is-armed > .wp-block-column { transform: translateY(40px) !important; }
.sw-value-grid:not(.sw-step-grid).is-in > .wp-block-column { transform: none !important; }
.sw-value-grid:not(.sw-step-grid).is-in > .wp-block-column:hover { transform: translateY(-8px) !important; }
@media (max-width: 1024px) {
  .wp-block-columns.sw-value-grid:not(.sw-step-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; row-gap: 40px !important; }
  .wp-block-columns.sw-value-grid:not(.sw-step-grid)::before { display: none; }
}
@media (max-width: 600px) { .wp-block-columns.sw-value-grid:not(.sw-step-grid) { grid-template-columns: 1fr !important; } }

/* 푸터 v2: 짙은 차콜 배경, 왼쪽 회사 정보(항목명 굵게 · 한 줄씩 이어짐) · 세로 구분선 · 가운데 큰 대표번호와 안내 ·
   오른쪽 파란 '회사소개서 받기' + 테두리 'SOLUTION SITE' 펼침, 아래 저작권 줄 */
.sw-foot2 { padding: 56px 0 26px !important; background: #242628 !important; color: #b9bec6 !important; }
.sw-foot2 a { color: inherit; text-decoration: none; }
.sw-foot2 > * { margin-block: 0 !important; }
.sw-foot2-main { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) auto; gap: 0 48px; padding-bottom: 38px; }
.sw-foot2-main > * { margin: 0 !important; }
.sw-foot2-company { padding-right: 48px; border-right: 1px solid rgba(255, 255, 255, .1); }
.sw-foot2-company > * { margin: 0 !important; }
.sw-foot2-logo { margin-bottom: 22px !important; }
.sw-foot2-info { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: calc(.86rem + 1pt); line-height: 1.7; }
.sw-foot2-info b, .sw-foot2-rows b { margin-right: 6px; color: #e6e8eb; font-weight: 700; }
.sw-foot2-info::after { content: ""; flex-basis: 100%; height: 0; }
.sw-foot2-company .sw-footer-certs { margin-top: 26px !important; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .08); }
.sw-foot2-tel { margin: 0 0 16px !important; font-size: calc(1.9rem + 1pt); font-weight: 800; letter-spacing: -.01em; }
.sw-foot2-tel a { color: #fff !important; }
.sw-foot2-rows { display: grid; gap: 8px; margin: 0 !important; font-size: calc(.86rem + 1pt); line-height: 1.6; }
.sw-foot2-rows span { display: grid; grid-template-columns: 76px 1fr; }
.sw-foot2-rows b { color: #8b9098; font-weight: 600; }
.sw-foot2-actions { display: flex; align-items: flex-start; gap: 12px; }
.sw-foot2-actions > * { margin: 0 !important; }
.sw-foot2-btn a { display: inline-flex; align-items: center; gap: 10px; height: 46px; padding: 0 24px; background: #2f6bd8; color: #fff !important; font-size: calc(.9rem + 1pt); font-weight: 700; white-space: nowrap; transition: background .2s ease; }
.sw-foot2-btn a::after { content: ""; width: 12px; height: 12px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v13M6 11l6 6 6-6M4 21h16'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v13M6 11l6 6 6-6M4 21h16'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-foot2-btn a:hover { background: #1f55b8; }
.sw-foot2-family { position: relative; }
.sw-foot2-family summary { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-width: 170px; height: 46px; padding: 0 20px; border: 1px solid rgba(255, 255, 255, .55); color: #fff; font-size: calc(.82rem + 1pt); font-weight: 800; letter-spacing: .12em; list-style: none; cursor: pointer; }
.sw-foot2-family summary::-webkit-details-marker { display: none; }
.sw-foot2-family summary::after { content: ""; border: 5px solid transparent; border-bottom-color: currentColor; transform: translateY(-3px); }
.sw-foot2-family[open] summary::after { transform: translateY(3px) rotate(180deg); }
.sw-foot2-family ul { position: absolute; right: 0; bottom: calc(100% + 6px); z-index: 5; min-width: 100%; margin: 0; padding: 8px 0; border: 1px solid rgba(255, 255, 255, .2); background: #2f3236; list-style: none; box-shadow: 0 -12px 30px rgba(0, 0, 0, .35); }
.sw-foot2-family li a { display: block; padding: 9px 20px; color: #d6d9de !important; font-size: calc(.84rem + 1pt); white-space: nowrap; }
.sw-foot2-family li a:hover { background: rgba(255, 255, 255, .06); color: #fff !important; }
.sw-foot2-bottom { padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: calc(.8rem + 1pt); }
.sw-foot2-bottom > * { margin: 0 !important; }
.sw-foot2-bottom b { color: #e6e8eb; }
.sw-foot2-legal { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.sw-foot2-legal a:hover { color: #fff; }
@media (max-width: 1100px) {
  .sw-foot2-main { grid-template-columns: 1fr 1fr; row-gap: 32px; }
  .sw-foot2-company { grid-column: 1 / -1; padding-right: 0; border-right: 0; }
}
@media (max-width: 640px) {
  .sw-foot2-main { grid-template-columns: 1fr; }
  .sw-foot2-actions { flex-wrap: wrap; }
  .sw-foot2-tel { font-size: calc(1.6rem + 1pt); }
}

/* 전체 메뉴 펼침을 낮게: '제품/솔루션' 칸이 솔루션 10개로 길어 판 전체가 길었다 →
   그 칸은 분야 4개(이커머스 · 메시징 · AI/AX · SI·운영)만 보이고, 항목 간격을 줄인다 */
@media (min-width: 1280px) {
  .sw-site-header.is-mega-open .sw-mega-col > .wp-block-navigation-item__content { display: block !important; margin: 0 !important; padding: 7px 10px !important; border: 0 !important; color: #475569 !important; pointer-events: auto !important; }
  .sw-site-header.is-mega-open .sw-mega-col > .wp-block-navigation-item__content::before { display: none !important; }
  .sw-site-header.is-mega-open .sw-mega-col > .wp-block-navigation-item__content .wp-block-navigation-item__label { color: inherit !important; font-size: calc(.92rem + 1pt) !important; font-weight: 500 !important; letter-spacing: 0; }
  .sw-site-header.is-mega-open .sw-mega-col > .wp-block-navigation-item__content:hover { color: var(--sw-blue) !important; }
  .sw-site-header.is-mega-open .sw-mega-col > .wp-block-navigation__submenu-container { display: none !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { padding: 16px 0 18px !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 7px 10px !important; line-height: 1.5; }
}

/* 전체 메뉴 칸 폭: 170px 이면 이웃 칸과 겹쳐 세로선이 두 줄로 보였다 → 메뉴 간격에 맞춘 폭, 왼쪽 선만 */
@media (min-width: 1280px) {
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { width: 140px !important; border-right: 0 !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content { white-space: nowrap; }
}

/* 홈 문의 섹션 v2: 위쪽 건물 사진 띠(가운데 큰 문구 + 테두리 버튼) → 그 위로 겹쳐 올라오는 둥근 흰 카드 안에
   왼쪽 제목 · 오른쪽 설명(짧은 막대), 아래 회색 입력칸 문의 폼 */
.sw-home-contact { padding: 0 0 clamp(60px, 8vw, 110px) !important; background: #fff; }
.sw-home-contact > * { margin-block: 0 !important; }
.sw-hc-banner { position: relative; padding: clamp(90px, 11vw, 150px) 20px clamp(160px, 16vw, 220px) !important; background: linear-gradient(rgba(10, 20, 50, .55), rgba(10, 20, 50, .55)), url("assets/images/hero-company.jpg") center / cover no-repeat fixed; text-align: center; }
.sw-hc-banner > * { margin-inline: auto !important; }
.sw-hc-title { margin: 0 !important; color: #fff !important; font-size: calc(clamp(30px, 3.6vw, 50px) + 1pt) !important; font-weight: 400 !important; line-height: 1.35; letter-spacing: -.02em; word-break: keep-all; }
.sw-hc-more { margin: 34px auto 0 !important; }
.sw-hc-more a { display: inline-flex; align-items: center; gap: 14px; padding: 15px 42px; border: 1.5px solid rgba(255, 255, 255, .9); border-radius: 99px; color: #fff !important; font-size: calc(1rem + 1pt); font-weight: 500; text-decoration: none; transition: background .25s ease, color .25s ease; }
.sw-hc-more a::after { content: "\2192"; }
.sw-hc-more a:hover { background: #fff; color: #0b1a3a !important; }
.sw-hc-card { position: relative; z-index: 1; margin-top: -120px !important; padding: clamp(40px, 5vw, 76px) clamp(24px, 5vw, 80px) clamp(36px, 4vw, 60px) !important; border-radius: 34px 34px 0 0; background: #fff; }
.sw-hc-card > * { margin: 0 !important; }
.sw-hc-head { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 60px; margin-bottom: 44px !important; }
.sw-hc-head > * { margin: 0 !important; }
.sw-hc-head h3 { color: #111827 !important; font-size: calc(clamp(24px, 2.2vw, 32px) + 1pt) !important; font-weight: 800; line-height: 1.35; }
.sw-hc-lead { position: relative; padding-bottom: 30px; color: #374151; font-size: calc(1rem + 1pt); line-height: 1.75; word-break: keep-all; }
.sw-hc-lead::after { content: ""; position: absolute; left: 0; bottom: 0; width: 46px; height: 3px; background: #111827; }
.sw-hc-card .wpcf7 { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
.sw-hc-card .wpcf7 form { padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
.sw-hc-card .sw-cf-grid { gap: 18px 24px !important; }
.sw-hc-card .sw-cf-field label { color: #374151; font-size: calc(.9rem + 1pt); font-weight: 600; }
.sw-hc-card input[type="text"], .sw-hc-card input[type="email"], .sw-hc-card input[type="tel"], .sw-hc-card select, .sw-hc-card textarea { border: 1px solid transparent !important; border-radius: 4px !important; background: #f3f4f6 !important; box-shadow: none !important; }
.sw-hc-card input:focus, .sw-hc-card select:focus, .sw-hc-card textarea:focus { border-color: #111827 !important; background: #fff !important; outline: none; }
.sw-hc-card textarea { min-height: 170px; }
.sw-hc-card .sw-cf-submit, .sw-hc-card input[type="submit"] { width: auto !important; padding: 16px 34px !important; border: 0 !important; border-radius: 4px !important; background: #1f2937 !important; color: #fff !important; font-weight: 700; }
.sw-hc-card .sw-cf-submit:hover, .sw-hc-card input[type="submit"]:hover { background: #2f6bd8 !important; }
@media (max-width: 781px) {
  .sw-hc-banner { background-attachment: scroll; }
  .sw-hc-head { grid-template-columns: 1fr; }
  .sw-hc-card { margin-top: -80px !important; border-radius: 24px 24px 0 0; }
}

/* 전체 메뉴 항목 호버: 파랗게 바뀌며 글자 뒤로 빛이 번지고, 아래 밑줄이 가운데서 양옆으로 퍼진다 */
@media (min-width: 1280px) {
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
  .sw-site-header.is-mega-open .sw-mega-col > .wp-block-navigation-item__content { position: relative !important; transition: color .25s ease, text-shadow .25s ease !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content .wp-block-navigation-item__label { position: relative; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content .wp-block-navigation-item__label::after { content: ""; position: absolute; left: 50%; bottom: -3px; width: 0; height: 2px; border-radius: 2px; background: linear-gradient(90deg, #5fa8ff, #2f6bd8); box-shadow: 0 0 8px rgba(47, 107, 216, .7); transform: translateX(-50%); transition: width .3s ease; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: #2f6bd8 !important; animation: sw-menu-glow 1.6s ease-in-out infinite; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label::after { width: 100%; }
}
@keyframes sw-menu-glow { 0%, 100% { text-shadow: 0 0 0 rgba(47, 107, 216, 0); } 50% { text-shadow: 0 0 12px rgba(47, 107, 216, .55), 0 0 2px rgba(47, 107, 216, .35); } }

/* 푸터 글씨 한 단계 크게, 인증 마크는 한 줄에 */
.sw-foot2-info, .sw-foot2-rows { font-size: calc(1rem + 1pt) !important; }
.sw-foot2-tel { font-size: calc(2.2rem + 1pt) !important; }
.sw-foot2-rows span { grid-template-columns: 92px 1fr !important; }
.sw-foot2-btn a, .sw-foot2-family summary { height: 50px !important; font-size: calc(.98rem + 1pt) !important; }
.sw-foot2-bottom { font-size: calc(.9rem + 1pt) !important; }
.sw-foot2-family li a { font-size: calc(.95rem + 1pt) !important; }
.sw-foot2-company .sw-footer-certs { flex-wrap: nowrap; gap: 18px !important; }
.sw-foot2-company .sw-footer-certs li.is-innobiz img { height: 30px; }
.sw-foot2-company .sw-footer-certs li.is-venture img { height: 48px; }
.sw-foot2-company .sw-footer-certs li[class*="is-iso-"] img { height: 56px; }
@media (max-width: 640px) { .sw-foot2-company .sw-footer-certs { flex-wrap: wrap; } }

/* 푸터 인증 마크 5개를 반드시 한 줄로 (좁은 휴대폰 화면만 예외) */
@media (min-width: 641px) {
  .sw-site-footer .sw-footer-certs { display: flex !important; flex-wrap: nowrap !important; align-items: center !important; gap: 16px !important; }
  .sw-site-footer .sw-footer-certs li { flex: 0 0 auto !important; min-width: 0 !important; }
}

/* 홈 문의 사진 띠 문구 · 버튼을 화면 가운데로 (다른 제목 규칙의 왼쪽 정렬을 이긴다) */
.sw-home-contact .sw-hc-banner.is-layout-constrained > .sw-hc-title,
.sw-home-contact .sw-hc-banner.is-layout-constrained > .sw-hc-more { max-width: none !important; margin-left: auto !important; margin-right: auto !important; text-align: center !important; }

/* 첫 화면 아래 막대: 현재 장 막대가 왼쪽부터 흰색으로 차오르며 다음 장까지 남은 시간(6초)을 보여 준다 */
.sw-vhero-dots button { overflow: hidden; }
.sw-vhero-dots button[aria-current="true"] { width: 64px !important; background: rgba(255, 255, 255, .3) !important; }
.sw-vhero-dots button[aria-current="true"]::after { content: "" !important; display: block !important; position: absolute; inset: 0 !important; border-radius: inherit; background: #fff !important; -webkit-mask: none !important; mask: none !important; transform: scaleX(0); transform-origin: left center; }
.sw-vhero-dots button.is-live::after { animation: sw-vhero-bar var(--sw-ring-time, 6000ms) linear forwards !important; }
.sw-vhero.is-held .sw-vhero-dots button.is-live::after { animation-play-state: paused !important; }
@keyframes sw-vhero-bar { to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) { .sw-vhero-dots button[aria-current="true"]::after { transform: none; } }

/* 함께하는 고객사 띠: 배경을 우주로 (깊은 남색 + 성운 빛 + 반짝이는 별 두 겹), 로고는 흰 카드 그대로 */
.sw-clients, .sw-biz-space { position: relative; overflow: hidden; isolation: isolate; border-block: 0 !important;
  background: radial-gradient(40% 90% at 12% 20%, rgba(120, 80, 230, .35), transparent 70%), radial-gradient(45% 100% at 90% 90%, rgba(30, 140, 230, .32), transparent 72%), linear-gradient(180deg, #02061a, #060f30 55%, #02061a) !important; }
.sw-clients::before, .sw-clients::after, .sw-biz-space::before, .sw-biz-space::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.sw-clients::before, .sw-biz-space::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='460' height='460'%3E%3Ccircle cx='425.4' cy='436.4' r='0.85' fill='%23cfe3ff' fill-opacity='0.39'/%3E%3Ccircle cx='194.9' cy='243.8' r='0.47' fill='%23ffe9c7' fill-opacity='0.44'/%3E%3Ccircle cx='6.5' cy='285.3' r='0.85' fill='%23ffe9c7' fill-opacity='0.40'/%3E%3Ccircle cx='193.8' cy='235.8' r='0.77' fill='%23ffffff' fill-opacity='0.51'/%3E%3Ccircle cx='94.6' cy='16.2' r='0.58' fill='%23ffffff' fill-opacity='0.43'/%3E%3Ccircle cx='446.5' cy='166.9' r='0.78' fill='%23cfe3ff' fill-opacity='0.52'/%3E%3Ccircle cx='303.8' cy='144.6' r='0.44' fill='%23ffe9c7' fill-opacity='0.56'/%3E%3Ccircle cx='271.7' cy='205.8' r='0.72' fill='%23ffffff' fill-opacity='0.43'/%3E%3Ccircle cx='245.4' cy='309.7' r='0.66' fill='%23ffffff' fill-opacity='0.61'/%3E%3Ccircle cx='45.4' cy='17.9' r='0.54' fill='%23cfe3ff' fill-opacity='0.61'/%3E%3Ccircle cx='50.2' cy='414.1' r='0.67' fill='%23ffe9c7' fill-opacity='0.75'/%3E%3Ccircle cx='252.5' cy='118.9' r='0.45' fill='%23ffe9c7' fill-opacity='0.70'/%3E%3Ccircle cx='109.5' cy='250.9' r='0.86' fill='%23ffe9c7' fill-opacity='0.62'/%3E%3Ccircle cx='76.9' cy='448.5' r='0.43' fill='%23ffffff' fill-opacity='0.54'/%3E%3Ccircle cx='74.8' cy='103.8' r='0.41' fill='%23ffffff' fill-opacity='0.45'/%3E%3Ccircle cx='247.8' cy='454.6' r='0.77' fill='%23ffe9c7' fill-opacity='0.51'/%3E%3Ccircle cx='225.7' cy='17.0' r='0.53' fill='%23ffe9c7' fill-opacity='0.60'/%3E%3Ccircle cx='437.2' cy='99.3' r='0.45' fill='%23ffffff' fill-opacity='0.59'/%3E%3Ccircle cx='317.7' cy='256.7' r='0.52' fill='%23ffffff' fill-opacity='0.40'/%3E%3Ccircle cx='414.4' cy='204.6' r='0.57' fill='%23ffffff' fill-opacity='0.75'/%3E%3Ccircle cx='411.8' cy='316.4' r='0.61' fill='%23ffffff' fill-opacity='0.66'/%3E%3Ccircle cx='251.1' cy='195.5' r='0.55' fill='%23ffffff' fill-opacity='0.74'/%3E%3Ccircle cx='380.2' cy='49.9' r='0.72' fill='%23ffe9c7' fill-opacity='0.50'/%3E%3Ccircle cx='114.2' cy='437.7' r='0.44' fill='%23ffffff' fill-opacity='0.60'/%3E%3Ccircle cx='108.1' cy='258.0' r='0.64' fill='%23cfe3ff' fill-opacity='0.55'/%3E%3Ccircle cx='1.8' cy='173.5' r='0.79' fill='%23ffe9c7' fill-opacity='0.41'/%3E%3Ccircle cx='93.7' cy='313.3' r='0.49' fill='%23ffe9c7' fill-opacity='0.55'/%3E%3Ccircle cx='439.2' cy='193.2' r='0.54' fill='%23ffffff' fill-opacity='0.62'/%3E%3Ccircle cx='242.0' cy='137.0' r='0.85' fill='%23ffffff' fill-opacity='0.39'/%3E%3Ccircle cx='397.2' cy='229.0' r='0.79' fill='%23ffe9c7' fill-opacity='0.65'/%3E%3Ccircle cx='134.1' cy='147.0' r='0.57' fill='%23cfe3ff' fill-opacity='0.49'/%3E%3Ccircle cx='73.8' cy='19.7' r='0.84' fill='%23cfe3ff' fill-opacity='0.65'/%3E%3Ccircle cx='247.8' cy='317.9' r='0.59' fill='%23ffffff' fill-opacity='0.75'/%3E%3Ccircle cx='231.1' cy='50.8' r='0.63' fill='%23ffe9c7' fill-opacity='0.40'/%3E%3Ccircle cx='3.5' cy='17.0' r='0.79' fill='%23ffe9c7' fill-opacity='0.40'/%3E%3Ccircle cx='19.6' cy='371.3' r='0.54' fill='%23ffffff' fill-opacity='0.51'/%3E%3Ccircle cx='286.1' cy='358.8' r='0.49' fill='%23cfe3ff' fill-opacity='0.58'/%3E%3Ccircle cx='134.8' cy='36.0' r='0.86' fill='%23ffffff' fill-opacity='0.64'/%3E%3Ccircle cx='18.9' cy='55.3' r='0.77' fill='%23ffffff' fill-opacity='0.79'/%3E%3Ccircle cx='281.1' cy='64.0' r='0.77' fill='%23cfe3ff' fill-opacity='0.56'/%3E%3Ccircle cx='262.1' cy='354.5' r='0.81' fill='%23ffffff' fill-opacity='0.62'/%3E%3Ccircle cx='150.4' cy='61.7' r='0.45' fill='%23ffffff' fill-opacity='0.74'/%3E%3Ccircle cx='444.8' cy='456.3' r='0.78' fill='%23ffe9c7' fill-opacity='0.45'/%3E%3Ccircle cx='305.2' cy='244.6' r='0.51' fill='%23cfe3ff' fill-opacity='0.60'/%3E%3Ccircle cx='210.0' cy='303.5' r='0.88' fill='%23cfe3ff' fill-opacity='0.64'/%3E%3Ccircle cx='174.9' cy='356.0' r='0.82' fill='%23ffe9c7' fill-opacity='0.37'/%3E%3Ccircle cx='161.1' cy='96.8' r='0.73' fill='%23cfe3ff' fill-opacity='0.42'/%3E%3Ccircle cx='187.1' cy='26.9' r='0.56' fill='%23ffffff' fill-opacity='0.54'/%3E%3Ccircle cx='271.1' cy='190.6' r='0.52' fill='%23cfe3ff' fill-opacity='0.49'/%3E%3Ccircle cx='204.9' cy='79.6' r='0.81' fill='%23ffffff' fill-opacity='0.61'/%3E%3Ccircle cx='246.7' cy='286.6' r='0.61' fill='%23ffe9c7' fill-opacity='0.62'/%3E%3Ccircle cx='451.4' cy='304.0' r='0.62' fill='%23ffffff' fill-opacity='0.38'/%3E%3Ccircle cx='180.1' cy='175.9' r='0.43' fill='%23ffe9c7' fill-opacity='0.37'/%3E%3Ccircle cx='161.1' cy='433.8' r='0.74' fill='%23cfe3ff' fill-opacity='0.79'/%3E%3Ccircle cx='330.8' cy='66.1' r='0.89' fill='%23ffe9c7' fill-opacity='0.69'/%3E%3Ccircle cx='249.5' cy='55.8' r='0.43' fill='%23ffffff' fill-opacity='0.56'/%3E%3Ccircle cx='450.3' cy='367.4' r='0.46' fill='%23ffffff' fill-opacity='0.36'/%3E%3Ccircle cx='244.5' cy='90.8' r='0.57' fill='%23cfe3ff' fill-opacity='0.79'/%3E%3Ccircle cx='323.7' cy='197.9' r='0.86' fill='%23cfe3ff' fill-opacity='0.77'/%3E%3Ccircle cx='155.6' cy='339.9' r='0.51' fill='%23ffffff' fill-opacity='0.65'/%3E%3Ccircle cx='29.1' cy='359.1' r='0.47' fill='%23cfe3ff' fill-opacity='0.77'/%3E%3Ccircle cx='446.0' cy='51.0' r='0.81' fill='%23ffffff' fill-opacity='0.39'/%3E%3Ccircle cx='442.5' cy='15.5' r='0.64' fill='%23ffffff' fill-opacity='0.77'/%3E%3Ccircle cx='235.4' cy='125.2' r='0.69' fill='%23ffffff' fill-opacity='0.80'/%3E%3Ccircle cx='402.8' cy='90.8' r='0.77' fill='%23ffffff' fill-opacity='0.68'/%3E%3Ccircle cx='302.2' cy='60.6' r='0.82' fill='%23ffffff' fill-opacity='0.57'/%3E%3Ccircle cx='119.6' cy='426.2' r='0.70' fill='%23ffffff' fill-opacity='0.52'/%3E%3Ccircle cx='261.9' cy='263.1' r='0.80' fill='%23ffffff' fill-opacity='0.64'/%3E%3Ccircle cx='66.9' cy='6.4' r='0.72' fill='%23ffe9c7' fill-opacity='0.77'/%3E%3Ccircle cx='3.9' cy='228.4' r='0.63' fill='%23ffffff' fill-opacity='0.48'/%3E%3Ccircle cx='382.9' cy='95.6' r='0.80' fill='%23ffffff' fill-opacity='0.71'/%3E%3Ccircle cx='72.4' cy='377.3' r='0.73' fill='%23ffe9c7' fill-opacity='0.40'/%3E%3Ccircle cx='346.0' cy='90.5' r='0.49' fill='%23ffffff' fill-opacity='0.65'/%3E%3Ccircle cx='386.0' cy='122.5' r='0.70' fill='%23ffffff' fill-opacity='0.72'/%3E%3Ccircle cx='53.0' cy='197.9' r='0.43' fill='%23ffe9c7' fill-opacity='0.65'/%3E%3Ccircle cx='452.5' cy='353.4' r='0.45' fill='%23cfe3ff' fill-opacity='0.46'/%3E%3Ccircle cx='290.2' cy='195.6' r='0.51' fill='%23ffffff' fill-opacity='0.60'/%3E%3Ccircle cx='154.2' cy='259.3' r='0.89' fill='%23ffffff' fill-opacity='0.39'/%3E%3Ccircle cx='338.7' cy='70.2' r='0.68' fill='%23ffffff' fill-opacity='0.64'/%3E%3Ccircle cx='205.5' cy='24.5' r='0.86' fill='%23ffffff' fill-opacity='0.47'/%3E%3Ccircle cx='213.5' cy='358.4' r='0.57' fill='%23ffe9c7' fill-opacity='0.39'/%3E%3Ccircle cx='418.9' cy='363.3' r='0.45' fill='%23ffe9c7' fill-opacity='0.59'/%3E%3Ccircle cx='173.1' cy='337.0' r='0.49' fill='%23ffffff' fill-opacity='0.75'/%3E%3Ccircle cx='10.9' cy='394.9' r='0.79' fill='%23ffffff' fill-opacity='0.66'/%3E%3Ccircle cx='391.6' cy='307.4' r='0.73' fill='%23cfe3ff' fill-opacity='0.73'/%3E%3Ccircle cx='435.6' cy='291.5' r='0.86' fill='%23cfe3ff' fill-opacity='0.41'/%3E%3Ccircle cx='58.7' cy='126.3' r='0.67' fill='%23ffe9c7' fill-opacity='0.62'/%3E%3Ccircle cx='310.6' cy='81.8' r='0.53' fill='%23ffffff' fill-opacity='0.68'/%3E%3Ccircle cx='375.5' cy='410.2' r='0.79' fill='%23ffe9c7' fill-opacity='0.60'/%3E%3Ccircle cx='220.7' cy='329.4' r='0.43' fill='%23ffffff' fill-opacity='0.54'/%3E%3Ccircle cx='126.3' cy='53.5' r='0.70' fill='%23cfe3ff' fill-opacity='0.45'/%3E%3Ccircle cx='195.5' cy='407.6' r='0.52' fill='%23cfe3ff' fill-opacity='0.39'/%3E%3Ccircle cx='117.8' cy='426.3' r='0.89' fill='%23ffffff' fill-opacity='0.66'/%3E%3Ccircle cx='226.2' cy='147.8' r='0.79' fill='%23cfe3ff' fill-opacity='0.53'/%3E%3Ccircle cx='249.9' cy='270.5' r='0.82' fill='%23ffe9c7' fill-opacity='0.37'/%3E%3Ccircle cx='413.2' cy='271.9' r='0.77' fill='%23ffffff' fill-opacity='0.38'/%3E%3Ccircle cx='53.1' cy='53.4' r='0.62' fill='%23cfe3ff' fill-opacity='0.74'/%3E%3Ccircle cx='77.8' cy='416.8' r='0.58' fill='%23ffe9c7' fill-opacity='0.48'/%3E%3Ccircle cx='422.0' cy='459.6' r='0.50' fill='%23ffe9c7' fill-opacity='0.60'/%3E%3Ccircle cx='414.6' cy='343.3' r='0.54' fill='%23ffffff' fill-opacity='0.58'/%3E%3Ccircle cx='336.0' cy='387.8' r='0.81' fill='%23ffffff' fill-opacity='0.59'/%3E%3Ccircle cx='58.0' cy='6.2' r='0.58' fill='%23ffe9c7' fill-opacity='0.70'/%3E%3Ccircle cx='358.5' cy='249.9' r='0.47' fill='%23ffffff' fill-opacity='0.67'/%3E%3Ccircle cx='129.0' cy='367.4' r='0.50' fill='%23ffe9c7' fill-opacity='0.49'/%3E%3Ccircle cx='270.1' cy='349.0' r='0.80' fill='%23ffe9c7' fill-opacity='0.47'/%3E%3Ccircle cx='79.2' cy='281.7' r='0.62' fill='%23ffffff' fill-opacity='0.71'/%3E%3Ccircle cx='326.5' cy='431.0' r='0.89' fill='%23ffffff' fill-opacity='0.74'/%3E%3Ccircle cx='442.8' cy='398.2' r='0.49' fill='%23ffffff' fill-opacity='0.72'/%3E%3Ccircle cx='100.1' cy='3.3' r='0.74' fill='%23ffe9c7' fill-opacity='0.58'/%3E%3Ccircle cx='39.4' cy='81.3' r='0.50' fill='%23ffffff' fill-opacity='0.76'/%3E%3C/svg%3E"); background-size: 460px 460px; animation: sw-star-twinkle 6s ease-in-out infinite; }
.sw-clients::after, .sw-biz-space::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='640'%3E%3Ccircle cx='515.1' cy='575.8' r='1.04' fill='%23ffffff' fill-opacity='0.61'/%3E%3Ccircle cx='237.7' cy='472.1' r='1.02' fill='%23cfe3ff' fill-opacity='0.76'/%3E%3Ccircle cx='368.8' cy='560.7' r='1.46' fill='%23ffffff' fill-opacity='0.95'/%3E%3Ccircle cx='172.8' cy='494.1' r='1.08' fill='%23ffffff' fill-opacity='0.64'/%3E%3Ccircle cx='69.4' cy='639.4' r='1.57' fill='%23ffe9c7' fill-opacity='0.94'/%3E%3Ccircle cx='338.2' cy='317.8' r='1.30' fill='%23ffffff' fill-opacity='0.92'/%3E%3Ccircle cx='557.7' cy='354.5' r='1.10' fill='%23ffe9c7' fill-opacity='0.73'/%3E%3Ccircle cx='543.7' cy='0.4' r='1.24' fill='%23ffffff' fill-opacity='0.73'/%3E%3Ccircle cx='212.4' cy='595.0' r='1.31' fill='%23ffffff' fill-opacity='0.94'/%3E%3Ccircle cx='311.8' cy='56.1' r='1.48' fill='%23cfe3ff' fill-opacity='0.94'/%3E%3Ccircle cx='407.5' cy='424.7' r='1.45' fill='%23ffffff' fill-opacity='0.72'/%3E%3Ccircle cx='269.3' cy='417.0' r='1.02' fill='%23cfe3ff' fill-opacity='0.63'/%3E%3Ccircle cx='253.9' cy='366.1' r='1.41' fill='%23ffffff' fill-opacity='0.96'/%3E%3Ccircle cx='371.2' cy='574.8' r='1.10' fill='%23ffffff' fill-opacity='0.68'/%3E%3Ccircle cx='346.7' cy='287.1' r='1.40' fill='%23ffffff' fill-opacity='0.79'/%3E%3Ccircle cx='248.4' cy='60.8' r='1.48' fill='%23ffffff' fill-opacity='0.96'/%3E%3Ccircle cx='218.5' cy='613.6' r='1.32' fill='%23cfe3ff' fill-opacity='0.75'/%3E%3Ccircle cx='605.3' cy='130.7' r='1.09' fill='%23ffffff' fill-opacity='0.66'/%3E%3C/svg%3E"); background-size: 640px 640px; animation: sw-star-twinkle 4.5s ease-in-out infinite reverse, sw-star-drift 120s linear infinite; }
.sw-clients .sw-section-heading h3 { color: #fff !important; }
.sw-clients .sw-section-heading .sw-lead { color: rgba(255, 255, 255, .65) !important; }
.sw-clients .sw-logo-roll figure { border: 0 !important; box-shadow: 0 10px 26px rgba(0, 0, 0, .35) !important; }
@media (prefers-reduced-motion: reduce) { .sw-clients::before, .sw-clients::after { animation: none; } }

/* 함께하는 고객사 제목 · 설명 크게 */
.sw-clients .sw-section-heading { margin-bottom: 34px !important; }
.sw-clients .sw-section-heading h3 { font-size: calc(clamp(1.6rem, 2.4vw, 2.2rem) + 1pt) !important; font-weight: 800 !important; letter-spacing: -.02em !important; }
.sw-clients .sw-section-heading .sw-lead { margin-top: 10px !important; font-size: calc(1.1rem + 1pt) !important; }

/* 어두운 첫 화면 위(헤더가 투명할 때)에서는 로고를 흰색으로. 스크롤해 헤더가 흰색이 되거나 전체 메뉴가 열리면 원래 색 */
.sw-header-inner .wp-block-site-logo img { transition: filter .3s ease; }
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part:not(.is-scrolled) .sw-site-header:not(.is-mega-open) .wp-block-site-logo img { filter: brightness(0) invert(1); }

/* 전체 메뉴 항목 호버: 색이 파랗게 바뀌면서 글씨가 부드럽게 커진다 (자리 밀림 없이 확대) */
@media (min-width: 1280px) {
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content .wp-block-navigation-item__label,
  .sw-site-header.is-mega-open .sw-mega-col > .wp-block-navigation-item__content .wp-block-navigation-item__label { display: inline-block; transition: transform .25s cubic-bezier(.2, .8, .2, 1), color .25s ease; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
  .sw-site-header.is-mega-open .sw-mega-col > .wp-block-navigation-item__content:hover .wp-block-navigation-item__label { color: #2f6bd8 !important; font-weight: 700 !important; transform: scale(1.14); }
  .sw-site-header.is-mega-open .sw-mega-col > .wp-block-navigation-item__content:hover { animation: sw-menu-glow 1.6s ease-in-out infinite; }
}

/* 전체 메뉴 호버 확대를 더 크게 (1.14 → 1.28) */
@media (min-width: 1280px) {
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
  .sw-site-header.is-mega-open .sw-mega-col > .wp-block-navigation-item__content:hover .wp-block-navigation-item__label { transform: scale(1.28); }
}

/* 세로선이 판 아래로 튀어나오던 원인: 칸 높이에 위아래 여백(34px)이 더해졌다 → 여백을 높이 안에 포함, 판도 같은 방식 */
@media (min-width: 1280px) {
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { box-sizing: border-box !important; }
  .sw-site-header.is-mega-open::after { box-sizing: border-box; }
}

/* 홈 문의 사진 띠 문구 굵게 */
.sw-home-contact .sw-hc-title { font-weight: 800 !important; letter-spacing: -.03em !important; text-shadow: 0 4px 20px rgba(0, 0, 0, .3); }

/* 푸터 내용을 헤더와 같은 폭으로 넓혀 왼쪽 끝에 더 가깝게 (주소도 한 줄에) */
.sw-foot2.is-layout-constrained > .alignwide { width: 100%; max-width: none !important; box-sizing: border-box; padding-inline: clamp(20px, 3vw, 56px) !important; }
.sw-foot2-main { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) auto !important; }

/* '움직이는 순간' 파동: 글자가 왼쪽부터 차례로 솟았다 내려오며(물결), 색이 하늘빛으로 번지고,
   글귀 뒤에서 동심원 파문이 퍼져 나간다 */
.sw-wave { position: relative; display: inline-block; white-space: nowrap; }
.sw-wave i { display: inline-block; font-style: normal; background: linear-gradient(180deg, #ffffff 30%, #8fd3ff); -webkit-background-clip: text; background-clip: text; color: transparent; animation: sw-wave-letter 2.6s cubic-bezier(.45, 0, .55, 1) infinite; animation-delay: calc(var(--i, 0) * .09s); }
.sw-wave i.is-space { width: .3em; animation: none; }
@keyframes sw-wave-letter {
  0%, 55%, 100% { transform: translateY(0); filter: drop-shadow(0 0 0 rgba(120, 200, 255, 0)); }
  18% { transform: translateY(-.22em); filter: drop-shadow(0 6px 14px rgba(120, 200, 255, .75)); }
  36% { transform: translateY(.06em); }
}
.sw-hc-banner { overflow: hidden; }
.sw-hc-banner::before, .sw-hc-banner::after { content: ""; position: absolute; top: 42%; left: 50%; z-index: 0; width: 240px; height: 240px; border: 2px solid rgba(143, 211, 255, .45); border-radius: 50%; transform: translate(-50%, -50%) scale(.3); opacity: 0; pointer-events: none; animation: sw-ripple 5.2s ease-out infinite; }
.sw-hc-banner::after { animation-delay: 2.6s; }
.sw-hc-banner > * { position: relative; z-index: 1; }
@keyframes sw-ripple { 0% { opacity: .9; transform: translate(-50%, -50%) scale(.3); } 100% { opacity: 0; transform: translate(-50%, -50%) scale(5.5); } }
@media (prefers-reduced-motion: reduce) { .sw-wave i, .sw-hc-banner::before, .sw-hc-banner::after { animation: none; } }

/* Windows '애니메이션 효과'가 꺼진 PC에서도 고객사 로고 띠와 첫 화면 진행 막대는 움직이게 한다
   (전체를 멈추는 접근성 규칙보다 우선). 다른 장식 애니메이션은 그대로 멈춘다. */
@media (prefers-reduced-motion: reduce) {
  .sw-logo-roll { overflow-x: hidden !important; }
  .sw-logo-roll > .wp-block-group, .sw-clients .sw-logo-roll > .wp-block-group { animation: sw-logo-roll 60s linear infinite !important; animation-duration: 60s !important; animation-iteration-count: infinite !important; transform: none; }
  .sw-vhero-dots button.is-live::after { animation: sw-vhero-bar var(--sw-ring-time, 6000ms) linear forwards !important; animation-duration: var(--sw-ring-time, 6000ms) !important; }
  .sw-vslide { transition-duration: .9s !important; }
  .sw-vtext { transition-duration: .6s !important; }
}
/* 로고 띠 속도를 조금 빠르게 해 움직임이 눈에 띄게 */
.sw-clients .sw-logo-roll > .wp-block-group { animation-duration: 60s !important; }

/* 고객사 로고 카드 크게 · 간격 넓게 */
.sw-clients .sw-logo-roll > .wp-block-group { gap: 26px !important; }
.sw-clients .sw-logo-roll figure { width: 210px !important; height: 96px !important; padding: 16px 26px !important; border-radius: 16px !important; }
.sw-clients .sw-logo-roll { padding-block: 16px !important; }
@keyframes sw-logo-roll { to { transform: translateX(calc(-50% - 13px)); } }
@media (max-width: 781px) { .sw-clients .sw-logo-roll figure { width: 168px !important; height: 80px !important; } .sw-clients .sw-logo-roll > .wp-block-group { gap: 18px !important; } }

/* 홈 솔루션 v4 (참고: 세로 기둥형): 5개를 한 줄의 흰 기둥으로 — 가는 세로선으로 나뉘고, 위에는 가운데 정렬 글
   (이름 · 부제 · 설명 · 버튼), 아래에는 사진이 기둥마다 다른 높이에서 시작해 계단처럼 어긋난다 */
.sw-sol-grid.sw-sol-grid { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 0 !important; border-left: 1px solid #e5e7eb; perspective: none; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-lg, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-sm { --img-h: 46%; grid-column: auto !important; justify-self: stretch !important; width: auto !important; position: relative; display: flex !important; flex-direction: column; justify-content: flex-start !important; align-items: center; min-height: 640px; padding: 84px 26px 0 !important; overflow: hidden; border: 0 !important; border-right: 1px solid #e5e7eb !important; border-radius: 0 !important; background: #fff !important; box-shadow: none !important; color: var(--sw-ink); text-align: center; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card:nth-child(2) { --img-h: 58%; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card:nth-child(3) { --img-h: 40%; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card:nth-child(4) { --img-h: 52%; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card:nth-child(5) { --img-h: 44%; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card::before, .sw-sol-grid.sw-sol-grid > .sw-sol-card::after { display: none !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-body { display: flex; flex-direction: column; align-items: center; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-shot { position: absolute !important; top: auto !important; right: 0; bottom: 0; left: 0; height: var(--img-h); inset: auto 0 0 0 !important; transition: height .6s cubic-bezier(.2, .8, .2, 1); }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-shot img { filter: none !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card:hover .sw-sol-shot { height: calc(var(--img-h) + 6%); }
.sw-sol-grid.sw-sol-grid > .sw-sol-card:hover .sw-sol-shot img { transform: scale(1.06) !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-name { flex-direction: column; gap: 14px !important; justify-content: center; color: #111827 !important; -webkit-text-fill-color: #111827 !important; font-size: calc(1.55rem + 1pt) !important; font-weight: 800 !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-name::before { width: 48px !important; height: 48px !important; border: 0 !important; border-radius: 14px !important; background: linear-gradient(135deg, var(--sc2), var(--sc1)) !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-name::after, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-sm > .sw-sol-name::after { top: 13px !important; left: 50% !important; width: 22px !important; height: 22px !important; transform: translateX(-50%); }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-sub { margin-top: 8px !important; color: var(--sc1) !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-tag { max-width: 17em; margin: 16px auto 0 !important; color: #6b7280 !important; font-size: calc(.95rem + 1pt) !important; line-height: 1.7; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-tag br { display: none; }
/* 버튼: 카드 전체가 링크이고, 설명 아래에 '자세히' 버튼 모양을 둔다 */
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-go { order: 5; margin-top: 24px !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-go a::after, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-lg .sw-sol-go a::after, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-sm .sw-sol-go a::after { position: static !important; display: inline-grid; width: 46px !important; height: 46px !important; border: 0 !important; border-radius: 50% !important; background: #374151 !important; color: #fff !important; transform: none !important; -webkit-backdrop-filter: none; backdrop-filter: none; font-size: calc(1rem + 1pt); }
.sw-sol-grid.sw-sol-grid > .sw-sol-card:hover .sw-sol-go a::after { background: var(--sc1) !important; color: #fff !important; transform: translateX(4px) !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-go a { position: static; display: inline-block; font-size: 0; }
.sw-sol-grid.is-in > .sw-sol-card:hover { transform: none !important; box-shadow: none !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card:hover { background: #fafbfd !important; }
@media (max-width: 1100px) {
  .sw-sol-grid.sw-sol-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; border-top: 1px solid #e5e7eb; }
  .sw-sol-grid.sw-sol-grid > .sw-sol-card { min-height: 560px; border-bottom: 1px solid #e5e7eb !important; }
}
@media (max-width: 700px) {
  .sw-sol-grid.sw-sol-grid { grid-template-columns: 1fr !important; }
  .sw-sol-grid.sw-sol-grid > .sw-sol-card { min-height: 480px; padding-top: 56px !important; }
}

/* 홈 Insights v2: 왼쪽 두 줄 제목(첫 줄 굵게 · 둘째 줄 가늘게) + 오른쪽 설명 · 짧은 막대,
   카드는 테두리 없이 큰 둥근 이미지 → 굵은 한 줄 제목 → 회색 두 줄 요약 → 'Posted 날짜' */
.sw-ins-head { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 60px; align-items: start; margin-bottom: 56px !important; }
.sw-ins-head > * { margin: 0 !important; }
.sw-ins-title { color: #111827 !important; font-size: calc(clamp(30px, 3vw, 44px) + 1pt) !important; font-weight: 300 !important; line-height: 1.3; letter-spacing: -.03em; }
.sw-ins-title strong { font-weight: 800; }
.sw-ins-lead { position: relative; padding-bottom: 32px; color: #6b7280; font-size: calc(1rem + 1pt); line-height: 1.75; word-break: keep-all; }
.sw-ins-lead::after { content: ""; position: absolute; left: 0; bottom: 0; width: 46px; height: 3px; background: #111827; }
.sw-insights .sw-insight-grid { gap: 28px !important; }
.sw-insights .sw-insight-card { height: 100%; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; text-align: left !important; }
.sw-insights .sw-insight-card > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.sw-insights .sw-insight-thumb { overflow: hidden; margin: 0 0 22px !important; aspect-ratio: 4 / 3; border-radius: 12px; background: #eef2f7; }
.sw-insights .sw-insight-thumb img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 0 !important; transition: transform .6s cubic-bezier(.2, .8, .2, 1); }
.sw-insights .sw-insight-card:hover .sw-insight-thumb img { transform: scale(1.05); }
.sw-insights .sw-insight-cat, .sw-insights .sw-insight-more { display: none !important; }
.sw-insights .sw-insight-card h3 { margin: 0 !important; overflow: hidden; color: #111827 !important; font-size: calc(1.08rem + 1pt) !important; font-weight: 800 !important; text-align: left !important; text-overflow: ellipsis; white-space: nowrap; }
.sw-insights .sw-insight-card h3 a { color: inherit !important; text-decoration: none; }
.sw-insights .sw-insight-card h3 a:hover { color: #2f6bd8 !important; }
.sw-insights .sw-insight-summary { display: -webkit-box; margin: 10px 0 0 !important; overflow: hidden; color: #6b7280 !important; font-size: calc(.95rem + 1pt) !important; line-height: 1.7; text-align: left !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.sw-insights .sw-insight-date { margin: 14px 0 0 !important; color: #111827 !important; font-size: calc(.8rem + 1pt) !important; font-weight: 700; text-align: left !important; }
.sw-insights .sw-insight-date::before { content: "Posted"; margin-right: 8px; color: #9ca3af; font-weight: 500; }
@media (max-width: 781px) { .sw-ins-head { grid-template-columns: 1fr; margin-bottom: 36px !important; } }

/* 홈 Insights 가로 폭 넓게: 제목 · 카드 줄을 헤더와 같은 폭으로 */
.sw-insights.is-layout-constrained > .alignwide { width: 100%; max-width: 1520px !important; box-sizing: border-box; padding-inline: clamp(20px, 3vw, 56px) !important; }
.sw-insights .sw-insight-grid { gap: 36px !important; }

/* 홈 솔루션 기둥: 이름 위 아이콘 칸 지움 */
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-name::before, .sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-name::after, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-sm > .sw-sol-name::after { display: none !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-name { gap: 0 !important; }

/* 사이트 전체 글씨체 통일: 영문 · 숫자 Roboto, 한글 Noto Sans KR (입력칸 · 버튼 · 메뉴 포함) */
body, button, input, select, textarea, .wp-block-button__link, .wp-block-navigation, h1, h2, h3, h4, h5, h6 { font-family: Roboto, "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; }
body { -webkit-font-smoothing: antialiased; }

/* 홈 Insights 가로 폭 한 단계 더: 최대 폭 제한을 풀고 화면 양끝 여백만 남긴다 */
.sw-insights.is-layout-constrained > .alignwide { max-width: none !important; padding-inline: clamp(20px, 2.4vw, 44px) !important; }

/* 홈 Insights: 섹션 자체의 좌우 여백까지 걷어 화면 끝에 가깝게 (양끝 16px) */
.wp-block-group.alignfull.sw-insights { padding-left: 0 !important; padding-right: 0 !important; }
.sw-insights.is-layout-constrained > .alignwide { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding-inline: 16px !important; }
.sw-insights .sw-insight-grid { gap: 20px !important; }

/* 홈 솔루션 기둥: 이름 · 부제 · 설명을 기둥 가운데로 (이름 칸이 글자 폭만큼이라 왼쪽에 붙던 것) */
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-body { width: 100%; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-name,
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-sub,
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-tag { width: 100% !important; max-width: none; margin-left: auto !important; margin-right: auto !important; justify-content: center !important; align-items: center !important; text-align: center !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-sub { display: block !important; }

/* 바뀌는 문구 뒤 깜빡이는 세로 커서 */
.sw-type { display: inline-block; min-height: 1.2em; }
.sw-type::after { content: ""; display: inline-block; width: 3px; height: .95em; margin-left: 4px; background: currentColor; vertical-align: -.08em; animation: sw-caret 1s steps(1) infinite !important; animation-duration: 1s !important; animation-iteration-count: infinite !important; }
@keyframes sw-caret { 50% { opacity: 0; } }

/* 홈의 모든 본문 섹션을 Insights 와 같은 폭으로: 섹션 좌우 여백을 걷고, 넓은 칸은 화면 양끝 16px 까지 */
body.home .wp-block-post-content > .wp-block-group.alignfull.sw-section { padding-left: 0 !important; padding-right: 0 !important; }
body.home .wp-block-post-content > .wp-block-group.alignfull.sw-section.is-layout-constrained > .alignwide { width: auto; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box; padding-inline: 16px !important; }
body.home .wp-block-post-content > .wp-block-group.alignfull.sw-section.is-layout-constrained > .alignwide.sw-hc-card { margin-left: 16px !important; margin-right: 16px !important; padding-inline: clamp(24px, 5vw, 80px) !important; }

/* Insights 오른쪽 문구: 'Experience to Insight' 를 굵은 한 줄 제목처럼 */
.sw-ins-lead strong { display: inline-block; margin-bottom: 6px; color: #111827; font-size: calc(1.3rem + 1pt); font-weight: 800; letter-spacing: -.01em; }

/* 솔루션 기둥 화살표: 누르는 순간 링크 기본 모양(파란 네모 배경 · 테두리)이 드러나던 것 → 원형 버튼 모양 유지 */
.sw-sol-grid .sw-sol-card .sw-sol-go a, .sw-sol-grid .sw-sol-card .sw-sol-go a:focus, .sw-sol-grid .sw-sol-card .sw-sol-go a:active, .sw-sol-grid .sw-sol-card .sw-sol-go a:hover { outline: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; -webkit-tap-highlight-color: transparent; }
.sw-sol-grid .sw-sol-card .sw-sol-go a:active::after { transform: scale(.92) !important; }
.sw-sol-grid .sw-sol-card .sw-sol-go a:focus-visible::after { box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--sc1, #2f6bd8) !important; }
.sw-sol-grid .sw-sol-card:has(.sw-sol-go a:focus-visible) { outline: 0 !important; }

/* Insights 오른쪽: 'Experience to Insight' 소제목(파랑 · 영문) 아래 굵은 한 줄, 그 아래 회색 설명 */
.sw-ins-lead strong { margin-bottom: 10px; color: #2f6bd8; font-size: calc(.95rem + 1pt); font-weight: 800; letter-spacing: .06em; }
.sw-ins-lead b { display: inline-block; margin-bottom: 8px; color: #111827; font-size: calc(1.3rem + 1pt); font-weight: 800; letter-spacing: -.01em; }

/* 본문 폭을 참고 화면 정도(가운데 1100px)로 통일: 앞서 홈 · Insights 를 화면 끝까지 넓혔던 것을 되돌린다 */
body.home .wp-block-post-content > .wp-block-group.alignfull.sw-section { padding-left: 20px !important; padding-right: 20px !important; }
body.home .wp-block-post-content > .wp-block-group.alignfull.sw-section.is-layout-constrained > .alignwide,
.sw-insights.is-layout-constrained > .alignwide { width: 100%; max-width: var(--wp--style--global--wide-size, 1100px) !important; margin-left: auto !important; margin-right: auto !important; padding-inline: 0 !important; }
body.home .wp-block-post-content > .wp-block-group.alignfull.sw-section.is-layout-constrained > .alignwide.sw-hc-card { margin-left: auto !important; margin-right: auto !important; padding-inline: clamp(24px, 5vw, 80px) !important; }
.wp-block-group.alignfull.sw-insights { padding-left: 20px !important; padding-right: 20px !important; }
.sw-insights .sw-insight-grid { gap: 28px !important; }
/* 1200px 을 직접 적어 둔 곳도 같은 폭으로 */
.sw-sol-grid.sw-sol-grid, .wp-block-columns.sw-value-grid:not(.sw-step-grid) { max-width: var(--wp--style--global--wide-size, 1100px) !important; margin-inline: auto !important; }

/* 홈 Insights 카드 4개 한 줄 */
.sw-insights .sw-insight-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 24px !important; }
.sw-insights .sw-insight-grid > .wp-block-column { margin: 0 !important; }
@media (max-width: 1024px) { .sw-insights .sw-insight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 600px) { .sw-insights .sw-insight-grid { grid-template-columns: 1fr !important; } }

/* 한 번 타자 효과 커서 */
.sw-typeonce-caret { display: inline-block; width: 3px; height: .9em; margin-left: 4px; background: currentColor; vertical-align: -.06em; animation: sw-caret 1s steps(1) infinite !important; animation-duration: 1s !important; animation-iteration-count: infinite !important; }
.sw-typeonce-caret.is-done { display: none; }

/* 솔루션 기둥 이름: 단어 중간('플랫/폼')에서 끊지 않고 띄어쓰기에서만 두 줄로 */
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-name { word-break: keep-all !important; overflow-wrap: normal !important; line-height: 1.3; }

/* 제품명 SUMS: 앞 글자 S 만 다른 색 */
.sw-s { color: #f97316 !important; -webkit-text-fill-color: #f97316 !important; }

/* 대표 메시지 카드: 남색 배경 · 빛 무늬를 지우고 따옴표만 남긴다 (글씨는 밝은 배경에 맞게 짙게) */
.sw-ceo-card { overflow: visible !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; padding-left: 64px !important; }
.sw-ceo-card::after { display: none !important; }
.sw-ceo-card::before { top: -40px !important; left: -8px !important; color: #7cb4f5 !important; opacity: .55; }
.sw-ceo-card .sw-ceo-quote { color: #0b1f44 !important; }
.sw-ceo-card .sw-ceo-quote strong { color: #1f6fe5 !important; }
.sw-ceo-card .sw-ceo-by { color: #4b5563 !important; }
.sw-ceo-card .sw-ceo-by::before { background: #1f6fe5 !important; }
@media (max-width: 781px) { .sw-ceo-card { padding-left: 40px !important; } .sw-ceo-card::before { font-size: 9rem !important; top: -28px !important; } }

/* 솔루션 기둥 고침
   1) 이름 칸이 세로 flex 라 'S' 가 따로 한 줄로 떨어졌다 → 이름은 한 덩어리 글줄로 (SUMS 한 줄)
   2) 사진이 기둥 아래에 겹쳐 깔려 좁은 칸에서 설명 글과 겹쳤다 → 사진을 글 아래로 내려 놓고(겹침 없음),
      기둥마다 사진 높이만 달리해 윗선이 계단처럼 어긋나게 */
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-name { display: block !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-lg, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-sm { --img-px: 260px; min-height: 0 !important; padding-bottom: 0 !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card:nth-child(2) { --img-px: 330px; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card:nth-child(3) { --img-px: 220px; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card:nth-child(4) { --img-px: 300px; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card:nth-child(5) { --img-px: 245px; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-shot { position: relative !important; inset: auto !important; order: 20 !important; flex: 0 0 auto; width: calc(100% + 52px) !important; height: var(--img-px) !important; margin: auto -26px 0 !important; padding-top: 0 !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-go { margin-bottom: 40px !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card:hover .sw-sol-shot { height: calc(var(--img-px) + 24px) !important; }
@media (max-width: 1100px) { .sw-sol-grid.sw-sol-grid > .sw-sol-card { --img-px: 240px !important; } }

/* 홈 포트폴리오 슬라이드: 큰 색 카드(노랑 · 차콜 · 연회색 · 파랑)가 가로로 이어지고 양옆 카드가 살짝 보인다.
   왼쪽에 분류 · 제목 · 요약 · 버튼, 오른쪽에 구축 화면. 화살표와 막대형 점으로 넘긴다. */
.sw-pfs-sec { overflow: hidden; }
.sw-pfs { position: relative; width: 100vw; max-width: none !important; margin: 0 calc(50% - 50vw) !important; }
.sw-pfs-track { display: flex; gap: 40px; padding: 10px calc((100vw - min(1100px, 100vw - 40px)) / 2); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.sw-pfs-track::-webkit-scrollbar { display: none; }
.sw-pfs-card { --bg: #ffd60a; --fg: #111827; --sub: rgba(17, 24, 39, .7); flex: 0 0 min(760px, 82vw); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: stretch; min-height: 380px; overflow: hidden; border-radius: 22px; background: var(--bg); color: var(--fg); scroll-snap-align: center; transition: transform .4s ease, opacity .4s ease; }
.sw-pfs-card.is-dark { --bg: #3a3b3f; --fg: #fff; --sub: rgba(255, 255, 255, .72); }
.sw-pfs-card.is-light { --bg: #f1f3f6; --fg: #111827; --sub: #6b7280; }
.sw-pfs-card.is-blue { --bg: #1f5fd6; --fg: #fff; --sub: rgba(255, 255, 255, .78); }
.sw-pfs-text { display: flex; flex-direction: column; padding: 44px 40px 40px; }
.sw-pfs-text > * { margin: 0; }
.sw-pfs-meta { color: var(--sub); font-size: calc(.82rem + 1pt); font-weight: 700; letter-spacing: .04em; }
.sw-pfs-title { margin-top: 12px !important; color: var(--fg) !important; font-size: calc(clamp(1.4rem, 2vw, 1.8rem) + 1pt) !important; font-weight: 800 !important; line-height: 1.35; word-break: keep-all; }
.sw-pfs-sum { margin-top: 14px !important; color: var(--sub); font-size: calc(.95rem + 1pt); line-height: 1.7; word-break: keep-all; }
.sw-pfs-btn { display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; margin-top: auto !important; padding: 14px 24px; background: #2b2d31; color: #fff !important; font-size: calc(.92rem + 1pt); font-weight: 700; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.sw-pfs-card.is-dark .sw-pfs-btn, .sw-pfs-card.is-blue .sw-pfs-btn { background: #fff; color: #111827 !important; }
.sw-pfs-btn::after { content: "\2197"; }
.sw-pfs-btn:hover { transform: translateY(-2px); }
.sw-pfs-shot { display: grid; place-items: center; margin: 0; padding: 28px 28px 28px 0; }
.sw-pfs-shot img { display: block; width: 100%; height: 100%; max-height: 330px; border-radius: 12px; object-fit: contain; background: #fff; box-shadow: 0 18px 40px rgba(0, 0, 0, .18); transition: transform .5s ease; }
.sw-pfs-card:hover .sw-pfs-shot img { transform: scale(1.03); }
.sw-pfs-arrow { position: absolute; top: calc(50% - 24px); z-index: 3; width: 52px; height: 52px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); box-shadow: 0 10px 26px rgba(16, 47, 103, .18); cursor: pointer; }
.sw-pfs-arrow::before { content: ""; position: absolute; top: 50%; left: 50%; width: 12px; height: 12px; border-top: 2px solid #111827; border-left: 2px solid #111827; }
.sw-pfs-arrow.is-prev { left: max(16px, calc((100vw - 1100px) / 2 - 70px)); }
.sw-pfs-arrow.is-prev::before { transform: translate(-30%, -50%) rotate(-45deg); }
.sw-pfs-arrow.is-next { right: max(16px, calc((100vw - 1100px) / 2 - 70px)); }
.sw-pfs-arrow.is-next::before { transform: translate(-70%, -50%) rotate(135deg); }
.sw-pfs-arrow:hover { background: #111827; }
.sw-pfs-arrow:hover::before { border-color: #fff; }
.sw-pfs-dots { display: flex; justify-content: center; gap: 8px; margin-top: 30px; }
.sw-pfs-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 99px; background: #cfd5de; cursor: pointer; transition: width .3s ease, background .3s ease; }
.sw-pfs-dots button[aria-current="true"] { width: 40px; background: #2b2d31; }
.sw-pfs-all { margin-top: 34px !important; }
@media (max-width: 781px) {
  .sw-pfs-card { grid-template-columns: 1fr; min-height: 0; }
  .sw-pfs-shot { padding: 0 24px 24px; }
  .sw-pfs-text { padding: 30px 24px 22px; }
  .sw-pfs-btn { margin-top: 20px !important; }
  .sw-pfs-arrow { display: none; }
}

/* 푸터 인증 마크 사이 간격 넓게 */
@media (min-width: 641px) { .sw-site-footer .sw-footer-certs { gap: 30px !important; } }

/* 푸터 SOLUTION SITE 목록: 마우스를 올리면 파란 배경 · 흰 글씨로, 왼쪽에 흰 막대가 들어온다 */
.sw-foot2-family li a { position: relative; transition: background .2s ease, color .2s ease, padding-left .2s ease !important; }
.sw-foot2-family li a::before { content: ""; position: absolute; top: 50%; left: 10px; width: 0; height: 2px; background: #fff; transform: translateY(-50%); transition: width .2s ease; }
.sw-foot2-family li a:hover { padding-left: 30px !important; background: #2f6bd8 !important; color: #fff !important; }
.sw-foot2-family li a:hover::before { width: 12px; }
.sw-foot2-family li a:hover .sw-s { color: #ffd08a !important; -webkit-text-fill-color: #ffd08a !important; }

/* 포트폴리오 슬라이드 사진형 카드: 오른쪽 절반을 브랜드 사진이 꽉 채운다 (현재 홈페이지 포트폴리오 사진) */
.sw-pfs-card.is-photo { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 420px; }
.sw-pfs-card.is-photo .sw-pfs-shot { padding: 0; overflow: hidden; }
.sw-pfs-card.is-photo .sw-pfs-shot img { width: 100%; height: 100%; max-height: none; border-radius: 0; background: none; box-shadow: none; object-fit: cover; object-position: center 30%; }
.sw-pfs-card.is-photo:hover .sw-pfs-shot img { transform: scale(1.05); }
@media (max-width: 781px) { .sw-pfs-card.is-photo .sw-pfs-shot { height: 260px; } }

/* 포트폴리오 슬라이드 카드 색: 샛노랑 · 원색 파랑 대신 차분한 톤 — 웜 샌드 / 차콜 / 연회색 / 딥 네이비 */
.sw-pfs-card, .sw-pfs-card.is-yellow { --bg: #efe7da; --fg: #1f2328; --sub: #6b6358; }
.sw-pfs-card.is-blue { --bg: #1f2c47; --fg: #fff; --sub: rgba(255, 255, 255, .72); }
.sw-pfs-card.is-yellow .sw-pfs-btn, .sw-pfs-card.is-light .sw-pfs-btn { background: #2b2d31; color: #fff !important; }

/* 포트폴리오 슬라이드: 딥 네이비 카드 → 연한 하늘색(짙은 글씨), 화살표는 카드 위에 겹치지 않게 아래 점 줄 양옆으로 */
.sw-pfs-card.is-blue { --bg: #dbeafb; --fg: #0f2447; --sub: #4a6285; }
.sw-pfs-card.is-blue .sw-pfs-btn { background: #1f3b6e; color: #fff !important; }
.sw-pfs-dots { position: relative; z-index: 2; height: 48px; align-items: center; }
.sw-pfs-arrow { top: auto !important; bottom: 0; width: 46px; height: 46px; }
.sw-pfs-arrow.is-prev { left: calc(50% - 170px) !important; }
.sw-pfs-arrow.is-next { right: calc(50% - 170px) !important; }
@media (max-width: 781px) { .sw-pfs-arrow { display: block; } .sw-pfs-arrow.is-prev { left: 16px !important; } .sw-pfs-arrow.is-next { right: 16px !important; } }

/* 포트폴리오 슬라이드: 사진 대신 고객사 로고를 쓰는 카드는 흰 바탕 가운데에 잘리지 않게 */
.sw-pfs-card.is-logo .sw-pfs-shot { background: #fff; padding: 40px; }
.sw-pfs-card.is-logo .sw-pfs-shot img { object-fit: contain !important; max-height: 180px; }

/* 상단 대메뉴 호버: 더 굵게 · 살짝 커지며(자리 밀림 없이) · 은은하게 빛난다 */
@media (min-width: 1280px) {
  .sw-primary-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content .wp-block-navigation-item__label { display: inline-block; transition: transform .25s cubic-bezier(.2, .8, .2, 1), text-shadow .25s ease, font-weight .25s ease; }
  .sw-primary-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content .wp-block-navigation-item__label,
  .sw-primary-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible .wp-block-navigation-item__label { font-weight: 900 !important; transform: scale(1.12); text-shadow: 0 0 14px rgba(95, 168, 255, .75), 0 0 2px rgba(95, 168, 255, .5); }
  /* 첫 화면 위(투명 헤더)에서는 흰 빛으로 */
  .wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part:not(.is-scrolled) .sw-site-header:not(.is-mega-open) .sw-primary-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content .wp-block-navigation-item__label { text-shadow: 0 0 16px rgba(255, 255, 255, .85), 0 0 4px rgba(160, 210, 255, .8); }
}

/* 포트폴리오 슬라이드 카드 글 영역이 밋밋하다 → 톤별 그라데이션 + 모서리 빛 + 오른쪽 아래 점무늬 + 큰 원 장식 */
.sw-pfs-card .sw-pfs-text { position: relative; overflow: hidden; isolation: isolate; }
.sw-pfs-card .sw-pfs-text > * { position: relative; z-index: 1; }
.sw-pfs-card .sw-pfs-text::before { content: ""; position: absolute; right: -90px; bottom: -110px; z-index: 0; width: 300px; height: 300px; border: 1.5px solid var(--deco, rgba(255, 255, 255, .5)); border-radius: 50%; box-shadow: 0 0 0 40px var(--deco2, rgba(255, 255, 255, .18)); transition: transform .8s cubic-bezier(.2, .8, .2, 1); }
.sw-pfs-card .sw-pfs-text::after { content: ""; position: absolute; right: 28px; top: 30px; z-index: 0; width: 120px; height: 84px; background-image: radial-gradient(var(--dot, rgba(15, 36, 71, .18)) 1.6px, transparent 1.8px); background-size: 14px 14px; opacity: .9; }
.sw-pfs-card:hover .sw-pfs-text::before { transform: scale(1.12) translate(-10px, -10px); }
.sw-pfs-card, .sw-pfs-card.is-yellow { --grad: radial-gradient(120% 80% at 0% 0%, rgba(255, 255, 255, .7), transparent 55%), linear-gradient(150deg, #f4ecdf 0%, #e7d7bf 100%); --deco: rgba(160, 120, 70, .25); --deco2: rgba(255, 255, 255, .25); --dot: rgba(120, 90, 50, .22); }
.sw-pfs-card.is-dark { --grad: radial-gradient(120% 80% at 0% 0%, rgba(255, 255, 255, .12), transparent 55%), linear-gradient(150deg, #4a4c52 0%, #26272b 100%); --deco: rgba(255, 255, 255, .18); --deco2: rgba(255, 255, 255, .05); --dot: rgba(255, 255, 255, .18); }
.sw-pfs-card.is-light { --grad: radial-gradient(120% 80% at 0% 0%, #fff, transparent 55%), linear-gradient(150deg, #f7f8fa 0%, #e2e7ee 100%); --deco: rgba(47, 107, 216, .18); --deco2: rgba(47, 107, 216, .05); --dot: rgba(47, 107, 216, .22); }
.sw-pfs-card.is-blue { --grad: radial-gradient(120% 80% at 0% 0%, rgba(255, 255, 255, .8), transparent 55%), linear-gradient(150deg, #e7f1fe 0%, #bcd7f7 100%); --deco: rgba(31, 95, 214, .25); --deco2: rgba(255, 255, 255, .3); --dot: rgba(31, 95, 214, .25); }
.sw-pfs-card .sw-pfs-text { background: var(--grad); }

/* 상단 대메뉴 호버: 빛 · 확대 · 굵기 변화를 없애고 색만 바뀐다 (흰 헤더에선 파랑, 첫 화면 위에선 하늘색) */
@media (min-width: 1280px) {
  .sw-primary-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content .wp-block-navigation-item__label { transition: color .2s ease !important; }
  .sw-primary-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content .wp-block-navigation-item__label,
  .sw-primary-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible .wp-block-navigation-item__label,
  .wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part:not(.is-scrolled) .sw-site-header:not(.is-mega-open) .sw-primary-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content .wp-block-navigation-item__label { font-weight: inherit !important; transform: none !important; text-shadow: none !important; }
  .sw-primary-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content { color: #2f6bd8 !important; }
  .wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part:not(.is-scrolled) .sw-site-header:not(.is-mega-open) .sw-primary-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content { color: #8fd3ff !important; }
  /* 펼친 전체 메뉴 항목도 빛나는 효과는 없앤다 */
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
  .sw-site-header.is-mega-open .sw-mega-col > .wp-block-navigation-item__content:hover { animation: none !important; text-shadow: none !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content .wp-block-navigation-item__label::after { box-shadow: none !important; }
}

/* 포트폴리오 슬라이드: 샌드(베이지) 카드 → 맑은 세이지 민트 */
.sw-pfs-card, .sw-pfs-card.is-yellow { --bg: #e4f1eb; --fg: #16302a; --sub: #4d6b62; --grad: radial-gradient(120% 80% at 0% 0%, rgba(255, 255, 255, .8), transparent 55%), linear-gradient(150deg, #eaf5f0 0%, #c3e2d4 100%); --deco: rgba(22, 128, 100, .25); --deco2: rgba(255, 255, 255, .3); --dot: rgba(22, 128, 100, .25); }
.sw-pfs-card.is-yellow .sw-pfs-btn { background: #17493d; color: #fff !important; }

/* 홈 솔루션 기둥만 본문 폭(1100px)보다 넓게: 최대 1440px, 화면 가운데 */
.sw-sol-grid.sw-sol-grid { width: min(1440px, calc(100vw - 40px)) !important; max-width: none !important; margin-left: calc(50% - min(720px, 50vw - 20px)) !important; margin-right: 0 !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card { padding-left: 30px !important; padding-right: 30px !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-shot { width: calc(100% + 60px) !important; margin-left: -30px !important; margin-right: -30px !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-sub { word-break: keep-all; }

/* 커머스 사례 카드: 사례당 사진 한 장을 같은 비율로 꽉 채우고, 로고는 흰 바탕 가운데에 */
.sw-portfolio-card .wp-block-image { overflow: hidden; aspect-ratio: 16 / 10; margin-bottom: 18px !important; border-radius: 14px; background: #f3f5f8; }
.sw-portfolio-card .wp-block-image img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: center 30%; transition: transform .6s ease; }
.sw-portfolio-card:hover .wp-block-image img { transform: scale(1.05); }
.sw-portfolio-card .wp-block-image.is-logo { display: grid; place-items: center; background: #fff; border: 1px solid #eef1f6; }
.sw-portfolio-card .wp-block-image.is-logo img { width: 60% !important; height: auto !important; object-fit: contain; }

/* 경영철학 육각형: 바깥 번짐(그림자)이 둥근 덩어리처럼 보였다 → 그림자를 없애고, 바깥도 또렷한 육각형 두 겹(색 테두리 + 옅은 바깥 육각 띠) */
.sw-value-grid:not(.sw-step-grid) .sw-value-icon { filter: none !important; }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column { filter: none !important; }
.sw-value-grid:not(.sw-step-grid) .sw-value-card { position: relative; }
.sw-value-grid:not(.sw-step-grid) .sw-value-card::before { content: "" !important; display: block !important; position: absolute !important; top: -10px !important; left: 50% !important; z-index: 1 !important; width: 158px !important; height: 138px !important; border-radius: 0 !important; background: color-mix(in srgb, var(--c) 18%, transparent) !important; clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%); transform: translateX(-50%) !important; animation: none !important; filter: none !important; }
.sw-value-grid:not(.sw-step-grid) .sw-value-card > .sw-value-desc { box-shadow: 0 18px 30px -18px rgba(16, 47, 103, .18) !important; }

/* 사업분야 6개: 허브 원을 육각형 자리에 배치하고 Mobile App(n6) 추가 */
.sw-hub-node.n1 { --x: 50%; --y: 11.96%; }
.sw-hub-node.n2 { --x: 80.31%; --y: 30.98%; }
.sw-hub-node.n3 { --x: 80.31%; --y: 69.02%; }
.sw-hub-node.n4 { --x: 19.69%; --y: 69.02%; }
.sw-hub-node.n5 { --x: 19.69%; --y: 30.98%; }
.sw-hub-node.n6 { --x: 50%; --y: 88.04%; --hc: #d6457c; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='12' height='20' x='6' y='2' rx='2.5'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E"); }
.sw-hub-node.n2 .sw-hub-dot::before { top: 79%; left: -.2%; }
.sw-hub-node.n3 .sw-hub-dot::before { top: 21%; left: -.2%; }
.sw-hub-node.n4 .sw-hub-dot::before { top: 21%; left: 100.2%; }
.sw-hub-node.n5 .sw-hub-dot::before { top: 79%; left: 100.2%; }
.sw-hub-node.n6 .sw-hub-dot::before { top: -8%; left: 50%; }
.sw-link-card:has(a[href*="/business/mobile-app/"]) { --c: #d6457c; --photo: url("/wp-content/uploads/2026/09/portfolio-shot-chicor.jpg"); --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d6457c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='12' height='20' x='6' y='2' rx='2.5'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E"); }

/* 모바일 메뉴 열기 버튼: 두 줄(=) 대신 세 줄(≡) */
.wp-block-navigation__responsive-container-open svg { display: none; }
.wp-block-navigation__responsive-container-open::before { content: ""; display: block; width: 22px; height: 16px; background: linear-gradient(currentColor 0 0) top / 100% 2px no-repeat, linear-gradient(currentColor 0 0) center / 100% 2px no-repeat, linear-gradient(currentColor 0 0) bottom / 100% 2px no-repeat; }

/* 사업분야 페이지 상단 탭: 배너 아래 끝에 반쯤 걸쳐 놓이는 가로 탭 */
.sw-page-hero:has(+ .sw-biz-tabs) { padding-bottom: calc(clamp(62px, 7vw, 92px) + 34px); }
.sw-biz-tabs { position: relative; z-index: 3; display: flex; margin-top: -34px !important; margin-bottom: 0; border-radius: 14px; background: #fff; box-shadow: 0 16px 40px rgba(16, 47, 103, .14); overflow: hidden; }
.sw-biz-tabs a { flex: 1 1 0; display: grid; place-items: center; min-height: 68px; padding: 0 12px; border-left: 1px solid #e3eaf4; color: #3b4658; font-weight: 600; font-size: calc(1rem + 1pt); text-decoration: none; white-space: nowrap; transition: color .2s, background .2s; }
.sw-biz-tabs a:first-child { border-left: 0; }
.sw-biz-tabs a:hover { color: #2f6bd8; background: #f3f7fe; }
.sw-biz-tabs a[aria-current="page"] { color: #fff; background: linear-gradient(135deg, #2f6bd8, #1ea9e0); font-weight: 700; }
@media (max-width: 900px) {
  .sw-biz-tabs { overflow-x: auto; scrollbar-width: none; border-radius: 10px; }
  .sw-biz-tabs a { flex: 0 0 auto; min-height: 56px; padding: 0 18px; font-size: 1rem; }
}

/* 사업분야 사례 검색: 회색 띠 안의 분야 선택 + 검색창, 아래 사례 카드 */
.sw-case-sec { padding-top: clamp(48px, 6vw, 72px) !important; }
.sw-case-title { margin-bottom: 26px !important; }
.sw-case-form { display: flex; justify-content: center; gap: 12px; padding: 34px 20px; border-radius: 18px; background: linear-gradient(135deg, #f1f5fb, #e9f1fb); }
.sw-case-select select, .sw-case-q input { height: 48px; border: 1px solid #d5deea; border-radius: 99px; background-color: #fff; color: var(--sw-ink); font: inherit; font-size: 1rem; }
.sw-case-select select { min-width: 170px; padding: 0 44px 0 22px; appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7686' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 18px center / 16px no-repeat; cursor: pointer; }
.sw-case-q { position: relative; flex: 0 1 500px; }
.sw-case-q input { width: 100%; padding: 0 54px 0 22px; }
.sw-case-select select:focus, .sw-case-q input:focus { outline: 0; border-color: #2f6bd8; box-shadow: 0 0 0 3px rgba(47, 107, 216, .15); }
.sw-case-q button { position: absolute; top: 4px; right: 6px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23324055' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") center / 20px no-repeat; cursor: pointer; }
.sw-case-count { margin: 28px 0 14px !important; color: #5b6676; font-size: .95rem; }
.sw-case-count b { color: #2f6bd8; }
.sw-case-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 22px; margin: 0; padding: 0; list-style: none; }
.sw-case-card a { display: flex; flex-direction: column; height: 100%; border: 1px solid #e1e8f1; border-radius: 16px; background: #fff; color: inherit; text-decoration: none; overflow: hidden; transition: transform .25s, box-shadow .25s, border-color .25s; }
.sw-case-card a:hover { transform: translateY(-4px); border-color: #b9cdea; box-shadow: 0 18px 36px rgba(16, 47, 103, .12); }
.sw-case-media { display: block; aspect-ratio: 16 / 10; background: #f4f7fb; overflow: hidden; }
.sw-case-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.sw-case-card a:hover .sw-case-media img { transform: scale(1.04); }
.sw-case-card.no-thumb .sw-case-media { display: grid; place-items: center; background: radial-gradient(circle at 80% 20%, rgba(255, 255, 255, .5), transparent 45%), linear-gradient(135deg, #dce8f8, #c9dcf3); }
.sw-case-mono { color: rgba(31, 79, 159, .55); font-size: 1.35rem; font-weight: 800; letter-spacing: -.02em; }
.sw-case-body { display: grid; gap: 6px; padding: 18px 20px 22px; }
.sw-case-body small { color: #2f6bd8; font-size: .85rem; font-weight: 600; }
.sw-case-body b { color: var(--sw-ink); font-size: calc(1rem + 1pt); font-weight: 600; line-height: 1.45; word-break: keep-all; }
.sw-case-pages { display: flex; justify-content: center; gap: 6px; margin-top: 34px; }
.sw-case-pages .page-numbers { display: grid; place-items: center; min-width: 40px; height: 40px; border-radius: 99px; color: #4b5668; text-decoration: none; }
.sw-case-pages .page-numbers.current { background: #2f6bd8; color: #fff; font-weight: 700; }
.sw-case-pages a.page-numbers:hover { background: #eef3fb; }
.sw-case-empty { margin-top: 28px !important; padding: 48px 20px; border-radius: 16px; background: #f6f8fb; color: #6b7686; text-align: center; }
@media (max-width: 640px) {
  .sw-case-form { flex-direction: column; padding: 20px 16px; }
  .sw-case-select select { width: 100%; }
  .sw-case-q { flex-basis: auto; }
}

/* 포트폴리오 글 정보 표: 아이콘 · 카드 없이 한 줄 요약(작은 제목 + 값, 세로 구분선) */
.sw-post-body .sw-lead + .sw-table-wrap { border: 0 !important; border-top: 1px solid #dfe6f0 !important; border-bottom: 1px solid #dfe6f0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; overflow: visible; }
.sw-post-body .sw-lead + .sw-table-wrap::before, .sw-post-body .sw-lead + .sw-table-wrap::after,
.sw-post-body .sw-lead + .sw-table-wrap tr::before, .sw-post-body .sw-lead + .sw-table-wrap tr::after,
.sw-post-body .sw-lead + .sw-table-wrap td::before, .sw-post-body .sw-lead + .sw-table-wrap td::after { display: none !important; content: none !important; }
.sw-post-body .sw-lead + .sw-table-wrap table { display: block; min-width: 0; }
.sw-post-body .sw-lead + .sw-table-wrap tbody { display: flex; flex-wrap: wrap; gap: 0; }
.sw-post-body .sw-lead + .sw-table-wrap tr { display: flex; flex-direction: column; flex: 0 1 auto; gap: 4px; min-width: 140px; padding: 18px 32px 18px 0; margin-right: 32px; border: 0; border-right: 1px solid #e6ebf2; border-radius: 0; background: none; box-shadow: none; }
.sw-post-body .sw-lead + .sw-table-wrap tr:last-child { flex: 1 1 240px; margin-right: 0; padding-right: 0; border-right: 0; }
.sw-post-body .sw-lead + .sw-table-wrap td:first-child { color: #7a8597; font-size: calc(.78rem + 1pt); font-weight: 600; letter-spacing: 0; }
.sw-post-body .sw-lead + .sw-table-wrap td:last-child { color: #16223a; font-size: calc(1rem + 1pt); font-weight: 700; }
@media (max-width: 640px) {
  .sw-post-body .sw-lead + .sw-table-wrap tr { flex: 1 1 100%; margin-right: 0; padding: 14px 0; border-right: 0; border-bottom: 1px solid #eef2f7; }
  .sw-post-body .sw-lead + .sw-table-wrap tr:last-child { border-bottom: 0; }
}
.sw-case-card.is-logo .sw-case-media { display: grid; place-items: center; background: #fff; border-bottom: 1px solid #eef2f7; }
.sw-case-card.is-logo .sw-case-media img { width: 62%; height: auto; object-fit: contain; }
.sw-case-card.is-logo .sw-case-media img { width: auto; max-width: 62%; max-height: 52%; height: auto; }
.sw-case-card.no-thumb .sw-case-media { background: linear-gradient(135deg, #f3f6fb, #e8eef7); }
.sw-case-mono { padding: 0 18px; color: #33415c; font-size: 1.2rem; font-weight: 700; text-align: center; word-break: keep-all; }

/* 포트폴리오 슬라이더 카드: 오른쪽 위 점 무늬 장식 제거 */
.sw-pfs-card .sw-pfs-text::after { content: none; display: none; }

/* 홈 AI 챗봇 체험: 좌우 분할 — 왼쪽 어두운 사진 위 챗봇 화면, 오른쪽 옅은 사선 배경 위 문구 */
.sw-gradient.sw-cv-split { padding-top: 0 !important; background: #fff !important; overflow: hidden; }
.sw-cv-split .sw-cv-grid { flex-direction: row-reverse; align-items: stretch !important; gap: 0 !important; width: 100vw; max-width: none !important; min-height: 640px; margin: 0 0 0 calc(50% - 50vw) !important; }
.sw-cv-split .sw-cv-grid > .wp-block-column { flex: 1 1 50% !important; align-self: stretch !important; margin: 0 !important; }
.sw-cv-split .sw-cv-grid > .wp-block-column:first-child { display: flex; align-items: center; padding: clamp(56px, 7vw, 96px) clamp(24px, 6vw, 110px); background: repeating-linear-gradient(115deg, transparent 0 88px, rgba(24, 32, 48, .06) 88px 89px), #fcfcfa; }
.sw-cv-split .sw-cv-grid > .wp-block-column:last-child { position: relative; display: grid; place-items: center; padding: clamp(56px, 6vw, 80px) clamp(20px, 4vw, 56px); background: linear-gradient(rgba(14, 22, 42, .62), rgba(14, 22, 42, .62)), url(assets/images/hero-company.jpg) center / cover no-repeat; }
.sw-cv-split .sw-section-heading { max-width: 560px; margin: 0 !important; text-align: left; }
.sw-cv-split .sw-cv-eyebrow { margin: 0 0 14px !important; color: #3a3f47; font-size: calc(.95rem + 1pt); letter-spacing: 0; }
.sw-cv-split h2 { margin: 0 0 22px !important; color: #1d2027; font-size: clamp(2rem, 3.3vw, 3.1rem); font-weight: 300; line-height: 1.3; letter-spacing: -.03em; word-break: keep-all; }
.sw-cv-split h2 strong { font-weight: 800; }
.sw-cv-split .sw-lead { color: #5a606b; }
.sw-cv-split .wp-block-buttons { gap: 10px; margin-top: 34px; }
.sw-cv-split .wp-block-button__link { padding: 18px 30px !important; border: 1px solid #1f2126 !important; border-radius: 0 !important; background: #1f2126 !important; color: #fff !important; font-size: calc(.95rem + 1pt); font-weight: 600; box-shadow: none !important; transition: background .2s, color .2s; }
.sw-cv-split .wp-block-button__link::after { content: "↗"; margin-left: 10px; }
.sw-cv-split .wp-block-button__link:hover { background: #2f6bd8 !important; border-color: #2f6bd8 !important; }
.sw-cv-split .is-style-outline .wp-block-button__link { background: transparent !important; color: #1f2126 !important; }
.sw-cv-split .is-style-outline .wp-block-button__link:hover { background: #1f2126 !important; color: #fff !important; }
.sw-cv-split .sw-process { margin-top: clamp(64px, 7vw, 96px) !important; }
@media (max-width: 781px) {
  .sw-cv-split .sw-cv-grid { flex-direction: column; min-height: 0; }
  .sw-cv-split .sw-cv-grid > .wp-block-column { flex-basis: auto !important; }
}

/* AI 챗봇 체험 분할: 왼쪽은 사진 대신 CLOUVI 화면(챗봇 창)만, 구름 탄 다람쥐가 가로질러 지나간다 */
.sw-cv-split .sw-cv-grid > .wp-block-column:last-child { overflow: hidden; background: radial-gradient(circle at 18% 16%, rgba(255, 255, 255, .85), transparent 42%), radial-gradient(circle at 85% 90%, rgba(63, 198, 221, .28), transparent 45%), linear-gradient(140deg, #eef6ff, #d6e9fc 55%, #c6ecf4); }
.sw-cv-split .sw-cvw { width: min(100%, 440px); margin: 20px auto; padding: 0; }
.sw-cv-split .sw-cvw-bot[src*="clouvi-mark-cut"] { top: auto; bottom: 6%; left: 50%; width: 190px; margin-left: -95px; animation: sw-cv-fly 13s linear infinite !important; }
@keyframes sw-cv-fly {
  0% { transform: translate(-62vw, 0); }
  25% { transform: translate(-31vw, -14px); }
  50% { transform: translate(0, 0); }
  75% { transform: translate(31vw, -14px); }
  100% { transform: translate(62vw, 0); }
}
.sw-cv-split h2 { font-size: clamp(1.8rem, 2.5vw, 2.6rem); }
@media (max-width: 781px) { .sw-cv-split .sw-cvw-bot[src*="clouvi-mark-cut"] { width: 140px; margin-left: -70px; } }

/* 뉴스 사진(news-*) 대표 이미지: 흰 카드 여백 없이 사진 크기에 딱 맞게 */
.sw-post .sw-post-cover:has(img[src*="/news-"]) { width: fit-content; background: none; }
.sw-post .sw-post-cover img[src*="/news-"] { display: block; width: auto; max-width: 100%; max-height: 640px; }

/* 페이지 맨 아래 상담 박스: 깊은 남색 + 빛 번짐 + 옅은 격자 + 스카이웨어 심볼 워터마크, 문구 왼쪽 · 버튼 오른쪽 */
.sw-cta.sw-cta { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 48px; padding: clamp(44px, 5.5vw, 72px) clamp(28px, 6vw, 84px); overflow: hidden; border-radius: 28px; background: radial-gradient(620px 320px at 92% 125%, rgba(30, 169, 224, .55), transparent 62%), radial-gradient(520px 280px at -5% -30%, rgba(96, 140, 255, .45), transparent 62%), linear-gradient(120deg, #081936, #0f2e6a 55%, #0c4a8e); box-shadow: 0 30px 70px rgba(8, 25, 54, .28); }
.sw-cta.sw-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px); background-size: 46px 46px; -webkit-mask: radial-gradient(ellipse at 75% 50%, #000 10%, transparent 70%); mask: radial-gradient(ellipse at 75% 50%, #000 10%, transparent 70%); }
.sw-cta.sw-cta::after { content: ""; position: absolute; top: 50%; right: -60px; z-index: -1; width: 360px; aspect-ratio: 1; background: url(assets/images/skyware-symbol.svg) center / contain no-repeat; opacity: .07; filter: brightness(0) invert(1); transform: translateY(-50%) rotate(-12deg); }
.sw-cta.is-layout-constrained > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.sw-cta.sw-cta > h2 { grid-column: 1; margin: 0 !important; color: #fff; font-size: clamp(1.6rem, 2.6vw, 2.3rem); letter-spacing: -.03em; word-break: keep-all; }
.sw-cta.sw-cta > h2::before { content: "CONTACT US"; display: block; margin-bottom: 14px; color: #7fd3ff; font-size: .8rem; font-weight: 700; letter-spacing: .22em; }
.sw-cta.sw-cta > p { grid-column: 1; margin: 14px 0 0 !important; color: rgba(255, 255, 255, .78); font-size: calc(1rem + 1pt); }
.sw-cta.sw-cta > .wp-block-buttons { grid-column: 2; grid-row: 1 / span 2; margin: 0 !important; }
.sw-cta.sw-cta .wp-block-button__link { display: inline-flex; align-items: center; gap: 12px; padding: 20px 34px !important; border-radius: 99px; background: #fff !important; color: #0f2e6a !important; font-size: calc(1rem + 1pt); font-weight: 700; box-shadow: 0 14px 34px rgba(0, 0, 0, .25); transition: background .25s, color .25s, transform .25s; }
.sw-cta.sw-cta .wp-block-button__link::after { content: "→"; transition: transform .25s; }
.sw-cta.sw-cta .wp-block-button__link:hover { background: #7fd3ff !important; color: #081936 !important; transform: translateY(-2px); }
.sw-cta.sw-cta .wp-block-button__link:hover::after { transform: translateX(4px); }
@media (max-width: 781px) {
  .sw-cta.sw-cta { grid-template-columns: 1fr; row-gap: 0; border-radius: 22px; }
  .sw-cta.sw-cta > .wp-block-buttons { grid-column: 1; grid-row: auto; margin-top: 28px !important; }
  .sw-cta.sw-cta::after { width: 240px; right: -70px; }
}

/* 목록 페이지 넘김(포트폴리오 · 뉴스 등): 밑줄 링크 대신 둥근 번호 버튼 */
.wp-block-query-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin-top: 48px !important; }
.wp-block-query-pagination-numbers { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.wp-block-query-pagination .page-numbers { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 6px; border-radius: 99px; color: #4b5668; font-weight: 600; text-decoration: none; transition: background .2s, color .2s; }
.wp-block-query-pagination a.page-numbers:hover { background: #eef3fb; color: #2f6bd8; }
.wp-block-query-pagination .page-numbers.current { background: #2f6bd8; color: #fff; box-shadow: 0 8px 18px rgba(47, 107, 216, .28); }
.wp-block-query-pagination .page-numbers.dots { min-width: 24px; color: #9aa3b2; }
.wp-block-query-pagination-previous, .wp-block-query-pagination-next { display: inline-flex; align-items: center; gap: 8px; height: 42px; margin: 0 !important; padding: 0 20px; border: 1px solid #d5deea; border-radius: 99px; background: #fff; color: #33415c; font-weight: 600; text-decoration: none; transition: border-color .2s, color .2s, background .2s; }
.wp-block-query-pagination-previous::before { content: "←"; }
.wp-block-query-pagination-next::after { content: "→"; }
.wp-block-query-pagination-previous:hover, .wp-block-query-pagination-next:hover { border-color: #2f6bd8; background: #f3f7fe; color: #2f6bd8; }
@media (max-width: 640px) { .wp-block-query-pagination-previous, .wp-block-query-pagination-next { padding: 0 14px; font-size: .92rem; } }

/* 사업분야 탭 글씨 키움 */
.sw-biz-tabs a { min-height: 76px; font-size: calc(1.2rem + 1pt); }
.sw-page-hero:has(+ .sw-biz-tabs) { padding-bottom: calc(clamp(62px, 7vw, 92px) + 38px); }
.sw-biz-tabs { margin-top: -38px !important; }
@media (max-width: 900px) { .sw-biz-tabs a { min-height: 58px; font-size: calc(1.02rem + 1pt); } }

/* 수행 사례 목록 교체 효과: 불러오는 동안 흐리게, 새 카드는 차례로 떠오름 */
.sw-case-search .sw-case-grid, .sw-case-search .sw-case-pages { transition: opacity .25s ease; }
.sw-case-search.is-loading .sw-case-grid, .sw-case-search.is-loading .sw-case-pages { opacity: .3; pointer-events: none; }
.sw-case-search.is-swapped .sw-case-card { animation: sw-case-in .5s cubic-bezier(.2, .7, .2, 1) both !important; animation-delay: var(--d, 0ms) !important; }
@keyframes sw-case-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

/* 회사소개 바로가기: 사업분야 탭과 같은 탭 막대 (배너 끝에 걸침, 같은 너비 칸, 현재 칸 파란 채움). 스크롤 시 상단 고정 유지 */
.sw-page-hero:has(+ .sw-anchor-nav.is-tabbar) { padding-bottom: calc(clamp(62px, 7vw, 92px) + 38px); }
.sw-anchor-nav.is-tabbar { margin-top: -38px !important; padding: 0 24px; border-bottom: 0; background: transparent; backdrop-filter: none; }
.sw-anchor-nav.is-tabbar .wp-block-buttons { display: flex; flex-wrap: nowrap; gap: 0; width: 100%; max-width: var(--wp--style--global--wide-size, 1200px); margin: 0 auto !important; overflow: hidden; border-radius: 14px; background: #fff; box-shadow: 0 16px 40px rgba(16, 47, 103, .14); }
.sw-anchor-nav.is-tabbar .wp-block-button { flex: 1 1 0; margin: 0; }
.sw-anchor-nav.is-tabbar .wp-block-button + .wp-block-button { border-left: 1px solid #e3eaf4; }
.sw-anchor-nav.is-tabbar .wp-block-button__link { display: grid; place-items: center; width: 100%; min-height: 76px; padding: 0 12px; color: #3b4658; font-size: calc(1.2rem + 1pt); font-weight: 600; transition: color .2s, background .2s; }
.sw-anchor-nav.is-tabbar .wp-block-button__link::before, .sw-anchor-nav.is-tabbar .wp-block-button__link::after { display: none; }
.sw-anchor-nav.is-tabbar .wp-block-button__link:hover { background: #f3f7fe; color: #2f6bd8; }
.sw-anchor-nav.is-tabbar .wp-block-button__link.is-current { background: linear-gradient(135deg, #2f6bd8, #1ea9e0); color: #fff; font-weight: 700; }
@media (max-width: 900px) {
  .sw-anchor-nav.is-tabbar { overflow-x: auto; padding: 0 16px; }
  .sw-anchor-nav.is-tabbar .wp-block-buttons { width: max-content; min-width: 100%; border-radius: 10px; }
  .sw-anchor-nav.is-tabbar .wp-block-button { flex: 0 0 auto; }
  .sw-anchor-nav.is-tabbar .wp-block-button__link { min-height: 58px; padding: 0 20px; font-size: calc(1.02rem + 1pt); }
}
/* 탭 막대는 화면 너비를 꽉 채운다 (회사소개 · 사업분야 공통) */
.sw-anchor-nav.is-tabbar { padding: 0 !important; }
.sw-anchor-nav.is-tabbar.is-layout-constrained > .wp-block-buttons, .sw-anchor-nav.is-tabbar .wp-block-buttons { width: 100% !important; max-width: none !important; margin: 0 !important; }
.sw-biz-tabs.sw-biz-tabs { width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
/* 고객사 로고 띠: 로고가 53 → 90개로 늘어 같은 속도가 되도록 한 바퀴 시간을 늘림 */
.sw-clients .sw-logo-roll > .wp-block-group { animation-duration: 107s !important; }

/* 홈 Business 섹션: 고객사 띠와 같은 우주 배경. 제목 · 설명은 흰색, 카드는 흰 카드 그대로 */
.sw-biz-space .sw-section-heading h2, .sw-biz-space .sw-section-heading h3 { color: #fff !important; }
.sw-biz-space .sw-section-heading p, .sw-biz-space .sw-section-heading .sw-lead { color: rgba(255, 255, 255, .7) !important; }
.sw-biz-space .sw-link-card { border-color: rgba(255, 255, 255, .15) !important; box-shadow: 0 18px 40px rgba(0, 0, 0, .35) !important; }
@media (prefers-reduced-motion: reduce) { .sw-biz-space::before, .sw-biz-space::after { animation: none; } }

/* 홈 Business 섹션: 고객사 띠와 같은 우주 배경. 제목 · 설명은 흰색, 카드는 흰 카드 그대로 */
.sw-biz-space .sw-section-heading h2, .sw-biz-space .sw-section-heading h3 { color: #fff !important; }
.sw-biz-space .sw-section-heading p, .sw-biz-space .sw-section-heading .sw-lead { color: rgba(255, 255, 255, .7) !important; }
.sw-biz-space .sw-link-card { border-color: rgba(255, 255, 255, .15) !important; box-shadow: 0 18px 40px rgba(0, 0, 0, .35) !important; }
@media (prefers-reduced-motion: reduce) { .sw-biz-space::before, .sw-biz-space::after { animation: none; } }

/* 홈 체험 섹션 제목: 'AI 개인화 플랫폼' 글자만 브랜드 그라데이션 */
.sw-cv-split h2 .sw-hl { background: linear-gradient(90deg, #6a3df0, #2f6bd8 55%, #1ea9e0); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* 함께하는 고객사 로고 격자: 한 줄 8개 */
.sw-logo-grid.sw-logo-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 10px; }
.sw-logo-grid > .wp-block-column { padding: 12px 14px !important; }
@media (max-width: 1100px) { .sw-logo-grid.sw-logo-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (max-width: 781px) { .sw-logo-grid.sw-logo-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; } }
@media (max-width: 480px) { .sw-logo-grid.sw-logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .sw-logo-grid > .wp-block-column { padding: 8px 10px !important; } }

/* 포트폴리오 목록: 모든 타일 같은 크기 (큰 타일 · 가로로 긴 타일 없음) */
.sw-mosaic .wp-block-post-template > li.wp-block-post { grid-column: auto !important; grid-row: auto !important; }
.sw-mosaic .wp-block-post-template > li.wp-block-post .sw-tile-title { font-size: calc(19px + 1pt) !important; }
.sw-mosaic .wp-block-post-template > li.wp-block-post .sw-tile-cap { padding: 70px 28px 24px !important; }

/* 대표 인사 오른쪽: 'SINCE 2003 · IT Platform Partner' 를 인용문 바로 아래, 인용문과 같은 왼쪽 선에 맞춤 */
.sw-ceo-visual .sw-ceo-card { min-height: 0 !important; padding-bottom: 0 !important; }
.sw-ceo-visual .sw-ceo-since { margin: 30px 0 0 !important; padding-left: 64px !important; }
@media (max-width: 781px) { .sw-ceo-visual .sw-ceo-since { padding-left: 40px !important; } }

/* 사진 없는 사례 글: 고객사 로고를 대표 이미지 자리에 크게 */
.sw-post .sw-post-cover.is-client-logo { display: grid; place-items: center; width: min(900px, calc(100% - 48px)); aspect-ratio: 16 / 7; padding: clamp(28px, 5vw, 60px); background: #fff; border: 1px solid #e3eaf4; }
.sw-post .sw-post-cover.is-client-logo img { width: auto !important; max-width: min(460px, 70%); max-height: 100%; object-fit: contain !important; }
/* 사례 정보 줄: 작은 제목과 값을 모두 왼쪽 정렬 */
.sw-post-body .sw-lead + .sw-table-wrap td { text-align: left !important; }

/* 검토 수정: 페이지 배너 제목을 설명문과 같은 왼쪽 선에 */
.sw-page-hero .is-layout-constrained > h1 { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
/* 검토 수정: 제품 배너 제목은 낱말 단위로만 줄바꿈 */
.sw-ums-hero h1, .sw-ums-hero h2 { word-break: keep-all; overflow-wrap: break-word; }
/* 검토 수정: 포트폴리오 타일 — 로고 이미지(고객사 로고 대체 포함)는 자르지 않고 흰 바탕 가운데 */
.sw-tile-img img[src*="/client-"], .sw-tile-img img[src*="logo"], .sw-tile-img.is-client-logo img { object-fit: contain !important; padding: 18% 16% 38%; background: #fff; }
.sw-tile-img.is-client-logo { background: #fff; }
/* 검토 수정: 포트폴리오 타일 — 워드프레스 기본 위 여백(24px)이 둘째 타일부터 붙어 높이 · 위치가 달라지던 것 제거 */
.sw-mosaic .wp-block-post-template > li { margin: 0 !important; }

/* 제품/솔루션 드롭다운: 분류 제목(이커머스 솔루션 등) 아래에 해당 솔루션(SCOS · SUMS · 클로비 …)을 목록으로 */
.sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation__submenu-container { position: static !important; display: grid !important; gap: 0; width: auto !important; min-width: 0 !important; height: auto !important; margin: 2px 0 12px !important; padding: 0 !important; overflow: visible !important; border: 0 !important; background: none !important; box-shadow: none !important; opacity: 1 !important; visibility: visible !important; transform: none !important; }
.sw-site-header .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content { display: block !important; padding: 5px 0 !important; border-radius: 0; background: none !important; text-align: center; transform: none !important; }
.sw-site-header .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content::after { display: none !important; }
.sw-site-header .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation-item__label { padding: 0 !important; border: 0 !important; color: #4b5563 !important; font-size: calc(.92rem + 1pt) !important; font-weight: 500 !important; }
.sw-site-header .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content:hover .wp-block-navigation-item__label { color: #2f6bd8 !important; }
.sw-site-header .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation-item__description { display: none !important; }
.sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content { margin: 8px 0 2px !important; font-size: calc(.8rem + 1pt) !important; font-weight: 700 !important; }
.sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content .wp-block-navigation-item__label { color: #2f6bd8 !important; font-size: calc(.82rem + 1pt) !important; font-weight: 700 !important; }
.sw-site-header .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__label { color: #3b4658 !important; }

/* 솔루션 개요: 왼쪽 설명 + 핵심 항목, 오른쪽 로고/대표 화면 카드 */
.sw-ov-sec .sw-ov-grid { gap: clamp(28px, 5vw, 72px) !important; margin-top: 34px !important; }
.sw-ov-sec .sw-ov-grid p { margin: 0 0 14px !important; color: #3b4658; font-size: calc(1.02rem + 1pt); line-height: 1.85; word-break: keep-all; }
.sw-ov-points { display: grid; gap: 10px; margin: 22px 0 0 !important; padding: 0 !important; list-style: none; }
.sw-ov-points li { position: relative; padding: 12px 16px 12px 44px; border-radius: 12px; background: #f3f7fd; color: #1f2733; font-weight: 600; line-height: 1.55; word-break: keep-all; }
.sw-ov-points li::before { content: ""; position: absolute; top: 50%; left: 16px; width: 16px; height: 16px; border-radius: 50%; background: #2f6bd8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / 10px no-repeat; transform: translateY(-50%); }
.sw-ov-logo { display: grid !important; place-items: center; min-height: 300px; margin: 0 !important; padding: clamp(24px, 4vw, 48px); border: 1px solid #e3eaf4; border-radius: 22px; background: radial-gradient(circle at 80% 10%, rgba(47, 107, 216, .08), transparent 55%), #fff; box-shadow: 0 24px 50px rgba(16, 47, 103, .08); }
.sw-ov-logo img { width: auto; max-width: 100%; max-height: 360px; border-radius: 10px; object-fit: contain; }
/* 서비스 개념도: 소개서 도면을 크게, 누르면 원본 */
.sw-concept-sec { background: linear-gradient(180deg, #f5f8fd, #fff); }
.sw-concept-figs { display: grid; gap: 28px; margin-top: 34px !important; }
.sw-concept-fig { margin: 0 !important; padding: clamp(14px, 2vw, 24px); border: 1px solid #e3eaf4; border-radius: 20px; background: #fff; box-shadow: 0 20px 44px rgba(16, 47, 103, .08); }
.sw-concept-fig img { display: block; width: 100%; height: auto; border-radius: 10px; }
.sw-concept-fig a { display: block; cursor: zoom-in; }
.sw-concept-fig figcaption { margin: 14px 4px 0 !important; color: #4b5563; font-size: calc(.9rem + 1pt); font-weight: 600; text-align: left; word-break: keep-all; }
@media (max-width: 781px) { .sw-ov-logo { min-height: 200px; } }

/* 보유 솔루션 자산: 카드 대신 행(화면 이미지 + 설명). 짝수 행은 좌우 반전, 행 사이는 가는 구분선 */
.sw-assets2 { display: grid; gap: 0; margin-top: 30px !important; }
.sw-asset-row { --c: #2f6bd8; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: center; gap: clamp(28px, 5vw, 72px); padding: clamp(36px, 5vw, 56px) 0; border-top: 1px solid #e6ebf2; }
.sw-asset-row:first-child { border-top: 0; padding-top: 10px; }
.sw-asset-row:nth-child(even) .sw-asset-shot { order: 2; }
.sw-asset-row.is-1 { --c: #2f6bd8; } .sw-asset-row.is-2 { --c: #7a4ce6; } .sw-asset-row.is-3 { --c: #0e9fb3; } .sw-asset-row.is-4 { --c: #13806e; } .sw-asset-row.is-5 { --c: #e0701f; }
.sw-asset-shot { margin: 0 !important; padding: clamp(14px, 2.4vw, 26px); border-radius: 22px; background: linear-gradient(145deg, color-mix(in srgb, var(--c) 14%, #fff), color-mix(in srgb, var(--c) 4%, #fff)); }
.sw-asset-shot img { display: block; width: 100%; height: auto; max-height: 360px; border-radius: 10px; object-fit: contain; box-shadow: 0 18px 40px rgba(16, 47, 103, .14); background: #fff; }
.sw-asset-text > * { margin: 0 !important; }
.sw-asset-no { color: var(--c); font-size: calc(.85rem + 1pt); font-weight: 800; letter-spacing: .12em; }
.sw-asset-name { margin-top: 8px !important; color: var(--c) !important; font-size: clamp(1.7rem, 2.6vw, 2.3rem) !important; font-weight: 800; letter-spacing: -.02em; }
.sw-asset-name span { display: block; margin-top: 6px; color: #16223a; font-size: calc(1.05rem + 1pt); font-weight: 700; letter-spacing: 0; }
.sw-asset-desc { margin-top: 16px !important; color: #4b5563; font-size: calc(1rem + 1pt); line-height: 1.8; word-break: keep-all; }
.sw-asset-parts { display: grid; gap: 8px; margin-top: 18px !important; padding: 0 !important; list-style: none; counter-reset: part; }
.sw-asset-parts li { counter-increment: part; display: grid; grid-template-columns: 34px 1fr; align-items: baseline; color: #1f2733; font-weight: 600; line-height: 1.55; word-break: keep-all; }
.sw-asset-parts li::before { content: counter(part, decimal-leading-zero); color: var(--c); font-size: .85em; font-weight: 800; }
.sw-asset-more { margin-top: 16px !important; padding-top: 14px; border-top: 1px dashed #dbe2ec; color: #6b7686; font-size: calc(.9rem + 1pt); }
@media (max-width: 781px) {
  .sw-asset-row { grid-template-columns: 1fr; gap: 20px; }
  .sw-asset-row:nth-child(even) .sw-asset-shot { order: 0; }
}
/* 보유 솔루션 자산: 세로 길이 축소 — 작은 화면 이미지, 좁은 여백, 핵심 구성은 한 줄로 */
.sw-asset-row { grid-template-columns: minmax(0, 3fr) minmax(0, 7fr); gap: clamp(20px, 3.5vw, 44px); padding: 26px 0; }
.sw-asset-row:first-child { padding-top: 0; }
.sw-asset-shot { padding: 10px; border-radius: 16px; }
.sw-asset-shot img { max-height: 190px; border-radius: 8px; }
.sw-asset-name { margin-top: 2px !important; font-size: clamp(1.35rem, 2vw, 1.7rem) !important; }
.sw-asset-name span { display: inline; margin: 0 0 0 10px; font-size: calc(.95rem + 1pt); }
.sw-asset-desc { margin-top: 8px !important; font-size: calc(.95rem + 1pt); line-height: 1.7; }
.sw-asset-parts { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 10px !important; }
.sw-asset-parts li { display: inline-flex; gap: 6px; font-size: calc(.9rem + 1pt); }
.sw-asset-more { margin-top: 10px !important; padding-top: 8px; font-size: calc(.82rem + 1pt); }
@media (max-width: 781px) { .sw-asset-row { grid-template-columns: 1fr; } .sw-asset-shot img { max-height: 200px; } }
.sw-asset-row:nth-child(even) .sw-asset-shot { order: 0; }
.sw-asset-row { grid-template-columns: minmax(0, 2.4fr) minmax(0, 7.6fr); padding: 18px 0; }
.sw-asset-shot { padding: 8px; }
.sw-asset-shot img { max-height: 150px; }
.sw-asset-no { display: none; }

/* 서비스 개념도(직접 그린 도식): 묶음 상자 · 노드 · 화살표 · DB 원통 */
.sw-dg { margin: 0 !important; padding: clamp(16px, 2.4vw, 28px); border: 1px solid #e3eaf4; border-radius: 22px; background: #fff; box-shadow: 0 20px 44px rgba(16, 47, 103, .08); }
.sw-dg-canvas { padding: clamp(14px, 2.4vw, 28px); border-radius: 14px; background: radial-gradient(#dfe5ef 1px, transparent 1.3px) 0 0 / 16px 16px, #f8fafd; font-size: 14px; color: #1f2733; }
.sw-dg figcaption { margin: 14px 4px 0; color: #4b5563; font-size: calc(.9rem + 1pt); font-weight: 600; word-break: keep-all; }
.sw-dg-cols { display: flex; align-items: stretch; gap: 10px; }
.sw-dg-cols > .sw-dg-side { flex: 0 0 16%; display: grid; align-content: center; gap: 10px; }
.sw-dg-cols.is-4 > .sw-dg-side { flex-basis: 19%; }
.sw-dg-cols > .sw-dg-main { flex: 1 1 auto; min-width: 0; }
.sw-dg-cols.is-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.sw-dg-group { --g: #2f6bd8; display: grid; align-content: start; gap: 8px; padding: 12px; border: 1.5px solid color-mix(in srgb, var(--g) 30%, #fff); border-radius: 14px; background: color-mix(in srgb, var(--g) 6%, #fff); }
.sw-dg-group.is-main { --g: #1f3f8f; gap: 12px; padding: 16px; background: #fff; box-shadow: 0 12px 30px rgba(16, 47, 103, .08); }
.sw-dg-group.is-blue { --g: #2f6bd8; } .sw-dg-group.is-violet { --g: #7a4ce6; } .sw-dg-group.is-teal { --g: #0e9fb3; } .sw-dg-group.is-soft { --g: #64748b; }
.sw-dg-gt { display: block; padding: 7px 10px; border-radius: 9px; background: var(--g); color: #fff; font-size: 13px; font-weight: 700; text-align: center; word-break: keep-all; }
.sw-dg-gb { display: grid; gap: 6px; }
.sw-dg-gb small { margin-top: 4px; color: #6b7686; font-size: 11.5px; font-weight: 700; }
.sw-dg-node { display: block; padding: 8px 10px; border: 1px solid #dde4ee; border-radius: 9px; background: #fff; font-size: 12.5px; font-weight: 600; line-height: 1.4; text-align: center; word-break: keep-all; }
.sw-dg-node.is-strong { border-color: color-mix(in srgb, var(--g) 40%, #fff); color: var(--g); }
.sw-dg-node.is-accent { border: 0; background: linear-gradient(135deg, #2f6bd8, #1ea9e0); color: #fff; font-weight: 700; }
.sw-dg-pipe { display: flex; align-items: center; gap: 6px; }
.sw-dg-pipe > .sw-dg-node { flex: 1 1 0; }
.sw-dg-bar { padding: 9px 12px; border-radius: 9px; background: #1f3f8f; color: #fff; font-size: 12.5px; font-weight: 700; text-align: center; }
.sw-dg-dbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.sw-dg-db { position: relative; display: grid; place-items: end center; height: 58px; padding-bottom: 8px; border-radius: 50% / 14px; background: linear-gradient(180deg, #e6ecf6, #d3dcea); color: #33415c; font-size: 12px; font-weight: 700; box-shadow: inset 0 14px 0 -6px #c5d1e3; }
.sw-dg-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.sw-dg-chips .sw-dg-node { flex: 0 0 auto; padding: 7px 12px; border-radius: 99px; }
/* 화살표 */
.sw-dg-arrow { position: relative; flex: 0 0 26px; display: grid; place-items: center; align-self: center; min-height: 20px; color: #94a3b8; font-style: normal; }
.sw-dg-arrow::before { content: ""; width: 100%; height: 2px; background: currentColor; }
.sw-dg-arrow::after { content: ""; position: absolute; right: 0; top: 50%; width: 8px; height: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: translateY(-50%) rotate(45deg); }
.sw-dg-arrow.is-x::after { box-shadow: none; }
.sw-dg-arrow.is-x::before { background: repeating-linear-gradient(90deg, currentColor 0 5px, transparent 5px 9px); }
.sw-dg-arrow em { position: absolute; bottom: calc(50% + 8px); left: 50%; width: max-content; max-width: 90px; transform: translateX(-50%); color: #64748b; font-size: 10.5px; font-style: normal; font-weight: 600; text-align: center; white-space: normal; word-break: keep-all; }
.sw-dg-pipe .sw-dg-arrow { flex-basis: 16px; }
.sw-dg-arrow.is-d { flex: 0 0 auto; width: 20px; height: 22px; margin: 2px auto; }
.sw-dg-arrow.is-d::before { width: 2px; height: 100%; }
.sw-dg-arrow.is-d::after { top: auto; right: auto; bottom: 0; left: 50%; transform: translateX(-50%) rotate(135deg); }
/* 흐름(3단계) · 레인 · 계층 */
.sw-dg-flow { display: flex; align-items: stretch; gap: 10px; }
.sw-dg-flow > .sw-dg-group { flex: 1 1 0; }
.sw-dg-lanes { display: grid; gap: 10px; }
.sw-dg-lane, .sw-dg-layer { --g: #2f6bd8; display: grid; grid-template-columns: 130px 1fr; align-items: center; gap: 12px; padding: 10px; border-radius: 12px; background: color-mix(in srgb, var(--g) 7%, #fff); border: 1px solid color-mix(in srgb, var(--g) 25%, #fff); }
.sw-dg-lane.is-violet { --g: #7a4ce6; } .sw-dg-lane.is-teal { --g: #0e9fb3; }
.sw-dg-lane > b, .sw-dg-layer > b { display: grid; place-items: center; align-self: stretch; padding: 10px; border-radius: 9px; background: var(--g); color: #fff; font-size: 13px; }
.sw-dg-lane > div, .sw-dg-layer > div { display: flex; flex-wrap: wrap; gap: 6px; }
.sw-dg-lane .sw-dg-node, .sw-dg-layer .sw-dg-node { flex: 1 1 auto; }
.sw-dg-layer.is-main { --g: #1f3f8f; }
.sw-dg-stack { display: grid; }
.sw-dg-note { margin: 4px 2px 0 !important; color: #64748b; font-size: 12.5px; }
@media (max-width: 900px) {
  .sw-dg-cols, .sw-dg-flow { flex-direction: column; }
  .sw-dg-cols > .sw-dg-side { flex-basis: auto; }
  .sw-dg-cols > .sw-dg-arrow, .sw-dg-flow > .sw-dg-arrow { flex-basis: 22px; width: 20px; margin: 0 auto; }
  .sw-dg-cols > .sw-dg-arrow::before, .sw-dg-flow > .sw-dg-arrow::before { width: 2px; height: 22px; }
  .sw-dg-cols > .sw-dg-arrow::after, .sw-dg-flow > .sw-dg-arrow::after { top: auto; right: auto; bottom: 0; left: 50%; transform: translateX(-50%) rotate(135deg); }
  .sw-dg-cols > .sw-dg-arrow em { display: none; }
  .sw-dg-cols.is-2 { grid-template-columns: 1fr; }
  .sw-dg-pipe { flex-wrap: wrap; } .sw-dg-pipe .sw-dg-arrow { display: none; }
  .sw-dg-dbs { grid-template-columns: repeat(2, 1fr); }
  .sw-dg-lane, .sw-dg-layer { grid-template-columns: 1fr; }
}
/* 개요 이미지가 화면(스크린샷)이면 상자를 꽉 채워 크게 */
.sw-ov-logo.is-screen { padding: 12px; min-height: 0; }
.sw-ov-logo.is-screen img { width: 100%; max-height: none; }
/* 메뉴 · 솔루션 목록의 SCOS 'S' 도 SUMS 처럼 강조색 */
.sw-dg-cols > .sw-dg-main + .sw-dg-arrow.is-x::after { right: auto; left: 0; transform: translateY(-50%) rotate(-135deg); }
.sw-dg-cols > .sw-dg-main + .sw-dg-arrow.is-x::before { content: ""; }
/* SUMS 글자 로고 (소개서 UMS 로고 이미지 대신) */
.sw-wordmark { text-align: center; }
.sw-wordmark strong { display: block; color: #13265c; font-size: clamp(3.4rem, 7vw, 5.6rem); font-weight: 900; font-style: italic; letter-spacing: -.04em; line-height: 1; }
.sw-wordmark small { display: block; margin-top: 14px; color: #33415c; font-size: calc(.95rem + 1pt); font-weight: 600; letter-spacing: .12em; }

/* 제품/솔루션 드롭다운: 네 묶음을 2열로 놓아 세로 길이 절반 */
.sw-site-header .sw-primary-nav .sw-mega > .wp-block-navigation__submenu-container { display: grid !important; grid-template-columns: repeat(2, max-content); column-gap: 40px; row-gap: 0; align-content: start; }
.sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation__submenu-container { margin-bottom: 6px !important; }
.sw-site-header .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content { padding: 4px 0 !important; }
@media (min-width: 1025px) {
  /* 전체 메뉴 패널의 제품/솔루션 칸: 네 묶음을 2열(2×2)로 */
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container { display: grid !important; grid-template-columns: 1fr 1fr; align-content: start; column-gap: 8px; width: 330px !important; }
  .sw-site-header.is-mega-open .sw-mega-col { display: block !important; }
}
@media (min-width: 1025px) {
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container { width: 318px !important; transform: translateX(-85px) !important; column-gap: 0; }
}

/* 홈 Business v2: 머리(왼쪽 큰 제목 · 오른쪽 설명) + 2열 목록 — 둥근 색 아이콘 · 작은 분류 · 제목 · 설명 · 자세히 보기 ↗ */
.sw-biz2-head { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: end; gap: 40px; margin-bottom: clamp(40px, 5vw, 64px) !important; }
.sw-biz2-head h2 { margin: 0 !important; color: #fff !important; font-size: clamp(2.2rem, 4vw, 3.2rem); line-height: 1.15; }
.sw-biz2-head h2 small { display: block; margin-top: 12px; color: #9fc4ff; font-size: calc(1.05rem + 1pt); font-weight: 600; letter-spacing: 0; }
.sw-biz2-head .sw-lead { margin: 0 !important; color: rgba(255, 255, 255, .72) !important; font-size: calc(1.02rem + 1pt); line-height: 1.8; word-break: keep-all; }
.sw-biz2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 clamp(32px, 5vw, 80px); margin: 0 auto !important; padding: 0 !important; list-style: none; }
.sw-biz2-item { --c: #3b82f6; display: grid; grid-template-columns: 76px 1fr; gap: 24px; align-items: start; padding: 30px 0; border-top: 1px solid rgba(255, 255, 255, .12); }
.sw-biz2-item.is-si { --c: #6366f1; } .sw-biz2-item.is-ai { --c: #a855f7; } .sw-biz2-item.is-ums { --c: #06b6d4; } .sw-biz2-item.is-mobile { --c: #ec4899; } .sw-biz2-item.is-mro { --c: #10b981; }
.sw-biz2-ico { display: grid; place-items: center; width: 76px; height: 76px; border-radius: 50%; background: var(--c); color: #fff; box-shadow: 0 12px 28px color-mix(in srgb, var(--c) 45%, transparent); transition: transform .3s; }
.sw-biz2-ico svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.sw-biz2-item:hover .sw-biz2-ico { transform: scale(1.06); }
.sw-biz2-item small { display: block; color: color-mix(in srgb, var(--c) 70%, #fff); font-size: calc(.78rem + 1pt); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.sw-biz2-item h3 { margin: 6px 0 0 !important; color: #fff; font-size: calc(1.2rem + 1pt); font-weight: 700; }
.sw-biz2-item p { margin: 10px 0 0 !important; color: rgba(255, 255, 255, .65); font-size: calc(.95rem + 1pt); line-height: 1.75; word-break: keep-all; }
.sw-biz2-item a { display: inline-flex; gap: 6px; margin-top: 14px; color: #fff; font-size: calc(.9rem + 1pt); font-weight: 600; text-decoration: none; }
.sw-biz2-item a:hover { color: color-mix(in srgb, var(--c) 60%, #fff); }
@media (max-width: 781px) {
  .sw-biz2-head, .sw-biz2 { grid-template-columns: 1fr; }
  .sw-biz2-item { grid-template-columns: 56px 1fr; gap: 16px; padding: 22px 0; }
  .sw-biz2-ico { width: 56px; height: 56px; } .sw-biz2-ico svg { width: 24px; height: 24px; }
}
@media (min-width: 1025px) {
  /* 전체 메뉴 패널: 제품/솔루션 줄 간격을 다른 칸(한 줄 38px)과 똑같이 */
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content,
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content { display: block !important; margin: 0 !important; padding: 7px 10px !important; line-height: 24.08px !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation-item__label { line-height: 24.08px !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation__submenu-container { margin: 0 !important; gap: 0 !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container { row-gap: 0 !important; }
}

/* 포트폴리오 분류 탭: 가운데 정렬(블록 폭 전체 기준) + 점 대신 분류 아이콘 */
.sw-filter.sw-pf-tabs { display: flex !important; flex-wrap: wrap; justify-content: center !important; gap: 10px; width: 100% !important; max-width: none !important; margin: 8px auto 30px !important; }
.sw-pf-tabs a { --ico: none; padding: 11px 20px 11px 16px; }
.sw-pf-tabs a::before { width: 18px; height: 18px; border-radius: 0; background: var(--c); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.sw-pf-tabs a[data-cat=""]::before { display: block; }
.sw-pf-tabs a[data-cat=""] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1.5'/%3E%3C/svg%3E"); }
.sw-pf-tabs a[data-cat="brand-mall"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l-1 12H7zM9 8a3 3 0 0 1 6 0'/%3E%3C/svg%3E"); }
.sw-pf-tabs a[data-cat="platform-app"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='2' width='12' height='20' rx='2.5'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E"); }
.sw-pf-tabs a[data-cat="erp-si"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='6' rx='1.5'/%3E%3Crect x='3' y='14' width='18' height='6' rx='1.5'/%3E%3Cpath d='M7 7h.01M7 17h.01'/%3E%3C/svg%3E"); }
.sw-pf-tabs a[data-cat="wechat"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3C/svg%3E"); }
.sw-pf-tabs a[data-cat="iot"] { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 12.5a10 10 0 0 1 14 0M8.5 15.8a5 5 0 0 1 7 0'/%3E%3Ccircle cx='12' cy='19' r='1'/%3E%3C/svg%3E"); }
.sw-pf-tabs a[aria-current="true"]::before { background: #fff; }
@media (min-width: 1025px) {
  /* 전체 메뉴 패널: 줄 간격을 넉넉하게(모든 칸 동일, 한 줄 약 46px) */
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content,
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content { padding: 11px 10px !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { padding-top: 26px !important; padding-bottom: 26px !important; }
}
@media (min-width: 1025px) {
  .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content,
  .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content .wp-block-navigation-item__label { font-size: calc(.95rem + 1pt) !important; font-weight: 700 !important; }
}
@media (min-width: 1025px) {
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content { line-height: 24.08px !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content .wp-block-navigation-item__label { display: block; line-height: 24.08px !important; }
}
@media (min-width: 1025px) { .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content { box-sizing: border-box !important; } }
@media (min-width: 1025px) {
  .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content { font-size: calc(.92rem + 1pt) !important; }
  .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content .wp-block-navigation-item__label { display: block; font-size: calc(.95rem + 1pt) !important; line-height: 24.08px !important; }
}
@media (min-width: 1025px) {
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content { box-sizing: border-box !important; height: 46.08px !important; overflow: hidden; }
}
@media (min-width: 1025px) and (max-width: 1399px) {
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container { width: 300px !important; transform: translateX(-38px) !important; }
}

/* 사업분야 허브 → 우주: 깊은 남색 하늘 + 성운 빛, 가운데를 중심으로 천천히 도는 별 두 겹, 여섯 원은 행성, 두꺼운 고리는 가는 궤도선 */
.sw-hub-sec { position: relative; isolation: isolate; background: radial-gradient(40% 60% at 15% 20%, rgba(120, 80, 230, .35), transparent 70%), radial-gradient(45% 60% at 88% 85%, rgba(30, 140, 230, .32), transparent 72%), linear-gradient(180deg, #02061a, #060f30 55%, #02061a) !important; }
.sw-hub-sec::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420'%3E%3Ccircle cx='0.0' cy='386.7' r='0.69' fill='white' fill-opacity='0.43'/%3E%3Ccircle cx='306.3' cy='223.7' r='0.73' fill='white' fill-opacity='0.75'/%3E%3Ccircle cx='317.1' cy='228.0' r='1.08' fill='white' fill-opacity='0.68'/%3E%3Ccircle cx='343.0' cy='101.6' r='0.77' fill='white' fill-opacity='0.72'/%3E%3Ccircle cx='293.2' cy='22.6' r='1.08' fill='white' fill-opacity='0.58'/%3E%3Ccircle cx='387.4' cy='339.1' r='0.52' fill='white' fill-opacity='0.61'/%3E%3Ccircle cx='387.7' cy='289.2' r='1.04' fill='white' fill-opacity='0.65'/%3E%3Ccircle cx='383.0' cy='381.5' r='0.77' fill='white' fill-opacity='0.50'/%3E%3Ccircle cx='351.6' cy='139.5' r='0.55' fill='white' fill-opacity='0.48'/%3E%3Ccircle cx='180.0' cy='123.8' r='1.34' fill='white' fill-opacity='0.63'/%3E%3Ccircle cx='306.3' cy='368.7' r='0.46' fill='white' fill-opacity='0.46'/%3E%3Ccircle cx='235.5' cy='213.7' r='0.82' fill='white' fill-opacity='0.42'/%3E%3Ccircle cx='381.8' cy='23.0' r='0.77' fill='white' fill-opacity='0.51'/%3E%3Ccircle cx='279.1' cy='388.2' r='0.91' fill='white' fill-opacity='0.40'/%3E%3Ccircle cx='170.4' cy='119.1' r='0.76' fill='white' fill-opacity='0.55'/%3E%3Ccircle cx='139.7' cy='223.3' r='1.01' fill='white' fill-opacity='0.44'/%3E%3Ccircle cx='380.7' cy='192.3' r='1.26' fill='white' fill-opacity='0.68'/%3E%3Ccircle cx='266.4' cy='216.8' r='0.90' fill='white' fill-opacity='0.71'/%3E%3Ccircle cx='394.6' cy='166.6' r='1.11' fill='white' fill-opacity='0.45'/%3E%3Ccircle cx='246.5' cy='147.2' r='0.73' fill='white' fill-opacity='0.53'/%3E%3Ccircle cx='333.8' cy='368.6' r='0.51' fill='white' fill-opacity='0.79'/%3E%3Ccircle cx='32.6' cy='170.9' r='0.55' fill='white' fill-opacity='0.35'/%3E%3Ccircle cx='418.4' cy='92.4' r='1.03' fill='white' fill-opacity='0.39'/%3E%3Ccircle cx='192.0' cy='249.0' r='0.54' fill='white' fill-opacity='0.85'/%3E%3Ccircle cx='371.5' cy='374.0' r='1.29' fill='white' fill-opacity='0.84'/%3E%3Ccircle cx='319.7' cy='115.7' r='0.41' fill='white' fill-opacity='0.45'/%3E%3Ccircle cx='31.9' cy='0.7' r='1.02' fill='white' fill-opacity='0.44'/%3E%3Ccircle cx='311.3' cy='205.5' r='1.09' fill='white' fill-opacity='0.44'/%3E%3Ccircle cx='370.5' cy='98.8' r='0.77' fill='white' fill-opacity='0.84'/%3E%3Ccircle cx='49.7' cy='205.5' r='0.40' fill='white' fill-opacity='0.85'/%3E%3Ccircle cx='267.5' cy='387.3' r='0.42' fill='white' fill-opacity='0.84'/%3E%3Ccircle cx='79.0' cy='406.9' r='0.97' fill='white' fill-opacity='0.71'/%3E%3Ccircle cx='111.8' cy='93.6' r='0.61' fill='white' fill-opacity='0.64'/%3E%3Ccircle cx='22.0' cy='323.2' r='1.10' fill='white' fill-opacity='0.73'/%3E%3Ccircle cx='209.2' cy='13.7' r='0.51' fill='white' fill-opacity='0.85'/%3E%3Ccircle cx='54.9' cy='288.9' r='1.29' fill='white' fill-opacity='0.32'/%3E%3Ccircle cx='370.9' cy='361.8' r='1.39' fill='white' fill-opacity='0.87'/%3E%3Ccircle cx='321.3' cy='176.2' r='0.65' fill='white' fill-opacity='0.74'/%3E%3Ccircle cx='370.5' cy='167.3' r='0.63' fill='white' fill-opacity='0.54'/%3E%3Ccircle cx='372.5' cy='234.7' r='0.75' fill='white' fill-opacity='0.67'/%3E%3Ccircle cx='308.7' cy='140.7' r='1.13' fill='white' fill-opacity='0.55'/%3E%3Ccircle cx='83.4' cy='130.9' r='1.39' fill='white' fill-opacity='0.90'/%3E%3Ccircle cx='265.6' cy='366.3' r='1.32' fill='white' fill-opacity='0.42'/%3E%3Ccircle cx='271.0' cy='56.9' r='0.90' fill='white' fill-opacity='0.63'/%3E%3Ccircle cx='324.0' cy='397.2' r='0.88' fill='white' fill-opacity='0.41'/%3E%3Ccircle cx='187.6' cy='69.8' r='1.06' fill='white' fill-opacity='0.61'/%3E%3Ccircle cx='235.8' cy='212.8' r='1.16' fill='white' fill-opacity='0.52'/%3E%3Ccircle cx='315.4' cy='10.9' r='0.70' fill='white' fill-opacity='0.63'/%3E%3Ccircle cx='85.2' cy='303.6' r='0.69' fill='white' fill-opacity='0.44'/%3E%3Ccircle cx='277.0' cy='180.3' r='0.48' fill='white' fill-opacity='0.76'/%3E%3Ccircle cx='345.6' cy='384.5' r='1.31' fill='white' fill-opacity='0.71'/%3E%3Ccircle cx='402.7' cy='10.6' r='1.16' fill='white' fill-opacity='0.66'/%3E%3Ccircle cx='304.1' cy='377.2' r='0.44' fill='white' fill-opacity='0.38'/%3E%3Ccircle cx='33.7' cy='45.5' r='0.48' fill='white' fill-opacity='0.31'/%3E%3Ccircle cx='254.1' cy='397.2' r='0.59' fill='white' fill-opacity='0.38'/%3E%3Ccircle cx='84.9' cy='283.5' r='0.64' fill='white' fill-opacity='0.57'/%3E%3Ccircle cx='417.5' cy='177.5' r='1.07' fill='white' fill-opacity='0.76'/%3E%3Ccircle cx='166.7' cy='174.9' r='0.46' fill='white' fill-opacity='0.44'/%3E%3Ccircle cx='339.2' cy='409.2' r='0.55' fill='white' fill-opacity='0.86'/%3E%3Ccircle cx='213.7' cy='51.3' r='0.61' fill='white' fill-opacity='0.66'/%3E%3Ccircle cx='71.6' cy='32.8' r='0.67' fill='white' fill-opacity='0.69'/%3E%3Ccircle cx='233.6' cy='201.9' r='1.39' fill='white' fill-opacity='0.35'/%3E%3Ccircle cx='173.6' cy='132.1' r='0.40' fill='white' fill-opacity='0.30'/%3E%3Ccircle cx='173.7' cy='38.4' r='0.63' fill='white' fill-opacity='0.85'/%3E%3Ccircle cx='326.5' cy='320.9' r='0.84' fill='white' fill-opacity='0.81'/%3E%3Ccircle cx='404.2' cy='336.4' r='1.06' fill='white' fill-opacity='0.64'/%3E%3Ccircle cx='146.2' cy='170.9' r='0.90' fill='white' fill-opacity='0.60'/%3E%3Ccircle cx='238.3' cy='303.1' r='1.07' fill='white' fill-opacity='0.68'/%3E%3Ccircle cx='306.2' cy='371.5' r='1.25' fill='white' fill-opacity='0.89'/%3E%3Ccircle cx='184.0' cy='204.6' r='1.36' fill='white' fill-opacity='0.89'/%3E%3Ccircle cx='150.3' cy='33.3' r='0.74' fill='white' fill-opacity='0.83'/%3E%3Ccircle cx='297.5' cy='310.0' r='1.36' fill='white' fill-opacity='0.77'/%3E%3Ccircle cx='87.0' cy='100.0' r='1.20' fill='white' fill-opacity='0.36'/%3E%3Ccircle cx='384.5' cy='336.1' r='1.04' fill='white' fill-opacity='0.73'/%3E%3Ccircle cx='225.1' cy='186.1' r='1.27' fill='white' fill-opacity='0.64'/%3E%3Ccircle cx='367.0' cy='113.6' r='1.09' fill='white' fill-opacity='0.56'/%3E%3Ccircle cx='165.9' cy='78.8' r='0.99' fill='white' fill-opacity='0.44'/%3E%3Ccircle cx='377.5' cy='345.3' r='0.74' fill='white' fill-opacity='0.71'/%3E%3Ccircle cx='368.5' cy='48.7' r='0.71' fill='white' fill-opacity='0.85'/%3E%3Ccircle cx='0.6' cy='55.4' r='0.80' fill='white' fill-opacity='0.31'/%3E%3Ccircle cx='291.0' cy='377.1' r='0.57' fill='white' fill-opacity='0.43'/%3E%3Ccircle cx='397.9' cy='293.9' r='0.58' fill='white' fill-opacity='0.37'/%3E%3Ccircle cx='263.2' cy='6.7' r='1.21' fill='white' fill-opacity='0.65'/%3E%3Ccircle cx='315.5' cy='53.8' r='0.73' fill='white' fill-opacity='0.73'/%3E%3Ccircle cx='401.1' cy='230.1' r='0.99' fill='white' fill-opacity='0.77'/%3E%3Ccircle cx='295.0' cy='308.1' r='1.00' fill='white' fill-opacity='0.36'/%3E%3Ccircle cx='19.1' cy='257.6' r='0.62' fill='white' fill-opacity='0.65'/%3E%3Ccircle cx='105.4' cy='93.7' r='1.02' fill='white' fill-opacity='0.68'/%3E%3Ccircle cx='341.4' cy='100.6' r='1.31' fill='white' fill-opacity='0.33'/%3E%3Ccircle cx='290.1' cy='170.8' r='1.19' fill='white' fill-opacity='0.70'/%3E%3C/svg%3E"); background-size: 420px 420px; animation: sw-star-twinkle 6s ease-in-out infinite; pointer-events: none; }
.sw-hub-sec .sw-ums-head h2, .sw-hub-sec h2 { color: #fff !important; }
.sw-hub-sec .sw-ums-lead, .sw-hub-sec .sw-ums-head p { color: rgba(255, 255, 255, .68) !important; }
.sw-hub-sec .sw-ums-eyebrow { color: #8fc8ff !important; }
.sw-hub-sec .sw-ums-eyebrow::before, .sw-hub-sec .sw-ums-eyebrow::after { background: #8fc8ff; }
.sw-hub::before { width: 150%; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Ccircle cx='482.8' cy='62.8' r='1.69' fill='white' fill-opacity='0.70'/%3E%3Ccircle cx='493.8' cy='255.0' r='1.61' fill='white' fill-opacity='0.87'/%3E%3Ccircle cx='436.3' cy='544.7' r='1.60' fill='white' fill-opacity='0.51'/%3E%3Ccircle cx='431.8' cy='92.8' r='0.58' fill='white' fill-opacity='0.97'/%3E%3Ccircle cx='572.9' cy='33.9' r='0.51' fill='white' fill-opacity='0.56'/%3E%3Ccircle cx='564.4' cy='521.9' r='1.74' fill='white' fill-opacity='0.57'/%3E%3Ccircle cx='119.0' cy='17.9' r='1.06' fill='white' fill-opacity='0.74'/%3E%3Ccircle cx='84.9' cy='193.9' r='1.07' fill='white' fill-opacity='0.54'/%3E%3Ccircle cx='33.0' cy='26.6' r='0.53' fill='white' fill-opacity='0.78'/%3E%3Ccircle cx='280.8' cy='484.9' r='1.42' fill='white' fill-opacity='0.71'/%3E%3Ccircle cx='420.2' cy='232.8' r='1.26' fill='white' fill-opacity='0.98'/%3E%3Ccircle cx='462.4' cy='577.2' r='1.40' fill='white' fill-opacity='0.76'/%3E%3Ccircle cx='481.6' cy='102.7' r='0.49' fill='white' fill-opacity='0.84'/%3E%3Ccircle cx='388.0' cy='258.7' r='1.16' fill='white' fill-opacity='0.63'/%3E%3Ccircle cx='296.7' cy='73.2' r='0.49' fill='white' fill-opacity='0.45'/%3E%3Ccircle cx='212.5' cy='206.8' r='0.68' fill='white' fill-opacity='0.78'/%3E%3Ccircle cx='75.3' cy='31.3' r='0.40' fill='white' fill-opacity='0.90'/%3E%3Ccircle cx='521.7' cy='26.7' r='1.48' fill='white' fill-opacity='0.59'/%3E%3Ccircle cx='241.4' cy='544.9' r='1.52' fill='white' fill-opacity='0.41'/%3E%3Ccircle cx='596.0' cy='123.3' r='1.30' fill='white' fill-opacity='0.66'/%3E%3Ccircle cx='19.9' cy='103.6' r='1.46' fill='white' fill-opacity='0.85'/%3E%3Ccircle cx='149.5' cy='514.5' r='1.54' fill='white' fill-opacity='0.59'/%3E%3Ccircle cx='275.5' cy='179.3' r='0.75' fill='white' fill-opacity='0.93'/%3E%3Ccircle cx='522.0' cy='406.9' r='1.10' fill='white' fill-opacity='0.92'/%3E%3Ccircle cx='491.9' cy='487.9' r='1.46' fill='white' fill-opacity='0.98'/%3E%3Ccircle cx='414.8' cy='171.2' r='1.40' fill='white' fill-opacity='0.59'/%3E%3Ccircle cx='518.4' cy='97.8' r='1.58' fill='white' fill-opacity='0.80'/%3E%3Ccircle cx='489.6' cy='280.2' r='1.51' fill='white' fill-opacity='0.90'/%3E%3Ccircle cx='25.5' cy='139.1' r='0.67' fill='white' fill-opacity='0.41'/%3E%3Ccircle cx='346.5' cy='487.1' r='1.28' fill='white' fill-opacity='0.91'/%3E%3Ccircle cx='519.3' cy='488.1' r='0.69' fill='white' fill-opacity='0.74'/%3E%3Ccircle cx='275.8' cy='231.6' r='1.15' fill='white' fill-opacity='0.85'/%3E%3Ccircle cx='310.6' cy='230.3' r='1.10' fill='white' fill-opacity='0.55'/%3E%3Ccircle cx='422.0' cy='463.0' r='0.82' fill='white' fill-opacity='0.55'/%3E%3Ccircle cx='368.4' cy='331.0' r='1.71' fill='white' fill-opacity='0.74'/%3E%3Ccircle cx='189.8' cy='360.2' r='1.20' fill='white' fill-opacity='0.78'/%3E%3Ccircle cx='342.6' cy='96.9' r='0.69' fill='white' fill-opacity='0.47'/%3E%3Ccircle cx='200.1' cy='380.4' r='1.62' fill='white' fill-opacity='0.79'/%3E%3Ccircle cx='233.6' cy='208.4' r='0.96' fill='white' fill-opacity='0.48'/%3E%3Ccircle cx='92.9' cy='31.9' r='1.07' fill='white' fill-opacity='0.63'/%3E%3Ccircle cx='54.9' cy='380.5' r='0.97' fill='white' fill-opacity='0.67'/%3E%3Ccircle cx='59.7' cy='504.2' r='0.78' fill='white' fill-opacity='0.58'/%3E%3Ccircle cx='72.9' cy='121.8' r='1.01' fill='white' fill-opacity='0.52'/%3E%3Ccircle cx='364.6' cy='346.8' r='1.46' fill='white' fill-opacity='0.87'/%3E%3Ccircle cx='295.4' cy='520.2' r='1.36' fill='white' fill-opacity='0.47'/%3E%3Ccircle cx='374.4' cy='441.8' r='1.65' fill='white' fill-opacity='0.75'/%3E%3Ccircle cx='580.3' cy='174.4' r='1.79' fill='white' fill-opacity='0.42'/%3E%3Ccircle cx='61.9' cy='184.6' r='1.60' fill='white' fill-opacity='0.94'/%3E%3Ccircle cx='434.1' cy='328.0' r='0.73' fill='white' fill-opacity='0.72'/%3E%3Ccircle cx='465.9' cy='111.3' r='1.54' fill='white' fill-opacity='0.81'/%3E%3Ccircle cx='349.0' cy='570.6' r='0.83' fill='white' fill-opacity='0.42'/%3E%3Ccircle cx='440.9' cy='308.8' r='1.26' fill='white' fill-opacity='0.82'/%3E%3Ccircle cx='409.0' cy='27.3' r='1.39' fill='white' fill-opacity='0.99'/%3E%3Ccircle cx='507.4' cy='407.9' r='1.19' fill='white' fill-opacity='0.53'/%3E%3Ccircle cx='378.0' cy='340.5' r='1.02' fill='white' fill-opacity='0.41'/%3E%3Ccircle cx='517.7' cy='391.7' r='1.77' fill='white' fill-opacity='0.58'/%3E%3Ccircle cx='446.6' cy='563.0' r='1.20' fill='white' fill-opacity='0.77'/%3E%3Ccircle cx='118.9' cy='145.2' r='1.03' fill='white' fill-opacity='0.66'/%3E%3Ccircle cx='28.4' cy='340.6' r='1.49' fill='white' fill-opacity='0.90'/%3E%3Ccircle cx='51.1' cy='183.6' r='1.26' fill='white' fill-opacity='0.65'/%3E%3C/svg%3E") center / 600px 600px !important; -webkit-mask: radial-gradient(circle, #000 35%, transparent 70%); mask: radial-gradient(circle, #000 35%, transparent 70%); transform: translate(-50%, -50%); animation: sw-hub-starspin 140s linear infinite !important; }
@keyframes sw-hub-starspin { to { transform: translate(-50%, -50%) rotate(1turn); } }
.sw-hub::after { border: 1px dashed rgba(170, 205, 255, .28) !important; }
.sw-hub-ring { border: 1.5px solid rgba(150, 195, 255, .35) !important; background: none !important; -webkit-mask: none !important; mask: none !important; filter: drop-shadow(0 0 10px rgba(90, 160, 255, .35)) !important; }
.sw-hub-core { background: radial-gradient(circle at 50% 38%, #fff 55%, #dfeaff) !important; box-shadow: 0 0 0 10px rgba(255, 255, 255, .08), 0 0 60px rgba(120, 190, 255, .55), 0 0 120px rgba(80, 140, 255, .35) !important; }
.sw-hub-core::before { opacity: .35; }
.sw-hub-node .sw-hub-dot { background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, .9) 0 5%, color-mix(in srgb, var(--hc) 45%, #fff) 16%, var(--hc) 48%, color-mix(in srgb, var(--hc) 45%, #000) 100%) !important; box-shadow: inset -12px -14px 26px rgba(0, 0, 0, .38), 0 0 34px color-mix(in srgb, var(--hc) 55%, transparent) !important; }
.sw-hub-node .sw-hub-dot::after { background: #fff !important; }
.sw-hub-node:hover .sw-hub-dot { box-shadow: inset -12px -14px 26px rgba(0, 0, 0, .3), 0 0 0 8px color-mix(in srgb, var(--hc) 25%, transparent), 0 0 56px color-mix(in srgb, var(--hc) 75%, transparent) !important; }
.sw-hub-node .sw-hub-label { background: rgba(12, 22, 56, .72) !important; border: 1px solid rgba(255, 255, 255, .14) !important; box-shadow: 0 10px 30px rgba(0, 0, 0, .35) !important; backdrop-filter: blur(6px); }
.sw-hub-node .sw-hub-label b { color: #fff !important; }
.sw-hub-node .sw-hub-label small { color: color-mix(in srgb, var(--hc) 55%, #fff) !important; }
.sw-hub-node .sw-hub-label::after { box-shadow: 0 0 0 3px #0a1433, 0 0 10px var(--hc) !important; }
.sw-hub-node .sw-hub-dot::before { background: #fff; box-shadow: 0 0 8px rgba(160, 210, 255, .9); }
@media (prefers-reduced-motion: reduce) { .sw-hub::before { animation-duration: 240s !important; } }

/* 홈 Business: 둥근 아이콘 → 행성 (빛 받는 쪽 밝고 반대쪽 그늘, 기울어진 고리, 천천히 둥실) */
.sw-biz2-ico { position: relative; overflow: visible; background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, .9) 0 5%, color-mix(in srgb, var(--c) 45%, #fff) 17%, var(--c) 50%, color-mix(in srgb, var(--c) 45%, #000) 100%) !important; box-shadow: inset -10px -12px 22px rgba(0, 0, 0, .4), 0 0 30px color-mix(in srgb, var(--c) 55%, transparent) !important; animation: sw-planet-float 6s ease-in-out infinite; }
.sw-biz2-ico::before { content: ""; position: absolute; top: 50%; left: 50%; z-index: 0; width: 150%; height: 38%; border: 2px solid color-mix(in srgb, var(--c) 40%, #fff); border-radius: 50%; opacity: .7; transform: translate(-50%, -50%) rotate(-22deg); pointer-events: none; -webkit-mask: linear-gradient(#000 0 45%, transparent 45% 58%, #000 58%); mask: linear-gradient(#000 0 45%, transparent 45% 58%, #000 58%); }
.sw-biz2-ico svg { position: relative; z-index: 1; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .3)); }
.sw-biz2-item:nth-child(2n) .sw-biz2-ico { animation-delay: -3s; }
.sw-biz2-item:nth-child(3n) .sw-biz2-ico::before { transform: translate(-50%, -50%) rotate(18deg); }
@keyframes sw-planet-float { 50% { transform: translateY(-5px); } }
.sw-biz2-item:hover .sw-biz2-ico { transform: scale(1.06); box-shadow: inset -10px -12px 22px rgba(0, 0, 0, .35), 0 0 0 6px color-mix(in srgb, var(--c) 20%, transparent), 0 0 48px color-mix(in srgb, var(--c) 75%, transparent) !important; }
@media (prefers-reduced-motion: reduce) { .sw-biz2-ico { animation-duration: 12s; } }

/* 홈 Business 행성: 둘레를 반짝이는 별들이 감싸며 천천히 돈다 */
.sw-biz2-ico::after { content: ""; position: absolute; top: 50%; left: 50%; z-index: 2; width: 190%; aspect-ratio: 1; border-radius: 50%; pointer-events: none;
  background:
    radial-gradient(circle, #fff 0 1.6px, transparent 2.6px) 50% 0 / 12px 12px no-repeat,
    radial-gradient(circle, #fff 0 1.2px, transparent 2px) 93% 30% / 10px 10px no-repeat,
    radial-gradient(circle, color-mix(in srgb, var(--c) 40%, #fff) 0 1.8px, transparent 3px) 86% 82% / 12px 12px no-repeat,
    radial-gradient(circle, #fff 0 1px, transparent 1.8px) 40% 99% / 8px 8px no-repeat,
    radial-gradient(circle, color-mix(in srgb, var(--c) 40%, #fff) 0 1.4px, transparent 2.4px) 4% 62% / 10px 10px no-repeat,
    radial-gradient(circle, #fff 0 1.1px, transparent 2px) 13% 14% / 9px 9px no-repeat,
    conic-gradient(from 90deg, transparent, color-mix(in srgb, var(--c) 30%, transparent) 25%, transparent 50%);
  -webkit-mask: radial-gradient(circle, transparent 57%, #000 58% 70%, transparent 71%), radial-gradient(circle, #000 0 0);
  mask: none;
  filter: drop-shadow(0 0 3px #fff) drop-shadow(0 0 6px color-mix(in srgb, var(--c) 70%, transparent));
  transform: translate(-50%, -50%);
  animation: sw-planet-orbit 14s linear infinite, sw-planet-twinkle 2.4s ease-in-out infinite; }
.sw-biz2-item:nth-child(2n) .sw-biz2-ico::after { animation-direction: reverse, normal; animation-duration: 18s, 3.1s; }
@keyframes sw-planet-orbit { to { transform: translate(-50%, -50%) rotate(1turn); } }
@keyframes sw-planet-twinkle { 0%, 100% { opacity: 1; } 50% { opacity: .45; } }
.sw-biz2-ico::after { width: 200%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='white' d='M10 0c.6 5.2 4.8 9.4 10 10-5.2.6-9.4 4.8-10 10-.6-5.2-4.8-9.4-10-10 5.2-.6 9.4-4.8 10-10z'/%3E%3C/svg%3E") 50% 0 / 14px 14px no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='white' d='M10 0c.6 5.2 4.8 9.4 10 10-5.2.6-9.4 4.8-10 10-.6-5.2-4.8-9.4-10-10 5.2-.6 9.4-4.8 10-10z'/%3E%3C/svg%3E") 96% 64% / 10px 10px no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='white' d='M10 0c.6 5.2 4.8 9.4 10 10-5.2.6-9.4 4.8-10 10-.6-5.2-4.8-9.4-10-10 5.2-.6 9.4-4.8 10-10z'/%3E%3C/svg%3E") 8% 78% / 12px 12px no-repeat,
    radial-gradient(circle, #fff 0 2px, transparent 3px) 88% 16% / 10px 10px no-repeat,
    radial-gradient(circle, #fff 0 1.6px, transparent 2.6px) 62% 98% / 8px 8px no-repeat,
    radial-gradient(circle, #fff 0 1.6px, transparent 2.6px) 2% 30% / 8px 8px no-repeat,
    radial-gradient(circle, #fff 0 1.3px, transparent 2.2px) 30% 6% / 7px 7px no-repeat !important;
  -webkit-mask: none !important; mask: none !important;
  filter: drop-shadow(0 0 3px #fff) drop-shadow(0 0 8px color-mix(in srgb, var(--c) 80%, #fff)); }

/* 전체 메뉴 패널 v3: 각 칸을 대메뉴 글자 왼쪽에 맞춰 왼쪽 정렬, 칸 구분선 없음, 항목은 진한 굵은 글씨.
   제품/솔루션은 분류 제목(굵게) 아래에 솔루션을 옅은 보통 글씨로 한 줄씩 */
@media (min-width: 1025px) {
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { left: 0 !important; width: auto !important; min-width: 150px !important; padding: 30px 0 34px !important; border: 0 !important; transform: none !important; text-align: left !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 0 !important; color: #1f2733 !important; font-weight: 700 !important; text-align: left !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--sw-blue) !important; }
  /* 제품/솔루션: 한 열, 분류 제목 + 하위 목록 */
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container { display: block !important; width: auto !important; min-width: 190px !important; transform: none !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col { display: block !important; margin: 0 0 14px !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content { height: auto !important; padding: 8px 0 6px !important; color: #1f2733 !important; font-size: calc(.95rem + 1pt) !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content .wp-block-navigation-item__label { color: #1f2733 !important; font-size: calc(.95rem + 1pt) !important; font-weight: 700 !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content { padding: 4px 0 !important; color: #5b6472 !important; font-weight: 500 !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__label { color: #5b6472 !important; font-size: calc(.88rem + 1pt) !important; font-weight: 500 !important; line-height: 1.6 !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content:hover .wp-block-navigation-item__label { color: var(--sw-blue) !important; }
}
@media (min-width: 1025px) {
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container { transform: translateX(26px) !important; }
}
@media (min-width: 1025px) {
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content,
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation-item__content { overflow: visible !important; width: auto !important; max-width: none !important; text-align: left !important; white-space: nowrap !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation-item__label { text-align: left !important; }
}
@media (min-width: 1025px) {
  /* 전체 메뉴 글씨 한 단계 키움 */
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__label { font-size: calc(1.02rem + 1pt) !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content,
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content .wp-block-navigation-item__label { font-size: calc(1.05rem + 1pt) !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content,
  .sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__label { font-size: calc(.97rem + 1pt) !important; }
}
@media (min-width: 1025px) and (max-width: 1399px) {
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container { transform: translateX(44px) !important; }
}
/* 메뉴 · 푸터의 영문 제품명(CLOUVI) 강조색 */
span.sw-en, em.sw-en, b.sw-en, strong.sw-en { color: #7c4dff !important; -webkit-text-fill-color: #7c4dff !important; font-weight: 700; }

/* MRO 솔루션 페이지 */
.sw-mro-roles { display: grid !important; gap: 14px; padding: 28px !important; }
.sw-mro-roles span { display: grid; gap: 4px; padding: 18px 20px; border-radius: 14px; color: #fff; }
.sw-mro-roles span b { font-size: calc(1.1rem + 1pt); }
.sw-mro-roles span small { color: rgba(255, 255, 255, .8); font-size: calc(.88rem + 1pt); }
.sw-mro-roles .is-c { background: linear-gradient(135deg, #2f6bd8, #1ea9e0); }
.sw-mro-roles .is-o { background: linear-gradient(135deg, #6a3df0, #9b6bff); margin-left: 12%; }
.sw-mro-roles .is-s { background: linear-gradient(135deg, #0e8f84, #19b7a6); margin-left: 24%; }
.sw-mro-feat { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin: 34px auto 0 !important; padding: 0 !important; list-style: none; max-width: var(--wp--style--global--wide-size, 1200px); }
.sw-mro-feat li { position: relative; padding: 28px 30px 28px 92px; border-radius: 18px; background: #fff; box-shadow: 0 14px 34px rgba(16, 47, 103, .07); }
.sw-mro-feat em { position: absolute; top: 26px; left: 28px; color: #2f6bd8; font-size: 1.8rem; font-style: normal; font-weight: 800; line-height: 1; }
.sw-mro-feat b { display: block; color: #16223a; font-size: calc(1.1rem + 1pt); }
.sw-mro-feat p { margin: 8px 0 0 !important; color: #5b6472; line-height: 1.75; word-break: keep-all; }
.sw-mro-fn { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin: 34px auto 0 !important; padding: 0 !important; list-style: none; max-width: var(--wp--style--global--wide-size, 1200px); }
.sw-mro-fn li { padding: 26px 22px; border-radius: 18px; background: #fff; box-shadow: 0 14px 34px rgba(16, 47, 103, .07); }
.sw-mro-fn span { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: linear-gradient(135deg, #2f6bd8, #1ea9e0); color: #fff; }
.sw-mro-fn svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.sw-mro-fn b { display: block; margin-top: 18px; color: #16223a; font-size: calc(1.02rem + 1pt); }
.sw-mro-fn p { margin: 8px 0 0 !important; color: #5b6472; font-size: calc(.9rem + 1pt); line-height: 1.7; word-break: keep-all; }
.sw-mro-roles-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 34px auto 0; max-width: var(--wp--style--global--wide-size, 1200px); }
.sw-mro-role { --g: #2f6bd8; overflow: hidden; border: 1px solid #e3eaf4; border-radius: 18px; background: #fff; }
.sw-mro-role.is-teal { --g: #0e9fb3; } .sw-mro-role.is-violet { --g: #7a4ce6; } .sw-mro-role.is-amber { --g: #e0891f; }
.sw-mro-role > b { display: block; padding: 14px 20px; background: var(--g); color: #fff; font-size: calc(1.02rem + 1pt); }
.sw-mro-role ul { display: grid; gap: 8px; margin: 0; padding: 18px 20px 22px; list-style: none; }
.sw-mro-role li { position: relative; padding-left: 14px; color: #3b4658; font-size: calc(.88rem + 1pt); line-height: 1.6; word-break: keep-all; }
.sw-mro-role li::before { content: ""; position: absolute; top: .62em; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--g); }
@media (max-width: 1100px) { .sw-mro-fn { grid-template-columns: repeat(3, 1fr); } .sw-mro-roles-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 781px) { .sw-mro-feat, .sw-mro-fn, .sw-mro-roles-grid { grid-template-columns: 1fr; } }

/* 홈 솔루션 기둥 v2: 화면 폭 가득, 사진이 카드 전체를 채우고 아래에서 위로 어두워지는 그라데이션 위에 흰 글씨 */
.sw-sol-grid.sw-sol-grid { width: calc(100vw - 48px) !important; max-width: 1760px !important; margin-left: 50% !important; transform: translateX(-50%); gap: 14px !important; border: 0 !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-lg, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-sm { position: relative; min-height: 560px !important; overflow: hidden; border: 0 !important; border-radius: 22px !important; background: #0b1530 !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-shot { inset: 0 !important; height: 100% !important; padding: 0 !important; background: none !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-shot img { width: 100% !important; height: 100% !important; border-radius: 0 !important; object-fit: cover !important; box-shadow: none !important; transition: transform .8s ease !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-shot::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6, 12, 32, .15) 0%, rgba(6, 12, 32, .55) 45%, rgba(6, 12, 32, .92) 100%); }
.sw-sol-grid.sw-sol-grid > .sw-sol-card:hover .sw-sol-shot { height: 100% !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-body { position: relative; z-index: 2; justify-content: flex-end; align-items: flex-start !important; height: 100%; min-height: 560px; padding: 32px 28px !important; text-align: left !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-name { flex-direction: row !important; align-items: center; justify-content: flex-start !important; color: #fff !important; -webkit-text-fill-color: #fff !important; font-size: clamp(1.4rem, 1.7vw, 1.9rem) !important; text-align: left !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-name::before, .sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-name::after { display: none !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-sub { color: #8fc8ff !important; text-align: left !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-tag { max-width: none; margin: 12px 0 0 !important; color: rgba(255, 255, 255, .78) !important; text-align: left !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-go { align-self: flex-start; margin-top: 22px !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-go a::after { border-color: rgba(255, 255, 255, .55) !important; background: transparent !important; color: #fff !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card:hover .sw-sol-go a::after { border-color: #fff !important; background: #fff !important; color: #0b1530 !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-s { color: #ff9a4d !important; -webkit-text-fill-color: #ff9a4d !important; }
@media (max-width: 1100px) { .sw-sol-grid.sw-sol-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } .sw-sol-grid.sw-sol-grid > .sw-sol-card, .sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-body { min-height: 420px !important; } }
@media (max-width: 640px) { .sw-sol-grid.sw-sol-grid { grid-template-columns: 1fr !important; width: calc(100vw - 32px) !important; } }

/* 포트폴리오 슬라이더 어두운 카드: 밋밋한 회색 → 깊은 남색 + 오로라 빛 + 옅은 격자 */
.sw-pfs-card.is-dark { --bg: #0d1733; background: radial-gradient(120% 80% at 0% 0%, rgba(96, 120, 255, .45), transparent 55%), radial-gradient(90% 70% at 100% 100%, rgba(30, 169, 224, .38), transparent 60%), linear-gradient(150deg, #0b1430, #16224a 60%, #0c1a3a) !important; }
.sw-pfs-card.is-dark .sw-pfs-text { background: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px) 0 0 / 34px 34px, linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px) 0 0 / 34px 34px !important; }
.sw-sol-grid.sw-sol-grid { transform: none !important; margin-left: calc(50% - 50vw + 24px) !important; margin-right: 0 !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-shot { top: 0 !important; bottom: 0 !important; left: 0 !important; right: 0 !important; height: 100% !important; margin: 0 !important; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-shot a, .sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-shot figure { display: block; height: 100%; }
@media (max-width: 640px) { .sw-sol-grid.sw-sol-grid { margin-left: calc(50% - 50vw + 16px) !important; } }
/* 행성 둘레 별: 반짝이 모양 대신 가는 점선 궤도 위의 작은 점 세 개로 차분하게 */
.sw-biz2-ico::after { width: 170% !important; border: 1px dashed rgba(255, 255, 255, .16); background:
    radial-gradient(circle, #fff 0 1.4px, transparent 2.2px) 50% 0 / 8px 8px no-repeat,
    radial-gradient(circle, rgba(255, 255, 255, .8) 0 1.1px, transparent 1.9px) 94% 66% / 7px 7px no-repeat,
    radial-gradient(circle, rgba(255, 255, 255, .6) 0 1px, transparent 1.7px) 8% 72% / 6px 6px no-repeat !important;
  filter: drop-shadow(0 0 3px rgba(255, 255, 255, .7)) !important; animation: sw-planet-orbit 22s linear infinite !important; }
body .wp-block-group.sw-sol-grid.sw-sol-grid { width: calc(100vw - 48px) !important; max-width: 1760px !important; margin-left: calc(50% - 50vw + 24px) !important; }
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-shot { position: absolute !important; z-index: 0; }
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-body { position: relative; z-index: 2; }
@media (min-width: 1808px) { body .wp-block-group.sw-sol-grid.sw-sol-grid { margin-left: calc(50% - 880px) !important; } }
@media (max-width: 640px) { body .wp-block-group.sw-sol-grid.sw-sol-grid { width: calc(100vw - 32px) !important; margin-left: calc(50% - 50vw + 16px) !important; } }
body.home .wp-block-post-content > .wp-block-group.alignfull.sw-section.is-layout-constrained > .alignwide.sw-sol-grid.sw-sol-grid { width: calc(100vw - 48px) !important; max-width: 1760px !important; margin-left: calc(50% - 50vw + 24px) !important; }
@media (min-width: 1808px) { body.home .wp-block-post-content > .wp-block-group.alignfull.sw-section.is-layout-constrained > .alignwide.sw-sol-grid.sw-sol-grid { margin-left: calc(50% - 880px) !important; } }
@media (max-width: 640px) { body.home .wp-block-post-content > .wp-block-group.alignfull.sw-section.is-layout-constrained > .alignwide.sw-sol-grid.sw-sol-grid { width: calc(100vw - 32px) !important; margin-left: calc(50% - 50vw + 16px) !important; } }

/* 도입 전 · 후: 머리글 크게, 도입 후 체크 표시가 차례로 그려지는 애니메이션 */
.sw-asis-label { font-size: clamp(1.25rem, 1.8vw, 1.6rem) !important; letter-spacing: .02em !important; padding-bottom: 12px !important; }
.sw-asis-label::before { width: 10px !important; height: 10px !important; }
.sw-asis-head .is-after .sw-asis-label, .sw-asis-head .is-after { color: var(--pc) !important; }
.sw-asis-after::before { background: linear-gradient(135deg, var(--pc2), var(--pc)) !important; border-radius: 50% !important; transform: translateY(-50%) scale(.6); opacity: 0; transition: transform .45s cubic-bezier(.3, 1.6, .5, 1), opacity .3s; }
.sw-asis-after::after { content: ""; position: absolute; top: 50%; left: 22px; width: 34px; height: 34px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17.5l5 5 9.5-10' stroke-dasharray='24' stroke-dashoffset='24'%3E%3Canimate attributeName='stroke-dashoffset' from='24' to='0' dur='.5s' begin='.35s' fill='freeze'/%3E%3C/path%3E%3C/svg%3E") center / contain no-repeat; transform: translateY(-50%); opacity: 0; }
.sw-asis-row.is-in .sw-asis-after::before { transform: translateY(-50%) scale(1); opacity: 1; }
.sw-asis-row.is-in .sw-asis-after::after { opacity: 1; }
.sw-asis-row:nth-child(3).is-in .sw-asis-after::before { transition-delay: .15s; } .sw-asis-row:nth-child(4).is-in .sw-asis-after::before { transition-delay: .3s; } .sw-asis-row:nth-child(5).is-in .sw-asis-after::before { transition-delay: .45s; }
/* 홈 솔루션 제목: 커머스 · 메시징 · AI 각각 다른 색 */
.sw-hl-c { color: #0d9f86; } .sw-hl-m { color: #2f6bd8; } .sw-hl-a { background: linear-gradient(90deg, #7c4dff, #c056ff); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* B2B2C: B2B(왼쪽에서) → B2C(오른쪽에서) 차례로 등장 → 가운데로 모이며 B2B2C 로 합쳐짐. B 는 강조색 */
.sw-b2b2c { position: relative; display: inline-block; white-space: nowrap; }
.sw-b2b2c b { color: #ffb23f; -webkit-text-fill-color: #ffb23f; font-weight: inherit; }
.sw-b2b2c .fin { display: inline-block; opacity: 0; }
.sw-b2b2c .p1, .sw-b2b2c .p2 { position: absolute; top: 0; opacity: 0; }
.sw-b2b2c .p1 { left: 0; }
.sw-b2b2c .p2 { right: 0; }
.sw-b2b2c.is-play .p1 { animation: sw-b2-p1 2.6s cubic-bezier(.4, 0, .2, 1) forwards; }
.sw-b2b2c.is-play .p2 { animation: sw-b2-p2 2.6s cubic-bezier(.4, 0, .2, 1) forwards; }
.sw-b2b2c.is-play .fin { animation: sw-b2-fin 2.6s cubic-bezier(.4, 0, .2, 1) forwards; }
@keyframes sw-b2-p1 { 0% { opacity: 0; transform: translateX(-70%); } 18% { opacity: 1; transform: translateX(-45%); } 55% { opacity: 1; transform: translateX(-45%); } 78% { opacity: 0; transform: translateX(0); } 100% { opacity: 0; } }
@keyframes sw-b2-p2 { 0%, 22% { opacity: 0; transform: translateX(70%); } 40% { opacity: 1; transform: translateX(45%); } 55% { opacity: 1; transform: translateX(45%); } 78% { opacity: 0; transform: translateX(0); } 100% { opacity: 0; } }
@keyframes sw-b2-fin { 0%, 62% { opacity: 0; transform: scale(.9); filter: blur(4px); } 82% { opacity: 1; transform: scale(1.06); filter: blur(0); } 100% { opacity: 1; transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .sw-b2b2c.is-play .p1, .sw-b2b2c.is-play .p2, .sw-b2b2c.is-play .fin { animation-duration: 2.6s; } }
@keyframes sw-b2-p1 { 0% { opacity: 0; transform: translateX(-85%); } 18% { opacity: 1; transform: translateX(-58%); } 55% { opacity: 1; transform: translateX(-58%); } 78% { opacity: 0; transform: translateX(0); } 100% { opacity: 0; } }
@keyframes sw-b2-p2 { 0%, 22% { opacity: 0; transform: translateX(40%); } 40% { opacity: 1; transform: translateX(6%); } 55% { opacity: 1; transform: translateX(6%); } 78% { opacity: 0; transform: translateX(0); } 100% { opacity: 0; } }
.sw-case-more { display: grid; gap: 4px; margin: 10px 0 0; padding: 10px 0 0; border-top: 1px dashed #dde4ee; list-style: none; }
.sw-case-more li { position: relative; padding-left: 12px; color: #4b5563; font-size: calc(.86rem + 1pt); line-height: 1.5; }
.sw-case-more li::before { content: ""; position: absolute; top: .6em; left: 0; width: 4px; height: 4px; border-radius: 50%; background: #2f6bd8; }

/* 홈 What We Do: 3열 패널 — 외곽선 큰 번호 · 그라데이션 아이콘 · 영문 제목 + 한글 · 설명. 마우스를 올리면 패널이 색으로 채워짐 */
.sw-wwd { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 40px auto 0 !important; padding: 0 !important; list-style: none; overflow: hidden; border-radius: 26px; background: #fff; box-shadow: 0 30px 70px rgba(16, 47, 103, .1); }
.sw-wwd-item { --a: #2f6bd8; --b: #1ea9e0; position: relative; display: grid; align-content: start; gap: 14px; padding: clamp(32px, 4vw, 56px) clamp(24px, 3vw, 44px); isolation: isolate; transition: color .4s; }
.sw-wwd-item:nth-child(2) { --a: #6a3df0; --b: #b06bff; }
.sw-wwd-item:nth-child(3) { --a: #0d9f86; --b: #2fc7b0; }
.sw-wwd-item + .sw-wwd-item { border-left: 1px solid #edf1f7; }
.sw-wwd-item::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(150deg, var(--a), var(--b)); opacity: 0; transition: opacity .4s; }
.sw-wwd-no { color: transparent; font-size: clamp(3.2rem, 5vw, 4.6rem); font-weight: 900; line-height: 1; -webkit-text-stroke: 1.5px color-mix(in srgb, var(--a) 45%, #fff); }
.sw-wwd-ico { position: absolute; top: clamp(32px, 4vw, 56px); right: clamp(24px, 3vw, 44px); display: grid; place-items: center; width: 60px; height: 60px; border-radius: 18px; background: linear-gradient(135deg, var(--a), var(--b)); color: #fff; box-shadow: 0 14px 30px color-mix(in srgb, var(--a) 35%, transparent); transition: background .4s, transform .4s; }
.sw-wwd-ico svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sw-wwd-item h3 { margin: 26px 0 0 !important; color: #0b1f44; font-size: clamp(1.5rem, 2vw, 1.9rem); font-weight: 800; letter-spacing: -.02em; }
.sw-wwd-item h3 small { display: block; margin-top: 6px; color: var(--a); font-size: calc(.9rem + 1pt); font-weight: 700; letter-spacing: 0; }
.sw-wwd-item p { margin: 0 !important; color: #5b6472; font-size: calc(1rem + 1pt); line-height: 1.8; word-break: keep-all; }
.sw-wwd-item:hover::before { opacity: 1; }
.sw-wwd-item:hover .sw-wwd-no { -webkit-text-stroke-color: rgba(255, 255, 255, .6); }
.sw-wwd-item:hover .sw-wwd-ico { background: rgba(255, 255, 255, .2); transform: rotate(-8deg) scale(1.05); }
.sw-wwd-item:hover h3, .sw-wwd-item:hover h3 small, .sw-wwd-item:hover p { color: #fff; }
@media (max-width: 781px) { .sw-wwd { grid-template-columns: 1fr; } .sw-wwd-item + .sw-wwd-item { border-left: 0; border-top: 1px solid #edf1f7; } }

/* 자료실 소개서: 책 표지 — 세로 표지(색 면 + 옅은 사선 · 왼쪽 제본선) + 아래 제목 · 설명 · 링크 */
.sw-books { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(20px, 3vw, 44px); margin: 0 auto !important; padding: 0 !important; list-style: none; }
.sw-book { --a: #13306e; --b: #1f5fd6; display: grid; gap: 22px; }
.sw-book.is-green { --a: #0a5d55; --b: #13a28f; } .sw-book.is-blue { --a: #0e3f8f; --b: #2f8be8; } .sw-book.is-violet { --a: #3b1f8f; --b: #7c4dff; }
.sw-book-cover { position: relative; display: flex; flex-direction: column; aspect-ratio: 3 / 4; padding: 30px 26px 26px 38px; overflow: hidden; border-radius: 6px 14px 14px 6px; background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .05) 0 2px, transparent 2px 14px), linear-gradient(160deg, var(--b), var(--a)); color: #fff; text-decoration: none; box-shadow: 0 2px 0 rgba(0, 0, 0, .08), 0 24px 40px -12px color-mix(in srgb, var(--a) 60%, transparent); transform: perspective(900px) rotateY(0); transform-origin: left center; transition: transform .45s ease, box-shadow .45s ease; }
.sw-book-cover::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 12px; background: linear-gradient(90deg, rgba(0, 0, 0, .28), rgba(255, 255, 255, .12) 70%, transparent); }
.sw-book-cover::after { content: ""; position: absolute; right: -40px; bottom: -40px; width: 180px; height: 180px; border: 2px solid rgba(255, 255, 255, .18); border-radius: 50%; box-shadow: 0 0 0 26px rgba(255, 255, 255, .05); }
.sw-book-eyebrow { color: rgba(255, 255, 255, .7); font-size: calc(.72rem + 1pt); font-weight: 700; letter-spacing: .14em; }
.sw-book-cover b { margin-top: 18px; font-size: clamp(1.35rem, 1.8vw, 1.7rem); font-weight: 800; line-height: 1.35; word-break: keep-all; }
.sw-book-foot { margin-top: auto; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .28); color: rgba(255, 255, 255, .75); font-size: calc(.8rem + 1pt); font-weight: 600; letter-spacing: .1em; }
.sw-book:hover .sw-book-cover { transform: perspective(900px) rotateY(-14deg); box-shadow: 14px 26px 44px -14px color-mix(in srgb, var(--a) 70%, transparent); }
.sw-book-meta h3 { margin: 0 !important; color: #16223a; font-size: calc(1.08rem + 1pt); font-weight: 700; word-break: keep-all; }
.sw-book-meta p { margin: 6px 0 0 !important; color: #5b6472; font-size: calc(.92rem + 1pt); line-height: 1.6; word-break: keep-all; }
.sw-book-links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 14px !important; }
.sw-book-links a { color: var(--a); font-weight: 700; text-decoration: none; border-bottom: 2px solid currentColor; padding-bottom: 2px; }
.sw-book-links a.is-sub { color: #6b7686; font-weight: 600; border-bottom-width: 1px; }
@media (max-width: 1000px) { .sw-books { grid-template-columns: repeat(2, 1fr); } }

/* 채용분야 배경: 사람 아이콘 대신 깊은 남색 + 은은한 빛 + 원근 격자 바닥 + 떠오르는 빛 점 */
.sw-positions { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(50% 60% at 50% 0%, rgba(79, 124, 255, .35), transparent 70%), radial-gradient(40% 50% at 100% 100%, rgba(255, 105, 120, .18), transparent 70%), linear-gradient(180deg, #070b1f, #0d1433 60%, #0a0f26) !important; }
.sw-positions::before { content: ""; position: absolute; left: -20%; right: -20%; bottom: -10%; z-index: -1; height: 60%; background-image: linear-gradient(rgba(120, 160, 255, .22) 1px, transparent 1px), linear-gradient(90deg, rgba(120, 160, 255, .22) 1px, transparent 1px); background-size: 64px 64px; transform: perspective(600px) rotateX(62deg); transform-origin: bottom; -webkit-mask: linear-gradient(to top, #000 0%, transparent 85%); mask: linear-gradient(to top, #000 0%, transparent 85%); animation: sw-grid-move 6s linear infinite; }
.sw-positions::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: radial-gradient(circle, rgba(170, 200, 255, .8) 0 1.4px, transparent 2px), radial-gradient(circle, rgba(255, 160, 170, .6) 0 1.2px, transparent 1.8px); background-size: 220px 260px, 300px 340px; background-position: 0 0, 90px 120px; opacity: .6; animation: sw-dots-rise 30s linear infinite; }
@keyframes sw-grid-move { to { background-position: 0 64px, 0 0; } }
@keyframes sw-dots-rise { to { background-position: 0 -520px, 90px -560px; } }
.sw-positions .wp-block-column, .sw-positions .sw-card { background: rgba(255, 255, 255, .05) !important; border: 1px solid rgba(255, 255, 255, .1) !important; backdrop-filter: blur(8px); }
.sw-positions .wp-block-column { background: none !important; border: 0 !important; backdrop-filter: none; }
.sw-positions .sw-card { border-radius: 18px !important; transition: transform .3s, border-color .3s, background .3s; }
.sw-positions .sw-card:hover { transform: translateY(-4px); border-color: rgba(143, 200, 255, .45) !important; background: rgba(255, 255, 255, .09) !important; }
/* 도입 전 → 후 사이 동그라미: 줄이 보이면 색이 채워지며 체크가 그려진다 */
.sw-asis-row .sw-asis-before::after { width: 36px !important; height: 36px !important; right: -50px !important; background: #fff !important; border: 2px solid color-mix(in srgb, var(--pc, #2f6bd8) 35%, #fff) !important; box-shadow: 0 6px 16px rgba(16, 47, 103, .12) !important; transform: translateY(-50%) scale(.85); transition: background .4s ease, border-color .4s ease, transform .45s cubic-bezier(.3, 1.6, .5, 1); }
.sw-asis-row.is-in .sw-asis-before::after { background: var(--pc, #2f6bd8) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='white' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 18.5l5 5 9-10' stroke-dasharray='22' stroke-dashoffset='22'%3E%3Canimate attributeName='stroke-dashoffset' from='22' to='0' dur='.45s' begin='.2s' fill='freeze'/%3E%3C/path%3E%3C/svg%3E") center / 100% no-repeat !important; border-color: var(--pc, #2f6bd8) !important; transform: translateY(-50%) scale(1); box-shadow: 0 0 0 6px color-mix(in srgb, var(--pc, #2f6bd8) 18%, transparent), 0 8px 18px color-mix(in srgb, var(--pc, #2f6bd8) 35%, transparent) !important; }
@media (max-width: 781px) { .sw-asis-row .sw-asis-before::after, .sw-asis-row.is-in .sw-asis-before::after { right: auto !important; transform: translateX(-50%) !important; } }

/* 책 표지 v2: 진짜 책처럼 — 살짝 비스듬한 3D, 오른쪽 아래로 보이는 종이 묶음(책 두께), 등 접힘선, 표지 광택, 바닥 그림자 */
.sw-book { perspective: 1400px; }
.sw-book-cover { margin: 0 14px 14px 0; border-radius: 3px 10px 10px 3px !important; transform: rotateY(-16deg) rotateX(2deg) !important; transform-style: preserve-3d;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .22) 18%, rgba(255, 255, 255, 0) 34%), repeating-linear-gradient(135deg, rgba(255, 255, 255, .045) 0 2px, transparent 2px 14px), linear-gradient(160deg, var(--b), var(--a)) !important;
  box-shadow:
    1px 1px 0 #fbfaf6, 2px 2px 0 #e9e6dc, 3px 3px 0 #fbfaf6, 4px 4px 0 #e6e2d6, 5px 5px 0 #faf8f2, 6px 6px 0 #e2ddcf, 7px 7px 0 #f8f6ef, 8px 8px 0 #dcd6c6, 9px 9px 0 #c9c2b0,
    22px 34px 34px -10px rgba(10, 20, 50, .38) !important; }
.sw-book-cover::before { width: 18px !important; background: linear-gradient(90deg, rgba(0, 0, 0, .35) 0, rgba(0, 0, 0, .1) 30%, rgba(255, 255, 255, .25) 45%, rgba(0, 0, 0, .18) 55%, rgba(255, 255, 255, .08) 70%, transparent 100%) !important; }
.sw-book-cover::after { right: -60px; bottom: -60px; opacity: .8; }
.sw-book-cover b { text-shadow: 0 1px 2px rgba(0, 0, 0, .2); }
.sw-book:hover .sw-book-cover { transform: rotateY(-4deg) rotateX(0) translateY(-6px) !important;
  box-shadow: 1px 1px 0 #fbfaf6, 2px 2px 0 #e9e6dc, 3px 3px 0 #fbfaf6, 4px 4px 0 #e6e2d6, 5px 5px 0 #faf8f2, 6px 6px 0 #e2ddcf, 7px 7px 0 #f8f6ef, 8px 8px 0 #dcd6c6, 9px 9px 0 #c9c2b0, 26px 44px 44px -12px rgba(10, 20, 50, .42) !important; }
/* 외곽선 글자: 가변 글꼴의 겹친 획이 비쳐 보이던 것 — 획을 먼저 칠하고 같은 바탕색으로 채워 안쪽 선을 덮는다 */
.sw-company-sec .sw-mq-row.is-reverse span { color: #fafbfe !important; -webkit-text-fill-color: #fafbfe !important; -webkit-text-stroke: 3px #b8c9e6 !important; paint-order: stroke fill; }
/* 포트폴리오 슬라이드 점: 지금 장의 막대가 4초 동안 차오르고, 다 차면 다음 장으로 */
.sw-pfs-dots button { position: relative; overflow: hidden; }
.sw-pfs-dots button[aria-current="true"] { width: 56px; background: #d5dbe4; }
.sw-pfs-dots button[aria-current="true"]::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: #2b2d31; transform: scaleX(0); transform-origin: left; animation: sw-pfs-fill var(--pfs-dur, 4s) linear forwards !important; }
.sw-pfs-dots.is-restart button[aria-current="true"]::after { animation: none !important; }
@keyframes sw-pfs-fill { to { transform: scaleX(1); } }
/* 소개서 아래 글: 제목은 같은 높이에서 시작, 링크 줄은 맨 아래에 나란히 */
.sw-books { align-items: stretch; }
.sw-book { grid-template-rows: auto 1fr; align-content: start; }
.sw-book-meta { display: flex; flex-direction: column; align-self: stretch; }
.sw-book-meta p:not(.sw-book-links) { min-height: 3.2em; }
.sw-book-links { margin-top: auto !important; padding-top: 14px; }
.sw-books { grid-template-columns: repeat(5, 1fr) !important; }
.sw-book.is-amber { --a: #8a3b06; --b: #e08a1e; }
@media (max-width: 1100px) { .sw-books { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 700px) { .sw-books { grid-template-columns: repeat(2, 1fr) !important; } }

/* 솔루션 체험하기 모달: 노트북 화면 틀 + 왼쪽 기능 메뉴 + 오른쪽 기능 화면 */
.sw-demo-lock { overflow: hidden; }
.sw-demo { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 24px; opacity: 0; transition: opacity .25s; }
.sw-demo[hidden] { display: none; }
.sw-demo.is-open { opacity: 1; }
.sw-demo-backdrop { position: absolute; inset: 0; background: rgba(6, 12, 30, .72); backdrop-filter: blur(6px); }
.sw-demo-device { position: relative; width: min(1180px, 100%); padding: 14px 14px 30px; border-radius: 26px; background: linear-gradient(180deg, #2b3140, #161a24); box-shadow: 0 40px 100px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .12); transform: translateY(16px) scale(.98); transition: transform .3s ease; }
.sw-demo.is-open .sw-demo-device { transform: none; }
.sw-demo-device::after { content: ""; position: absolute; left: 50%; bottom: 11px; width: 70px; height: 6px; border-radius: 6px; background: rgba(255, 255, 255, .18); transform: translateX(-50%); }
.sw-demo-screen { display: flex; flex-direction: column; height: min(680px, calc(100vh - 120px)); overflow: hidden; border-radius: 14px; background: #f5f7fb; }
.sw-demo-top { display: flex; align-items: center; gap: 12px; padding: 14px 20px; border-bottom: 1px solid #e3e8f0; background: #fff; }
.sw-demo-top b { color: #13306e; font-size: 1.15rem; font-weight: 900; }
.sw-demo-top span { color: #6b7686; font-size: .95rem; }
.sw-demo-ask { margin-left: auto; padding: 8px 16px; border-radius: 8px; background: #2f6bd8; color: #fff !important; font-size: .9rem; font-weight: 700; text-decoration: none; }
.sw-demo-x { width: 36px; height: 36px; border: 0; border-radius: 8px; background: #eef1f6; color: #33415c; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.sw-demo-body { display: grid; grid-template-columns: 230px 1fr; flex: 1; min-height: 0; }
.sw-demo-nav { display: flex; flex-direction: column; gap: 2px; padding: 16px 12px; overflow-y: auto; border-right: 1px solid #e3e8f0; background: #fff; }
.sw-demo-group { margin: 14px 10px 4px; color: #2f6bd8; font-size: .82rem; font-weight: 800; }
.sw-demo-nav button { padding: 9px 12px; border: 0; border-radius: 8px; background: none; color: #3b4658; font: inherit; font-size: .93rem; text-align: left; cursor: pointer; }
.sw-demo-nav button:hover { background: #f1f5fc; }
.sw-demo-nav button.is-on { background: #e8f0fd; color: #1f55b8; font-weight: 700; }
.sw-demo-main { overflow-y: auto; padding: clamp(24px, 4vw, 48px); }
.sw-demo-panel[hidden] { display: none; }
.sw-demo-panel.is-home { text-align: center; }
.sw-demo-kicker { margin: 0; color: #2f6bd8; font-weight: 800; letter-spacing: .04em; }
.sw-demo-panel h3 { margin: 8px 0 0; color: #13306e; font-size: clamp(1.5rem, 2.6vw, 2.2rem); font-weight: 900; line-height: 1.3; word-break: keep-all; }
.sw-demo-panel.is-home h3 { background: linear-gradient(90deg, #2f6bd8, #7c4dff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sw-demo-desc { max-width: 680px; margin: 14px auto 0; color: #4b5563; line-height: 1.8; word-break: keep-all; }
.sw-demo-panel:not(.is-home) .sw-demo-desc { margin-left: 0; }
.sw-demo-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 34px; }
.sw-demo-card { display: grid; gap: 8px; align-content: start; padding: 18px; border: 1px solid #e3e8f0; border-radius: 14px; background: #fff; font: inherit; text-align: left; cursor: pointer; transition: transform .2s, box-shadow .2s, border-color .2s; }
.sw-demo-card:hover { transform: translateY(-3px); border-color: #b9cdea; box-shadow: 0 14px 30px rgba(16, 47, 103, .1); }
.sw-demo-card b { color: #13306e; font-size: 1rem; }
.sw-demo-card span { color: #6b7686; font-size: .86rem; line-height: 1.6; word-break: keep-all; }
.sw-demo-foot { margin-top: 30px; color: #8a97ad; font-size: .85rem; }
.sw-demo-crumb { margin: 0; color: #8a97ad; font-size: .88rem; font-weight: 700; }
.sw-demo-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 26px 0 0; padding: 0; list-style: none; }
.sw-demo-points li { padding: 18px; border-radius: 12px; background: #fff; border: 1px solid #e3e8f0; color: #1f2733; font-weight: 600; word-break: keep-all; }
.sw-demo-points li::before { content: "✓"; display: block; margin-bottom: 8px; color: #2f6bd8; font-weight: 900; }
.sw-demo-shot { margin: 24px 0 0; padding: 12px; border-radius: 14px; background: #fff; border: 1px solid #e3e8f0; }
.sw-demo-shot img { display: block; width: 100%; height: auto; border-radius: 8px; }
.sw-demo-open { background: #fff !important; color: #13306e !important; }
@media (max-width: 860px) {
  .sw-demo-body { grid-template-columns: 1fr; }
  .sw-demo-nav { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; border-right: 0; border-bottom: 1px solid #e3e8f0; }
  .sw-demo-group { display: none; }
  .sw-demo-nav button { white-space: nowrap; }
  .sw-demo-cards, .sw-demo-points { grid-template-columns: 1fr 1fr; }
}
/* 가운데 동그라미는 체크 대신 화살표(→): 줄이 보이면 색이 차고 화살표가 오른쪽으로 밀려 들어온다. 체크는 도입 후 카드에만 */
.sw-asis-row.is-in .sw-asis-before::after { background: var(--pc, #2f6bd8) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg%3E%3Cpath d='M10 18h15M19 12l6 6-6 6'/%3E%3CanimateTransform attributeName='transform' type='translate' from='-8 0' to='0 0' dur='.45s' begin='.15s' fill='freeze'/%3E%3Canimate attributeName='opacity' from='0' to='1' dur='.3s' begin='.15s' fill='freeze'/%3E%3C/g%3E%3C/svg%3E") center / 100% no-repeat !important; }

/* SCOS 서비스 구성도 (사용자 · 채널 → Front · BackOffice ← 외부, 아래 연동) */
.sw-sm { display: grid; grid-template-columns: 130px 44px 130px 1fr 44px 120px; grid-template-rows: auto auto auto; align-items: center; gap: 0 12px; color: #33415c; }
.sw-sm-users { display: grid; gap: 12px; padding: 22px 14px; border: 1px solid #d5dbe6; border-radius: 16px; background: #fff; }
.sw-sm-chip { padding: 12px 8px; border: 1px solid #e3e8f0; border-radius: 8px; background: #fafbfd; font-size: 13.5px; text-align: center; }
.sw-sm-ch, .sw-sm-ext { display: grid; gap: 22px; justify-items: center; padding: 22px 8px; border-radius: 16px; background: #eef2f8; }
.sw-sm-node { display: grid; justify-items: center; gap: 8px; font-size: 13px; font-weight: 600; text-align: center; }
.sw-sm-node i { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: #fff; color: #13306e; box-shadow: 0 4px 10px rgba(16, 47, 103, .08); }
.sw-sm-node svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.sw-sm-core { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.sw-sm-col > b { display: block; padding: 11px; border-radius: 10px; background: #13306e; color: #fff; font-size: 15px; text-align: center; }
.sw-sm-col:nth-child(2) > b { background: #2f6bd8; }
.sw-sm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
.sw-sm-grid span { padding: 9px 6px; border: 1px solid #e3e8f0; border-radius: 8px; background: #fff; font-size: 13px; text-align: center; word-break: keep-all; }
.sw-sm-arrow { position: relative; height: 2px; background: #94a3b8; }
.sw-sm-arrow::after { content: ""; position: absolute; top: 50%; width: 9px; height: 9px; border-top: 2px solid #94a3b8; border-right: 2px solid #94a3b8; }
.sw-sm-arrow.is-r::after { right: 0; transform: translateY(-50%) rotate(45deg); }
.sw-sm-arrow.is-l::after { left: 0; transform: translateY(-50%) rotate(-135deg); }
.sw-sm-down { grid-column: 4; display: grid; grid-template-columns: 1fr 1fr; justify-items: center; height: 40px; }
.sw-sm-down i { position: relative; width: 2px; height: 100%; background: #94a3b8; }
.sw-sm-down i::after { content: ""; position: absolute; bottom: 0; left: 50%; width: 9px; height: 9px; border-right: 2px solid #94a3b8; border-bottom: 2px solid #94a3b8; transform: translate(-50%, 0) rotate(45deg); }
.sw-sm-base { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; padding: 20px; border: 1px solid #d5dbe6; border-radius: 16px; background: #fff; }
.sw-sm-pill { padding: 10px 22px; border: 1.5px solid #13306e; border-radius: 10px; color: #13306e; font-size: 13.5px; font-weight: 700; }
@media (max-width: 900px) {
  .sw-sm { grid-template-columns: 1fr; gap: 12px; }
  .sw-sm-arrow { display: none; }
  .sw-sm-users, .sw-sm-ch, .sw-sm-ext { grid-auto-flow: column; justify-content: center; }
  .sw-sm-down { grid-column: 1; }
}

/* S-HR V3.0 구성도: 점선 고리 위에 모듈, 가운데 솔루션 */
.sw-shr-ring { position: relative; display: grid; grid-template-columns: 1fr minmax(260px, 1.3fr) 1fr; grid-template-rows: auto 1fr auto; align-items: center; gap: 24px 40px; max-width: 900px; margin: 0 auto; padding: 10px 0; }
.sw-shr-ring::before { content: ""; position: absolute; top: 28px; bottom: 28px; left: 13%; right: 13%; border: 2px dashed #b9c6da; border-radius: 22px; }
.sw-shr-ring > * { position: relative; }
.sw-shr-top, .sw-shr-bottom { grid-column: 2; justify-self: center; }
.sw-shr-side { display: grid; gap: 28px; justify-items: center; }
.sw-shr-ring span { padding: 12px 22px; border: 1.5px solid #13306e; border-radius: 12px; background: #fff; color: #13306e; font-size: 15px; font-weight: 700; white-space: nowrap; box-shadow: 0 6px 14px rgba(16, 47, 103, .08); }
.sw-shr-core { display: grid; justify-items: center; gap: 6px; padding: 34px 24px; border-radius: 22px; background: linear-gradient(150deg, #13306e, #2f6bd8); color: #fff; text-align: center; box-shadow: 0 24px 50px rgba(19, 48, 110, .3); }
.sw-shr-core small { color: #bcd3ff; font-size: 13px; font-weight: 700; }
.sw-shr-core b { font-size: 46px; font-weight: 900; letter-spacing: -.02em; line-height: 1; }
.sw-shr-core em { padding: 3px 12px; border-radius: 99px; background: rgba(255, 255, 255, .18); font-size: 13px; font-style: normal; font-weight: 700; }
.sw-shr-core p { margin: 10px 0 0 !important; color: rgba(255, 255, 255, .85); font-size: 14px; line-height: 1.6; }
@media (max-width: 781px) {
  .sw-shr-ring { grid-template-columns: 1fr 1fr; }
  .sw-shr-ring::before { display: none; }
  .sw-shr-core { grid-column: 1 / -1; grid-row: 2; }
  .sw-shr-top, .sw-shr-bottom { grid-column: 1 / -1; }
}
.sw-shr-top { grid-column: 2 !important; grid-row: 1; }
.sw-shr-ring > .sw-shr-side:nth-of-type(1) { grid-column: 1; grid-row: 2; }
.sw-shr-core { grid-column: 2; grid-row: 2; }
.sw-shr-ring > .sw-shr-side:nth-of-type(2) { grid-column: 3; grid-row: 2; }
.sw-shr-bottom { grid-column: 2 !important; grid-row: 3; }
@media (max-width: 781px) { .sw-shr-ring > .sw-shr-side:nth-of-type(1), .sw-shr-ring > .sw-shr-side:nth-of-type(2) { grid-row: 3; } .sw-shr-ring > .sw-shr-side:nth-of-type(2) { grid-column: 2; } .sw-shr-core { grid-row: 2; } .sw-shr-bottom { grid-row: 4; } }

/* 홈 솔루션 기둥 제목: 모든 카드에서 같은 자리(아래쪽)에, 번호 · 짧은 강조선 · 큰 제목 */
body .wp-block-group.sw-sol-grid.sw-sol-grid { counter-reset: sol; }
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card { counter-increment: sol; }
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-body { display: flex !important; flex-direction: column !important; justify-content: flex-end !important; align-items: flex-start !important; }
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-body > * { order: 0; }
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-name { position: relative; display: block !important; margin-top: 0 !important; padding-top: 58px !important; font-size: clamp(1.7rem, 2.1vw, 2.3rem) !important; font-weight: 900 !important; letter-spacing: -.03em; line-height: 1.15; }
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-name::before { content: counter(sol, decimal-leading-zero) !important; display: block !important; position: absolute; top: 0; left: 0; width: auto !important; height: auto !important; background: none !important; box-shadow: none !important; border: 0 !important; color: transparent !important; -webkit-text-fill-color: transparent !important; -webkit-text-stroke: 1.2px rgba(255, 255, 255, .55); font-size: 40px; font-weight: 900; line-height: 1; }
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-name::after { content: "" !important; display: block !important; position: static !important; width: 36px !important; height: 3px !important; margin-top: 14px; border-radius: 3px; background: var(--sc2, #8fc8ff) !important; transform: none !important; -webkit-mask: none !important; mask: none !important; transition: width .4s ease; }
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card:hover .sw-sol-name::after { width: 72px !important; }
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-sub { margin-top: 14px !important; }
.sw-shr-ring > .sw-shr-side:nth-of-type(3) { grid-column: 3; grid-row: 2; }
@media (max-width: 781px) { .sw-shr-ring > .sw-shr-side:nth-of-type(3) { grid-column: 2; grid-row: 3; } }
/* is-sm 카드(SI · ITO, MRO)는 본문 묶음이 없어 카드 자체를 아래 정렬 */
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card.is-sm { display: flex !important; flex-direction: column; justify-content: flex-end; align-items: flex-start; padding: 32px 28px !important; }
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card.is-sm > *:not(.sw-sol-shot):not(.sw-sol-glare) { position: relative; z-index: 2; text-align: left !important; }
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card.is-sm .sw-sol-tag { margin: 14px 0 0 !important; }
/* 푸터 인증 마크: 흰 반전 대신 원본 컬러 — 작은 흰 바탕 위에 */
.sw-footer-certs li.has-mark img { filter: none !important; opacity: 1 !important; padding: 6px 8px; border-radius: 8px; background: #fff; mix-blend-mode: normal !important; }
/* 다섯 카드 모두 번호 · 제목이 같은 높이(위쪽)에서 시작하도록 통일 */
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-body, body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card.is-sm { justify-content: flex-start !important; padding-top: 56px !important; }
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-body { padding-left: 28px !important; padding-right: 28px !important; }
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-go { margin-top: auto !important; padding-top: 24px; }
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card.is-sm { padding-bottom: 32px !important; }
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-body { padding-bottom: 32px !important; }

/* 가로 연혁: 위 시대 탭 4칸 → 아래 가로 선 위 연도(큰 숫자 · 점 · 내용), 오래된 해부터 오른쪽으로 */
.sw-htl { position: relative; margin-top: 40px; }
.sw-htl-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-bottom: 2px solid #e3e8f0; }
.sw-htl-tabs button { position: relative; display: grid; gap: 4px; padding: 18px 20px 20px; border: 0; background: none; font: inherit; text-align: left; cursor: pointer; color: #8a97ad; transition: color .25s; }
.sw-htl-tabs button::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 3px; background: linear-gradient(90deg, #2f6bd8, #1ea9e0); transform: scaleX(0); transform-origin: left; transition: transform .35s ease; }
.sw-htl-tabs button em { font-style: normal; font-size: 13px; font-weight: 800; letter-spacing: .1em; }
.sw-htl-tabs button b { color: inherit; font-size: clamp(1.05rem, 1.5vw, 1.35rem); font-weight: 900; }
.sw-htl-tabs button small { font-size: calc(.82rem + 1pt); line-height: 1.5; word-break: keep-all; }
.sw-htl-tabs button:hover { color: #33415c; }
.sw-htl-tabs button[aria-selected="true"] { color: #13306e; }
.sw-htl-tabs button[aria-selected="true"] em { color: #2f6bd8; }
.sw-htl-tabs button[aria-selected="true"]::after { transform: scaleX(1); }
.sw-htl-panel[hidden] { display: none; }
.sw-htl-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 1fr); gap: 0; padding: 40px 4px 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.sw-htl-year { position: relative; padding: 0 28px 0 0; scroll-snap-align: start; }
.sw-htl-year > b { display: block; color: #13306e; font-size: clamp(2rem, 3.2vw, 2.8rem); font-weight: 900; letter-spacing: -.03em; line-height: 1; }
.sw-htl-year > i { position: relative; display: block; height: 2px; margin: 22px 0 22px; background: #d5dde9; }
.sw-htl-year > i::before { content: ""; position: absolute; top: 50%; left: 0; width: 14px; height: 14px; border-radius: 50%; background: #2f6bd8; box-shadow: 0 0 0 5px rgba(47, 107, 216, .16); transform: translateY(-50%); }
.sw-htl-year ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.sw-htl-year li { position: relative; padding-left: 14px; color: #3b4658; font-size: calc(.95rem + 1pt); line-height: 1.65; word-break: keep-all; }
.sw-htl-year li::before { content: ""; position: absolute; top: .72em; left: 0; width: 5px; height: 5px; border-radius: 50%; background: #9db4d9; }
.sw-htl-year:last-child > b { color: #2f6bd8; }
.sw-htl-panel.is-in .sw-htl-year { animation: sw-htl-in .55s cubic-bezier(.2, .7, .2, 1) both; }
.sw-htl-panel.is-in .sw-htl-year:nth-child(2) { animation-delay: .08s; } .sw-htl-panel.is-in .sw-htl-year:nth-child(3) { animation-delay: .16s; } .sw-htl-panel.is-in .sw-htl-year:nth-child(4) { animation-delay: .24s; } .sw-htl-panel.is-in .sw-htl-year:nth-child(5) { animation-delay: .32s; }
@keyframes sw-htl-in { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: none; } }
.sw-htl-nav { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }
.sw-htl-nav button { width: 44px; height: 44px; border: 1px solid #d5dde9; border-radius: 50%; background: #fff; color: #13306e; font-size: 1.5rem; line-height: 1; cursor: pointer; transition: background .2s, color .2s; }
.sw-htl-nav button:hover { background: #13306e; color: #fff; }
@media (max-width: 781px) {
  .sw-htl-tabs { grid-template-columns: repeat(2, 1fr); }
  .sw-htl-tabs button small { display: none; }
  .sw-htl-track { grid-auto-columns: 78%; }
}
.sw-htl { width: min(1200px, calc(100vw - 48px)) !important; max-width: none !important; margin-left: 50% !important; transform: translateX(-50%); }
.sw-htl-track { grid-auto-columns: minmax(280px, calc((100% - 8px) / 4)); }
/* 가로 연혁 한눈에: 가로 스크롤 · 화살표 없이 한 시대의 연도를 한 줄에 모두 */
.sw-htl-track { grid-auto-flow: row !important; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important; grid-auto-columns: auto !important; overflow: visible !important; scroll-snap-type: none !important; }
.sw-htl-nav { display: none !important; }
@media (max-width: 781px) { .sw-htl-track { grid-template-columns: 1fr 1fr !important; row-gap: 32px; } }
/* 인증 및 특허 카드: 한 줄 6개 (넓은 영역) */
.sw-certs { width: min(1320px, calc(100vw - 48px)) !important; max-width: none !important; margin-left: 50% !important; transform: translateX(-50%); }
.sw-cert-grid { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 14px !important; }
.sw-cert-grid .sw-cert { width: auto !important; min-width: 0; }
@media (max-width: 1100px) { .sw-cert-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
@media (max-width: 700px) { .sw-cert-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

/* 자료실 소개서 v3: 세워 둔 하드커버 — 왼쪽 책등(세로 글씨) + 표지(브랜드 · 분류 · 제목 · 아래 곡선 그래픽 · 키워드), 바닥 반사 그림자 */
.sw-books2 { grid-template-columns: repeat(5, 1fr) !important; gap: clamp(16px, 2.4vw, 34px) !important; align-items: start; }
.sw-book2 { --a: #0f2a6b; --b: #2a63d4; --c: #6fb4ff; display: grid; gap: 26px; }
.sw-book2.is-green { --a: #0a4c46; --b: #138a7c; --c: #6fe0cc; }
.sw-book2.is-blue { --a: #0b2f78; --b: #1f63d8; --c: #7cc4ff; }
.sw-book2.is-violet { --a: #2d1679; --b: #6a3df0; --c: #d08cff; }
.sw-book2.is-amber { --a: #6e2d06; --b: #c5701b; --c: #ffc27a; }
.sw-book2-obj { position: relative; display: grid; grid-template-columns: 11% 1fr; aspect-ratio: 5 / 7; text-decoration: none; filter: drop-shadow(0 26px 22px rgba(10, 20, 50, .28)); transition: transform .4s ease; }
.sw-book2-obj::after { content: ""; position: absolute; left: 6%; right: 2%; bottom: -16px; height: 16px; border-radius: 50%; background: radial-gradient(ellipse at center, rgba(10, 20, 50, .35), transparent 70%); z-index: -1; }
.sw-book2-obj:hover { transform: translateY(-8px); }
.sw-book2-spine { display: flex; align-items: center; justify-content: center; border-radius: 4px 0 0 4px; background: linear-gradient(90deg, color-mix(in srgb, var(--a) 80%, #000), var(--a) 55%, color-mix(in srgb, var(--a) 70%, #fff) 100%); color: rgba(255, 255, 255, .7); font-size: 9px; font-weight: 700; letter-spacing: .22em; white-space: nowrap; writing-mode: vertical-rl; overflow: hidden; box-shadow: inset -3px 0 4px rgba(0, 0, 0, .25); }
.sw-book2-cover { position: relative; display: flex; flex-direction: column; overflow: hidden; padding: 12% 11% 9%; border-radius: 0 6px 6px 0; color: #fff;
  background: linear-gradient(105deg, rgba(255, 255, 255, .16) 0%, rgba(255, 255, 255, 0) 22%), linear-gradient(165deg, var(--b) 0%, var(--a) 70%); }
.sw-book2-brand { font-size: 11px; font-weight: 800; letter-spacing: .28em; }
.sw-book2-cat { margin-top: 14%; color: rgba(255, 255, 255, .78); font-size: 10.5px; font-weight: 600; letter-spacing: .16em; }
.sw-book2-cover b { margin-top: 6px; font-size: clamp(1.2rem, 1.9vw, 1.75rem); font-weight: 900; line-height: 1.12; letter-spacing: -.01em; }
.sw-book2-cover b .sw-s { color: #ffb35c !important; -webkit-text-fill-color: #ffb35c !important; }
.sw-book2-cover em { margin-top: 6px; font-size: clamp(.92rem, 1.25vw, 1.15rem); font-style: normal; font-weight: 700; }
.sw-book2-art { position: absolute; left: 0; right: 0; bottom: 0; height: 52%; pointer-events: none;
  background:
    radial-gradient(120% 90% at 110% 120%, color-mix(in srgb, var(--c) 55%, transparent) 0 30%, transparent 31%),
    radial-gradient(140% 80% at 120% 130%, transparent 0 46%, color-mix(in srgb, var(--c) 35%, transparent) 46.5% 47.5%, transparent 48%),
    radial-gradient(160% 90% at 130% 140%, transparent 0 56%, rgba(255, 255, 255, .22) 56.5% 57.2%, transparent 57.8%),
    radial-gradient(180% 100% at 140% 150%, transparent 0 64%, rgba(255, 255, 255, .14) 64.5% 65.2%, transparent 65.8%),
    linear-gradient(180deg, transparent, rgba(0, 0, 0, .18)); }
.sw-book2-kw { position: relative; display: grid; gap: 2px; margin-top: auto; color: rgba(255, 255, 255, .62); font-size: 8.5px; font-weight: 700; letter-spacing: .18em; }
.sw-book2 .sw-book-meta { display: flex; flex-direction: column; }
@media (max-width: 1100px) { .sw-books2 { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 640px) { .sw-books2 { grid-template-columns: repeat(2, 1fr) !important; } }
/* 소개서 링크 줄: 설명 높이 맞추고 링크 두 개 한 줄 */
.sw-books2 .sw-book-meta p:not(.sw-book-links) { min-height: 4.9em; }
.sw-books2 .sw-book-links { flex-wrap: nowrap !important; gap: 12px !important; white-space: nowrap; }
.sw-books2 .sw-book-links a { font-size: calc(.84rem + 1pt); }

/* 대표인사말 v2: 왼쪽 큰 제목 + 본문, 오른쪽 남색 패널(세 개의 접점 + 숫자). 제목은 한 번만 */
.sw-ceo .sw-ceo-headline { font-size: clamp(1.9rem, 3vw, 2.7rem) !important; line-height: 1.3 !important; }
.sw-ceo .sw-ceo-headline + .sw-ceo-headline { margin-bottom: 36px !important; padding-bottom: 32px; border-bottom: 1px solid #e3e8f0; }
.sw-ceo-panel { position: relative; overflow: hidden; padding: 40px 34px 34px; border-radius: 24px; color: #fff; background: radial-gradient(120% 80% at 100% 0%, rgba(79, 140, 255, .45), transparent 60%), linear-gradient(160deg, #13306e, #0b1a3c); box-shadow: 0 30px 60px rgba(11, 26, 60, .28); }
.sw-ceo-panel::after { content: "\201C"; position: absolute; top: -40px; right: 18px; color: rgba(255, 255, 255, .08); font-family: Georgia, serif; font-size: 12rem; line-height: 1; }
.sw-ceo-panel-eyebrow { margin: 0 !important; color: #8fc8ff; font-size: 12px; font-weight: 800; letter-spacing: .2em; }
.sw-ceo-panel h3 { margin: 14px 0 0 !important; color: #fff !important; font-size: clamp(1.25rem, 1.7vw, 1.55rem); font-weight: 600; line-height: 1.45; }
.sw-ceo-panel h3 strong { color: #8fc8ff; font-weight: 900; }
.sw-ceo-touch { display: grid; gap: 10px; margin: 26px 0 0 !important; padding: 0 !important; list-style: none; counter-reset: t; }
.sw-ceo-touch li { display: grid; grid-template-columns: 54px 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center; padding: 14px 16px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 14px; background: rgba(255, 255, 255, .06); }
.sw-ceo-touch em { grid-row: 1 / span 2; display: grid; place-items: center; height: 54px; border-radius: 12px; background: rgba(143, 200, 255, .16); color: #bfe0ff; font-size: 14px; font-style: normal; font-weight: 800; }
.sw-ceo-touch b { color: #fff; font-size: 17px; font-weight: 800; }
.sw-ceo-touch span:not(.sw-s) { color: rgba(255, 255, 255, .65); font-size: 13px; }
.sw-ceo-touch .sw-s { color: #ffb35c !important; -webkit-text-fill-color: #ffb35c !important; }
.sw-ceo-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 26px 0 0 !important; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .16); }
.sw-ceo-facts dt { color: rgba(255, 255, 255, .6); font-size: 12px; font-weight: 600; }
.sw-ceo-facts dd { margin: 4px 0 0 !important; color: #fff; font-size: 30px; font-weight: 900; letter-spacing: -.02em; }
.sw-ceo-facts dd small { color: #8fc8ff; font-size: 16px; font-weight: 800; }
.sw-pfs-dots button[aria-current="true"]::after { animation-duration: 2.5s !important; }

/* 대표인사말 v3: 위 남색 띠(큰 인용 한 줄) + 아래 가운데 편지 한 단 */
.sw-ceo3 { padding-top: 0 !important; }
.sw-ceo3-hero { position: relative; overflow: hidden; padding: clamp(56px, 7vw, 96px) clamp(28px, 6vw, 88px) !important; border-radius: 28px; color: #fff; background: radial-gradient(70% 90% at 100% 0%, rgba(79, 140, 255, .45), transparent 60%), radial-gradient(60% 80% at 0% 100%, rgba(30, 169, 224, .25), transparent 60%), linear-gradient(140deg, #0b1a3c, #13306e 70%); }
.sw-ceo3-hero > * { position: relative; max-width: none !important; margin-left: 0 !important; }
.sw-ceo3-hero::before { content: "\201C"; position: absolute; top: -60px; right: 40px; color: rgba(255, 255, 255, .07); font-family: Georgia, serif; font-size: 22rem; line-height: 1; }
.sw-ceo3-eyebrow { margin: 0 !important; color: #8fc8ff; font-size: 13px; font-weight: 800; letter-spacing: .24em; }
.sw-ceo3-quote { margin: 20px 0 0 !important; color: #fff !important; font-size: clamp(2rem, 4vw, 3.4rem) !important; font-weight: 300 !important; line-height: 1.3 !important; letter-spacing: -.03em; }
.sw-ceo3-quote strong { color: #8fc8ff; font-weight: 900; }
.sw-ceo3-by { margin: 32px 0 0 !important; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .18); color: rgba(255, 255, 255, .72); font-size: calc(.95rem + 1pt); }
.sw-ceo3-letter { max-width: 760px !important; margin: clamp(56px, 7vw, 88px) auto 0 !important; }
.sw-ceo3-letter > * { max-width: none !important; }
.sw-ceo3-letter p { margin: 0 0 1.4em !important; color: #3b4658; font-size: calc(1.05rem + 1pt); line-height: 2; word-break: keep-all; }
.sw-ceo3-letter p strong { color: #13306e; }
.sw-ceo3-lead::first-letter { float: left; margin: 6px 12px 0 0; color: #2f6bd8; font-size: 4.4em; font-weight: 900; line-height: .85; }
.sw-ceo3-pull { margin: 2em 0 !important; padding: 8px 0 8px 26px; border-left: 4px solid #2f6bd8; color: #13306e !important; font-size: clamp(1.4rem, 2.2vw, 1.9rem) !important; font-weight: 800; line-height: 1.5 !important; }
.sw-ceo3-sign { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; margin-top: 3em !important; padding-top: 28px; border-top: 1px solid #e3e8f0; }
.sw-ceo3-sign span { color: #6b7686; font-size: calc(.92rem + 1pt); }
.sw-ceo3-sign strong { color: #0b1a3c !important; font-size: 2rem; font-weight: 900; letter-spacing: .3em; }
/* 소개서 5권 수평: 칸 너비를 똑같이(링크 길이에 밀리지 않게) → 책 높이 · 제목 · 링크 줄이 모두 같은 선 */
.sw-books.sw-books2 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
@media (max-width: 1100px) { .sw-books.sw-books2 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) { .sw-books.sw-books2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.sw-books2 .sw-book2 { min-width: 0; grid-template-rows: auto 1fr; }
.sw-books2 .sw-book-links { flex-wrap: wrap !important; white-space: normal; gap: 6px 12px !important; }
.sw-books2 .sw-book-links a { white-space: nowrap; }
.sw-books2 .sw-book-meta p:not(.sw-book-links) { min-height: 5em; }
/* 소개서 5권: 영역을 넓히고 책 사이 간격을 넓게 */
.sw-books.sw-books2 { width: min(1320px, calc(100vw - 48px)) !important; max-width: none !important; margin-left: 50% !important; transform: translateX(-50%); gap: clamp(28px, 4vw, 64px) !important; }

/* 뉴스 웹매거진: 분류 탭(밑줄형) → 커버 스토리(큰 사진 + 글) → 3열 사진 카드 */
.sw-mz { width: min(1200px, calc(100vw - 48px)); margin: 0 auto; }
.sw-mz-tabs { display: flex; gap: 6px 32px; flex-wrap: wrap; margin-bottom: 40px; border-bottom: 1px solid #e3e8f0; }
.sw-mz-tabs a { position: relative; padding: 0 0 16px; color: #8a97ad; font-size: calc(1.05rem + 1pt); font-weight: 700; text-decoration: none; transition: color .2s; }
.sw-mz-tabs a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: #13306e; transform: scaleX(0); transition: transform .3s; }
.sw-mz-tabs a:hover { color: #13306e; }
.sw-mz-tabs a[aria-current="true"] { color: #13306e; }
.sw-mz-tabs a[aria-current="true"]::after { transform: scaleX(1); }
.sw-mz-cover { display: grid; grid-template-columns: 1.35fr 1fr; gap: 0; overflow: hidden; margin-bottom: 56px; border-radius: 24px; background: #0b1a3c; color: #fff; text-decoration: none; box-shadow: 0 30px 60px rgba(11, 26, 60, .18); }
.sw-mz-cover-img { display: block; min-height: 420px; overflow: hidden; }
.sw-mz-cover-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.sw-mz-cover:hover .sw-mz-cover-img img { transform: scale(1.04); }
.sw-mz-cover-text { display: flex; flex-direction: column; gap: 18px; padding: clamp(32px, 4vw, 56px); background: radial-gradient(90% 70% at 100% 0%, rgba(79, 140, 255, .35), transparent 60%); }
.sw-mz-cover-text small { color: #8fc8ff; font-size: 13px; font-weight: 800; letter-spacing: .14em; }
.sw-mz-cover-text b { color: #fff; font-size: clamp(1.6rem, 2.6vw, 2.3rem); font-weight: 900; line-height: 1.3; letter-spacing: -.02em; word-break: keep-all; }
.sw-mz-cover-text span { color: rgba(255, 255, 255, .72); font-size: calc(1rem + 1pt); line-height: 1.8; word-break: keep-all; }
.sw-mz-cover-text em { margin-top: auto; color: rgba(255, 255, 255, .55); font-size: 14px; font-style: normal; }
.sw-mz-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 32px; margin: 0; padding: 0; list-style: none; }
.sw-mz-card a { display: grid; gap: 10px; color: inherit; text-decoration: none; }
.sw-mz-img { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 16px; background: #eef2f8; }
.sw-mz-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.sw-mz-card a:hover .sw-mz-img img { transform: scale(1.05); }
.sw-mz-card small, .sw-mz-cover small { font-weight: 800; }
.sw-mz-card small { margin-top: 8px; color: #2f6bd8; font-size: 13px; letter-spacing: .04em; }
.sw-mz-card.is-life small { color: #d6457c; }
.sw-mz-card.is-insight small { color: #6a3df0; }
.sw-mz-card b { color: #13306e; font-size: calc(1.15rem + 1pt); font-weight: 800; line-height: 1.45; word-break: keep-all; transition: color .2s; }
.sw-mz-card a:hover b { color: #2f6bd8; }
.sw-mz-card em { color: #8a97ad; font-size: 14px; font-style: normal; }
.sw-mz-pages { margin-top: 56px; }
.sw-mz-empty { padding: 60px 0; color: #6b7686; text-align: center; }
@media (max-width: 900px) { .sw-mz-cover { grid-template-columns: 1fr; } .sw-mz-cover-img { min-height: 260px; } .sw-mz-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .sw-mz-grid { grid-template-columns: 1fr; } }
.sw-mz-sec .sw-mz { width: min(1200px, calc(100vw - 48px)) !important; max-width: none !important; margin-left: 50% !important; transform: translateX(-50%); }
/* 전체 메뉴: 솔루션 분류 제목은 파란색으로 구분 */
@media (min-width: 1025px) {
  .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content,
  .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content .wp-block-navigation-item__label { color: #2f6bd8 !important; }
}

/* Mobile App 페이지: 개요(글 + 휴대폰 3대) · 서비스 범위 6칸 · 대표 앱 카드 */
.sw-mob-ov { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: clamp(32px, 5vw, 72px); width: min(1200px, calc(100vw - 48px)); margin: 34px auto 0; }
.sw-mob-ov-text p { margin: 0 0 18px !important; color: #3b4658; font-size: calc(1.02rem + 1pt); line-height: 1.85; word-break: keep-all; }
.sw-mob-ov-text strong { color: #13306e; }
.sw-mob-phones { position: relative; display: flex; justify-content: center; align-items: flex-end; gap: 18px; min-height: 380px; }
.sw-mob-phone { --c: #2f6bd8; position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 4px; width: 150px; height: 300px; padding: 18px 16px; border: 6px solid #13182a; border-radius: 30px; background: linear-gradient(170deg, color-mix(in srgb, var(--c) 30%, #fff), var(--c)); color: #fff; box-shadow: 0 28px 50px rgba(16, 47, 103, .25); }
.sw-mob-phone i { position: absolute; top: 10px; left: 50%; width: 46px; height: 12px; border-radius: 99px; background: #13182a; transform: translateX(-50%); }
.sw-mob-phone b { font-size: 15px; }
.sw-mob-phone em { color: rgba(255, 255, 255, .8); font-size: 12px; font-style: normal; }
.sw-mob-phone.is-a { --c: #2f6bd8; transform: translateY(-20px) rotate(-6deg); }
.sw-mob-phone.is-b { --c: #d6457c; height: 340px; z-index: 1; }
.sw-mob-phone.is-c { --c: #0e9f8a; transform: translateY(-20px) rotate(6deg); }
.sw-mob-scope { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; width: min(1200px, calc(100vw - 48px)); margin: 34px auto 0 !important; padding: 0 !important; list-style: none; }
.sw-mob-scope li { padding: 28px; border-radius: 18px; background: #fff; box-shadow: 0 14px 34px rgba(16, 47, 103, .07); }
.sw-mob-scope span { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: linear-gradient(135deg, #d6457c, #ff7aa8); color: #fff; }
.sw-mob-scope svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.sw-mob-scope b { display: block; margin-top: 18px; color: #16223a; font-size: calc(1.1rem + 1pt); }
.sw-mob-scope p { margin: 8px 0 0 !important; color: #5b6472; line-height: 1.75; word-break: keep-all; }
.sw-mob-apps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; width: min(1200px, calc(100vw - 48px)); margin: 34px auto 0 !important; padding: 0 !important; list-style: none; }
.sw-mob-apps a { display: grid; gap: 8px; height: 100%; padding: 26px; border: 1px solid #e3e8f0; border-radius: 18px; background: #fff; color: inherit; text-decoration: none; transition: transform .25s, box-shadow .25s; }
.sw-mob-apps a:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(16, 47, 103, .1); }
.sw-mob-app-logo { display: flex; align-items: center; height: 48px; margin-bottom: 8px; }
.sw-mob-app-logo img { max-width: 150px; max-height: 44px; object-fit: contain; }
.sw-mob-app-name { color: #13306e; font-weight: 800; }
.sw-mob-apps small { color: #d6457c; font-size: 13px; font-weight: 800; }
.sw-mob-apps b { color: #13306e; font-size: calc(1.08rem + 1pt); line-height: 1.4; word-break: keep-all; }
.sw-mob-apps p { margin: 0 !important; color: #5b6472; font-size: calc(.92rem + 1pt); line-height: 1.7; word-break: keep-all; }
@media (max-width: 900px) { .sw-mob-ov { grid-template-columns: 1fr; } .sw-mob-scope, .sw-mob-apps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .sw-mob-scope, .sw-mob-apps { grid-template-columns: 1fr; } .sw-mob-phone { width: 110px; height: 230px; } .sw-mob-phone.is-b { height: 260px; } }
/* 푸터 인증 마크: 누끼(투명 배경) 컬러 원본 — 흰 상자 없이 */
.sw-footer-certs li.has-mark img { padding: 0 !important; border-radius: 0 !important; background: none !important; filter: drop-shadow(0 0 1px rgba(255, 255, 255, .55)) !important; }
/* 푸터 인증 마크: 맨 처음 모습(흰색 반전 마크, 상자 · 효과 없음)으로 */
.sw-footer-certs li.has-mark img { padding: 0 !important; border-radius: 0 !important; background: none !important; filter: none !important; }

/* 뉴스 매거진 v2: 커버는 사진 전체 + 글 겹침, 첫 카드는 크게(2×2) 모자이크, 카드 사진 위에 분류 칩 · 어두운 그라데이션 · 번호 */
.sw-mz-cover { position: relative; display: block !important; min-height: 480px; }
.sw-mz-cover-img { position: absolute; inset: 0; min-height: 0 !important; }
.sw-mz-cover-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8, 16, 40, .92) 0%, rgba(8, 16, 40, .7) 40%, rgba(8, 16, 40, .1) 75%); }
.sw-mz-cover-text { position: relative; z-index: 1; max-width: 560px; min-height: 480px; background: none !important; justify-content: flex-end; }
.sw-mz-cover-text small { align-self: flex-start; padding: 6px 12px; border-radius: 99px; background: #2f6bd8; color: #fff !important; }
.sw-mz-grid { counter-reset: mz; grid-auto-flow: dense; }
.sw-mz-card { counter-increment: mz; }
.sw-mz-card a { position: relative; }
.sw-mz-img { position: relative; }
.sw-mz-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(8, 16, 40, .55)); opacity: .9; transition: opacity .3s; }
.sw-mz-card a:hover .sw-mz-img::after { opacity: .5; }
.sw-mz-card small { position: absolute; top: 14px; left: 14px; z-index: 2; margin: 0 !important; padding: 5px 11px; border-radius: 99px; background: rgba(255, 255, 255, .92); box-shadow: 0 4px 10px rgba(0, 0, 0, .15); }
.sw-mz-card a::before { content: counter(mz, decimal-leading-zero); position: absolute; top: 12px; right: 16px; z-index: 2; color: rgba(255, 255, 255, .85); font-size: 26px; font-weight: 900; letter-spacing: -.02em; text-shadow: 0 2px 8px rgba(0, 0, 0, .35); }
.sw-mz-card:first-child { grid-column: span 2; grid-row: span 2; }
.sw-mz-card:first-child .sw-mz-img { aspect-ratio: auto; height: 100%; min-height: 420px; }
.sw-mz-card:first-child a { grid-template-rows: 1fr auto auto; height: 100%; }
.sw-mz-card:first-child b { font-size: calc(1.6rem + 1pt); }
.sw-mz-card:nth-child(3n+2) .sw-mz-img { border-radius: 16px 40px 16px 16px; }
@media (max-width: 900px) { .sw-mz-card:first-child { grid-column: span 2; grid-row: auto; } .sw-mz-card:first-child .sw-mz-img { min-height: 260px; } }
@media (max-width: 560px) { .sw-mz-card:first-child { grid-column: auto; } }
/* Mobile App: 섹션 폭을 넓게(본문 폭 760 제한 해제) */
.sw-mob-ov, .sw-mob-scope, .sw-mob-apps { width: min(1200px, calc(100vw - 48px)) !important; max-width: none !important; margin-left: 50% !important; transform: translateX(-50%); }
.sw-mob-ov-text { min-width: 0; }
/* 대표 앱 v2: 카드 대신 2열 목록 — 왼쪽 로고 칸 · 오른쪽 연도 · 앱 이름 · 설명, 줄 사이 구분선, 마우스를 올리면 파란 막대 */
.sw-mob-apps { grid-template-columns: 1fr 1fr !important; gap: 0 48px !important; border-top: 2px solid #13306e; }
.sw-mob-apps li { border-bottom: 1px solid #e3e8f0; }
.sw-mob-apps a { position: relative; display: grid !important; grid-template-columns: 150px 1fr; grid-template-rows: auto auto auto; column-gap: 24px; row-gap: 4px; height: auto !important; padding: 26px 8px 26px 18px !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; transform: none !important; }
.sw-mob-apps a::before { content: ""; position: absolute; left: 0; top: 26px; bottom: 26px; width: 3px; border-radius: 3px; background: #d6457c; transform: scaleY(0); transition: transform .3s; }
.sw-mob-apps a:hover::before { transform: scaleY(1); }
.sw-mob-apps a:hover b { color: #2f6bd8; }
.sw-mob-app-logo { grid-column: 1; grid-row: 1 / span 3; align-self: center; justify-content: center; height: 76px !important; margin: 0 !important; padding: 12px; border-radius: 14px; background: #f5f7fb; }
.sw-mob-app-logo img { max-width: 110px !important; max-height: 40px !important; }
.sw-mob-apps small, .sw-mob-apps b, .sw-mob-apps p { grid-column: 2; }
.sw-mob-apps small { min-height: 1em; }
@media (max-width: 900px) { .sw-mob-apps { grid-template-columns: 1fr !important; } }
@media (max-width: 560px) { .sw-mob-apps a { grid-template-columns: 96px 1fr; } }
/* 포트폴리오 제목 '움직인': 파란 글자가 3초마다 앞뒤로 들썩이고, 아래 밑줄이 왼쪽→오른쪽으로 흐른다 */
.sw-move { position: relative; display: inline-block; color: #2f6bd8; animation: sw-move-wiggle 3s ease-in-out infinite; }
.sw-move::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, #2f6bd8, #1ea9e0); transform-origin: left; animation: sw-move-line 3s ease-in-out infinite; }
@keyframes sw-move-wiggle { 0%, 55%, 100% { transform: none; } 62% { transform: translateX(-6px) skewX(8deg); } 70% { transform: translateX(8px) skewX(-10deg); } 78% { transform: translateX(-4px) skewX(5deg); } 86% { transform: translateX(2px); } }
@keyframes sw-move-line { 0% { transform: scaleX(0); } 40%, 85% { transform: scaleX(1); } 100% { transform: scaleX(1); opacity: 0; } }
/* '움직인' v2: 밑줄 없이, 글자 하나씩 물결처럼 차례로 오르내림 */
.sw-move { animation: none !important; }
.sw-move::after { content: none !important; display: none !important; }
.sw-move i { display: inline-block; font-style: normal; animation: sw-move-wave 2.4s ease-in-out infinite !important; }
.sw-move i:nth-child(2) { animation-delay: .15s !important; }
.sw-move i:nth-child(3) { animation-delay: .3s !important; }
@keyframes sw-move-wave { 0%, 40%, 100% { transform: translateY(0); color: #2f6bd8; } 15% { transform: translateY(-9px); color: #1ea9e0; } 28% { transform: translateY(2px); } }
/* 페이지 배너 설명: 첫 줄(굵은 한 문장)은 크게 흰색, 둘째 줄은 옅게 */
.sw-page-hero p.has-large-font-size strong { display: inline-block; margin-bottom: 8px; color: #fff; font-size: 1.15em; font-weight: 700; letter-spacing: -.01em; }

/* Mobile App 휴대폰: 실제 구축 앱 이미지 — 뒤는 같은 사진을 흐리게 채우고, 앞에 사진 전체를 얹는다 */
.sw-mob-phone.has-img { overflow: hidden; background: #13182a; }
.sw-mob-phone.has-img i { z-index: 3; }
.sw-mob-phone.has-img .sw-mob-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: blur(14px) brightness(.8); transform: scale(1.25); }
.sw-mob-phone.has-img.is-full .sw-mob-bg { filter: none; transform: none; }
.sw-mob-phone.has-img .sw-mob-fg { position: absolute; top: 36px; left: 0; width: 100%; height: auto; }
.sw-mob-phone.has-img::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(8, 12, 26, .88)); }
.sw-mob-phone.has-img b, .sw-mob-phone.has-img em { position: relative; z-index: 2; }

/* SI·ITO 수행 방법론: 남색 바탕 위 5단계 흐름(선 위의 점 → 번호 · 단계 · 하는 일) + 아래 되돌아오는 선순환 선 */
.sw-mth-sec { background: radial-gradient(60% 80% at 100% 0%, rgba(79, 140, 255, .28), transparent 60%), linear-gradient(140deg, #0b1a3c, #13306e 75%) !important; }
.sw-mth-sec h2 { color: #fff !important; }
.sw-mth-sec .sw-lead { color: rgba(255, 255, 255, .72) !important; }
.sw-mth-eyebrow { margin: 0 0 10px !important; color: #8fc8ff; font-size: 13px; font-weight: 800; letter-spacing: .24em; }
.sw-mth { width: min(1200px, calc(100vw - 48px)); max-width: none !important; margin: 48px auto 0 !important; }
.sw-mth-steps { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0 !important; padding: 0 !important; list-style: none; }
.sw-mth-steps::before { content: ""; position: absolute; top: 9px; left: 10%; right: 10%; height: 2px; background: linear-gradient(90deg, #4f8cff, #36d1c4); }
.sw-mth-steps li { position: relative; padding: 46px 22px 0; text-align: center; }
.sw-mth-steps li::before { content: ""; position: absolute; top: 0; left: 50%; width: 20px; height: 20px; border: 4px solid #0f2659; border-radius: 50%; background: #8fc8ff; box-shadow: 0 0 0 2px #4f8cff; transform: translateX(-50%); }
.sw-mth-steps li + li::after { content: ""; position: absolute; top: 46px; bottom: 0; left: 0; width: 1px; background: rgba(255, 255, 255, .12); }
.sw-mth-no { display: block; color: transparent; font-size: 3.2rem; font-weight: 900; line-height: 1; -webkit-text-stroke: 1.5px rgba(143, 200, 255, .6); }
.sw-mth-steps b { display: block; margin-top: 14px; color: #fff; font-size: calc(1.45rem + 1pt); font-weight: 800; letter-spacing: -.01em; }
.sw-mth-steps em { display: block; margin-top: 8px; color: #8fc8ff; font-size: calc(.92rem + 1pt); font-style: normal; font-weight: 700; word-break: keep-all; }
.sw-mth-steps p { margin: 14px 0 0 !important; color: rgba(255, 255, 255, .7); font-size: calc(.92rem + 1pt); line-height: 1.75; word-break: keep-all; }
.sw-mth-loop { position: relative; height: 52px; margin: 30px 10% 0; border: 2px dashed rgba(143, 200, 255, .55); border-top: 0; border-radius: 0 0 28px 28px; }
.sw-mth-loop::before { content: ""; position: absolute; top: -8px; left: -8px; border: 7px solid transparent; border-top: 0; border-bottom: 11px solid #8fc8ff; }
.sw-mth-loop span { position: absolute; left: 50%; bottom: 0; padding: 6px 18px; border-radius: 99px; background: #8fc8ff; color: #0b1a3c; font-size: calc(.88rem + 1pt); font-weight: 800; white-space: nowrap; transform: translate(-50%, 50%); }
@media (max-width: 900px) { .sw-mth-steps { grid-template-columns: 1fr; gap: 28px; } .sw-mth-steps::before { top: 0; bottom: 0; left: 9px; right: auto; width: 2px; height: auto; } .sw-mth-steps li { padding: 0 0 0 44px; text-align: left; } .sw-mth-steps li::before { left: 0; transform: none; } .sw-mth-steps li + li::after { display: none; } .sw-mth-loop { margin: 40px 0 0; height: 0; border: 0; } .sw-mth-loop::before { display: none; } .sw-mth-loop span { position: static; display: inline-block; transform: none; white-space: normal; } }
.sw-shr, .sw-shr * { word-break: keep-all; }

/* SI·ITO 수행 방법론 v2: 우주 배경(성운 빛 + 천천히 흐르는 별 + 아래로 걸친 행성), 숫자는 채운 글자, 화면에 들어오면 선 → 점 → 단계 순서로 등장 */
.sw-mth-sec { position: relative; overflow: hidden; background: radial-gradient(38% 50% at 12% 18%, rgba(120, 80, 230, .30), transparent 70%), radial-gradient(40% 55% at 92% 30%, rgba(30, 140, 230, .28), transparent 72%), linear-gradient(180deg, #02061a, #06103a 60%, #030a24) !important; }
.sw-mth-sec::before { content: ""; position: absolute; inset: 0; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Ccircle cx='190.6' cy='250.2' r='0.99' fill='%23ffffff' fill-opacity='0.34'/%3E%3Ccircle cx='431.4' cy='151.1' r='0.71' fill='%23ffffff' fill-opacity='0.68'/%3E%3Ccircle cx='397.2' cy='583.0' r='0.83' fill='%23ffffff' fill-opacity='0.47'/%3E%3Ccircle cx='290.0' cy='106.6' r='0.74' fill='%23ffffff' fill-opacity='0.32'/%3E%3Ccircle cx='138.1' cy='290.8' r='0.97' fill='%23ffffff' fill-opacity='0.37'/%3E%3Ccircle cx='331.4' cy='520.2' r='0.79' fill='%23ffffff' fill-opacity='0.27'/%3E%3Ccircle cx='246.3' cy='564.1' r='0.91' fill='%23bcd9ff' fill-opacity='0.46'/%3E%3Ccircle cx='384.7' cy='584.4' r='0.85' fill='%23ffffff' fill-opacity='0.58'/%3E%3Ccircle cx='319.0' cy='512.7' r='0.76' fill='%23ffffff' fill-opacity='0.36'/%3E%3Ccircle cx='281.9' cy='217.5' r='0.85' fill='%23bcd9ff' fill-opacity='0.58'/%3E%3Ccircle cx='348.8' cy='62.6' r='0.84' fill='%23ffffff' fill-opacity='0.51'/%3E%3Ccircle cx='578.6' cy='324.7' r='0.50' fill='%23bcd9ff' fill-opacity='0.26'/%3E%3Ccircle cx='390.4' cy='425.0' r='1.26' fill='%23ffffff' fill-opacity='0.80'/%3E%3Ccircle cx='425.2' cy='259.4' r='0.76' fill='%23ffffff' fill-opacity='0.51'/%3E%3Ccircle cx='250.2' cy='513.9' r='0.75' fill='%23ffffff' fill-opacity='0.40'/%3E%3Ccircle cx='457.5' cy='0.7' r='0.58' fill='%23ffffff' fill-opacity='0.45'/%3E%3Ccircle cx='304.6' cy='254.5' r='1.37' fill='%23ffffff' fill-opacity='0.80'/%3E%3Ccircle cx='246.0' cy='252.0' r='0.53' fill='%23ffffff' fill-opacity='0.44'/%3E%3Ccircle cx='473.0' cy='306.7' r='0.56' fill='%23bcd9ff' fill-opacity='0.43'/%3E%3Ccircle cx='102.0' cy='38.4' r='0.54' fill='%23ffffff' fill-opacity='0.49'/%3E%3Ccircle cx='568.3' cy='169.2' r='1.62' fill='%23ffffff' fill-opacity='0.80'/%3E%3Ccircle cx='99.2' cy='550.4' r='0.68' fill='%23ffffff' fill-opacity='0.35'/%3E%3Ccircle cx='327.9' cy='384.3' r='0.76' fill='%23ffffff' fill-opacity='0.29'/%3E%3Ccircle cx='408.3' cy='33.4' r='0.79' fill='%23ffffff' fill-opacity='0.34'/%3E%3Ccircle cx='170.6' cy='491.4' r='1.40' fill='%23ffffff' fill-opacity='0.80'/%3E%3Ccircle cx='51.0' cy='74.4' r='0.91' fill='%23ffffff' fill-opacity='0.70'/%3E%3Ccircle cx='300.2' cy='572.5' r='0.76' fill='%23ffffff' fill-opacity='0.54'/%3E%3Ccircle cx='595.2' cy='502.0' r='0.96' fill='%23ffffff' fill-opacity='0.61'/%3E%3Ccircle cx='399.1' cy='178.7' r='0.63' fill='%23ffffff' fill-opacity='0.40'/%3E%3Ccircle cx='534.1' cy='445.4' r='0.58' fill='%23ffffff' fill-opacity='0.62'/%3E%3Ccircle cx='435.0' cy='246.6' r='0.92' fill='%23ffffff' fill-opacity='0.31'/%3E%3Ccircle cx='411.7' cy='78.7' r='0.81' fill='%23ffffff' fill-opacity='0.52'/%3E%3Ccircle cx='180.6' cy='322.6' r='0.67' fill='%23bcd9ff' fill-opacity='0.64'/%3E%3Ccircle cx='246.2' cy='592.5' r='0.90' fill='%23ffffff' fill-opacity='0.55'/%3E%3Ccircle cx='313.8' cy='82.5' r='0.87' fill='%23ffffff' fill-opacity='0.26'/%3E%3Ccircle cx='487.4' cy='382.5' r='0.96' fill='%23ffffff' fill-opacity='0.56'/%3E%3Ccircle cx='305.2' cy='402.9' r='0.55' fill='%23ffffff' fill-opacity='0.64'/%3E%3Ccircle cx='336.0' cy='217.4' r='0.92' fill='%23ffffff' fill-opacity='0.45'/%3E%3Ccircle cx='213.5' cy='549.6' r='0.82' fill='%23ffffff' fill-opacity='0.31'/%3E%3Ccircle cx='169.8' cy='139.3' r='0.88' fill='%23ffffff' fill-opacity='0.64'/%3E%3Ccircle cx='235.7' cy='368.3' r='1.24' fill='%23ffffff' fill-opacity='0.80'/%3E%3Ccircle cx='560.5' cy='243.6' r='0.80' fill='%23ffffff' fill-opacity='0.66'/%3E%3Ccircle cx='13.5' cy='345.8' r='0.87' fill='%23ffffff' fill-opacity='0.39'/%3E%3Ccircle cx='519.1' cy='282.6' r='0.60' fill='%23bcd9ff' fill-opacity='0.38'/%3E%3Ccircle cx='484.8' cy='375.4' r='0.84' fill='%23bcd9ff' fill-opacity='0.60'/%3E%3Ccircle cx='536.2' cy='310.1' r='0.51' fill='%23bcd9ff' fill-opacity='0.68'/%3E%3Ccircle cx='47.6' cy='126.6' r='0.57' fill='%23ffffff' fill-opacity='0.54'/%3E%3Ccircle cx='189.2' cy='108.2' r='0.68' fill='%23bcd9ff' fill-opacity='0.57'/%3E%3Ccircle cx='97.8' cy='325.2' r='0.69' fill='%23ffffff' fill-opacity='0.54'/%3E%3Ccircle cx='113.8' cy='384.2' r='0.56' fill='%23ffffff' fill-opacity='0.37'/%3E%3Ccircle cx='451.6' cy='144.8' r='0.94' fill='%23ffffff' fill-opacity='0.32'/%3E%3Ccircle cx='113.1' cy='391.5' r='0.82' fill='%23ffffff' fill-opacity='0.31'/%3E%3Ccircle cx='357.4' cy='550.3' r='0.51' fill='%23ffffff' fill-opacity='0.49'/%3E%3Ccircle cx='485.0' cy='293.4' r='0.76' fill='%23ffffff' fill-opacity='0.65'/%3E%3Ccircle cx='341.9' cy='81.2' r='0.96' fill='%23bcd9ff' fill-opacity='0.70'/%3E%3Ccircle cx='271.1' cy='443.4' r='0.66' fill='%23ffffff' fill-opacity='0.44'/%3E%3Ccircle cx='590.2' cy='259.5' r='0.63' fill='%23ffffff' fill-opacity='0.54'/%3E%3Ccircle cx='157.0' cy='204.1' r='0.99' fill='%23ffffff' fill-opacity='0.34'/%3E%3Ccircle cx='256.5' cy='495.0' r='0.75' fill='%23ffffff' fill-opacity='0.61'/%3E%3Ccircle cx='94.4' cy='67.6' r='0.93' fill='%23ffffff' fill-opacity='0.40'/%3E%3Ccircle cx='540.9' cy='162.5' r='0.74' fill='%23ffffff' fill-opacity='0.38'/%3E%3Ccircle cx='224.9' cy='261.6' r='0.97' fill='%23ffffff' fill-opacity='0.25'/%3E%3Ccircle cx='281.2' cy='279.4' r='0.71' fill='%23ffffff' fill-opacity='0.39'/%3E%3Ccircle cx='218.5' cy='225.7' r='0.73' fill='%23bcd9ff' fill-opacity='0.57'/%3E%3Ccircle cx='331.1' cy='280.8' r='0.96' fill='%23ffffff' fill-opacity='0.36'/%3E%3Ccircle cx='409.7' cy='370.5' r='0.62' fill='%23ffffff' fill-opacity='0.35'/%3E%3Ccircle cx='329.6' cy='495.4' r='0.81' fill='%23bcd9ff' fill-opacity='0.47'/%3E%3Ccircle cx='557.1' cy='197.5' r='0.52' fill='%23ffffff' fill-opacity='0.37'/%3E%3Ccircle cx='424.8' cy='525.9' r='0.93' fill='%23bcd9ff' fill-opacity='0.54'/%3E%3Ccircle cx='320.9' cy='51.5' r='0.93' fill='%23ffffff' fill-opacity='0.40'/%3E%3C/svg%3E"); background-size: 600px 600px; pointer-events: none; animation: sw-mth-drift 160s linear infinite; }
.sw-mth-sec::after { content: ""; position: absolute; right: -180px; bottom: -330px; width: 560px; height: 560px; border-radius: 50%; background: radial-gradient(circle at 32% 28%, #5d8dff, #24439c 45%, #0a1640 75%); box-shadow: 0 0 90px rgba(79, 140, 255, .35), inset -40px -30px 80px rgba(0, 0, 0, .55); opacity: .75; pointer-events: none; }
.sw-mth-sec > * { position: relative; z-index: 1; }
@keyframes sw-mth-drift { to { background-position: -600px 300px; } }
.sw-mth { position: relative; }
.sw-mth-no { color: #8fc8ff; font-size: 2.6rem; -webkit-text-stroke: 0; background: linear-gradient(180deg, #ffffff, #6fa8ff); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.sw-mth::before { content: ""; position: absolute; top: 4px; left: 10%; z-index: 2; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%; background: #fff; box-shadow: 0 0 14px 5px rgba(143, 200, 255, .9); opacity: 0; }
.sw-mth.is-in::before { animation: sw-mth-run 4.5s 2s ease-in-out infinite; }
@keyframes sw-mth-run { 0% { left: 10%; opacity: 0; } 8% { opacity: 1; } 92% { opacity: 1; } 100% { left: 90%; opacity: 0; } }
.sw-mth-loop::after { content: ""; position: absolute; bottom: -6px; right: 28px; width: 10px; height: 10px; border-radius: 50%; background: #8fc8ff; box-shadow: 0 0 10px 3px rgba(143, 200, 255, .8); opacity: 0; }
.sw-mth.is-in .sw-mth-loop::after { animation: sw-mth-back 4.5s 4.2s ease-in-out infinite; }
@keyframes sw-mth-back { 0% { right: 28px; opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { right: calc(100% - 38px); opacity: 0; } }
.sw-mth.is-anim .sw-mth-steps::before { transform: scaleX(0); transform-origin: left; transition: transform 1.6s ease; }
.sw-mth.is-anim .sw-mth-steps li { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; transition-delay: calc(var(--i, 0) * .3s + .2s); }
.sw-mth.is-anim .sw-mth-steps li:nth-child(2) { --i: 1; } .sw-mth.is-anim .sw-mth-steps li:nth-child(3) { --i: 2; } .sw-mth.is-anim .sw-mth-steps li:nth-child(4) { --i: 3; } .sw-mth.is-anim .sw-mth-steps li:nth-child(5) { --i: 4; }
.sw-mth.is-anim .sw-mth-loop { opacity: 0; transition: opacity .8s ease 1.9s; }
.sw-mth.is-anim.is-in .sw-mth-steps::before { transform: scaleX(1); }
.sw-mth.is-anim.is-in .sw-mth-steps li { opacity: 1; transform: none; }
.sw-mth.is-anim.is-in .sw-mth-loop { opacity: 1; }
@media (max-width: 900px) { .sw-mth::before, .sw-mth-loop::after { display: none; } .sw-mth.is-anim .sw-mth-steps::before { transform: none; } }
@media (prefers-reduced-motion: reduce) { .sw-mth-sec::before, .sw-mth::before, .sw-mth-loop::after { animation: none !important; } }

/* ITO 운영 방법론: 상자 없이 줄로 읽는 표(단계 · 하는 일 · 고객 맞춤 포인트) + 아래 운영 서비스 범위 4칸 */
.sw-opm-sec { background: #f4f7fc; }
.sw-opm-eyebrow { margin: 0 0 10px !important; color: #2f6bd8; font-size: 13px; font-weight: 800; letter-spacing: .24em; }
.sw-opm { width: min(1200px, calc(100vw - 48px)); max-width: none !important; margin: 44px auto 0 !important; }
.sw-opm-head, .sw-opm-rows li { display: grid; grid-template-columns: 300px minmax(0, 1fr) 340px; gap: 0 40px; align-items: center; }
.sw-opm-head { padding: 0 8px 14px; border-bottom: 2px solid #13306e; color: #13306e; font-size: 14px; font-weight: 800; letter-spacing: .06em; }
.sw-opm-rows { margin: 0 !important; padding: 0 !important; list-style: none; }
.sw-opm-rows li { position: relative; padding: 30px 8px; border-bottom: 1px solid #d9e1ee; transition: background .25s; }
.sw-opm-rows li:hover { background: #fff; }
.sw-opm-no { position: absolute; left: 8px; color: #2f6bd8; font-size: 1.05rem; font-weight: 900; letter-spacing: .04em; }
.sw-opm-rows b { padding-left: 52px; color: #13306e; font-size: calc(1.3rem + 1pt); font-weight: 800; letter-spacing: -.01em; }
.sw-opm-rows p { margin: 0 !important; color: #3b4658; font-size: calc(1rem + 1pt); line-height: 1.75; word-break: keep-all; }
.sw-opm-rows em { padding-left: 18px; border-left: 3px solid #2f6bd8; color: #13306e; font-size: calc(.98rem + 1pt); font-style: normal; font-weight: 700; line-height: 1.6; word-break: keep-all; }
.sw-itos-title { margin: 64px 0 18px !important; color: #13306e; font-size: calc(1.15rem + 1pt); font-weight: 800; }
.sw-itos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 !important; padding: 0 !important; border-radius: 18px; background: #13306e; list-style: none; overflow: hidden; }
.sw-itos li { padding: 28px 26px; }
.sw-itos li + li { border-left: 1px solid rgba(255, 255, 255, .14); }
.sw-itos b { display: block; color: #fff; font-size: calc(1.08rem + 1pt); font-weight: 800; }
.sw-itos span { display: block; margin-top: 10px; color: rgba(255, 255, 255, .72); font-size: calc(.92rem + 1pt); line-height: 1.7; word-break: keep-all; }
@media (max-width: 900px) { .sw-opm-head { display: none; } .sw-opm-rows li { grid-template-columns: 1fr; gap: 12px; } .sw-itos { grid-template-columns: 1fr 1fr; } .sw-itos li + li { border-left: 0; } }
@media (max-width: 560px) { .sw-itos { grid-template-columns: 1fr; } }

/* SI·ITO 보유 솔루션 자산 정리: 솔루션별 소제목을 같은 모양(위 선 + 큰 간격)으로, 안쪽 제목은 한 단계 작게, 체크 목록 상자는 선으로만 구분 */
.sw-page-hero ~ .sw-section .sw-lead { word-break: keep-all; }
.sw-assets-sec > h3.wp-block-heading { margin: 88px auto 0 !important; padding-top: 44px; border-top: 1px solid #d9e1ee; color: #13306e; font-size: clamp(1.5rem, 2.2vw, 1.9rem) !important; font-weight: 800; letter-spacing: -.02em; }
.sw-assets-sec > h3.wp-block-heading + * { margin-top: 24px !important; }
.sw-assets-sec > p, .sw-assets-sec > ul { color: #3b4658; line-height: 1.85; word-break: keep-all; }
.sw-assets-sec .sw-media-frame { margin-top: 40px !important; }
.sw-assets-sec .sw-media-frame .sw-section-heading h3 { color: #16223a; font-size: calc(1.25rem + 1pt) !important; font-weight: 800; }
.sw-assets-sec .sw-media-frame .sw-section-heading .sw-lead { margin-top: 8px !important; font-size: calc(1rem + 1pt) !important; }
.sw-assets-sec .sw-card-grid { gap: 0 !important; margin-top: 24px !important; }
.sw-assets-sec .sw-card-grid .sw-card { height: 100%; padding: 6px 28px !important; border: 0 !important; border-left: 2px solid #dbe4f2 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
.sw-assets-sec .sw-dg.sw-shr { width: 100% !important; max-width: 900px !important; margin: 24px auto 0 !important; }

/* SI·ITO: 방법론 · 운영 표 폭을 제목 폭과 맞추고, 자산 안쪽 제목을 한 단계 작게 */
.sw-mth, .sw-opm { width: min(1100px, calc(100vw - 48px)) !important; }
.sw-opm-head, .sw-opm-rows li { grid-template-columns: 270px minmax(0, 1fr) 320px; gap: 0 32px; }
body .sw-assets-sec .sw-media-frame .sw-section-heading :is(h2, h3).wp-block-heading { color: #16223a; font-size: calc(1.25rem + 1pt) !important; font-weight: 800; line-height: 1.4; }

/* 회사소개 '기술력': 글자 위로 빛이 지나가고 별 모양 반짝임이 번갈아 켜진다 */
.sw-org2-hl.sw-sparkle { position: relative; display: inline-block; background: linear-gradient(110deg, #1f6fe5 0%, #1f6fe5 40%, #c9e8ff 50%, #1f6fe5 60%, #1f6fe5 100%); background-size: 260% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: sw-sparkle-shine 2.6s linear infinite; }
.sw-org2-hl.sw-sparkle::before, .sw-org2-hl.sw-sparkle::after { content: ""; position: absolute; width: .42em; height: .42em; background: #ffc93c; clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); transform: scale(0); animation: sw-sparkle-pop 1.8s ease-in-out infinite; }
.sw-org2-hl.sw-sparkle::before { top: -.16em; right: -.3em; }
.sw-org2-hl.sw-sparkle::after { bottom: .02em; left: -.26em; width: .28em; height: .28em; background: #5db2ff; animation-delay: .9s; }
@keyframes sw-sparkle-shine { from { background-position: 130% 0; } to { background-position: -30% 0; } }
@keyframes sw-sparkle-pop { 0%, 100% { transform: scale(0) rotate(0deg); opacity: 0; } 50% { transform: scale(1) rotate(90deg); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .sw-org2-hl.sw-sparkle, .sw-org2-hl.sw-sparkle::before, .sw-org2-hl.sw-sparkle::after { animation: none; } .sw-org2-hl.sw-sparkle::before, .sw-org2-hl.sw-sparkle::after { transform: scale(1); } }

/* SI·ITO 자산: 글씨 크기 위계(솔루션 제목 > 안쪽 제목 > 본문)와 왼쪽 정렬선을 하나로 맞춘다 */
.sw-assets-sec.sw-assets-sec .sw-media-frame .sw-section-heading > h3.wp-block-heading:first-child { margin: 0 !important; color: #16223a !important; font-size: calc(1.2rem + 1pt) !important; font-weight: 800 !important; line-height: 1.45 !important; letter-spacing: -.01em !important; }
.sw-assets-sec.sw-assets-sec .sw-media-frame .sw-section-heading { margin-bottom: 0 !important; }
.sw-assets-sec.sw-assets-sec > p, .sw-assets-sec.sw-assets-sec > ul, .sw-assets-sec.sw-assets-sec .sw-media-frame .sw-lead, .sw-assets-sec.sw-assets-sec .sw-card p, .sw-assets-sec.sw-assets-sec .sw-card li, .sw-assets-sec.sw-assets-sec td, .sw-assets-sec.sw-assets-sec th { font-size: calc(1rem + 1pt) !important; line-height: 1.8 !important; }
.sw-assets-sec.sw-assets-sec > p, .sw-assets-sec.sw-assets-sec > ul, .sw-assets-sec.sw-assets-sec > h3.wp-block-heading { width: 100%; max-width: var(--wp--style--global--wide-size, 1100px) !important; }
.sw-assets-sec.sw-assets-sec .sw-card h3, .sw-assets-sec.sw-assets-sec .sw-card h4 { font-size: calc(1.08rem + 1pt) !important; }
.sw-assets-sec .sw-card-grid > .wp-block-column:first-child .sw-card { padding-left: 0 !important; border-left: 0 !important; }
.sw-assets-sec.sw-assets-sec .sw-dg.sw-shr { max-width: none !important; }

/* SI·ITO: S-HR 구성도 폭을 본문 폭에 맞춤 · 운영 표 작은 글씨 키움 · 방법론 선 위 원이 번갈아 반짝임 */
.sw-assets-sec.sw-assets-sec .sw-dg.sw-shr { box-sizing: border-box; width: 100% !important; max-width: var(--wp--style--global--wide-size, 1100px) !important; margin: 24px auto 0 !important; }
.sw-opm-head { font-size: calc(1rem + 1pt); }
.sw-opm-no { font-size: 1.3rem; }
.sw-opm-rows b { padding-left: 58px; font-size: calc(1.4rem + 1pt); }
.sw-opm-rows p { font-size: calc(1.08rem + 1pt); }
.sw-opm-rows em { font-size: calc(1.08rem + 1pt); }
.sw-itos-title { font-size: calc(1.3rem + 1pt); }
.sw-itos b { font-size: calc(1.2rem + 1pt); }
.sw-itos span { font-size: calc(1rem + 1pt); }
.sw-mth-steps em { font-size: calc(1rem + 1pt); }
.sw-mth-steps p { font-size: calc(1rem + 1pt); }
.sw-mth-steps li::before { animation: sw-mth-twinkle 2.4s ease-in-out infinite; animation-delay: calc(var(--i, 0) * .45s); }
.sw-mth-steps li:nth-child(2) { --i: 1; } .sw-mth-steps li:nth-child(3) { --i: 2; } .sw-mth-steps li:nth-child(4) { --i: 3; } .sw-mth-steps li:nth-child(5) { --i: 4; }
@keyframes sw-mth-twinkle { 0%, 100% { background: #8fc8ff; box-shadow: 0 0 0 2px #4f8cff, 0 0 0 0 rgba(143, 200, 255, 0); } 50% { background: #fff; box-shadow: 0 0 0 2px #9fd0ff, 0 0 18px 7px rgba(143, 200, 255, .85); } }
@media (prefers-reduced-motion: reduce) { .sw-mth-steps li::before { animation: none; } }

/* AI 플랫폼(사업분야) 개요: 색으로 채운 세 영역 + AI 상담 흐름(고객 문의 → AI 응대 → 처리/상담원 → 분석) */
.sw-aio, .sw-aif, .sw-clv { width: min(1100px, calc(100vw - 48px)); max-width: none !important; margin-left: auto !important; margin-right: auto !important; }
.sw-aio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 44px !important; padding: 0 !important; list-style: none; }
.sw-aio li { --c: #2f6bd8; display: flex; flex-direction: column; padding: 34px 32px; border-radius: 22px; background: color-mix(in srgb, var(--c) 9%, #fff); }
.sw-aio li.is-b { --c: #d6457c; } .sw-aio li.is-c { --c: #6a3df0; }
.sw-aio small { color: var(--c); font-size: calc(.95rem + 1pt); font-weight: 800; }
.sw-aio b { margin-top: 10px; color: #13203a; font-size: calc(1.45rem + 1pt); font-weight: 800; line-height: 1.35; letter-spacing: -.02em; word-break: keep-all; }
.sw-aio b a { color: inherit; text-decoration: none; }
.sw-aio b a:hover { color: var(--c); }
.sw-aio p { margin: 16px 0 24px !important; color: #3b4658; font-size: calc(1.02rem + 1pt); line-height: 1.8; word-break: keep-all; }
.sw-aio-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.sw-aio-tags span { padding: 7px 14px; border-radius: 99px; background: #fff; color: var(--c); font-size: calc(.9rem + 1pt); font-weight: 700; }
.sw-aif { margin-top: 72px !important; }
.sw-aif-title, .sw-clv-title { margin: 0 0 22px !important; color: #13306e; font-size: calc(1.3rem + 1pt); font-weight: 800; }
.sw-aif-steps { display: grid; grid-template-columns: 1fr 1.1fr 1.3fr 1.1fr; gap: 44px; margin: 0 !important; padding: 0 !important; list-style: none; counter-reset: aif; }
.sw-aif-steps > li { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 26px 24px; border-radius: 18px; background: #f1f5fb; }
.sw-aif-steps > li + li::before { content: ""; position: absolute; top: 50%; left: -34px; width: 24px; height: 2px; background: #9db7e6; }
.sw-aif-steps > li + li::after { content: ""; position: absolute; top: 50%; left: -16px; width: 9px; height: 9px; border-top: 2px solid #9db7e6; border-right: 2px solid #9db7e6; transform: translateY(-50%) rotate(45deg); margin-top: 1px; }
.sw-aif-steps b { color: #13306e; font-size: calc(1.12rem + 1pt); font-weight: 800; }
.sw-aif-steps span { color: #4b5768; font-size: calc(.96rem + 1pt); line-height: 1.7; word-break: keep-all; }
.sw-aif-steps > li.is-ai { background: linear-gradient(140deg, #13306e, #2f6bd8); }
.sw-aif-steps > li.is-ai b { color: #fff; } .sw-aif-steps > li.is-ai span { color: rgba(255, 255, 255, .8); }
.sw-aif-steps > li.is-split { gap: 12px; padding: 0; background: none; }
.sw-aif-steps > li.is-split div { display: flex; flex: 1; flex-direction: column; justify-content: center; gap: 6px; padding: 18px 22px; border-radius: 16px; background: #f1f5fb; }
.sw-aif-steps > li.is-split div + div { background: #fdf0f5; }
.sw-aif-steps > li.is-split div + div b { color: #b32d63; }

/* CLOUVI: 왼쪽 서비스 범위 6줄(번호 · 이름 · 설명), 오른쪽 남색 콘솔 설명 + 기대 효과 */
.sw-clv { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(32px, 4vw, 64px); align-items: start; margin-top: 44px !important; }
.sw-clv-scope { margin: 0 !important; padding: 0 !important; border-top: 2px solid #13306e; list-style: none; }
.sw-clv-scope li { display: grid; grid-template-columns: 44px 150px minmax(0, 1fr); align-items: baseline; padding: 20px 4px; border-bottom: 1px solid #d9e1ee; }
.sw-clv-scope i { color: #2f6bd8; font-size: 1.05rem; font-style: normal; font-weight: 900; }
.sw-clv-scope b { color: #13306e; font-size: calc(1.1rem + 1pt); font-weight: 800; }
.sw-clv-scope span { color: #3b4658; font-size: calc(1rem + 1pt); line-height: 1.7; word-break: keep-all; }
.sw-clv-side { padding: 36px 34px; border-radius: 22px; background: radial-gradient(80% 70% at 100% 0%, rgba(79, 140, 255, .35), transparent 60%), #0f2659; color: #fff; }
.sw-clv-side .sw-clv-title { color: #fff; }
.sw-clv-side .sw-clv-title.is-sub { margin: 30px 0 12px !important; padding-top: 26px; border-top: 1px solid rgba(255, 255, 255, .16); font-size: calc(1.1rem + 1pt); }
.sw-clv-side > p:not(.sw-clv-title) { margin: 0 !important; color: rgba(255, 255, 255, .78); font-size: calc(1rem + 1pt); line-height: 1.8; word-break: keep-all; }
.sw-clv-eff { margin: 0 !important; padding: 0 !important; list-style: none; }
.sw-clv-eff li { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 8px; padding: 9px 0; font-size: calc(1rem + 1pt); line-height: 1.6; }
.sw-clv-eff b { color: #8fc8ff; font-weight: 800; }
.sw-clv-eff span { color: rgba(255, 255, 255, .85); word-break: keep-all; }
.sw-clv-link { display: inline-block; margin-top: 26px; padding: 12px 24px; border-radius: 99px; background: #fff; color: #0f2659 !important; font-size: calc(.98rem + 1pt); font-weight: 800; text-decoration: none; transition: transform .2s; }
.sw-clv-link:hover { transform: translateY(-2px); }
@media (max-width: 900px) { .sw-aio { grid-template-columns: 1fr; } .sw-aif-steps { grid-template-columns: 1fr; gap: 34px; } .sw-aif-steps > li + li::before { top: -26px; left: 50%; width: 2px; height: 18px; } .sw-aif-steps > li + li::after { top: -12px; left: 50%; margin: 0 0 0 -4px; transform: rotate(135deg); } .sw-clv { grid-template-columns: 1fr; } .sw-clv-scope li { grid-template-columns: 40px 1fr; } .sw-clv-scope span { grid-column: 2; } }

/* 뉴스 글의 분류 표시는 눌러도 이동하지 않는다(분류 목록 화면을 따로 두지 않음) */
.single .wp-block-post-terms a, .sw-single-cat a { pointer-events: none; cursor: default; }

/* 가로 연혁 자동 전환: 고른 탭의 밑줄이 시간 막대처럼 왼쪽에서 차오른다(다 차면 다음 탭). 멈춤 상태에서는 막대도 멈춘다 */
.sw-htl.is-auto .sw-htl-tabs button::before { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 3px; background: #cfdcf2; opacity: 0; }
.sw-htl.is-auto .sw-htl-tabs button[aria-selected="true"]::before { opacity: 1; }
.sw-htl.is-auto .sw-htl-tabs button[aria-selected="true"]::after { transition: none; animation: sw-htl-timer 6s linear forwards; }
.sw-htl.is-auto.is-hold .sw-htl-tabs button[aria-selected="true"]::after { animation-play-state: paused; }
@keyframes sw-htl-timer { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.sw-opm-rows b { word-break: keep-all; line-height: 1.4; }

/* CLOUVI 콘솔 상자: 뒤 배경에 깊이감 — 위 오른쪽 파란 빛 + 아래 왼쪽 보랏빛, 가는 격자 무늬, 테두리 빛, 아래로 떨어지는 그림자 */
.sw-clv-side { position: relative; overflow: hidden; isolation: isolate; border: 1px solid rgba(143, 200, 255, .22); background: radial-gradient(70% 55% at 105% -5%, rgba(79, 160, 255, .55), transparent 62%), radial-gradient(65% 55% at -10% 105%, rgba(122, 86, 240, .45), transparent 62%), linear-gradient(155deg, #0a1b45 0%, #102a66 55%, #0b1d4d 100%); box-shadow: 0 34px 60px -22px rgba(11, 29, 77, .55), 0 10px 22px rgba(11, 29, 77, .18), inset 0 1px 0 rgba(255, 255, 255, .14); }
.sw-clv-side::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px); background-size: 34px 34px; -webkit-mask-image: radial-gradient(90% 80% at 100% 0%, #000, transparent 75%); mask-image: radial-gradient(90% 80% at 100% 0%, #000, transparent 75%); }
.sw-clv-side::after { content: ""; position: absolute; top: -90px; right: -90px; z-index: -1; width: 260px; height: 260px; border-radius: 50%; border: 1px solid rgba(143, 200, 255, .25); box-shadow: 0 0 0 46px rgba(143, 200, 255, .05), 0 0 0 92px rgba(143, 200, 255, .03); }

/* 목록 체크 표시 v2: 청록 ✓ 글자 대신, 연한 파란 동그라미 안에 가는 체크를 그려 넣는다 */
.sw-card ul li { padding-left: 32px; }
.sw-card ul li::before { content: ""; top: .36em; left: 0; width: 20px; height: 20px; border-radius: 50%; background: #e4edfd; }
.sw-card ul li::after { content: ""; position: absolute; top: calc(.36em + 5px); left: 7px; width: 5px; height: 9px; border-right: 2px solid #2f6bd8; border-bottom: 2px solid #2f6bd8; transform: rotate(45deg); }

/* 가로 연혁 연도 선: 파란 빛이 왼쪽 연도에서 오른쪽 연도로 차례로 흘러가고, 빛이 닿는 순간 점이 한 번 커진다(6초 주기) */
.sw-htl-year > i { overflow: visible; }
.sw-htl-year > i::after { content: ""; position: absolute; top: -1px; left: 0; width: 100%; height: 4px; border-radius: 4px; background: linear-gradient(90deg, transparent, #2f6bd8 45%, #1ea9e0 55%, transparent); background-size: 45% 100%; background-repeat: no-repeat; background-position: -80% 0; opacity: 0; }
.sw-htl-panel.is-in .sw-htl-year > i::after { animation: sw-htl-flow 6s linear infinite; animation-delay: calc(var(--y, 0) * 1.1s + .8s); }
.sw-htl-panel.is-in .sw-htl-year > i::before { animation: sw-htl-dot 6s ease-out infinite; animation-delay: calc(var(--y, 0) * 1.1s + .8s); }
.sw-htl-year:nth-child(2) { --y: 1; } .sw-htl-year:nth-child(3) { --y: 2; } .sw-htl-year:nth-child(4) { --y: 3; } .sw-htl-year:nth-child(5) { --y: 4; } .sw-htl-year:nth-child(6) { --y: 5; } .sw-htl-year:nth-child(7) { --y: 6; }
@keyframes sw-htl-flow { 0% { background-position: -80% 0; opacity: 1; } 20% { background-position: 180% 0; opacity: 1; } 21%, 100% { background-position: 180% 0; opacity: 0; } }
@keyframes sw-htl-dot { 0% { box-shadow: 0 0 0 5px rgba(47, 107, 216, .16); transform: translateY(-50%) scale(1); } 5% { box-shadow: 0 0 0 10px rgba(47, 107, 216, .28); transform: translateY(-50%) scale(1.25); } 16%, 100% { box-shadow: 0 0 0 5px rgba(47, 107, 216, .16); transform: translateY(-50%) scale(1); } }
.sw-htl.is-hold .sw-htl-year > i::after, .sw-htl.is-hold .sw-htl-year > i::before { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .sw-htl-year > i::after, .sw-htl-year > i::before { animation: none !important; } }

/* 운영 방법론 소개 문장: 주요 단어만 파란색으로 */
.sw-opm-sec .sw-lead strong { color: #2f6bd8; font-weight: 700; }

/* 연혁 탭 설명 글씨 키움 */
.sw-htl-tabs button small { font-size: calc(1rem + 1pt); }

/* UMS 통합메시지(사업분야): 수치 띠 · 서비스 형태(+로 이은 네 항목) · 등록/적용 줄 목록 · 다섯 채널 · 5단계 흐름 */
.sw-page-hero ~ .sw-section .sw-lead strong { color: #2f6bd8; font-weight: 700; }
.sw-msg-stats, .sw-msg-two { width: min(1100px, calc(100vw - 48px)); max-width: none !important; margin-left: auto !important; margin-right: auto !important; }
.sw-msg-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 44px !important; padding: 0 !important; border-radius: 22px; background: radial-gradient(60% 120% at 100% 0%, rgba(79, 160, 255, .5), transparent 62%), radial-gradient(50% 110% at 0% 100%, rgba(122, 86, 240, .38), transparent 62%), linear-gradient(155deg, #0a1b45, #102a66); box-shadow: 0 30px 56px -24px rgba(11, 29, 77, .5); list-style: none; overflow: hidden; }
.sw-msg-stats li { padding: 34px 30px; }
.sw-msg-stats li + li { border-left: 1px solid rgba(255, 255, 255, .14); }
.sw-msg-stats b { display: flex; align-items: baseline; gap: 8px; color: #fff; font-size: clamp(2.2rem, 3.6vw, 3.1rem); font-weight: 900; letter-spacing: -.03em; line-height: 1; }
.sw-msg-stats i { color: #8fc8ff; font-size: calc(1rem + 1pt); font-style: normal; font-weight: 800; letter-spacing: 0; }
.sw-msg-stats span { display: block; margin-top: 14px; color: rgba(255, 255, 255, .78); font-size: calc(1rem + 1pt); line-height: 1.6; word-break: keep-all; }
.sw-msg-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); margin-top: 64px !important; }
.sw-msg-plus { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 0; margin: 0 !important; }
.sw-msg-plus span { padding: 12px 20px; border-radius: 12px; background: #eaf1fd; color: #13306e; font-size: calc(1.05rem + 1pt); font-weight: 800; }
.sw-msg-plus span + span::before { content: "+"; display: inline-block; margin: 0 14px 0 -34px; color: #2f6bd8; font-weight: 900; transform: translateX(-12px); }
.sw-msg-plus span + span { margin-left: 34px; }
.sw-msg-note { margin: 22px 0 0 !important; color: #3b4658; font-size: calc(1.02rem + 1pt); line-height: 1.8; word-break: keep-all; }
.sw-msg-refs ul { margin: 0 !important; padding: 0 !important; border-top: 2px solid #13306e; list-style: none; }
.sw-msg-refs li { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 12px; padding: 18px 4px; border-bottom: 1px solid #d9e1ee; font-size: calc(1.02rem + 1pt); line-height: 1.6; }
.sw-msg-refs b { color: #2f6bd8; font-weight: 800; }
.sw-msg-refs span { color: #26334a; word-break: keep-all; }
.sw-aio.is-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.sw-aio.is-5 li { padding: 28px 22px; background: #fff; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 22%, #fff); }
.sw-aio.is-5 li.is-d { --c: #0e9f8a; } .sw-aio.is-5 li.is-e { --c: #c98a00; }
.sw-aio.is-5 b { margin-top: 0; color: var(--c); font-size: calc(1.2rem + 1pt); }
.sw-aio.is-5 p { margin: 12px 0 20px !important; font-size: calc(1rem + 1pt); line-height: 1.7; }
.sw-aio.is-5 .sw-aio-tags span { background: color-mix(in srgb, var(--c) 10%, #fff); }
.sw-msg-proc .sw-aif { margin-top: 44px !important; }
.sw-aif-steps.is-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 34px; }
.sw-aif-steps.is-5 > li { justify-content: flex-start; padding: 24px 20px; background: #fff; }
.sw-aif-steps.is-5 > li.is-ai { background: linear-gradient(140deg, #13306e, #2f6bd8); }
.sw-aif-steps.is-5 > li + li::before { left: -28px; width: 18px; }
.sw-aif-steps.is-5 > li + li::after { left: -15px; }
.sw-msg-proc .sw-media-frame { margin-top: 44px !important; }
@media (max-width: 900px) { .sw-msg-stats { grid-template-columns: 1fr 1fr; } .sw-msg-stats li + li { border-left: 0; } .sw-msg-two { grid-template-columns: 1fr; } .sw-aio.is-5 { grid-template-columns: 1fr 1fr; } .sw-aif-steps.is-5 { grid-template-columns: 1fr; } }


/* 도입 전 · 후: 가운데 화살표만 남기고, 도입 후 칸 안의 체크 동그라미는 뺀다(표시가 둘이면 겹쳐 보임) */
.sw-asis-after::before, .sw-asis-after::after { display: none !important; }
.sw-asis-after { padding-left: 26px !important; }
/* 클로비 시연 상자(.sw-demo[data-sw-demo])가 체험하기 창(.sw-demo)과 이름이 같아 가려지던 것을 되돌린다 */
.sw-demo[data-sw-demo] { position: relative; inset: auto; z-index: auto; display: block; place-items: normal; padding: 0; opacity: 1; transition: none; }

/* SUMS 옮겨 온 섹션: 표 폭을 본문 폭에 맞추고, 섹션 안 묶음 사이 간격을 넓힌다 */
.sw-moved-doc .sw-table-wrap { max-width: var(--wp--style--global--wide-size, 1100px) !important; margin-left: auto !important; margin-right: auto !important; }
.sw-moved-doc .sw-media-frame + .sw-media-frame { margin-top: 72px !important; }
.sw-moved-doc .sw-media-frame > .sw-section-heading:not(:first-child) { margin-top: 64px !important; }
.sw-moved-doc .sw-media-frame > .sw-section-heading h2, .sw-moved-doc .sw-media-frame > .sw-section-heading h3 { font-size: clamp(1.5rem, 2.2vw, 1.9rem) !important; }

/* 매거진 분류(영문 탭): 글자 간격을 조금 넓히고, TECH TREND 글의 분류 색을 따로 준다 */
.sw-mz-tabs a { letter-spacing: .04em; }
.sw-mz-card.is-tech small { color: #0e9f8a; }

/* 휴대폰 화면: 줄 표(.sw-opm)는 한 칸으로 쌓고, 방법론 흐름의 되돌아오는 표시는 줄바꿈 허용 */
@media (max-width: 900px) {
  .sw-opm-head { display: none !important; }
  .sw-opm-rows li { grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; padding: 26px 4px !important; }
  .sw-opm-no { position: static !important; }
  .sw-opm-rows b { padding-left: 0 !important; }
  .sw-msg-plus span + span { margin-left: 30px; }
}

/* 메시징 서비스 형태: + 기호를 네 항목 사이 정가운데에 둔다 */
.sw-msg-plus { gap: 12px 0 !important; }
.sw-msg-plus span { position: relative; }
.sw-msg-plus span + span { margin-left: 40px !important; }
.sw-msg-plus span + span::before { position: absolute; top: 50%; left: -20px; margin: 0 !important; line-height: 1; transform: translate(-50%, -50%) !important; }

/* 매거진 분류 탭 움직임: 글자색이 왼쪽에서 차오르고 밑줄이 왼쪽에서 그려진다. 고른 탭의 밑줄은 들어올 때 한 번 그려진다 */
.sw-mz-tabs a { background: linear-gradient(90deg, #13306e 50%, #8a97ad 50%); background-size: 200% 100%; background-position: 100% 0; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; transition: background-position .45s ease; }
.sw-mz-tabs a:hover, .sw-mz-tabs a[aria-current="true"] { background-position: 0 0; }
.sw-mz-tabs a::after { background: linear-gradient(90deg, #2f6bd8, #1ea9e0); transform-origin: left; transition: transform .45s ease; }
.sw-mz-tabs a:hover::after { transform: scaleX(1); }
.sw-mz-tabs a[aria-current="true"]::after { animation: sw-mz-draw .7s ease both; }
@keyframes sw-mz-draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) { .sw-mz-tabs a[aria-current="true"]::after { animation: none; } }

/* 채용분야 카드: 배경 무늬가 비쳐 글이 묻히던 것 → 카드를 불투명한 남색으로 채우고 테두리 · 글자 대비를 높인다 */
.sw-positions .sw-card { background: linear-gradient(160deg, #1a2b63, #121d49) !important; border: 1px solid rgba(143, 200, 255, .32) !important; backdrop-filter: none; box-shadow: 0 18px 36px rgba(0, 0, 0, .35); }
.sw-positions .sw-card:hover { background: linear-gradient(160deg, #213678, #16245a) !important; border-color: rgba(143, 200, 255, .7) !important; }
.sw-positions .sw-card p { color: #e6ecf8 !important; }
.sw-positions .sw-card .sw-position-en { color: #8fc8ff !important; }
.sw-positions .sw-lead { color: rgba(255, 255, 255, .85) !important; }

/* 연혁 탭 설명: 글씨를 키우고, 차례가 온(고른) 탭의 설명은 굵은 파란 글씨로 강조한다 */
.sw-htl-tabs button small { font-size: calc(1.12rem + 1pt); font-weight: 500; transition: color .3s, font-weight .3s; }
.sw-htl-tabs button[aria-selected="true"] small { color: #2f6bd8; font-weight: 800; }
.sw-htl-tabs button[aria-selected="true"] b { font-size: clamp(1.2rem, 1.7vw, 1.5rem); }

/* 연혁 연도 숫자: 왼쪽 연도에서 오른쪽 연도로 갈수록 남색 → 파랑 → 하늘색으로 차례로 밝아진다(점도 같은 색) */
.sw-htl-year > b, .sw-htl-year:last-child > b { color: color-mix(in srgb, #1ea9e0 calc(var(--y, 0) * 20%), #13306e); }
.sw-htl-year > i::before { background: color-mix(in srgb, #1ea9e0 calc(var(--y, 0) * 20%), #13306e); }

/* 매거진 분류: 포트폴리오와 같은 알약 버튼(아이콘 · 이름 · 글 수), 분류마다 색과 아이콘 */
.sw-mz-pills { margin-bottom: 40px !important; }
.sw-pf-tabs a[data-cat="mz-news"] { --c: #1f6fe5; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h13v14H6a2 2 0 0 1-2-2zM17 9h3v8a2 2 0 0 1-2 2M8 9h5M8 13h5'/%3E%3C/svg%3E"); }
.sw-pf-tabs a[data-cat="mz-insight"] { --c: #6a3df0; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4M12 3a6 6 0 0 0-3.500 10.900c.600.500 1 1.200 1 2.100h5c0-.900.400-1.600 1-2.100A6 6 0 0 0 12 3z'/%3E%3C/svg%3E"); }
.sw-pf-tabs a[data-cat="mz-tech"] { --c: #0d8a74; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='7' width='10' height='10' rx='1.500'/%3E%3Cpath d='M10 3v4M14 3v4M10 17v4M14 17v4M3 10h4M3 14h4M17 10h4M17 14h4'/%3E%3C/svg%3E"); }
.sw-pf-tabs a[data-cat="mz-life"] { --c: #e0457d; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 20c0-3.300 2.700-6 6-6s6 2.700 6 6'/%3E%3Ccircle cx='17' cy='9' r='2.300'/%3E%3Cpath d='M17 14c2.400.200 4 2.200 4 4.800'/%3E%3C/svg%3E"); }

/* 휴대폰 화면 좌우 넘침 정리: 바닥글(한 칸으로 쌓기 · 전화번호 한 줄), Mobile App 휴대폰 3대, SCOS 서비스 맵, 연혁 */
@media (max-width: 1100px) {
  .sw-foot2-main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; row-gap: 32px; }
}
@media (max-width: 640px) {
  .sw-foot2-main { grid-template-columns: minmax(0, 1fr) !important; }
  .sw-foot2-tel { font-size: calc(1.7rem + 1pt) !important; white-space: nowrap; }
  .sw-foot2-actions { flex-wrap: wrap; }
  .sw-foot2-family ul { right: auto; left: 0; }
  .sw-mob-ov { grid-template-columns: minmax(0, 1fr) !important; }
  .sw-mob-phones { gap: 8px; min-height: 300px; }
  .sw-mob-phone { width: 96px !important; height: 204px !important; padding: 12px 10px; border-width: 4px; border-radius: 22px; }
  .sw-mob-phone.is-b { height: 232px !important; }
  .sw-mob-phone b { font-size: 12px; } .sw-mob-phone em { font-size: 10px; }
  .sw-mob-phone.has-img .sw-mob-fg { top: 26px; }
  .sw-dg.sw-scosmap { max-width: 100%; box-sizing: border-box; overflow-x: auto; }
}

/* 휴대폰 화면: 솔루션 페이지 상단 제품명은 한 줄로 줄이고('by skyware' 숨김), 연혁은 연도를 세로로 쌓는다 */
@media (max-width: 640px) {
  .sw-product-brand { min-width: 0; }
  .sw-product-brand a { white-space: nowrap; }
  .sw-product-brand strong { font-size: calc(1.05rem + 1pt) !important; }
  .sw-product-brand span { display: none; }
  .sw-product-header .sw-header-inner { gap: 10px !important; }
  .sw-htl-track { grid-auto-flow: row !important; grid-auto-columns: auto !important; grid-template-columns: minmax(0, 1fr); gap: 34px; overflow: visible !important; padding: 28px 0 0 !important; }
  .sw-htl-year { padding-right: 0; }
  .sw-htl-nav { display: none; }
}
@media (max-width: 640px) { .sw-htl .sw-htl-panel .sw-htl-track { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; } .sw-htl-year { min-width: 0; } }

/* ---------------------------------------------------------------------------
   제품 페이지 '특징별 세부 내용' 표 (.sw-feature-table)
   - 특징마다 번호 배지 + 고유 색상(왼쪽 색띠, 연한 배경)으로 행을 구분
   - '·' 로 이어지던 세부 설명은 불릿 목록으로 분리
   --------------------------------------------------------------------------- */
.sw-table-wrap .sw-feature-table table { min-width: 640px; border-collapse: separate; border-spacing: 0; }
.sw-feature-table thead th:first-child { width: 236px; }
.sw-feature-table tbody tr { --ft: #2f6fd6; --ft-bg: #eef4ff; }
.sw-feature-table tbody tr:nth-child(2) { --ft: #0f9d8a; --ft-bg: #e8f7f4; }
.sw-feature-table tbody tr:nth-child(3) { --ft: #7a5cd6; --ft-bg: #f1edfb; }
.sw-feature-table tbody tr:nth-child(4) { --ft: #d9781a; --ft-bg: #fff4e8; }
.sw-feature-table tbody tr:nth-child(5) { --ft: #d33a6a; --ft-bg: #fdedf3; }
.sw-feature-table tbody tr:nth-child(6) { --ft: #4b6b8f; --ft-bg: #eef2f7; }
.sw-feature-table tbody td { vertical-align: top; }
.sw-feature-table tbody td:first-child { position: relative; padding-left: 26px; background: var(--ft-bg); color: var(--sw-ink); font-weight: 700; line-height: 1.5; }
.sw-feature-table tbody td:first-child::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--ft); }
.sw-feature-table .sw-ft-badge { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; margin-right: 10px; border-radius: 50%; background: var(--ft); color: #fff; font-size: .8rem; font-weight: 800; line-height: 1; vertical-align: middle; }
.sw-feature-table .sw-ft-name { display: inline; vertical-align: middle; word-break: keep-all; }
.sw-feature-table tbody tr:nth-child(even) td:last-child { background: #fafcff; }
.sw-feature-table .sw-ft-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.sw-feature-table .sw-ft-list li { position: relative; padding-left: 18px; line-height: 1.65; word-break: keep-all; }
.sw-feature-table .sw-ft-list li::before { content: ""; position: absolute; left: 0; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: var(--ft); }
@media (max-width: 720px) {
  .sw-table-wrap .sw-feature-table table { min-width: 0; }
  .sw-feature-table thead th:first-child { width: 40%; }
  .sw-feature-table tbody td:first-child { padding-left: 18px; }
  .sw-feature-table .sw-ft-badge { display: flex; margin: 0 0 6px; }
}

/* ---------------------------------------------------------------------------
   홈 WHAT WE DO 번호(01·02·03): 투명 글자 + text-stroke 만 쓰면 가변 글꼴의
   겹친 윤곽선(특히 '3')이 안쪽에 비쳐 보인다. 외곽선을 먼저 그리고 그 위를
   배경색으로 채워(paint-order) 겉 윤곽만 남긴다.
   --------------------------------------------------------------------------- */
.sw-wwd-no { color: #fff; -webkit-text-fill-color: #fff; -webkit-text-stroke: 1.5px color-mix(in srgb, var(--a) 45%, #fff); paint-order: stroke fill; }
.sw-wwd-item:hover .sw-wwd-no { color: var(--a); -webkit-text-fill-color: var(--a); -webkit-text-stroke-color: rgba(255, 255, 255, .6); }

/* 홈 WHAT WE DO 번호 디자인 보강: 그라디언트 채움 숫자 + 짧은 강조 바 + 은은한 글로우 */
.sw-wwd-no { position: relative; display: inline-block; padding-bottom: 14px; color: var(--a); -webkit-text-fill-color: transparent; -webkit-text-stroke: 0; background: linear-gradient(135deg, var(--a), var(--b)); -webkit-background-clip: text; background-clip: text; letter-spacing: -.03em; }
.sw-wwd-no::before { content: ""; position: absolute; left: -14px; top: -10px; width: 64px; height: 64px; border-radius: 50%; z-index: -1; background: radial-gradient(circle, color-mix(in srgb, var(--b) 22%, transparent), transparent 70%); }
.sw-wwd-no::after { content: ""; position: absolute; left: 2px; bottom: 0; width: 34px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--a), var(--b)); }
.sw-wwd-item:hover .sw-wwd-no { background: linear-gradient(135deg, #fff, rgba(255, 255, 255, .75)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.sw-wwd-item:hover .sw-wwd-no::before { background: radial-gradient(circle, rgba(255, 255, 255, .18), transparent 70%); }
.sw-wwd-item:hover .sw-wwd-no::after { background: rgba(255, 255, 255, .85); }

/* 사업분야 '수행 사례' 카드: 띄어쓰기 없는 긴 제목(예: 한국신용평가"KMS"도미노지식기반시스템)이
   keep-all 때문에 줄바꿈되지 못하고 카드 밖으로 넘쳐 잘리던 문제. 넘칠 때만 글자 단위로 줄바꿈한다. */
.sw-case-card .sw-case-body { min-width: 0; }
.sw-case-card .sw-case-body b, .sw-case-card .sw-case-body small { display: block; max-width: 100%; word-break: keep-all; overflow-wrap: anywhere; }

/* ---------------------------------------------------------------------------
   HTML 아키텍처 그림(.sw-dg) 강조 · 확대
   - 본문(wide) 폭보다 넓게(최대 1320px) 빠져나와 더 크게 보이도록
   - 노드 · 제목 글자 크기를 한 단계 키움
   - 그라디언트 테두리, 상단 강조선, 캡션 바로 그림을 돋보이게
   --------------------------------------------------------------------------- */
.sw-dg:not(.sw-shr):not(.sw-scosmap) { --dgw: min(1320px, 100vw - 40px); box-sizing: border-box; width: var(--dgw); max-width: none; margin-inline: calc((100% - var(--dgw)) / 2) !important; }
.sw-dg { position: relative; padding: clamp(18px, 2.6vw, 32px); border: 1px solid transparent; border-radius: 26px; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #c9dcff, #e3dbff 48%, #c4efe8) border-box; box-shadow: 0 30px 64px rgba(16, 47, 103, .13); }
.sw-dg::after { content: ""; position: absolute; top: 0; left: 36px; right: 36px; height: 4px; border-radius: 0 0 6px 6px; background: linear-gradient(90deg, #2f6bd8, #7a4ce6 55%, #1ea9e0); }
.sw-dg-canvas { padding: clamp(18px, 3vw, 36px); border: 1px solid #e3eaf5; border-radius: 16px; background: radial-gradient(#cfd9e8 1.2px, transparent 1.5px) 0 0 / 16px 16px, linear-gradient(180deg, #f9fbfe, #f1f5fb); font-size: 15px; }
.sw-dg figcaption { display: flex; align-items: center; gap: 12px; margin: 18px 2px 0; padding: 13px 18px; border-radius: 14px; background: linear-gradient(90deg, #eef3fb, #f6f8fc); color: #13306e; font-size: calc(1rem + 1pt); font-weight: 700; }
.sw-dg figcaption::before { content: ""; flex: 0 0 auto; width: 10px; height: 10px; border-radius: 50%; background: linear-gradient(135deg, #2f6bd8, #1ea9e0); box-shadow: 0 0 0 4px rgba(47, 107, 216, .14); }
.sw-dg-gt { padding: 9px 12px; font-size: 14.5px; }
.sw-dg-node { padding: 10px 12px; border-radius: 10px; font-size: 14px; }
.sw-dg-bar { padding: 11px 14px; font-size: 14.5px; }
.sw-dg-gb small { font-size: 12.5px; }
.sw-dg-group { gap: 10px; padding: 14px; }
.sw-dg-group.is-main { gap: 14px; padding: 18px; }
.sw-dg-lane, .sw-dg-layer { grid-template-columns: 150px 1fr; padding: 12px; }
.sw-dg-lane > b, .sw-dg-layer > b { font-size: 14.5px; }
.sw-dg-db { height: 66px; font-size: 13px; }
.sw-dg-note { font-size: 13.5px; }
.sw-dg-arrow em { font-size: 11.5px; max-width: 110px; }
.sw-dg-chips .sw-dg-node { padding: 8px 14px; }
@media (max-width: 1023px) { .sw-dg:not(.sw-shr):not(.sw-scosmap) { --dgw: calc(100vw - 32px); } }
@media (max-width: 781px) { .sw-dg-canvas { font-size: 14px; } .sw-dg-node { font-size: 13px; } .sw-dg-lane, .sw-dg-layer { grid-template-columns: 1fr; } .sw-dg::after { left: 20px; right: 20px; } }

/* 카드 라벨(.sw-card-label: "WeChat Payment" 등) 앞의 세로 막대를 없애고,
   라벨 색을 따르는 그라디언트 배지 + 흰색 스파클 아이콘으로 교체 */
.sw-card-label::before { content: ""; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 9px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 2.5c.4 3.9 2.6 6.1 6.5 6.5-3.9.4-6.1 2.6-6.5 6.5-.4-3.9-2.6-6.1-6.5-6.5 3.9-.4 6.1-2.6 6.5-6.5z'/%3E%3Cpath d='M18.5 14c.2 2 1.3 3.1 3.3 3.3-2 .2-3.1 1.3-3.3 3.3-.2-2-1.3-3.1-3.3-3.3 2-.2 3.1-1.3 3.3-3.3z' opacity='.85'/%3E%3C/svg%3E") center / 18px 18px no-repeat, linear-gradient(135deg, currentColor, color-mix(in srgb, currentColor 62%, #fff)); box-shadow: 0 6px 14px color-mix(in srgb, currentColor 28%, transparent); }

/* ---------------------------------------------------------------------------
   홈 영상 히어로 이전/다음 조작부 확대 + 장 전환을 부드럽게
   - 화살표: 얇은 꺾쇠 → 64px 유리 원형 버튼(테두리·블러) 안의 굵은 꺾쇠
   - 점: 4px 선 → 6px 막대, 현재 장은 84px 로 늘어나며 남은 시간이 채워짐
   - 장 전환: 1초 크로스페이드 + 살짝 줌아웃
   --------------------------------------------------------------------------- */
.sw-vhero-arrow { width: 64px !important; height: 64px !important; border: 1px solid rgba(255, 255, 255, .45) !important; border-radius: 50% !important; background: rgba(10, 24, 56, .35) !important; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 10px 28px rgba(0, 0, 0, .25); transition: background .25s ease, border-color .25s ease, transform .25s ease !important; }
.sw-vhero-arrow::before { width: 18px !important; height: 18px !important; border-width: 3px !important; border-color: #fff !important; border-radius: 1px; }
.sw-vhero-arrow:first-child { left: clamp(14px, 4vw, 56px) !important; }
.sw-vhero-arrow:first-child::before { transform: translate(-30%, -50%) rotate(-45deg) !important; }
.sw-vhero-arrow:last-child { right: clamp(14px, 4vw, 56px) !important; }
.sw-vhero-arrow:last-child::before { transform: translate(-70%, -50%) rotate(135deg) !important; }
.sw-vhero-arrow:hover { background: #fff !important; border-color: #fff !important; transform: translateY(-50%) scale(1.06) !important; }
.sw-vhero-arrow:hover::before { border-color: #13306e !important; }
.sw-vhero-dots { bottom: 44px !important; gap: 12px !important; padding: 10px 14px; border-radius: 99px; background: rgba(10, 24, 56, .28); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.sw-vhero-dots button { width: 16px !important; height: 6px !important; border-radius: 3px !important; background: rgba(255, 255, 255, .5) !important; }
.sw-vhero-dots button:hover { background: rgba(255, 255, 255, .85) !important; }
.sw-vhero-dots button[aria-current="true"] { width: 84px !important; background: rgba(255, 255, 255, .32) !important; }
.sw-vslide { transition: opacity 1s ease, transform 1.2s ease !important; }
.sw-vslide:not(.is-active) { opacity: 0; transform: scale(1.04); }
.sw-vslide.is-active { opacity: 1; transform: none; }
@media (max-width: 781px) {
  .sw-vhero-arrow { width: 46px !important; height: 46px !important; }
  .sw-vhero-arrow::before { width: 13px !important; height: 13px !important; }
  .sw-vhero-dots { bottom: 26px !important; }
}

/* ---------------------------------------------------------------------------
   대문자 소제목(eyebrow · kicker · 작은 라벨) 서체 교체 + 그라데이션
   - 서체: Montserrat(기하학적 산세리프, functions.php 에서 함께 불러옴)
   - 색: 각 페이지의 소제목 색(currentColor)을 기준으로 가운데가 밝아지는 그라데이션
   --------------------------------------------------------------------------- */
.sw-ums-eyebrow, .sw-sol-card .sw-sol-sub, .sw-biz2-item small, .sw-mth-eyebrow, .sw-promo-kicker, .sw-demo-kicker, .sw-ums-stat-label, .sw-vhero-label, .sw-asis-label {
  font-family: Montserrat, Roboto, 'Noto Sans KR', sans-serif; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
}
.sw-ums-eyebrow, .sw-sol-card .sw-sol-sub, .sw-mth-eyebrow, .sw-promo-kicker, .sw-demo-kicker, .sw-vhero-label {
  background: linear-gradient(90deg, currentColor 0%, color-mix(in srgb, currentColor 45%, #fff) 50%, currentColor 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
/* 소제목 양옆 장식선은 그라데이션 클리핑과 무관하게 현재 색으로 그린다 */
.sw-ums-head .sw-ums-eyebrow::before, .sw-ums-head .sw-ums-eyebrow::after, .sw-hub-sec .sw-ums-eyebrow::before, .sw-hub-sec .sw-ums-eyebrow::after { -webkit-text-fill-color: initial; }

/* 특징별 세부 내용 표: 다섯 가지 색 → 네이비·블루 한 계열로 차분하게. 행마다 명도만 조금씩 다르다. */
.sw-feature-table tbody tr:nth-child(1) { --ft: #1f3f8f; --ft-bg: #f3f6fc; }
.sw-feature-table tbody tr:nth-child(2) { --ft: #2653ad; --ft-bg: #f3f6fc; }
.sw-feature-table tbody tr:nth-child(3) { --ft: #2f6bd8; --ft-bg: #f3f6fc; }
.sw-feature-table tbody tr:nth-child(4) { --ft: #3a7fe0; --ft-bg: #f3f6fc; }
.sw-feature-table tbody tr:nth-child(5) { --ft: #4b93e6; --ft-bg: #f3f6fc; }
.sw-feature-table tbody tr:nth-child(6) { --ft: #5aa3ea; --ft-bg: #f3f6fc; }
.sw-feature-table tbody tr:nth-child(even) td:last-child { background: #fbfcfe; }
.sw-feature-table .sw-ft-list li::before { background: #2f6bd8; opacity: .75; }
.sw-feature-table tbody td:first-child::before { width: 4px; }

/* ---------------------------------------------------------------------------
   제품 페이지 '8가지 설계' 카드(.sw-ums-perf-item)
   - 카드마다 다른 강조색(--pa): 안쪽 배경 틴트 · 번호 · 테두리 · 글로우에 반영
   - 등장: 화면에 들어오면 차례로 떠오름(JS 가 .sw-ums-perf 에 is-in 을 붙인다)
   - 호버: 살짝 떠오르며 빛이 스치고 번호 밑줄이 길어진다
   --------------------------------------------------------------------------- */
.sw-ums-perf-item { --pa: #6fe0c4; position: relative; overflow: hidden; isolation: isolate; border-color: color-mix(in srgb, var(--pa) 32%, transparent) !important; background: radial-gradient(120% 90% at 0% 0%, color-mix(in srgb, var(--pa) 16%, transparent), transparent 55%), linear-gradient(160deg, color-mix(in srgb, var(--pa) 9%, rgba(255, 255, 255, .05)), rgba(255, 255, 255, .025)) !important; transition: transform .35s cubic-bezier(.2, .7, .2, 1), border-color .35s ease, box-shadow .35s ease; }
.sw-ums-perf-item:nth-child(1) { --pa: #6fe0c4; }
.sw-ums-perf-item:nth-child(2) { --pa: #58c9ff; }
.sw-ums-perf-item:nth-child(3) { --pa: #9be56b; }
.sw-ums-perf-item:nth-child(4) { --pa: #5ee7df; }
.sw-ums-perf-item:nth-child(5) { --pa: #8fb8ff; }
.sw-ums-perf-item:nth-child(6) { --pa: #ffd98a; }
.sw-ums-perf-item:nth-child(7) { --pa: #7df0a8; }
.sw-ums-perf-item:nth-child(8) { --pa: #c3a8ff; }
.sw-ums-perf-item::before { position: relative; padding-bottom: 10px; color: var(--pa) !important; }
.sw-ums-perf-item::before { background: linear-gradient(90deg, var(--pa), var(--pa)) no-repeat 0 100% / 22px 2px; transition: background-size .4s ease; }
.sw-ums-perf-item::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(115deg, transparent 30%, color-mix(in srgb, var(--pa) 22%, transparent) 50%, transparent 70%); transform: translateX(-120%); transition: transform .9s ease; }
.sw-ums-perf-item:hover { transform: translateY(-6px); border-color: color-mix(in srgb, var(--pa) 70%, transparent) !important; box-shadow: 0 22px 44px rgba(0, 0, 0, .28), 0 0 0 1px color-mix(in srgb, var(--pa) 30%, transparent), 0 0 40px color-mix(in srgb, var(--pa) 18%, transparent); }
.sw-ums-perf-item:hover::before { background-size: 64px 2px; }
.sw-ums-perf-item:hover::after { transform: translateX(120%); }
.sw-ums-perf-item h3 { transition: color .3s ease; }
.sw-ums-perf-item:hover h3 { color: color-mix(in srgb, var(--pa) 55%, #fff); }
/* 등장 애니메이션 */
.sw-ums-perf.is-armed .sw-ums-perf-item { opacity: 0; transform: translateY(26px); }
.sw-ums-perf.is-in .sw-ums-perf-item { animation: sw-perf-in .75s cubic-bezier(.2, .7, .2, 1) both; }
.sw-ums-perf.is-in .sw-ums-perf-item:nth-child(1) { animation-delay: 0ms; }
.sw-ums-perf.is-in .sw-ums-perf-item:nth-child(2) { animation-delay: 90ms; }
.sw-ums-perf.is-in .sw-ums-perf-item:nth-child(3) { animation-delay: 180ms; }
.sw-ums-perf.is-in .sw-ums-perf-item:nth-child(4) { animation-delay: 270ms; }
.sw-ums-perf.is-in .sw-ums-perf-item:nth-child(5) { animation-delay: 360ms; }
.sw-ums-perf.is-in .sw-ums-perf-item:nth-child(6) { animation-delay: 450ms; }
.sw-ums-perf.is-in .sw-ums-perf-item:nth-child(7) { animation-delay: 540ms; }
.sw-ums-perf.is-in .sw-ums-perf-item:nth-child(8) { animation-delay: 630ms; }
@keyframes sw-perf-in { from { opacity: 0; transform: translateY(26px) scale(.98); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .sw-ums-perf.is-armed .sw-ums-perf-item { opacity: 1; transform: none; animation: none !important; } .sw-ums-perf-item, .sw-ums-perf-item::after { transition: none; } }

/* ---------------------------------------------------------------------------
   섹션 라벨 통일
   - 사업분야 페이지의 왼쪽 정렬 섹션 제목(.sw-section-heading)에도 "── 개요" 식 라벨을 쓴다.
     가운데 정렬(.sw-ums-head)은 양쪽 선, 왼쪽 정렬은 앞쪽 선 하나.
   - 상담 박스(CTA)의 영문 "CONTACT US" 라벨은 제거
   --------------------------------------------------------------------------- */
.sw-section-heading .sw-ums-eyebrow { display: flex; align-items: center; gap: 14px; margin: 0 0 14px !important; }
.sw-section-heading .sw-ums-eyebrow::before { content: ""; flex: 0 0 auto; width: 40px; height: 1px; background: currentColor; opacity: .5; -webkit-text-fill-color: initial; }
.sw-section-heading .sw-ums-eyebrow + h2 { margin-top: 0 !important; }
.sw-page-hero .sw-section-heading .sw-ums-eyebrow, .sw-page-hero .sw-ums-eyebrow { color: #7cd0ff; }
.sw-cta.sw-cta > h2::before { content: none !important; }

/* ---------------------------------------------------------------------------
   Mobile App 페이지: 휴대폰 목업 클릭 애니메이션
   - 클릭한 휴대폰이 앞으로 튀어나오며(스프링 곡선) 똑바로 서고, 나머지는 살짝 뒤로 물러난다.
   - 다시 클릭하거나 바깥을 클릭하면 원래 배치로 돌아간다. JS 가 없으면 그냥 정적 배치.
   --------------------------------------------------------------------------- */
.sw-mob-phone { cursor: pointer; transition: transform .6s cubic-bezier(.34, 1.56, .64, 1), box-shadow .5s ease, filter .45s ease; will-change: transform; }
.sw-mob-phone.has-img .sw-mob-fg { transition: transform .6s cubic-bezier(.34, 1.56, .64, 1); }
.sw-mob-phone.is-a:hover { transform: translateY(-32px) rotate(-6deg); }
.sw-mob-phone.is-b:hover { transform: translateY(-12px); }
.sw-mob-phone.is-c:hover { transform: translateY(-32px) rotate(6deg); }
.sw-mob-phone:hover { box-shadow: 0 36px 60px rgba(16, 47, 103, .32); }
.sw-mob-phones.has-active .sw-mob-phone.is-a:not(.is-active) { transform: translateY(4px) rotate(-10deg) scale(.9); }
.sw-mob-phones.has-active .sw-mob-phone.is-b:not(.is-active) { transform: translateY(10px) scale(.9); }
.sw-mob-phones.has-active .sw-mob-phone.is-c:not(.is-active) { transform: translateY(4px) rotate(10deg) scale(.9); }
.sw-mob-phones.has-active .sw-mob-phone:not(.is-active) { filter: brightness(.72) saturate(.8); }
.sw-mob-phone.is-active, .sw-mob-phone.is-active:hover { z-index: 5; filter: none; transform: translateY(-30px) scale(1.14) rotate(0deg); animation: sw-mob-glow 1.8s ease-in-out infinite alternate; }
.sw-mob-phone.is-active.has-img .sw-mob-fg { transform: translateY(-8px); }
@keyframes sw-mob-glow {
  from { box-shadow: 0 40px 70px rgba(16, 47, 103, .38), 0 0 0 0 rgba(47, 107, 255, .35); }
  to { box-shadow: 0 46px 80px rgba(16, 47, 103, .42), 0 0 0 14px rgba(47, 107, 255, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .sw-mob-phone, .sw-mob-phone.has-img .sw-mob-fg { transition: none; }
  .sw-mob-phone.is-active { animation: none; }
}

/* 사업분야 페이지 섹션 제목을 가운데 정렬(.sw-ums-head)로 통일하면서, 어두운 배경 섹션(SI·ITO 수행 방법론)의
   라벨·안내 문구가 배경에 묻히지 않게 한다. 제목(h2)은 기존 .sw-mth-sec h2 규칙으로 이미 흰색. */
.sw-mth-sec .sw-ums-eyebrow { color: #7cd0ff; }
.sw-mth-sec .sw-ums-lead { color: rgba(255, 255, 255, .72) !important; }

/* 기술지원 페이지 '접수 방법': 흰 배경이 밋밋해 은은한 그라데이션을 깐다. 카드도 각자 색(--c)으로 살짝 물들인다. */
.sw-contact-ways { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(180deg, #fff 0%, #eef4ff 38%, #dde8fb 100%); }
.sw-contact-ways::before { content: ""; position: absolute; z-index: -1; inset: 20% -10% -30% -10%; background: radial-gradient(45% 60% at 12% 100%, rgba(47, 107, 255, .26), transparent 70%), radial-gradient(42% 60% at 88% 95%, rgba(32, 184, 209, .24), transparent 70%); pointer-events: none; }
.sw-contact-ways .sw-link-card { border-color: color-mix(in srgb, var(--c) 18%, #fff); }
.sw-contact-ways .sw-link-card::before { background: linear-gradient(150deg, #fff 22%, color-mix(in srgb, var(--c) 10%, #fff) 62%, color-mix(in srgb, var(--c) 26%, #fff) 100%) !important; }

/* ---------------------------------------------------------------------------
   커머스 '구축 유형' 도식: 입점형(독립형) ∩ 역직구 = 플랫폼 솔루션, 아래에 StyleHows 플랫폼.
   HTML 블록(.sw-ecom-map) 하나로 그리며, 이미지가 아니라 글이라 수정·검색·확대가 된다.
   --------------------------------------------------------------------------- */
.sw-ecom-map { display: grid; grid-template-columns: minmax(0, 1fr) 360px minmax(0, 1fr); gap: 22px; align-items: stretch; margin-bottom: 36px; }
.sw-ecom-box { overflow: hidden; border: 1px solid #dde5f1; border-radius: 16px; background: linear-gradient(180deg, #fff, #f5f8fd); box-shadow: 0 14px 34px rgba(16, 47, 103, .06); }
.sw-ecom-box h3 { display: flex; align-items: center; gap: 10px; margin: 0; padding: 15px 22px; background: linear-gradient(100deg, #0f2a5e, #1d4a9a); color: #fff; font-size: calc(1rem + 1pt); font-weight: 800; letter-spacing: -.01em; word-break: keep-all; }
.sw-ecom-box.is-store h3 { background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .05) 0 5px, transparent 5px 11px), linear-gradient(100deg, #0f2a5e, #1d4a9a); }
.sw-ecom-box h3 svg, .sw-ecom-platform-head > svg, .sw-ecom-circle svg { flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.sw-ecom-box h3 svg { width: 22px; height: 22px; }
.sw-ecom-box ul, .sw-ecom-platform ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.sw-ecom-box ul { padding: 20px 24px 24px; }
.sw-ecom-box li, .sw-ecom-platform li { position: relative; padding-left: 15px; color: #33405a; font-size: calc(.93rem + 1pt); line-height: 1.6; word-break: keep-all; }
.sw-ecom-box li::before, .sw-ecom-platform li::before { content: ""; position: absolute; top: .7em; left: 0; width: 5px; height: 5px; border-radius: 50%; background: #8a97b1; }
.sw-ecom-box li.is-hl { color: #2457c5; font-weight: 700; }
.sw-ecom-box li.is-hl::before { background: #2f6bff; }
.sw-ecom-venn { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 10px 0; }
.sw-ecom-rings { position: relative; width: 360px; height: 236px; }
.sw-ecom-circle { position: absolute; top: 0; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; width: 236px; height: 236px; border-radius: 50%; text-align: center; font-size: calc(1rem + 1pt); font-weight: 800; line-height: 1.3; letter-spacing: -.01em; }
.sw-ecom-circle svg { width: 36px; height: 36px; }
.sw-ecom-circle.is-a { left: 0; padding-right: 72px; background: radial-gradient(70% 70% at 30% 25%, #27529e, #10306b 70%); color: #fff; box-shadow: 0 16px 36px rgba(16, 47, 103, .28); }
.sw-ecom-circle.is-b { right: 0; padding-left: 72px; border: 1px solid #c9d5e8; background: rgba(224, 231, 243, .86); color: #13306e; box-shadow: 0 16px 36px rgba(16, 47, 103, .12); }
.sw-ecom-core { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 116px; height: 116px; border: 2px dashed #9eb2d4; border-radius: 50%; background: #fff; color: #13306e; font-size: calc(.98rem + 1pt); font-weight: 900; line-height: 1.3; text-align: center; transform: translate(-50%, -50%); box-shadow: 0 10px 24px rgba(16, 47, 103, .14); }
.sw-ecom-pin { position: relative; width: 2px; height: 40px; margin: 4px 0 2px; background: repeating-linear-gradient(180deg, #a9b8d3 0 4px, transparent 4px 8px); }
.sw-ecom-pin::after { content: ""; position: absolute; bottom: -4px; left: 50%; width: 9px; height: 9px; border-radius: 50%; background: #9eb2d4; transform: translateX(-50%); }
.sw-ecom-note { margin: 8px 0 0; padding: 15px 30px; border-radius: 999px; background: linear-gradient(100deg, #e8effb, #dfe9fa); color: #13306e; font-size: calc(.98rem + 1pt); font-weight: 800; line-height: 1.45; text-align: center; letter-spacing: -.01em; word-break: keep-all; }
.sw-ecom-platform { display: grid; grid-column: 1 / -1; grid-template-columns: 1.15fr 1fr 1.15fr; border: 1px solid #dde5f1; border-radius: 16px; background: #fff; box-shadow: 0 14px 34px rgba(16, 47, 103, .06); }
.sw-ecom-platform > * { padding: 24px 28px; }
.sw-ecom-platform > * + * { border-left: 1px solid #e4eaf4; }
.sw-ecom-platform-head { display: flex; align-items: center; gap: 16px; }
.sw-ecom-platform-head > svg { width: 48px; height: 48px; color: #13306e; }
.sw-ecom-platform-head b { display: block; color: #13306e; font-size: calc(1.08rem + 1pt); font-weight: 900; letter-spacing: -.01em; }
.sw-ecom-platform-head span { display: block; margin-top: 6px; color: #5a6782; font-size: calc(.9rem + 1pt); line-height: 1.55; word-break: keep-all; }
.sw-ecom-platform ul { align-content: center; }
@media (max-width: 1100px) { .sw-ecom-map { grid-template-columns: minmax(0, 1fr) 300px minmax(0, 1fr); } .sw-ecom-rings { width: 300px; height: 200px; } .sw-ecom-circle { width: 200px; height: 200px; font-size: calc(.9rem + 1pt); } .sw-ecom-circle.is-a { padding-right: 60px; } .sw-ecom-circle.is-b { padding-left: 60px; } .sw-ecom-core { width: 100px; height: 100px; } }
@media (max-width: 900px) { .sw-ecom-map { grid-template-columns: 1fr; } .sw-ecom-venn { order: -1; } .sw-ecom-platform { grid-template-columns: 1fr; } .sw-ecom-platform > * + * { border-left: 0; border-top: 1px solid #e4eaf4; } }
@media (max-width: 400px) { .sw-ecom-rings { width: 270px; height: 180px; } .sw-ecom-circle { width: 180px; height: 180px; gap: 6px; } .sw-ecom-circle svg { width: 28px; height: 28px; } .sw-ecom-circle.is-a { padding-right: 54px; } .sw-ecom-circle.is-b { padding-left: 54px; } .sw-ecom-core { width: 92px; height: 92px; } }

/* ---------------------------------------------------------------------------
   SI·ITO 수행 방법론 v3: 되돌아오는 선순환 선을 05 Operate 점에서 01 Discovery 점까지 끊김 없이 잇는다.
   05 점 → 오른쪽 끝 → 아래로 → 바닥 → 왼쪽 끝 → 위로 → ▶ 01 점. 별 하나가 메인 선과 이 루프 전체를 한 바퀴 돈다.
   좁은 화면(세로 배치)은 기존 그대로.
   --------------------------------------------------------------------------- */
@media (min-width: 901px) {
  .sw-mth { padding-bottom: 96px; }
  .sw-mth-loop { position: absolute; top: 9px; right: 0; bottom: 34px; left: 0; height: auto; margin: 0; border-color: rgba(143, 200, 255, .55); }
  /* 왼쪽 위: 왼쪽 끝에서 01 점까지 점선 + 화살표 */
  .sw-mth-loop::before { content: "\25B6"; top: -8px; left: 0; width: calc(10% - 13px); height: 16px; border: 0; color: #8fc8ff; font-size: 11px; line-height: 16px; text-align: right; background: repeating-linear-gradient(90deg, rgba(143, 200, 255, .55) 0 6px, transparent 6px 12px) 0 7px / calc(100% - 13px) 2px no-repeat; }
  /* 오른쪽 위: 05 점에서 오른쪽 끝까지 점선 */
  .sw-mth-loop::after { content: ""; top: -1px; right: 0; bottom: auto; left: calc(90% + 13px); width: auto; height: 2px; border-radius: 0; background: repeating-linear-gradient(90deg, rgba(143, 200, 255, .55) 0 6px, transparent 6px 12px); box-shadow: none; opacity: 1; }
  .sw-mth.is-in .sw-mth-loop::after { animation: none; }
  /* 별: 01 → 05 (메인 선) → 오른쪽 끝 → 아래 → 바닥 → 왼쪽 끝 → 위 → 01 */
  .sw-mth::before { top: 10px; left: 10%; margin: -6px 0 0 -6px; }
  .sw-mth.is-in::before { animation: sw-mth-orbit 12s 2s linear infinite; }
  @keyframes sw-mth-orbit {
    0% { left: 10%; top: 10px; opacity: 0; }
    3% { opacity: 1; }
    30% { left: 90%; top: 10px; }
    34% { left: calc(100% - 1px); top: 10px; }
    46% { left: calc(100% - 1px); top: calc(100% - 35px); }
    84% { left: 1px; top: calc(100% - 35px); }
    96% { left: 1px; top: 10px; }
    99% { left: 10%; top: 10px; opacity: 1; }
    100% { left: 10%; top: 10px; opacity: 0; }
  }
}

/* ---------------------------------------------------------------------------
   AI 비즈니스 'CLOUVI AI CX Console' 카드 v2: 콘솔 창처럼 — 상단 창 막대, 큰 제목, 기대 효과는 아이콘 타일 3개, 그라데이션 버튼.
   --------------------------------------------------------------------------- */
.sw-clv-side.is-console { padding: 0 0 34px; border: 1px solid rgba(143, 200, 255, .28); border-radius: 38px; background: radial-gradient(70% 50% at 100% 0%, rgba(79, 160, 255, .45), transparent 62%), radial-gradient(60% 50% at 0% 100%, rgba(122, 86, 240, .4), transparent 62%), linear-gradient(170deg, #0c1f4c, #0a1736 60%, #070f2a); box-shadow: 0 30px 60px rgba(7, 15, 42, .35); }
.sw-clv-side.is-console::after { top: -110px; right: -110px; }
.sw-clv-bar { display: flex; align-items: center; gap: 7px; padding: 14px 24px; border-bottom: 1px solid rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .05); }
.sw-clv-bar i { width: 10px; height: 10px; border-radius: 50%; background: #ff5f57; }
.sw-clv-bar i:nth-child(2) { background: #febc2e; }
.sw-clv-bar i:nth-child(3) { background: #28c840; }
.sw-clv-bar span { margin-left: 10px; color: rgba(255, 255, 255, .7); font-family: 'Roboto', 'Noto Sans KR', sans-serif; font-size: 12.5px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.sw-clv-bar em { margin-left: auto; padding: 2px 9px; border: 1px solid rgba(143, 200, 255, .4); border-radius: 99px; color: #8fc8ff; font-size: 11px; font-style: normal; font-weight: 700; letter-spacing: .08em; }
.sw-clv-side.is-console > p, .sw-clv-side.is-console > ul, .sw-clv-side.is-console > a { margin-left: 32px !important; margin-right: 32px !important; }
.sw-clv-side.is-console > .sw-clv-title { margin: 28px 32px 16px !important; font-size: calc(1.45rem + 1pt); line-height: 1.35; letter-spacing: -.02em; word-break: keep-all; }
.sw-clv-side.is-console > .sw-clv-title.is-sub { margin: 28px 32px 14px !important; padding-top: 0; border-top: 0; color: #8fc8ff; font-size: 12.5px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.sw-clv-eff.is-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.sw-clv-eff.is-tiles li { --t: #4f8cff; display: flex; flex-direction: column; gap: 8px; padding: 18px 16px 20px; border: 1px solid color-mix(in srgb, var(--t) 40%, transparent); border-radius: 22px; background: linear-gradient(160deg, color-mix(in srgb, var(--t) 22%, transparent), rgba(255, 255, 255, .03)); font-size: calc(.86rem + 1pt); line-height: 1.55; transition: transform .25s ease, border-color .25s ease; }
.sw-clv-eff.is-tiles li:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--t) 75%, #fff); }
.sw-clv-eff.is-tiles li.is-ops { --t: #22c3d6; }
.sw-clv-eff.is-tiles li.is-data { --t: #9b7bff; }
.sw-clv-eff.is-tiles svg { width: 26px; height: 26px; fill: none; stroke: color-mix(in srgb, var(--t) 70%, #fff); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sw-clv-eff.is-tiles b { color: #fff; font-size: calc(.98rem + 1pt); font-weight: 800; }
.sw-clv-eff.is-tiles span { color: rgba(255, 255, 255, .78); word-break: keep-all; }
.sw-clv-side.is-console .sw-clv-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 26px; padding: 13px 22px 13px 26px; border-radius: 99px; background: linear-gradient(100deg, #2f6bd8, #1ea9e0); color: #fff !important; box-shadow: 0 12px 28px rgba(47, 107, 216, .4); transition: transform .2s ease, box-shadow .2s ease; }
.sw-clv-side.is-console .sw-clv-link svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.sw-clv-side.is-console .sw-clv-link:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(47, 107, 216, .5); }
.sw-clv-side.is-console .sw-clv-link:hover svg { transform: translateX(4px); }
@media (max-width: 560px) { .sw-clv-eff.is-tiles { grid-template-columns: 1fr; } .sw-clv-eff.is-tiles li { flex-direction: row; align-items: center; gap: 12px; } .sw-clv-eff.is-tiles b { min-width: 52px; } .sw-clv-side.is-console > p, .sw-clv-side.is-console > ul, .sw-clv-side.is-console > a, .sw-clv-side.is-console > .sw-clv-title { margin-left: 22px !important; margin-right: 22px !important; } }

/* Mobile App '서비스 범위' 카드: 아이콘 색을 카드마다 다르게. 왼쪽 위에 같은 색의 옅은 빛을 깔아 카드도 구분된다. */
.sw-mob-scope li { --c1: #2f6bd8; --c2: #5fa8ff; position: relative; overflow: hidden; isolation: isolate; transition: transform .25s ease, box-shadow .25s ease; }
.sw-mob-scope li::before { content: ""; position: absolute; z-index: -1; top: -70px; left: -70px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--c1) 14%, transparent), transparent 70%); }
.sw-mob-scope li:hover { transform: translateY(-4px); box-shadow: 0 20px 44px color-mix(in srgb, var(--c1) 18%, transparent); }
.sw-mob-scope li:nth-child(2) { --c1: #6a3df0; --c2: #a98bff; }
.sw-mob-scope li:nth-child(3) { --c1: #1ea9e0; --c2: #5fd4ff; }
.sw-mob-scope li:nth-child(4) { --c1: #ef7d2a; --c2: #ffb067; }
.sw-mob-scope li:nth-child(5) { --c1: #d6457c; --c2: #ff7aa8; }
.sw-mob-scope li:nth-child(6) { --c1: #15a386; --c2: #5fdcc0; }
.sw-mob-scope span { background: linear-gradient(135deg, var(--c1), var(--c2)); box-shadow: 0 8px 18px color-mix(in srgb, var(--c1) 35%, transparent); }

/* 메시징 '운영 특징' 표: 제목 앞 아이콘. 줄에 마우스를 올려 강조될 때 아이콘이 파랗게 차오르며 살짝 기울어진다. */
.sw-opm-rows b:has(.sw-opm-ico) { display: flex; align-items: center; gap: 14px; }
.sw-opm-ico { display: inline-grid; flex: 0 0 auto; place-items: center; width: 44px; height: 44px; border-radius: 13px; background: #e6eefc; color: #2f6bd8; box-shadow: inset 0 0 0 1px rgba(47, 107, 216, .14); transition: background .3s ease, color .3s ease, transform .35s cubic-bezier(.34, 1.56, .64, 1), box-shadow .3s ease; }
.sw-opm-ico svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sw-opm-rows li:hover .sw-opm-ico { background: linear-gradient(135deg, #2f6bd8, #1ea9e0); color: #fff; transform: scale(1.1) rotate(-6deg); box-shadow: 0 10px 22px rgba(47, 107, 216, .35); }
@media (max-width: 560px) { .sw-opm-ico { width: 38px; height: 38px; border-radius: 11px; } .sw-opm-ico svg { width: 20px; height: 20px; } }
@media (prefers-reduced-motion: reduce) { .sw-opm-ico { transition: none; } .sw-opm-rows li:hover .sw-opm-ico { transform: none; } }

/* ---------------------------------------------------------------------------
   CLOUVI '질문에서 상품까지 네 단계' v2: 'STEP 01' 글자 라벨 대신 점선 위의 번호 점, 한 줄에 4단계, 카드 아래 예시 칩.
   --------------------------------------------------------------------------- */
.sw-steps.is-flow4 { position: relative; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.sw-steps.is-flow4::before { content: ""; position: absolute; top: 25px; left: 56px; right: 56px; height: 2px; background: repeating-linear-gradient(90deg, #b9cdf0 0 8px, transparent 8px 16px); }
.sw-steps.is-flow4 .sw-step { position: relative; margin-top: 26px; padding-top: 42px; border-radius: 22px; }
.sw-steps.is-flow4 .sw-step::after { display: none !important; }
.sw-steps.is-flow4 .sw-step .sw-step-no { position: absolute; top: -26px; left: 28px; display: grid; place-items: center; width: 52px; height: 52px; margin: 0; border: 4px solid #fff; border-radius: 50%; background: linear-gradient(135deg, #2f6bd8, #1ea9e0); color: #fff; font-size: calc(1rem + 1pt); font-weight: 900; letter-spacing: 0; box-shadow: 0 10px 24px rgba(47, 107, 216, .32); transition: transform .3s cubic-bezier(.34, 1.56, .64, 1); }
.sw-steps.is-flow4 .sw-step:nth-child(2) .sw-step-no { background: linear-gradient(135deg, #1ea9e0, #21a892); }
.sw-steps.is-flow4 .sw-step:nth-child(3) .sw-step-no { background: linear-gradient(135deg, #6a3df0, #2f6bd8); }
.sw-steps.is-flow4 .sw-step:nth-child(4) .sw-step-no { background: linear-gradient(135deg, #d6457c, #ff7aa8); }
.sw-steps.is-flow4 .sw-step:hover .sw-step-no { transform: scale(1.12) rotate(-8deg); }
.sw-steps.is-flow4 .sw-step h3 { margin: 0; font-size: calc(1.2rem + 1pt); }
.sw-steps.is-flow4 .sw-step .sw-step-en { margin: 3px 0 0; }
.sw-steps.is-flow4 .sw-step .sw-step-desc { border-top: 0; padding-top: 0; }
.sw-steps.is-flow4 .sw-step-ex { display: inline-flex; align-items: center; gap: 8px; margin: 16px 0 0; padding: 9px 14px; border-radius: 12px; background: #eef3fc; color: #2457c5; font-size: calc(.86rem + 1pt); font-weight: 600; line-height: 1.5; word-break: keep-all; }
.sw-steps.is-flow4 .sw-step-ex::before { content: ""; flex: 0 0 auto; width: 6px; height: 6px; border-radius: 50%; background: #2f6bd8; }
@media (max-width: 1000px) { .sw-steps.is-flow4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; } .sw-steps.is-flow4::before { display: none; } }
@media (max-width: 560px) { .sw-steps.is-flow4 { grid-template-columns: 1fr; gap: 22px; } }

/* 제품 헤더(UMS · SCOS · AI 플랫폼 · CLOUVI)의 '스카이웨어 홈' 링크: 회색 대신 브랜드 파랑 */
.sw-product-header .sw-nav-support > .wp-block-navigation-item__content { color: #2f6bd8 !important; opacity: 1 !important; font-weight: 700 !important; }
.sw-product-header .sw-nav-support > .wp-block-navigation-item__content:hover { color: #13306e !important; }

/* ---------------------------------------------------------------------------
   자료실 소개서 표지 v3: 오른쪽 위 큰 고리 + 아래 사선 줄무늬 띠 + 점 격자 + 사선 광택, 제목 옆 색 막대,
   키워드는 알약 칩, 오른쪽에 종이 단면, 마우스를 올리면 책이 살짝 기울어진다. (마크업 그대로, CSS만 교체)
   --------------------------------------------------------------------------- */
.sw-book2 { perspective: 1000px; }
.sw-book2-obj { transform-style: preserve-3d; transition: transform .5s cubic-bezier(.22, 1, .36, 1); }
.sw-book2-obj:hover { transform: translateY(-10px) rotateY(-7deg) rotateX(2deg); }
.sw-book2-obj::before { content: ""; position: absolute; top: 3%; right: -5px; bottom: 2%; z-index: -1; width: 5px; border-radius: 0 3px 3px 0; background: repeating-linear-gradient(180deg, #f3f6fa 0 2px, #c9d2df 2px 3px); }
.sw-book2-spine { border-right: 1px solid rgba(255, 255, 255, .12); background: linear-gradient(90deg, color-mix(in srgb, var(--a) 72%, #000), var(--a) 50%, color-mix(in srgb, var(--a) 62%, #fff)); }
.sw-book2-cover { isolation: isolate; padding: 11% 10% 9%;
  background:
    radial-gradient(rgba(255, 255, 255, .13) 1px, transparent 1.4px) 0 0 / 13px 13px,
    linear-gradient(115deg, transparent 42%, rgba(255, 255, 255, .11) 50%, transparent 58%),
    radial-gradient(60% 45% at 100% 0%, color-mix(in srgb, var(--c) 38%, transparent), transparent 70%),
    linear-gradient(160deg, var(--b) 0%, var(--a) 68%); }
.sw-book2-cover::after { content: ""; position: absolute; z-index: -1; top: -16%; right: -24%; width: 72%; aspect-ratio: 1; border: 13px solid color-mix(in srgb, var(--c) 48%, transparent); border-radius: 50%; box-shadow: 0 0 0 9px color-mix(in srgb, var(--c) 12%, transparent), inset 0 0 0 7px color-mix(in srgb, var(--c) 10%, transparent); }
.sw-book2-brand { display: inline-flex; align-items: center; gap: 6px; }
.sw-book2-brand::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--c); box-shadow: 0 0 10px var(--c); }
.sw-book2-cat { margin-top: 16%; }
.sw-book2-cover b { margin-top: 8px; padding-left: 10px; border-left: 3px solid var(--c); }
.sw-book2-cover em { padding-left: 13px; color: rgba(255, 255, 255, .86); }
.sw-book2-art { height: 34%; clip-path: polygon(0 38%, 100% 0, 100% 100%, 0 100%);
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, .09) 0 5px, transparent 5px 16px),
    linear-gradient(180deg, color-mix(in srgb, var(--c) 22%, transparent), color-mix(in srgb, var(--a) 70%, #000)); }
.sw-book2-kw { display: flex; flex-wrap: wrap; gap: 4px; align-content: flex-end; color: rgba(255, 255, 255, .8); font-size: 7.5px; letter-spacing: .12em; }
.sw-book2-kw span { padding: 2px 7px; border: 1px solid rgba(255, 255, 255, .32); border-radius: 99px; background: rgba(255, 255, 255, .08); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .sw-book2-obj { transition: none; } .sw-book2-obj:hover { transform: none; } }

/* UMS 'APP PUSH 발송 프로세스' 흐름도: 도식을 더 크게 — 틀을 넓히고 안쪽 여백을 줄인다. (viewBox 도 그림 범위에 맞춰 잘라냄) */
.sw-media-frame:has(#umsPushT) { width: min(1320px, calc(100vw - 48px)); max-width: none !important; margin-left: 50% !important; transform: translateX(-50%); }
.sw-media-frame:has(#umsPushT) > .wp-block-group, .sw-media-frame:has(#umsPushT) .sw-diagram { max-width: none !important; }
.sw-diagram:has(#umsPushT) { padding: clamp(8px, 1vw, 14px); }

/* 메시징 '운영 특징' 아이콘: 네모 배경 없이 아이콘만. 강조될 때 색이 진해지며 살짝 커진다. */
.sw-opm-ico { width: auto; height: auto; border-radius: 0; background: none; box-shadow: none; color: #2f6bd8; }
.sw-opm-ico svg { width: 30px; height: 30px; }
.sw-opm-rows li:hover .sw-opm-ico { background: none; color: #1549b8; transform: scale(1.18) rotate(-6deg); box-shadow: none; }
@media (max-width: 560px) { .sw-opm-ico { width: auto; height: auto; } .sw-opm-ico svg { width: 24px; height: 24px; } }

/* CLOUVI 히어로: 다람쥐 마크가 흰 원 안에 멈춰 있지 않고, 채팅창에서 출발해 화면을 가로질러 날아다닌다. */
.sw-clouvi-hero .sw-cvw-bot[src*="clouvi-mark"] { width: 150px; padding: 0; border-radius: 0; background: none; box-shadow: none; pointer-events: none; filter: drop-shadow(0 14px 26px rgba(31, 122, 224, .45)) drop-shadow(0 0 16px rgba(63, 198, 221, .5)); animation: sw-clv-fly 16s ease-in-out infinite !important; will-change: transform; }
@keyframes sw-clv-fly {
  0%   { transform: translate(0, 0) rotate(0deg) scale(1); }
  12%  { transform: translate(-26vw, -110px) rotate(-10deg) scale(.9); }
  25%  { transform: translate(-50vw, -40px) rotate(-4deg) scale(.8); }
  38%  { transform: translate(-42vw, -280px) rotate(8deg) scale(.7); }
  50%  { transform: translate(-12vw, -340px) rotate(12deg) scale(.72); }
  62%  { transform: translate(9vw, -230px) rotate(4deg) scale(.88); }
  75%  { transform: translate(16vw, -70px) rotate(-6deg) scale(1.04); }
  88%  { transform: translate(7vw, 24px) rotate(-3deg) scale(1); }
  100% { transform: translate(0, 0) rotate(0deg) scale(1); }
}
@media (max-width: 781px) {
  .sw-clouvi-hero .sw-cvw-bot[src*="clouvi-mark"] { width: 110px; margin-left: -55px; animation: sw-clv-fly-sm 14s ease-in-out infinite !important; }
  @keyframes sw-clv-fly-sm {
    0%   { transform: translate(0, 0) rotate(0deg) scale(1); }
    25%  { transform: translate(-30vw, -120px) rotate(-8deg) scale(.85); }
    50%  { transform: translate(0, -220px) rotate(8deg) scale(.75); }
    75%  { transform: translate(30vw, -100px) rotate(-5deg) scale(.9); }
    100% { transform: translate(0, 0) rotate(0deg) scale(1); }
  }
}
@media (prefers-reduced-motion: reduce) { .sw-clouvi-hero .sw-cvw-bot[src*="clouvi-mark"] { animation: none !important; } }

/* MRO 개요 그림 v2: 세 상자를 비스듬히 쌓던 것 대신, 가운데 플랫폼을 두고 고객사 · 공급사 · 운영사 · WMS · Legacy 를 화살표로 잇는 구조도(SVG) */
.sw-mro-map { padding: 16px !important; }
.sw-mro-map svg { display: block; width: 100%; height: auto; }

/* 사진 카드(SCOS 주요 기능 등) 제목 애니메이션: 화면에 들어올 때 제목이 떠오르며 밑줄이 그려지고, 마우스를 올리면 밑줄이 끝까지 늘어나며 제목이 밝아진다 */
.sw-photo-card h3 { position: relative; display: inline-block; padding-bottom: 10px; transition: color .3s ease, text-shadow .3s ease; }
.sw-photo-card h3::after { content: ""; position: absolute; left: 0; bottom: 0; width: 30%; height: 3px; border-radius: 3px; background: linear-gradient(90deg, #5fd4ff, #2f6bd8); box-shadow: 0 0 12px rgba(95, 212, 255, .8); transform-origin: left; transition: width .5s cubic-bezier(.22, 1, .36, 1); }
.sw-photo-card:hover h3 { color: #bfe6ff; text-shadow: 0 0 18px rgba(95, 212, 255, .55); }
.sw-photo-card:hover h3::after { width: 100%; }
@supports (animation-timeline: view()) {
  .sw-photo-card h3 { animation: sw-pc-title-in linear both; animation-timeline: view(); animation-range: entry 0% entry 55%; }
  .sw-photo-card h3::after { animation: sw-pc-line-in linear both; animation-timeline: view(); animation-range: entry 15% entry 80%; }
}
@keyframes sw-pc-title-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@keyframes sw-pc-line-in { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) { .sw-photo-card h3, .sw-photo-card h3::after { animation: none !important; transition: none; } }

/* 다람쥐 경로 v2: 제목 글자를 가리지 않도록 채팅창 왼쪽 → 상단 띠 → 왼쪽 가장자리 → 하단 띠로 글 주위를 한 바퀴 돈다. (같은 이름의 keyframes 를 뒤에 다시 정의해 덮어씀) */
@keyframes sw-clv-fly {
  0%   { transform: translate(0, 0) rotate(0deg) scale(1); }
  10%  { transform: translate(-8vw, -165px) rotate(-14deg) scale(.9); }
  25%  { transform: translate(14vw, -465px) rotate(10deg) scale(.72); }
  45%  { transform: translate(-52vw, -460px) rotate(-6deg) scale(.68); }
  60%  { transform: translate(-67vw, -235px) rotate(-16deg) scale(.64); }
  75%  { transform: translate(-63vw, 55px) rotate(-6deg) scale(.78); }
  90%  { transform: translate(-31vw, 65px) rotate(8deg) scale(.92); }
  100% { transform: translate(0, 0) rotate(0deg) scale(1); }
}

/* 다람쥐 경로 v3: 히어로 전체가 아니라 채팅창(.sw-cvw) 주위만 돈다 — 왼쪽 옆 → 위 → 오른쪽 위 모서리 → 아래 입력창 밑 → 제자리 */
@keyframes sw-clv-fly {
  0%   { transform: translate(0, 0) rotate(0deg) scale(1); }
  15%  { transform: translate(-120px, -190px) rotate(-14deg) scale(.82); }
  35%  { transform: translate(-70px, -560px) rotate(6deg) scale(.7); }
  55%  { transform: translate(250px, -600px) rotate(12deg) scale(.64); }
  70%  { transform: translate(380px, -400px) rotate(4deg) scale(.6); }
  85%  { transform: translate(210px, 36px) rotate(-8deg) scale(.86); }
  100% { transform: translate(0, 0) rotate(0deg) scale(1); }
}

/* 'AI 개인화 플랫폼' 워드마크: 홈 화면 제목처럼 파랑 → 보라 그라데이션 글자. 어두운 배경(홈 카드 · 소개서 표지 · 제품 헤더)에서는 밝은 톤으로. */
.sw-ai { background: linear-gradient(90deg, #2f6bd8, #6a3df0 58%, #a46bff) !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; }
.sw-sol-card .sw-ai, .sw-book2-cover .sw-ai, .sw-photo-card .sw-ai, .sw-ums-dark .sw-ai { background-image: linear-gradient(90deg, #9fd0ff, #d2bcff 60%, #f0e6ff) !important; }
.sw-product-brand .sw-ai { background-image: linear-gradient(90deg, #2f6bd8, #6a3df0 60%, #a46bff) !important; }

/* UMS 특징 표: 왼쪽 세로 막대에 하늘 → 파랑 → 보라 색이 위에서 아래로 흘러내리고(줄마다 위상을 어긋나게 해 한 줄기처럼 이어짐), 굵은 특징 이름은 같은 계열의 그라데이션 글자로 */
.sw-feature-table tbody td:first-child::before { width: 5px !important; background: linear-gradient(180deg, #1ea9e0 0%, #2f6bd8 30%, #6a3df0 60%, #1ea9e0 100%) !important; background-size: 100% 300% !important; animation: sw-ft-flow 4.5s linear infinite; }
.sw-feature-table tbody tr:nth-child(2) td:first-child::before { animation-delay: -.9s; }
.sw-feature-table tbody tr:nth-child(3) td:first-child::before { animation-delay: -1.8s; }
.sw-feature-table tbody tr:nth-child(4) td:first-child::before { animation-delay: -2.7s; }
.sw-feature-table tbody tr:nth-child(5) td:first-child::before { animation-delay: -3.6s; }
.sw-feature-table tbody tr:nth-child(6) td:first-child::before { animation-delay: -4.5s; }
@keyframes sw-ft-flow { from { background-position: 0 0; } to { background-position: 0 300%; } }
.sw-feature-table .sw-ft-badge { background: linear-gradient(160deg, #2f6bd8, #6a3df0) !important; box-shadow: 0 6px 14px rgba(47, 107, 216, .3); }
.sw-feature-table .sw-ft-name { background: linear-gradient(90deg, #1f55c4, #6a3df0); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; font-weight: 800; }
@media (prefers-reduced-motion: reduce) { .sw-feature-table tbody td:first-child::before { animation: none; } }

/* UMS 특징 표 v2: 줄마다 따로 색이 바뀌던 것 대신, 표 머리글 아래부터 끝까지 한 줄기의 밝은 빛이 위에서 아래로 실제로 지나간다. 바탕 막대는 고정 그라데이션. */
.sw-feature-table tbody td:first-child::before { animation: none !important; background: linear-gradient(180deg, #1ea9e0, #2f6bd8 55%, #6a3df0) !important; background-size: 100% 100% !important; }
.sw-feature-table { position: relative; }
.sw-feature-table::after { content: ""; position: absolute; z-index: 1; top: 65px; bottom: 0; left: 0; width: 5px; pointer-events: none; background: linear-gradient(180deg, transparent 0%, rgba(191, 232, 255, .0) 18%, #bfe8ff 42%, #ffffff 50%, #bfe8ff 58%, transparent 82%, transparent 100%); background-size: 100% 220px; background-repeat: no-repeat; background-position: 0 -220px; animation: sw-ft-pulse 3.4s cubic-bezier(.45, 0, .55, 1) infinite; filter: drop-shadow(0 0 6px rgba(140, 210, 255, .9)); }
@keyframes sw-ft-pulse { 0% { background-position: 0 -220px; } 100% { background-position: 0 calc(100% + 220px); } }
@media (prefers-reduced-motion: reduce) { .sw-feature-table::after { animation: none; display: none; } }

/* 다람쥐 경로 v4: 채팅창 안쪽(머리글 아래 ~ 입력창 위)에서만 작게 떠다닌다. 쉬는 자리(창 밖)로는 돌아오지 않는다. */
@keyframes sw-clv-fly {
  0%   { transform: translate(247px, -204px) rotate(-6deg) scale(.6); }
  20%  { transform: translate(517px, -224px) rotate(8deg) scale(.56); }
  40%  { transform: translate(527px, -4px) rotate(4deg) scale(.6); }
  60%  { transform: translate(287px, 76px) rotate(-8deg) scale(.64); }
  80%  { transform: translate(387px, -114px) rotate(2deg) scale(.58); }
  100% { transform: translate(247px, -204px) rotate(-6deg) scale(.6); }
}
.sw-clouvi-hero .sw-cvw-bot[src*="clouvi-mark"] { animation-duration: 14s !important; }
@media (max-width: 781px) {
  @keyframes sw-clv-fly-sm {
    0%   { transform: translate(-70px, -300px) rotate(-6deg) scale(.7); }
    25%  { transform: translate(90px, -330px) rotate(8deg) scale(.65); }
    50%  { transform: translate(100px, -150px) rotate(3deg) scale(.7); }
    75%  { transform: translate(-60px, -120px) rotate(-8deg) scale(.72); }
    100% { transform: translate(-70px, -300px) rotate(-6deg) scale(.7); }
  }
}

/* 다람쥐 경로 v5: 실제 측정값으로 보정 — 창 안(머리글 아래 ~ 입력창 위) 범위를 벗어나지 않게 전체를 왼쪽 위로 당김 */
@keyframes sw-clv-fly {
  0%   { transform: translate(167px, -334px) rotate(-6deg) scale(.6); }
  20%  { transform: translate(437px, -354px) rotate(8deg) scale(.56); }
  40%  { transform: translate(447px, -134px) rotate(4deg) scale(.6); }
  60%  { transform: translate(207px, -54px) rotate(-8deg) scale(.64); }
  80%  { transform: translate(307px, -244px) rotate(2deg) scale(.58); }
  100% { transform: translate(167px, -334px) rotate(-6deg) scale(.6); }
}

/* 메시징 '운영 특징' 표(아이콘이 있는 .sw-opm 만): 표를 넓히고 첫 칸을 키워 제목이 한 줄로, 글씨도 크게 */
.sw-opm:has(.sw-opm-ico) { width: min(1280px, calc(100vw - 48px)) !important; }
.sw-opm:has(.sw-opm-ico) .sw-opm-head, .sw-opm:has(.sw-opm-ico) .sw-opm-rows li { grid-template-columns: 420px minmax(0, 1fr) 300px; gap: 0 28px; }
.sw-opm:has(.sw-opm-ico) .sw-opm-rows b { font-size: calc(1.6rem + 1pt); white-space: nowrap; }
.sw-opm:has(.sw-opm-ico) .sw-opm-ico svg { width: 34px; height: 34px; }
.sw-opm:has(.sw-opm-ico) .sw-opm-no { font-size: 1.45rem; }
@media (max-width: 1200px) { .sw-opm:has(.sw-opm-ico) .sw-opm-head, .sw-opm:has(.sw-opm-ico) .sw-opm-rows li { grid-template-columns: 360px minmax(0, 1fr) 240px; } .sw-opm:has(.sw-opm-ico) .sw-opm-rows b { font-size: calc(1.4rem + 1pt); } }
@media (max-width: 900px) { .sw-opm:has(.sw-opm-ico) .sw-opm-rows li { grid-template-columns: 1fr; } .sw-opm:has(.sw-opm-ico) .sw-opm-rows b { white-space: normal; } }

/* MRO 개요 구조도 v3: 흰 박스 없이 배경에 바로, 더 크게 (그림 칸을 넓힘) */
.sw-mro-map.is-open { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
.sw-ov-grid:has(.sw-mro-map) > .wp-block-column:first-child { flex-basis: 46% !important; }
.sw-ov-grid:has(.sw-mro-map) > .wp-block-column:last-child { flex-basis: 54% !important; }
.sw-mro-map.is-open svg { width: 100%; height: auto; filter: drop-shadow(0 10px 18px rgba(16, 47, 103, .10)); }

/* 아이콘 움직임 진정: 회전 · 큰 확대 제거, 색만 살짝 바뀌게 */
.sw-opm-rows li:hover .sw-opm-ico { transform: none; color: #1549b8; }
.sw-opm-ico { transition: color .25s ease; }
.sw-steps.is-flow4 .sw-step:hover .sw-step-no { transform: none; }
.sw-clv-eff.is-tiles li:hover { transform: none; }
.sw-mob-scope li:hover { transform: none; box-shadow: 0 14px 34px rgba(16, 47, 103, .10); }
.sw-photo-card:hover h3 { text-shadow: none; }
.sw-mob-phone:hover { box-shadow: 0 28px 50px rgba(16, 47, 103, .25); }
.sw-mob-phone.is-a:hover, .sw-mob-phone.is-c:hover { transform: translateY(-24px) rotate(-6deg); }
.sw-mob-phone.is-c:hover { transform: translateY(-24px) rotate(6deg); }
.sw-mob-phone.is-b:hover { transform: translateY(-6px); }

/* MRO 구조도: 칸보다 20% 넓게 그려 더 크게 보이도록 (양옆 여백으로 살짝 넘침) */
.sw-mro-map.is-open { width: 120% !important; max-width: none !important; min-height: 0 !important; margin-left: -10% !important; }
@media (max-width: 900px) { .sw-mro-map.is-open { width: 100% !important; margin-left: 0 !important; } }

/* 홈 고객사 로고: 두 줄이 서로 반대 방향으로 흐른다 (site.js 가 줄을 만든다). 카드 크기는 기존 그대로. */
.sw-logo-roll.is-multi { display: grid; gap: 14px; padding-block: 10px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.sw-logo-row { overflow: hidden; }
.sw-logo-track { display: flex; width: max-content; gap: 14px; align-items: center; animation: sw-logo-row 130s linear infinite; }
.sw-logo-row.is-rev .sw-logo-track { animation-direction: reverse; }
.sw-logo-row:hover .sw-logo-track { animation-play-state: paused; }
@keyframes sw-logo-row { to { transform: translateX(calc(-50% - 7px)); } }
@media (prefers-reduced-motion: reduce) { .sw-logo-track { animation: none; } }

/* 홈 고객사 로고 두 줄: 마우스를 올려도 멈추지 않고, 아랫줄은 참고 사이트처럼 살짝 옅게(윗줄은 그대로) */
.sw-logo-row:hover .sw-logo-track { animation-play-state: running; }
.sw-logo-row:nth-child(2) { opacity: .55; }

/* ---------------------------------------------------------------------------
   자료실 소개서 표지 v4 (전자책 느낌): 사진 배경 + 어두운 그라데이션, 위에 작은 분류 라벨, 가운데 큰 제목과 부제,
   아래에 SKYWARE, 오른쪽 위 모서리 리본, 살짝 기울어진 입체 책. 마크업 그대로, v3 장식은 끈다.
   --------------------------------------------------------------------------- */
.sw-book2 { --photo: url("/wp-content/themes/skyware-corporate/assets/images/hero-tech.jpg"); --tag: "회사소개서"; }
.sw-book2.is-green { --photo: url("/wp-content/uploads/2026/09/slider_1.png"); --tag: "솔루션 소개서"; }
.sw-book2.is-blue { --photo: url("/wp-content/uploads/2026/09/TMS_3.png"); --tag: "솔루션 소개서"; }
.sw-book2.is-violet { --photo: url("/wp-content/uploads/2026/09/AI_4.png"); --tag: "솔루션 소개서"; }
.sw-book2.is-amber { --photo: url("/wp-content/uploads/2026/09/AI_1.png"); --tag: "PDF 제공"; }
.sw-book2-obj { grid-template-columns: 7% 1fr; transform: perspective(1200px) rotateY(-9deg); transform-origin: left center; filter: drop-shadow(14px 28px 30px rgba(6, 12, 30, .45)); }
.sw-book2-obj:hover { transform: perspective(1200px) rotateY(-3deg) translateY(-8px); }
.sw-book2-obj::before { right: -7px; width: 7px; background: repeating-linear-gradient(180deg, #f7f8fa 0 2px, #cdd4de 2px 3px); }
.sw-book2-spine { border-right: 1px solid rgba(255, 255, 255, .08); background: linear-gradient(90deg, rgba(4, 8, 18, .85), rgba(4, 8, 18, .55)), var(--photo) left center / cover no-repeat; color: rgba(255, 255, 255, .55); font-size: 8px; }
.sw-book2-cover { padding: 9% 9% 8%; border-radius: 0 8px 8px 0; align-items: center; text-align: center;
  background: linear-gradient(180deg, rgba(8, 12, 26, .25) 0%, rgba(8, 12, 26, .55) 45%, rgba(6, 10, 22, .92) 100%), var(--photo) center / cover no-repeat; }
.sw-book2-cover::after { content: none; }
.sw-book2-cat { order: 1; margin: 0; color: rgba(255, 255, 255, .85); font-size: 9.5px; font-weight: 700; letter-spacing: .3em; }
.sw-book2-cover b { order: 2; margin: auto 0 0; padding: 0; border: 0; font-size: clamp(1.25rem, 2vw, 1.85rem); line-height: 1.15; text-shadow: 0 4px 18px rgba(0, 0, 0, .55); }
.sw-book2-cover em { order: 3; margin: 8px 0 auto; padding: 0; color: rgba(255, 255, 255, .8); font-size: clamp(.8rem, 1.05vw, .98rem); font-weight: 500; line-height: 1.5; word-break: keep-all; }
.sw-book2-cover b .sw-s { color: #ffb35c !important; -webkit-text-fill-color: #ffb35c !important; }
.sw-book2-kw { display: none; }
.sw-book2-brand { order: 5; margin: 0; padding-top: 10px; color: rgba(255, 255, 255, .75); font-size: 9.5px; letter-spacing: .34em; }
.sw-book2-brand::before { content: none; }
/* 오른쪽 위 모서리 리본 */
.sw-book2-art { top: 0; right: 0; bottom: auto; left: auto; width: 96px; height: 96px; clip-path: none; background: none; overflow: hidden; }
.sw-book2-art::after { content: var(--tag); position: absolute; top: 20px; right: -34px; width: 150px; padding: 5px 0; transform: rotate(45deg); background: var(--c); color: #0b1a3c; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-align: center; box-shadow: 0 4px 10px rgba(0, 0, 0, .3); }
.sw-book2.is-navy .sw-book2-art::after, .sw-book2:not([class*=" is-"]) .sw-book2-art::after { background: #5fb3ff; }
.sw-book2.is-amber .sw-book2-art::after { background: #ffb35c; }
@media (prefers-reduced-motion: reduce) { .sw-book2-obj:hover { transform: perspective(1200px) rotateY(-9deg); } }
/* 표지 v4 보정: 분류 라벨은 왼쪽 정렬로 두어 오른쪽 위 리본과 겹치지 않게 */
.sw-book2-cat { align-self: flex-start; max-width: calc(100% - 58px); text-align: left; line-height: 1.4; }

/* SI·ITO 보유 솔루션 자산: 카드를 누르면 아래로 상세가 펼쳐진다 (site.js). 카드 오른쪽 아래에 '상세 보기' 표시. */
.sw-asset-row.has-detail { position: relative; cursor: pointer; transition: background .25s ease; }
.sw-asset-row.has-detail:hover { background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--c) 5%, transparent) 50%, transparent); }
.sw-asset-row.has-detail:focus-visible { outline: 2px solid var(--c); outline-offset: 4px; border-radius: 8px; }
.sw-asset-row.has-detail .sw-asset-more::after { content: "상세 보기 ▾"; display: inline-block; margin-left: 14px; padding: 4px 12px; border: 1px solid color-mix(in srgb, var(--c) 40%, #fff); border-radius: 99px; color: var(--c); font-size: calc(.82rem + 1pt); font-weight: 800; transition: background .25s ease, color .25s ease; }
.sw-asset-row.has-detail:hover .sw-asset-more::after, .sw-asset-row.is-open .sw-asset-more::after { background: var(--c); color: #fff; }
.sw-asset-row.is-open .sw-asset-more::after { content: "접기 ▴"; }
.sw-asset-detail { padding: 0 0 44px; animation: sw-asset-detail-in .4s ease; }
.sw-asset-detail > h3.wp-block-heading:first-child { display: none; }
.sw-asset-detail > .sw-media-frame:first-of-type, .sw-asset-detail > .sw-table-wrap:first-of-type { margin-top: 8px !important; }
.sw-assets-sec.sw-assets-sec .sw-asset-detail .sw-media-frame { margin-top: 24px !important; }
@keyframes sw-asset-detail-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .sw-asset-detail { animation: none; } }

/* ---------------------------------------------------------------------------
   채용 '스카이웨어가 함께하고 싶은 사람' 카드 v3: 진한 그라데이션 블록 대신 밝은 카드 —
   위쪽 짧은 색 띠, 오른쪽 위 번호 칩(01), 색 아이콘 타일, 남색 제목, 회색 본문. 마우스를 올리면 띠가 길어지고 살짝 뜬다.
   --------------------------------------------------------------------------- */
#talent .sw-card-grid .sw-card { --tint: color-mix(in srgb, var(--g2) 9%, #fff); min-height: 0; padding: 32px 28px 32px !important; border: 1px solid color-mix(in srgb, var(--g2) 28%, #fff) !important; border-radius: 20px !important; background: linear-gradient(180deg, var(--tint), #fff 58%) !important; box-shadow: 0 10px 30px rgba(16, 47, 103, .06) !important; }
#talent .sw-card-grid .sw-card::before { content: "" !important; top: 0 !important; right: auto !important; bottom: auto !important; left: 28px !important; width: 52px !important; height: 4px !important; border-radius: 0 0 4px 4px !important; background: linear-gradient(90deg, var(--g1), var(--g2)) !important; transform: none !important; transition: width .35s ease; }
#talent .sw-card-grid .sw-card::after { top: 24px !important; right: 22px !important; bottom: auto !important; left: auto !important; padding: 4px 10px; border-radius: 99px; background: color-mix(in srgb, var(--g2) 12%, #fff); color: var(--g1) !important; -webkit-text-stroke: 0 !important; font-size: calc(.78rem + 1pt) !important; font-weight: 800 !important; letter-spacing: .14em !important; line-height: 1 !important; }
#talent .sw-card-grid .sw-card .sw-icon-badge { width: 60px !important; height: 60px !important; margin: 8px 0 24px !important; border: 0 !important; border-radius: 16px !important; background: linear-gradient(135deg, var(--g1), var(--g2)) !important; box-shadow: 0 10px 22px color-mix(in srgb, var(--g1) 28%, transparent) !important; }
#talent .sw-card-grid .sw-card .sw-icon-badge::after { inset: 16px !important; background: #fff !important; }
#talent .sw-card-grid .sw-card h3 { padding-bottom: 0 !important; color: var(--sw-ink) !important; font-size: calc(1.2rem + 1pt) !important; line-height: 1.45 !important; }
#talent .sw-card-grid .sw-card h3::after { content: none !important; }
#talent .sw-card-grid .sw-card h3 + p { padding-bottom: 0 !important; color: #4b5563 !important; }
#talent .sw-card-grid .sw-card:hover { transform: translateY(-6px) !important; border-color: color-mix(in srgb, var(--g2) 60%, #fff) !important; box-shadow: 0 22px 44px color-mix(in srgb, var(--g1) 16%, transparent) !important; }
#talent .sw-card-grid .sw-card:hover::before { width: 100px !important; height: 4px !important; transform: none !important; }
#talent .sw-card-grid .sw-card:hover .sw-icon-badge { transform: none !important; }

/* 제품 개요의 화면 캡처(.sw-ov-logo 안의 이미지): 흰 박스 여백과 높이 제한을 풀고 칸을 넓혀 크게 보이게 (MRO 구조도와 같은 방식) */
.sw-ov-grid:has(.sw-ov-logo img) > .wp-block-column:first-child { flex-basis: 46% !important; }
.sw-ov-grid:has(.sw-ov-logo img) > .wp-block-column:last-child { flex-basis: 54% !important; }
.sw-ov-logo:has(img):not(.sw-mro-map) { width: 116% !important; max-width: none !important; min-height: 0 !important; margin-left: -8% !important; padding: 10px !important; }
.sw-ov-logo:has(img):not(.sw-mro-map) img { width: 100% !important; max-width: none !important; max-height: none !important; }
@media (max-width: 900px) { .sw-ov-logo:has(img):not(.sw-mro-map) { width: 100% !important; margin-left: 0 !important; } }

/* AI 플랫폼 서비스 구성도의 데이터 원통(회원 정보 · 상품 정보 · 구매 이력 · 검색 이력) 리디자인:
   납작한 회색 통 대신 윗면 테가 또렷한 밝은 원통 + 아래 그림자, 남색 라벨, 작은 데이터 아이콘 */
.sw-dg-db { position: relative; display: grid; place-items: end center; height: 72px; padding: 0 8px 9px; border-radius: 50% / 13px; overflow: visible; background: linear-gradient(90deg, #c9d7ee 0%, #edf2fb 42%, #e3eaf6 70%, #bfcfe9 100%); color: #1f3f8f; font-size: 13px; font-weight: 800; letter-spacing: -.01em; box-shadow: 0 10px 18px rgba(31, 63, 143, .14), inset 0 -4px 0 rgba(31, 63, 143, .08); }
.sw-dg-db::before { content: ""; position: absolute; top: -1px; left: 0; right: 0; height: 22px; border-radius: 50%; background: linear-gradient(180deg, #ffffff, #dfe7f5); box-shadow: 0 1px 0 #afc1dd, inset 0 -3px 5px rgba(31, 63, 143, .12); }
.sw-dg-db::after { content: ""; position: absolute; top: 24px; left: 50%; width: 16px; height: 16px; margin-left: -8px; background: #2f6bd8; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='8' ry='3'/%3E%3Cpath d='M4 5v14c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='8' ry='3'/%3E%3Cpath d='M4 5v14c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3'/%3E%3C/svg%3E") center / contain no-repeat; opacity: .8; }
.sw-dg-dbs { gap: 14px; padding-top: 4px; }

/* 사업분야 배너 영상: 사진 배경(::before) 위에 영상을 깔고, 그 위에 다시 글자용 그늘을 덮는다 (site.js 가 <video> 를 넣는다) */
.sw-page-hero[class*="is-video-"] { position: relative; overflow: hidden; isolation: isolate; }
.sw-page-hero-video { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .9s ease; pointer-events: none; }
.sw-page-hero.has-video .sw-page-hero-video { opacity: 1; }
.sw-page-hero[class*="is-video-"]::before { z-index: -1; }
.sw-page-hero[class*="is-video-"]::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(8, 26, 58, .78), rgba(8, 26, 58, .42) 46%, rgba(8, 26, 58, .12) 76%), linear-gradient(0deg, rgba(8, 26, 58, .28), rgba(8, 26, 58, .28)); }
.sw-page-hero[class*="is-video-"] > *:not(.sw-page-hero-video) { position: relative; z-index: 2; }
@media (prefers-reduced-motion: reduce) { .sw-page-hero-video { display: none; } }
/* 제한 폭 레이아웃(is-layout-constrained)이 자식 폭을 줄이므로 영상만 예외로 두어 배너 전체를 덮게 한다 */
.sw-page-hero.is-layout-constrained > .sw-page-hero-video { max-width: none !important; margin: 0 !important; width: 100% !important; }

/* 홈 'Our Expertise' 카드: 칸마다 옅은 사진 배경(흰 그라데이션으로 눌러 글자가 잘 보이게). 마우스를 올리면 기존 색 그라데이션이 덮는다. */
.sw-wwd-item { --photo: url("/wp-content/uploads/2026/10/wwd-bg-dev.jpg"); }
.sw-wwd-item:nth-child(2) { --photo: url("/wp-content/uploads/2026/10/wwd-bg-design.jpg"); }
.sw-wwd-item:nth-child(3) { --photo: url("/wp-content/uploads/2026/10/wwd-bg-plan.jpg"); }
.sw-wwd-item::after { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(180deg, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, .86) 55%, rgba(255, 255, 255, .97) 100%), var(--photo) center / cover no-repeat; transition: transform .6s ease; }
.sw-wwd-item:hover::after { transform: scale(1.05); }
.sw-wwd-item > *:not(.sw-wwd-ico) { position: relative; }
/* 채용정보 배너: 팀이 함께 웃는 사진(글자 없음). 사진이 밝은 편이라 그늘을 조금 더 준다. */
.sw-page-hero.is-photo-recruit { --sw-hero-photo: url(assets/images/hero-recruit.jpg); --sw-hero-shade: .22; }

/* 채용분야 카드: 칸마다 직무에 맞는 사진(글자 없음)을 어둡게 깔고, 마우스를 올리면 사진이 조금 밝아진다 */
.sw-positions .sw-card { --photo: none; position: relative; overflow: hidden; isolation: isolate; background: rgba(0, 0, 0, .35) !important; }
.sw-positions .sw-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(6, 12, 26, .55), rgba(6, 12, 26, .82)), var(--photo) center / cover no-repeat; transition: transform .6s ease, opacity .4s ease; opacity: .9; }
.sw-positions .sw-card:hover::before { transform: scale(1.06); opacity: 1; }
.sw-positions .sw-card-grid > .wp-block-column:nth-child(1) .sw-card { --photo: url("assets/images/position-plan.jpg"); }
.sw-positions .sw-card-grid > .wp-block-column:nth-child(2) .sw-card { --photo: url("assets/images/position-design.jpg"); }
.sw-positions .sw-card-grid > .wp-block-column:nth-child(3) .sw-card { --photo: url("assets/images/position-frontend.jpg"); }
.sw-positions .sw-card-grid > .wp-block-column:nth-child(4) .sw-card { --photo: url("assets/images/position-backend.jpg"); }
.sw-positions .sw-card-grid > .wp-block-column:nth-child(5) .sw-card { --photo: url("assets/images/position-marketing.jpg"); }
.sw-positions .sw-card-grid > .wp-block-column:nth-child(6) .sw-card { --photo: url("assets/images/position-ops.jpg"); }
/* 회사소개 메뉴 5개 페이지 배너: 페이지마다 다른 사진(글자 없음). 홈(영문)은 기존 사무실 사진 유지. */
.sw-page-hero.is-photo-about { --sw-hero-photo: url(assets/images/hero-about.jpg); --sw-hero-shade: .18; }
.sw-page-hero.is-photo-ceo { --sw-hero-photo: url(assets/images/hero-ceo.jpg); --sw-hero-shade: .1; }
.sw-page-hero.is-photo-history { --sw-hero-photo: url(assets/images/hero-history.jpg); --sw-hero-shade: .12; }
.sw-page-hero.is-photo-vision { --sw-hero-photo: url(assets/images/hero-vision.jpg); --sw-hero-shade: .2; }
.sw-page-hero.is-photo-location { --sw-hero-photo: url(assets/images/hero-location.jpg); --sw-hero-shade: .14; }
/* 채용분야 카드는 열 블록 2개(위 3장 · 아래 3장)로 나뉘어 있어, 두 번째 블록은 따로 지정한다 */
.sw-positions .sw-card-grid + .sw-card-grid > .wp-block-column:nth-child(1) .sw-card { --photo: url("assets/images/position-backend.jpg"); }
.sw-positions .sw-card-grid + .sw-card-grid > .wp-block-column:nth-child(2) .sw-card { --photo: url("assets/images/position-marketing.jpg"); }
.sw-positions .sw-card-grid + .sw-card-grid > .wp-block-column:nth-child(3) .sw-card { --photo: url("assets/images/position-ops.jpg"); }
/* 고객센터: FAQ · 자료실 배너 (기술지원은 hero-support.jpg 파일을 새 사진으로 교체) */
.sw-page-hero.is-photo-faq { --sw-hero-photo: url(assets/images/hero-faq.jpg); --sw-hero-shade: .14; }
.sw-page-hero.is-photo-resources { --sw-hero-photo: url(assets/images/hero-resources.jpg); --sw-hero-shade: .16; }
/* 영상 배너: 재생 전에는 사진 없이 브랜드 그라데이션만 (정지 이미지가 먼저 보이지 않게) */
.sw-page-hero[class*="is-video-"] { --sw-hero-photo: none; --sw-hero-shade: 0; }
.sw-page-hero[class*="is-video-"]::before { background: linear-gradient(130deg, rgba(11, 39, 88, 1), rgba(49, 95, 167, .95) 62%, rgba(30, 169, 189, .85)); }
.sw-page-hero-video { transition: opacity 1.4s ease; }

/* sOMP 보강: 채널 가이드 표 · 메시지 샘플 · 운영 지원(다크) 카드 (2026-10-07) */
.sw-guide-table table { min-width: 960px; }
.sw-table-wrap .sw-guide-table td, .sw-table-wrap .sw-guide-table th { padding: 14px 16px; font-size: calc(.9rem + 1pt); line-height: 1.6; vertical-align: top; }
.sw-guide-table th:first-child, .sw-guide-table td:first-child { white-space: nowrap; }
.sw-guide-table tbody td:last-child { color: var(--sw-ink); font-weight: 600; }
.sw-gt-ch { --c: #2f6bff; display: inline-block; padding: 4px 10px; border-left: 3px solid var(--c); border-radius: 6px; background: #f3f7fe; color: var(--sw-ink); font-weight: 800; }
.sw-gt-ch.is-rcs { --c: #7a4dff; }
.sw-gt-ch.is-kakao { --c: #c29a00; background: #fff9db; }
.sw-gt-ch.is-push { --c: #20b8d1; }
.sw-gt-ch.is-mail { --c: #13806e; }
.sw-guide-note { margin: 18px auto 0; max-width: 760px; color: var(--sw-muted); font-size: calc(.84rem + 1pt); line-height: 1.6; word-break: keep-all; }
.sw-sample { --c: #2f6bff; position: relative; margin-top: 16px; padding: 14px 16px; border-radius: 16px 16px 16px 4px; background: #f3f7fe; color: var(--sw-ink); font-size: calc(.88rem + 1pt); line-height: 1.6; word-break: keep-all; }
.sw-sample b { display: block; margin-bottom: 4px; color: var(--c); font-size: calc(.7rem + 1pt); font-weight: 800; letter-spacing: .08em; }
.sw-sample.is-kakao { --c: #8a6d00; background: #fff7cc; }
.sw-sample.is-rcs { --c: #7a4dff; background: #f3eeff; }
.sw-sample.is-mail { --c: #13806e; background: #e7f6f1; }
.sw-sample .sw-var { color: var(--c); font-weight: 800; }
.sw-sample-btn { display: block; margin-top: 10px; padding: 9px 12px; border-radius: 10px; background: rgba(255, 255, 255, .85); color: var(--sw-ink); font-size: calc(.84rem + 1pt); font-weight: 700; text-align: center; }
.sw-ums-dark .sw-ums-feature { border-color: rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .06); }
.sw-ums-dark .sw-ums-feature h3 { color: #fff; }
.sw-ums-dark .sw-ums-feature > p:not(.sw-ums-feature-no) { color: rgba(255, 255, 255, .72); }
.sw-ums-dark .sw-ums-feature .sw-ums-feature-no { color: #7cd0ff; }
.sw-ums-dark .sw-ums-feature:hover { border-color: rgba(124, 208, 255, .5); }

/* SI·ITO 자산: 미디어 프레임 소제목(주요 기능 구성 · 구축 사례 · ERP · IoT 등)을 e-MP 자산 색(#2f6bd8)으로 통일 (2026-10-07) */
.sw-assets-sec.sw-assets-sec .sw-media-frame .sw-section-heading > h3.wp-block-heading:first-child,
body .sw-assets-sec .sw-media-frame .sw-section-heading :is(h2, h3).wp-block-heading,
.sw-assets-sec.sw-assets-sec .sw-media-frame > h3.wp-block-heading { color: #2f6bd8 !important; }

/* ===== 홈: 사업영역 · 솔루션 반원 다이어그램 (#business-map) 2026-10-07 ===== */
.sw-arc-sec { position: relative; overflow: hidden; padding-bottom: clamp(48px, 6vw, 88px); background: radial-gradient(60% 50% at 50% 100%, rgba(47, 107, 255, .14), transparent 70%), linear-gradient(180deg, #f6f9ff, #eef4fd); }
.sw-arc-sec::before { content: ""; position: absolute; inset: auto -10% -30% -10%; height: 70%; background: repeating-radial-gradient(ellipse at 50% 100%, rgba(47, 107, 255, .08) 0 1px, transparent 1px 38px); opacity: .7; pointer-events: none; }
.sw-arc-head { position: relative; z-index: 1; margin-bottom: clamp(16px, 3vw, 36px); }
.sw-arc-head > * { margin-block: 0; }
.sw-arc-kicker { text-align: center; color: #46577a; font-size: calc(clamp(1.05rem, 1.6vw, 1.4rem) + 1pt); font-weight: 500; letter-spacing: -.01em; word-break: keep-all; }
.sw-arc-head h2 { text-align: center; margin-top: 6px !important; color: var(--sw-ink); font-size: calc(clamp(1.5rem, 2.6vw, 2.3rem) + 1pt) !important; font-weight: 500 !important; letter-spacing: -.02em; word-break: keep-all; }
.sw-arc-head h2 strong { font-weight: 900; }
.sw-arc, .sw-arc.alignwide { position: relative; z-index: 1; width: 100%; max-width: min(100%, 1480px) !important; margin: 0 auto !important; padding-right: 230px; box-sizing: border-box; }
.sw-arc-sec .sw-arc-head { max-width: none; }
.sw-arc-svg { display: block; width: 100%; height: auto; overflow: visible; font-family: 'Noto Sans KR', 'Roboto', sans-serif; }
.sw-arc-ring { fill: rgba(47, 107, 255, .08); }
.sw-arc-seg { cursor: pointer; }
.sw-arc-seg .sw-arc-fill { fill: url(#sw-arc-g1); transition: transform .35s ease, filter .35s ease, opacity .35s ease; transform-box: fill-box; transform-origin: 50% 100%; }
.sw-arc-seg.is-scos .sw-arc-fill { opacity: .98; }
.sw-arc-seg.is-smos .sw-arc-fill { opacity: .94; }
.sw-arc-seg.is-ai .sw-arc-fill { opacity: .90; }
.sw-arc-seg.is-si .sw-arc-fill { opacity: .94; }
.sw-arc-seg.is-mro .sw-arc-fill { opacity: .98; }
.sw-arc-seg:hover .sw-arc-fill, .sw-arc-seg:focus-visible .sw-arc-fill { opacity: 1; fill: url(#sw-arc-g2); }
.sw-arc-seg:focus { outline: none; }
.sw-arc-icon path { fill: none; stroke: #fff; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.sw-arc-name { fill: #fff; font-size: 34px; font-weight: 800; letter-spacing: -.02em; }
.sw-arc-more { fill: rgba(255, 255, 255, .92); font-size: 17px; font-weight: 600; }
.sw-arc-label { fill: #1e2a44; font-size: 24px; font-weight: 600; letter-spacing: -.01em; }
.sw-arc-label tspan:first-child { fill: #46577a; font-weight: 500; }
.sw-arc-core { fill: url(#sw-arc-g2); opacity: .92; }
.sw-arc-core-t { fill: #fff; font-size: 30px; font-weight: 800; letter-spacing: -.01em; }
.sw-arc-core-s { fill: rgba(255, 255, 255, .9); font-size: 18px; font-weight: 500; }
.sw-arc-spark { fill: #ffe066; }
.sw-arc-brand { fill: #0b2458; font-family: 'Montserrat', 'Roboto', sans-serif; font-size: 58px; font-weight: 800; letter-spacing: -.03em; }
.sw-arc-brand-s { fill: #46577a; font-size: 18px; font-weight: 500; }
.sw-arc-list { display: none; }
.sw-arc-links { position: absolute; right: 0; top: 50%; width: 200px; margin: 0; padding: 0; list-style: none; transform: translateY(-50%); }
.sw-arc-links li + li { margin-top: 14px; }
.sw-arc-links a { display: inline-flex; align-items: center; gap: 12px; color: var(--sw-ink); font-size: calc(.95rem + 1pt); font-weight: 700; text-decoration: none; }
.sw-arc-links i, .sw-vgrow-links i { display: inline-grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #0b2458; color: #fff; transition: transform .25s ease, background .25s ease; }
.sw-arc-links i::before, .sw-vgrow-links i::before { content: "→"; font-size: 15px; font-weight: 800; line-height: 1; }
.sw-arc-links a:hover i, .sw-vgrow-links a:hover i { transform: translateX(3px); background: #2f6bff; }
.sw-arc-foot { position: relative; z-index: 1; text-align: center; margin: clamp(20px, 3vw, 36px) 0 0 !important; color: #46577a; font-size: calc(.95rem + 1pt); font-weight: 600; }
.sw-arc-foot a { color: inherit; text-decoration: none; }
.sw-arc-foot a:hover { color: #2f6bff; }
.sw-arc-foot span { margin: 0 14px; color: #a9b6cc; }
@media (max-width: 1240px) { .sw-arc, .sw-arc.alignwide { padding-right: 0; } .sw-arc-links { position: static; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 28px; margin-top: 22px; transform: none; } .sw-arc-links li + li { margin: 0; } }
@media (max-width: 640px) {
  .sw-arc-svg { display: none; }
  .sw-arc-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
  .sw-arc-list a { display: block; padding: 16px 18px; border-radius: 14px; background: linear-gradient(135deg, #0b2458, #2f6bff); color: #fff; text-decoration: none; }
  .sw-arc-list b { display: block; font-size: calc(1.05rem + 1pt); font-weight: 800; }
  .sw-arc-list span { display: block; margin-top: 4px; color: rgba(255, 255, 255, .82); font-size: calc(.85rem + 1pt); }
  .sw-arc-foot span { margin: 0 8px; }
}
@media (prefers-reduced-motion: reduce) { .sw-arc-seg .sw-arc-fill, .sw-arc-links i, .sw-vgrow-links i { transition: none; } }

/* ===== 홈: 스크롤에 따라 커지는 데모 영상 (#demo-video) ===== */
.sw-vgrow-sec { position: relative; overflow: hidden; padding-top: clamp(64px, 8vw, 110px); padding-bottom: clamp(64px, 8vw, 110px); background: #070b14; color: #fff; }
.sw-vgrow-sec::before, .sw-vgrow-sec::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
.sw-vgrow-sec::before { background: radial-gradient(55% 60% at 50% 40%, rgba(47, 107, 255, .22), transparent 70%); }
.sw-vgrow-sec::after { background: repeating-linear-gradient(-14deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 22px); mask-image: linear-gradient(180deg, transparent 20%, #000 60%, transparent 100%); -webkit-mask-image: linear-gradient(180deg, transparent 20%, #000 60%, transparent 100%); }
.sw-vgrow-head { position: relative; z-index: 1; margin-bottom: clamp(20px, 3vw, 40px); }
.sw-vgrow-head > * { margin-block: 0; }
.sw-vgrow-kicker { text-align: center; color: #7cd0ff; font-family: 'Montserrat', 'Roboto', sans-serif; font-size: calc(.8rem + 1pt); font-weight: 700; letter-spacing: .2em; }
.sw-vgrow-head h2 { text-align: center; margin-top: 8px !important; color: #fff; font-size: calc(clamp(1.5rem, 2.6vw, 2.3rem) + 1pt) !important; font-weight: 800 !important; letter-spacing: -.02em; word-break: keep-all; }
.sw-vgrow { --p: 0; position: relative; z-index: 1; width: min(100%, 1240px); margin: 0 auto; }
.sw-vgrow-frame { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: calc(34px - 10px * var(--p)); background: #000; box-shadow: 0 40px 90px rgba(0, 0, 0, .55); transform: scale(calc(.68 + .32 * var(--p))); transform-origin: 50% 50%; will-change: transform; }
.sw-vgrow-video { display: block; width: 100%; height: 100%; object-fit: cover; }
.sw-vgrow-play { position: absolute; top: 50%; left: 50%; display: grid; width: 92px; height: 92px; place-items: center; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .18); color: #fff; backdrop-filter: blur(6px); cursor: pointer; transform: translate(-50%, -50%); transition: background .25s ease, transform .25s ease, opacity .25s ease; }
.sw-vgrow-play svg { width: 38px; height: 38px; fill: currentColor; margin-left: 4px; }
.sw-vgrow-play:hover { background: rgba(255, 255, 255, .3); transform: translate(-50%, -50%) scale(1.06); }
.sw-vgrow.is-playing .sw-vgrow-play { opacity: 0; pointer-events: none; }
.sw-vgrow-links { position: absolute; right: -8px; top: 50%; margin: 0; padding: 0; list-style: none; transform: translateY(-50%); }
.sw-vgrow-links li + li { margin-top: 16px; }
.sw-vgrow-links a { display: inline-flex; align-items: center; gap: 12px; color: #fff; font-size: calc(.95rem + 1pt); font-weight: 700; text-decoration: none; }
.sw-vgrow-links i { background: #fff; color: #0b2458; }
.sw-vgrow-links a:hover i { background: #7cd0ff; }
@media (max-width: 1240px) { .sw-vgrow-links { position: static; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 28px; margin-top: 26px; transform: none; } .sw-vgrow-links li + li { margin: 0; } }
@media (max-width: 640px) { .sw-vgrow-frame { transform: none; border-radius: 18px; } .sw-vgrow-play { width: 68px; height: 68px; } }
@media (prefers-reduced-motion: reduce) { .sw-vgrow-frame { transform: none; border-radius: 24px; } }

/* ===== 홈 Business 섹션(별 배경)용 반원 다이어그램 다크 변형 · 6조각 · 분야별 색 (2026-10-07) ===== */
/* 화면 폭 전체(좌우 16px만 남김)를 다이어그램에 쓴다 */
.sw-biz-space .sw-arc, .sw-biz-space .sw-arc.alignwide, .is-layout-constrained > .sw-arc.alignwide { width: calc(100vw - 32px) !important; max-width: 2200px !important; margin: clamp(20px, 3vw, 44px) 0 0 calc(50% - min(50vw - 16px, 1100px)) !important; padding-right: 0 !important; box-sizing: border-box; }
.sw-arc.is-6 .sw-arc-svg { overflow: visible; }
.sw-arc.is-6 .sw-arc-name { font-size: 31px; }
.sw-arc.is-6 .sw-arc-more { font-size: 16px; }
.sw-arc.is-6 .sw-arc-label { font-size: 22px; }
.sw-arc.is-6 .sw-arc-seg .sw-arc-fill { fill: var(--f, url(#sw-arc-g1)); filter: url(#sw-arc-sh); }
.sw-arc.is-6 .sw-arc-seg:hover .sw-arc-fill, .sw-arc.is-6 .sw-arc-seg:focus-visible .sw-arc-fill { fill: var(--f, url(#sw-arc-g1)); filter: url(#sw-arc-sh) brightness(1.18) saturate(1.1); }
.sw-arc.is-6 .sw-arc-label tspan:last-child { fill: color-mix(in srgb, var(--c, #7cd0ff) 55%, #fff); }
.sw-arc-dark .sw-arc-ring { fill: rgba(124, 208, 255, .10); }
.sw-arc-dark .sw-arc-label { fill: #fff; }
.sw-arc-dark .sw-arc-label tspan:first-child { fill: rgba(255, 255, 255, .62); }
.sw-arc-dark .sw-arc-brand { fill: #fff; }
.sw-arc-dark .sw-arc-brand-s { fill: rgba(255, 255, 255, .7); }
.sw-arc-dark .sw-arc-core { opacity: 1; }
/* 링크 3개는 다이어그램 아래 한 줄(겹침 없음) */
.sw-arc-dark .sw-arc-links { position: static; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 36px; width: auto; margin-top: clamp(18px, 2.5vw, 34px); transform: none; }
.sw-arc-dark .sw-arc-links li + li { margin: 0; }
.sw-arc-dark .sw-arc-links a { font-size: calc(1.05rem + 1pt); }
.sw-arc-dark .sw-arc-links a { color: #fff; }
.sw-arc-dark .sw-arc-links i { background: #fff; color: #0b2458; }
.sw-arc-dark .sw-arc-links a:hover i { background: #7cd0ff; }
@media (max-width: 640px) {
  .sw-biz-space .sw-arc, .sw-biz-space .sw-arc.alignwide, .is-layout-constrained > .sw-arc.alignwide { width: 100% !important; margin-left: 0 !important; }
}
@media (max-width: 640px) {
  .sw-arc-dark .sw-arc-list a { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); border-left: 4px solid var(--c, #7cd0ff); }
}

/* ===== 홈 Business 반원 다이어그램 v3: 광택 · 발광 · 알약 버튼 · 연결선 · 바닥 링 · 지구본 · CTA 버튼 (2026-10-07) ===== */
.sw-arc.is-v3 { position: relative; }
.sw-arc.is-v3 .sw-arc-svg { overflow: visible; }
.sw-arc.is-v3 .sw-arc-seg .sw-arc-fill { fill: var(--f); filter: url(#sw-arc-glow-commerce); }
.sw-arc.is-v3 .sw-arc-seg.is-si .sw-arc-fill { filter: url(#sw-arc-glow-si); }
.sw-arc.is-v3 .sw-arc-seg.is-ai .sw-arc-fill { filter: url(#sw-arc-glow-ai); }
.sw-arc.is-v3 .sw-arc-seg.is-ums .sw-arc-fill { filter: url(#sw-arc-glow-ums); }
.sw-arc.is-v3 .sw-arc-seg.is-mobile .sw-arc-fill { filter: url(#sw-arc-glow-mobile); }
.sw-arc.is-v3 .sw-arc-seg.is-mro .sw-arc-fill { filter: url(#sw-arc-glow-mro); }
.sw-arc.is-v3 .sw-arc-seg { transition: transform .3s ease; transform-box: fill-box; transform-origin: 50% 100%; }
.sw-arc.is-v3 .sw-arc-seg:hover .sw-arc-fill, .sw-arc.is-v3 .sw-arc-seg:focus-visible .sw-arc-fill { fill: var(--f); filter: brightness(1.22) saturate(1.15); }
.sw-arc.is-v3 .sw-arc-edge { stroke-opacity: .3; }
.sw-arc.is-v3 .sw-arc-seg:hover .sw-arc-edge { stroke-opacity: .9; }
.sw-arc.is-v3 .sw-arc-gloss { pointer-events: none; }
.sw-arc.is-v3 .sw-arc-name { font-size: 33px; font-weight: 800; }
.sw-arc.is-v3 .sw-arc-pill rect { fill: rgba(255, 255, 255, .16); stroke: rgba(255, 255, 255, .62); stroke-width: 1.5; transition: fill .25s ease; }
.sw-arc.is-v3 .sw-arc-pill text { fill: #fff; font-size: 17px; font-weight: 700; }
.sw-arc.is-v3 .sw-arc-seg:hover .sw-arc-pill rect { fill: rgba(255, 255, 255, .3); }
.sw-arc.is-v3 .sw-arc-label { font-size: 21px; font-weight: 600; fill: #fff; }
.sw-arc.is-v3 .sw-arc-label tspan:first-child { fill: rgba(255, 255, 255, .66); font-weight: 500; }
.sw-arc.is-v3 .sw-arc-label tspan:last-child { fill: #bfe3ff; font-weight: 800; }
.sw-arc.is-v3 .sw-arc-lead, .sw-arc.is-v3 .sw-arc-dot { pointer-events: none; }
.sw-arc.is-v3 .sw-arc-core-t { fill: #fff; font-size: 31px; font-weight: 800; }
.sw-arc.is-v3 .sw-arc-core-s { fill: rgba(255, 255, 255, .92); font-size: 18px; }
.sw-arc.is-v3 .sw-arc-brand { fill: #fff; font-size: 64px; }
.sw-arc.is-v3 .sw-arc-brand-s { fill: rgba(255, 255, 255, .78); font-size: 19px; }
.sw-arc.is-v3 .sw-arc-links { display: none; }
/* 지구본 격자가 천천히 굴러간다 */
.sw-arc.is-v3 .sw-arc-globe-grid { transform-box: fill-box; transform-origin: center; animation: sw-arc-globe-roll 36s linear infinite; }
@keyframes sw-arc-globe-roll { to { transform: rotate(360deg); } }
/* CTA 버튼: 반원 아래 바닥 링 영역, 가운데 정렬. 첫 버튼은 브랜드 그라데이션, 나머지는 유리 */
.sw-arc.is-v3 .sw-arc-cta { position: absolute; left: 50%; bottom: 1.5%; margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: nowrap; justify-content: center; gap: 14px; transform: translateX(-50%); white-space: nowrap; }
.sw-arc.is-v3 .sw-arc-cta a { display: inline-flex; align-items: center; gap: 12px; min-width: 215px; padding: 12px 12px 12px 20px; border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; background: rgba(255, 255, 255, .07); backdrop-filter: blur(10px); box-shadow: 0 10px 30px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .14); color: #fff; font-size: calc(1rem + 1pt); font-weight: 700; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease; }
.sw-arc.is-v3 .sw-arc-cta a:hover { transform: translateY(-2px); border-color: rgba(255, 255, 255, .5); background: rgba(255, 255, 255, .13); box-shadow: 0 14px 36px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .2); }
.sw-arc.is-v3 .sw-arc-cta a.is-primary { border-color: transparent; background: linear-gradient(90deg, #2f6bff, #22b2d6); box-shadow: 0 12px 34px rgba(47, 107, 255, .45), inset 0 1px 0 rgba(255, 255, 255, .28); }
.sw-arc.is-v3 .sw-arc-cta a.is-primary:hover { background: linear-gradient(90deg, #3d78ff, #2cc0e3); }
.sw-arc.is-v3 .sw-arc-cta > li > a > svg { width: 22px; height: 22px; fill: none; stroke: rgba(255, 255, 255, .85); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.sw-arc.is-v3 .sw-arc-cta span { flex: 1 1 auto; }
.sw-arc.is-v3 .sw-arc-cta i { display: inline-grid; place-items: center; width: 32px; height: 32px; flex: 0 0 auto; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; transition: background .25s ease, transform .25s ease; }
.sw-arc.is-v3 .sw-arc-cta i svg { display: block; width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.sw-arc.is-v3 .sw-arc-cta a:hover i { background: rgba(255, 255, 255, .26); transform: translateX(2px); }
.sw-arc.is-v3 .sw-arc-cta a.is-primary i { background: rgba(255, 255, 255, .22); }
/* 섹션 머리글: 2003년부터 강조 */
.sw-biz-space .sw-hl-sky { color: #7cd0ff; font-weight: 800; }
@media (max-width: 1240px) {
  .sw-arc.is-v3 .sw-arc-cta { position: static; flex-wrap: wrap; justify-content: center; gap: 12px 16px; margin-top: 20px; transform: none; white-space: normal; }
  .sw-arc.is-v3 .sw-arc-cta a { min-width: 0; }
}
@media (max-width: 640px) {
  .sw-arc.is-v3 .sw-arc-list a { border-left: 4px solid var(--c, #7cd0ff); }
}
@media (prefers-reduced-motion: reduce) { .sw-arc.is-v3 .sw-arc-seg, .sw-arc.is-v3 .sw-arc-cta a, .sw-arc.is-v3 .sw-arc-globe-grid { transition: none; animation: none; } }
/* 조각 안 분야 사진: 평소엔 사진 위에 파란 틴트, 마우스를 올리거나 누르면 지금처럼 파란 조각만 */
.sw-arc.is-v3 .sw-arc-photo { opacity: .9; filter: brightness(.62) saturate(.75); transition: opacity .4s ease; pointer-events: none; }
.sw-arc.is-v3 .sw-arc-seg .sw-arc-fill { opacity: .68; transition: opacity .4s ease, filter .3s ease; }
.sw-arc.is-v3 .sw-arc-name, .sw-arc.is-v3 .sw-arc-core-t { filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .45)); }
.sw-arc.is-v3 .sw-arc-icon path { filter: drop-shadow(0 1px 6px rgba(0, 0, 0, .6)); }
.sw-arc.is-v3 .sw-arc-pill rect { fill: rgba(6, 18, 52, .45); stroke: rgba(255, 255, 255, .75); }
.sw-arc.is-v3 .sw-arc-seg:hover .sw-arc-photo, .sw-arc.is-v3 .sw-arc-seg:focus-visible .sw-arc-photo, .sw-arc.is-v3 .sw-arc-seg:active .sw-arc-photo { opacity: 0; }
.sw-arc.is-v3 .sw-arc-seg:hover .sw-arc-fill, .sw-arc.is-v3 .sw-arc-seg:focus-visible .sw-arc-fill, .sw-arc.is-v3 .sw-arc-seg:active .sw-arc-fill { opacity: 1; }
/* v4: 설명을 조각 안에 — 반원이 화면 폭을 거의 다 쓴다 */
.sw-arc.is-v4 .sw-arc-name { font-size: 30px; }
.sw-arc.is-v4 .sw-arc-desc { fill: rgba(255, 255, 255, .9); font-size: 16px; font-weight: 500; filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .5)); }
.sw-arc.is-v4 .sw-arc-desc .is-b { fill: #fff; font-weight: 800; }
.sw-arc.is-v4 .sw-arc-pill text { font-size: 15px; }
.sw-arc.is-v4 .sw-arc-cta { bottom: 2%; }
/* v4: Business 섹션이 한 화면을 꽉 채우도록 — 다이어그램 높이를 화면 높이에 맞춘다 */
.sw-biz-space:has(.sw-arc.is-v4) { display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; min-height: 100vh; padding-top: clamp(56px, 6vh, 80px); padding-bottom: clamp(40px, 5vh, 64px); }
.sw-biz-space .sw-biz2-head { margin-bottom: clamp(12px, 2vh, 28px) !important; }
.sw-arc.is-v4 .sw-arc-svg { display: block; width: auto; height: min(calc(100vh - 300px), calc((100vw - 32px) * 800 / 1260)); max-width: 100%; margin: 0 auto; }
.sw-arc.is-v4 .sw-arc-photo { opacity: .95; filter: brightness(.55) saturate(.7); }
.sw-arc.is-v4 .sw-arc-seg .sw-arc-fill { opacity: .72; }
@media (max-width: 1240px) { .sw-arc.is-v4 .sw-arc-svg { height: auto; width: 100%; } .sw-biz-space:has(.sw-arc.is-v4) { min-height: 0; } }
/* v5: 조각 안은 영문명 + 아이콘만, 설명은 막대 연결선으로 바깥에. 섹션 높이는 내용에 맞춤 */
.sw-biz-space:has(.sw-arc.is-v5) { min-height: 0; padding-top: clamp(56px, 6vh, 80px); padding-bottom: clamp(32px, 4vh, 56px); }
.sw-arc.is-v5 .sw-arc-svg { display: block; width: 100%; height: auto; max-width: 1700px; margin: 0 auto; }
.sw-arc.is-v5 .sw-arc-name { font-size: 34px; }
.sw-arc.is-v5 .sw-arc-bar { stroke: #9fd8ff; stroke-opacity: .85; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.sw-arc.is-v5 .sw-arc-bar-dot { fill: #fff; stroke: #2f6bff; stroke-width: 2.5; pointer-events: none; }
.sw-arc.is-v5 .sw-arc-callout { fill: rgba(255, 255, 255, .72); font-size: 21px; font-weight: 500; }
.sw-arc.is-v5 .sw-arc-callout .is-b { fill: #fff; font-weight: 800; }
.sw-arc.is-v5 .sw-arc-cta { bottom: 1%; }

/* ===== 메인 인트로: 리본 글로우 배경 캔버스 + 더 천천히 넘어가기 (2026-10-07) ===== */
.sw-intro { animation: sw-intro-out 1.2s cubic-bezier(.4, 0, .2, 1) 6s forwards; }
.sw-intro-fx { position: absolute; inset: 0; z-index: 0; display: block; width: 100%; height: 100%; }
.sw-intro.has-ribbon .sw-intro-logo { filter: none; image-rendering: auto; }
.sw-intro.has-ribbon .sw-intro-skip { z-index: 2; }
@media (prefers-reduced-motion: reduce) { .sw-intro { animation-delay: 3s; } }

/* 채널 가이드 표: 왼쪽 색 테두리 + 연한 배경의 태그(칩) 모양은 쓰지 않는다 (2026-10-07 사용자 지시). 채널명은 색 글자로만 */
.sw-guide-table .sw-gt-ch, .sw-guide-table .sw-gt-ch.is-kakao { display: inline; padding: 0; border: 0; border-radius: 0; background: none; color: var(--c); font-weight: 800; letter-spacing: -.01em; }
.sw-guide-table .sw-gt-ch.is-sms { --c: #2f6bd8; }
.sw-guide-table .sw-gt-ch.is-kakao { --c: #a07a00; }

/* ===== 원형 화살표 버튼: 글자 "→" 대신 SVG 화살표(정중앙 정렬) (2026-10-07) ===== */
/* 솔루션 카드 원형 화살표: 기본 흰 화살표, 카드에 마우스를 올리면 남색 화살표 */
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-go a::after, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-lg .sw-sol-go a::after, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-sm .sw-sol-go a::after { content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h13M12 6l6 6-6 6'/></svg>"); font-size: 0; line-height: 0; }
.sw-sol-grid.sw-sol-grid > .sw-sol-card:hover .sw-sol-go a::after { content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%230b1530' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h13M12 6l6 6-6 6'/></svg>"); }
/* 솔루션 전체 보기 (흰 원 · 남색 화살표) */
.sw-sol-all a::after { content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231f4f9f' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h13M12 6l6 6-6 6'/></svg>"); font-size: 0; line-height: 0; }
/* 데모 영상 섹션 링크 (흰 원 · 남색 화살표) */
.sw-vgrow-links i::before { content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230b2458' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h13M12 6l6 6-6 6'/></svg>"); display: block; width: 14px; height: 14px; font-size: 0; line-height: 0; }
.sw-arc-links i::before { content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h13M12 6l6 6-6 6'/></svg>"); display: block; width: 14px; height: 14px; font-size: 0; line-height: 0; }

/* 인트로: 리본이 뜨기 전 보이던 그라데이션 화면을 없애고(리본 바탕색과 같은 남색), 로고는 원본 해상도 안에서만 표시해 또렷하게 (2026-10-07) */
.sw-intro { background: #07152f; }
.sw-intro-logo { width: min(380px, 56vw); animation: none; image-rendering: auto; filter: none; }
.sw-intro-fx { opacity: 0; animation: sw-intro-fx-in .9s ease .05s forwards; }
@keyframes sw-intro-fx-in { to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .sw-intro-fx { animation: none; opacity: 1; } }

/* ===== 홈 Business 배경: 별 무늬 대신 남색 그라데이션만 · 인사이트 카드 그리드 가로 확장 (2026-10-08) ===== */
.sw-biz-space { background: linear-gradient(180deg, #102a66 0%, #0a1a40 48%, #060f28 100%) !important; }
.sw-biz-space::before, .sw-biz-space::after { display: none !important; }
.sw-insights .sw-insight-grid, .sw-insights .sw-insight-grid.alignwide { width: 100%; max-width: min(calc(100vw - 64px), 1480px) !important; margin-inline: auto !important; }
.sw-insights .sw-ins-head { max-width: min(calc(100vw - 64px), 1480px) !important; margin-inline: auto !important; }

/* v5: CTA 버튼을 다이어그램 아래 일반 흐름에 두어 어떤 폭에서도 라벨과 겹치지 않게 (2026-10-08) */
.sw-arc.is-v5 .sw-arc-cta { position: static; left: auto; bottom: auto; transform: none; margin-top: clamp(10px, 1.5vw, 24px); }
.sw-arc.is-v5 .sw-arc-svg { max-width: 1600px; }

/* 인트로: 스크립트가 있으면 자동 종료 없이 SKIP 버튼으로만 닫힌다 (2026-10-08) */
.sw-intro.is-manual { animation: none; }
.sw-intro.is-manual.is-gone { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .9s ease, visibility 0s linear .9s; }
.sw-intro-skip { z-index: 3; padding: 12px 18px; border: 1px solid rgba(255, 255, 255, .55); border-radius: 999px; background: rgba(255, 255, 255, .08); backdrop-filter: blur(6px); }
.sw-intro-skip:hover { background: rgba(255, 255, 255, .18); border-color: #fff; }

/* ===== 홈 Business 섹션: 밝은 그라데이션 배경 + 그에 맞춘 글자 · 연결선 · 버튼 색 (2026-10-08) ===== */
.sw-biz-space { background: linear-gradient(180deg, #f7faff 0%, #eaf2fd 55%, #dfe9f9 100%) !important; }
.sw-biz-space .sw-biz2-head h2 { color: var(--sw-ink) !important; }
.sw-biz-space .sw-biz2-head h2 small { color: #2f6bd8; }
.sw-biz-space .sw-biz2-head .sw-lead { color: #46577a !important; }
.sw-biz-space .sw-hl-sky { color: #2f6bd8; }
.sw-arc.is-v5 .sw-arc-callout { fill: #5a6a8a; font-size: 20px; }
.sw-arc.is-v5 .sw-arc-callout .is-b { fill: #16223a; }
.sw-arc.is-v5 .sw-arc-bar { stroke: #2f6bd8; stroke-opacity: .7; }
.sw-arc.is-v5 .sw-arc-bar-dot { fill: #fff; stroke: #2f6bd8; }
.sw-arc.is-v5 .sw-arc-base { stroke: #2f6bd8 !important; }
.sw-arc.is-v5 .sw-arc-base.is-plate { fill: #cfe0fa !important; fill-opacity: .8 !important; }
.sw-arc.is-v5 .sw-arc-horizon { opacity: .55; }
.sw-arc.is-v5 .sw-arc-cta a { border-color: rgba(16, 47, 103, .22); background: rgba(255, 255, 255, .75); color: var(--sw-ink); box-shadow: 0 10px 26px rgba(16, 47, 103, .12), inset 0 1px 0 rgba(255, 255, 255, .8); }
.sw-arc.is-v5 .sw-arc-cta a:hover { border-color: rgba(16, 47, 103, .4); background: #fff; }
.sw-arc.is-v5 .sw-arc-cta > li > a > svg { stroke: #2f6bd8; }
.sw-arc.is-v5 .sw-arc-cta i { background: rgba(16, 47, 103, .08); color: var(--sw-ink); }
.sw-arc.is-v5 .sw-arc-cta a:hover i { background: rgba(16, 47, 103, .14); }
.sw-arc.is-v5 .sw-arc-cta a.is-primary { border-color: transparent; background: linear-gradient(90deg, #2f6bff, #22b2d6); color: #fff; box-shadow: 0 12px 30px rgba(47, 107, 255, .35), inset 0 1px 0 rgba(255, 255, 255, .28); }
.sw-arc.is-v5 .sw-arc-cta a.is-primary i { background: rgba(255, 255, 255, .22); color: #fff; }
.sw-arc.is-v5 .sw-arc-cta a.is-primary > svg { stroke: rgba(255, 255, 255, .9); }
@media (max-width: 640px) { .sw-arc-dark.is-v5 .sw-arc-list a { background: linear-gradient(135deg, #0b2458, #2f6bff); border: 0; } }

/* ===== Business 다이어그램 v6: 반원을 더 크게, 글씨도 키움 (2026-10-08) ===== */
.sw-biz-space .sw-arc.is-v6, .is-layout-constrained > .sw-arc.is-v6.alignwide { width: 100vw !important; max-width: 2200px !important; margin-left: calc(50% - min(50vw, 1100px)) !important; }
.sw-arc.is-v6 .sw-arc-svg { max-width: none; }
.sw-arc.is-v6 .sw-arc-name { font-size: 46px; }
.sw-arc.is-v6 .sw-arc-callout { font-size: 46px; }
.sw-arc.is-v6 .sw-arc-core-t { font-size: 36px; }
.sw-arc.is-v6 .sw-arc-core-s { font-size: 21px; }
.sw-arc.is-v6 .sw-arc-brand { font-size: 76px; }
.sw-arc.is-v6 .sw-arc-brand-s { font-size: 22px; }
.sw-arc.is-v6 .sw-arc-bar { stroke-width: 3.5; }
.sw-arc.is-v6 .sw-arc-bar-dot { r: 7; }
.sw-biz-space:has(.sw-arc.is-v6) { overflow: hidden; }
/* v7: 반원을 가로 1.5배 · 세로 2배로 늘린 타원형 */
.sw-arc.is-v7 .sw-arc-name { font-size: 56px; }
.sw-arc.is-v7 .sw-arc-callout { font-size: 50px; }
.sw-arc.is-v7 .sw-arc-core-t { font-size: 48px; }
.sw-arc.is-v7 .sw-arc-core-s { font-size: 27px; }
.sw-arc.is-v7 .sw-arc-brand { font-size: 104px; }
.sw-arc.is-v7 .sw-arc-brand-s { font-size: 29px; }
.sw-arc.is-v7 .sw-arc-bar { stroke-width: 4; }
.sw-arc.is-v7 .sw-arc-bar-dot { r: 9; }
.sw-arc.is-v7 .sw-arc-pill rect, .sw-arc.is-v7 .sw-arc-pill text { display: none; }
/* v8: 참고안(Caidentia) 구성 — 큰 반원 · 두꺼운 고리 · 바깥 방사선 라벨 */
.sw-arc.is-v8 .sw-arc-name { font-size: 68px; letter-spacing: -.02em; }
.sw-arc.is-v8 .sw-arc-callout { font-size: 56px; fill: #46577a; }
.sw-arc.is-v8 .sw-arc-callout .is-b { fill: #16223a; }
.sw-arc.is-v8 .sw-arc-core-t { font-size: 60px; }
.sw-arc.is-v8 .sw-arc-core-s { font-size: 34px; }
.sw-arc.is-v8 .sw-arc-brand { font-size: 132px; }
.sw-arc.is-v8 .sw-arc-brand-s { font-size: 36px; }
.sw-arc.is-v8 .sw-arc-ray { stroke: #2f6bd8; stroke-opacity: .55; stroke-width: 3; stroke-linecap: round; pointer-events: none; }
.sw-arc.is-v8 .sw-arc-pill rect, .sw-arc.is-v8 .sw-arc-pill text { display: none; }
.sw-arc.is-v8 .sw-arc-base.is-plate { rx: 1300; }
.sw-arc.is-v8 .sw-arc-brand { font-size: 112px; }
.sw-arc.is-v8 .sw-arc-core-t { font-size: 56px; }
/* v8 확장: 고리 두께 1.5배 (캔버스 4600) 에 맞춘 글씨 */
.sw-arc.is-v8 .sw-arc-name { font-size: 80px; }
.sw-arc.is-v8 .sw-arc-callout { font-size: 64px; }
.sw-arc.is-v8 .sw-arc-core-t { font-size: 60px; }
.sw-arc.is-v8 .sw-arc-core-s { font-size: 38px; }
.sw-arc.is-v8 .sw-arc-brand { font-size: 100px; }
.sw-arc.is-v8 .sw-arc-brand-s { font-size: 34px; }
.sw-arc.is-v8 .sw-arc-brand-s { font-size: 40px; }
.sw-arc.is-v8 .sw-arc-ray { stroke-width: 4; }
.sw-arc.is-v8 .sw-arc-base.is-plate { rx: 1550; }
/* v8 중앙 재구성: 고리 없이 하나의 반원, 브랜드 + SCF 3.0 문구 */
.sw-arc.is-v8 .sw-arc-brand { font-size: 118px; }
.sw-arc.is-v8 .sw-arc-brand-s { font-size: 36px; }
.sw-arc.is-v8 .sw-arc-core-t { font-size: 58px; }
.sw-arc.is-v8 .sw-arc-core-s { font-size: 36px; }
/* 중앙 고리 원래 구성(타원) 글씨 */
.sw-arc.is-v8 .sw-arc-brand { font-size: 104px; }
.sw-arc.is-v8 .sw-arc-brand-s { font-size: 32px; }
.sw-arc.is-v8 .sw-arc-core-t { font-size: 54px; }
.sw-arc.is-v8 .sw-arc-core-s { font-size: 32px; }
/* 지시선 끝 동그라미, 설명 글씨 확대 */
.sw-arc.is-v8 .sw-arc-callout { font-size: 72px; }
.sw-arc.is-v8 .sw-arc-ray-dot { fill: #fff; stroke: #2f6bd8; stroke-width: 4; pointer-events: none; }
.sw-arc.is-v8 .sw-arc-ray-dot.is-end { fill: #2f6bd8; stroke: #fff; stroke-width: 3; }
/* 중앙 고리 확대에 맞춘 글씨 */
.sw-arc.is-v8 .sw-arc-brand { font-size: 150px; }
.sw-arc.is-v8 .sw-arc-brand-s { font-size: 44px; }
.sw-arc.is-v8 .sw-arc-core-t { font-size: 70px; }
.sw-arc.is-v8 .sw-arc-core-s { font-size: 42px; }
/* 중앙 강화: 눈금 링 · 궤도 점 · 노드 반짝임 · 발광 테두리 */
.sw-arc.is-v8 .sw-arc-core-rim { filter: drop-shadow(0 0 14px rgba(124, 208, 255, .9)); }
.sw-arc.is-v8 .sw-arc-ticks, .sw-arc.is-v8 .sw-arc-orbit, .sw-arc.is-v8 .sw-arc-nodes { pointer-events: none; }
.sw-arc.is-v8 .sw-arc-orbit { animation: sw-arc-dash 14s linear infinite; }
@keyframes sw-arc-dash { to { stroke-dashoffset: -200; } }
.sw-arc.is-v8 .sw-arc-orb { filter: drop-shadow(0 0 10px rgba(255, 255, 255, .95)); animation: sw-arc-orb 3.2s ease-in-out infinite; }
.sw-arc.is-v8 .sw-arc-orb.is-1 { animation-delay: 1.1s; }
.sw-arc.is-v8 .sw-arc-orb.is-2 { animation-delay: 2.2s; }
@keyframes sw-arc-orb { 0%, 100% { opacity: .35; r: 7; } 50% { opacity: 1; r: 11; } }
.sw-arc.is-v8 .sw-arc-node { filter: drop-shadow(0 0 8px rgba(191, 227, 255, .95)); animation: sw-arc-node 2.8s ease-in-out infinite; }
.sw-arc.is-v8 .sw-arc-node.is-1 { animation-delay: .4s; } .sw-arc.is-v8 .sw-arc-node.is-2 { animation-delay: .8s; } .sw-arc.is-v8 .sw-arc-node.is-3 { animation-delay: 1.2s; } .sw-arc.is-v8 .sw-arc-node.is-4 { animation-delay: 1.6s; } .sw-arc.is-v8 .sw-arc-node.is-5 { animation-delay: 2s; } .sw-arc.is-v8 .sw-arc-node.is-6 { animation-delay: 2.4s; }
@keyframes sw-arc-node { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }
.sw-arc.is-v8 .sw-arc-brand { letter-spacing: -.02em; filter: url(#sw-arc-txt) drop-shadow(0 4px 10px rgba(0, 0, 0, .35)); }
.sw-arc.is-v8 .sw-arc-brand-s { fill: #dff3ff; }
.sw-arc.is-v8 .sw-arc-core-t { filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .35)); }
.sw-arc.is-v8 .sw-arc-spark { animation: sw-arc-sparkle 2.4s ease-in-out infinite; }
@keyframes sw-arc-sparkle { 0%, 100% { opacity: .5; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .sw-arc.is-v8 .sw-arc-orbit, .sw-arc.is-v8 .sw-arc-orb, .sw-arc.is-v8 .sw-arc-node, .sw-arc.is-v8 .sw-arc-spark { animation: none; opacity: 1; } }
/* 조각 안 영문명 · 아이콘 확대 */
.sw-arc.is-v8 .sw-arc-name { font-size: 104px; letter-spacing: -.02em; }
.sw-arc.is-v8 .sw-arc-icon path { stroke-width: 1.5; }
/* 중앙 보조 문구 확대 */
.sw-arc.is-v8 .sw-arc-brand { font-size: 160px; }
.sw-arc.is-v8 .sw-arc-brand-s { font-size: 60px; font-weight: 600; }
.sw-arc.is-v8 .sw-arc-core-t { font-size: 76px; }
.sw-arc.is-v8 .sw-arc-core-s { font-size: 52px; }
/* SCF 3.0 고리 문구 확대 */
.sw-arc.is-v8 .sw-arc-core-t { font-size: 96px; letter-spacing: -.01em; }
.sw-arc.is-v8 .sw-arc-core-s { font-size: 66px; font-weight: 600; }
/* 조각 영문명 한 단계 더 확대, SCF 제목은 고리 안에 맞춤 */
.sw-arc.is-v8 .sw-arc-name { font-size: 120px; }
.sw-arc.is-v8 .sw-arc-core-t { font-size: 90px; }
/* 설명 라벨 확대, 굵은 줄은 분야 색 */
.sw-arc.is-v8 .sw-arc-callout { font-size: 80px; }
.sw-arc.is-v8 .sw-arc-callout .is-b { font-weight: 800; }
/* 꺾인 지시선 */
.sw-arc.is-v8 polyline.sw-arc-ray { stroke: #2f6bd8; stroke-opacity: .6; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; fill: none; pointer-events: none; }
/* 설명 라벨 굵은 줄 확대 */
.sw-arc.is-v8 .sw-arc-callout { font-size: 84px; }
.sw-arc.is-v8 .sw-arc-callout .is-b { font-size: 100px; }
/* 중간 반원(SCF 고리) 폭 1.5배 — 캔버스 확대에 맞춘 글씨 */
.sw-arc.is-v8 .sw-arc-name { font-size: 138px; }
.sw-arc.is-v8 .sw-arc-callout { font-size: 96px; }
.sw-arc.is-v8 .sw-arc-callout .is-b { font-size: 115px; }
.sw-arc.is-v8 .sw-arc-core-t { font-size: 108px; }
.sw-arc.is-v8 .sw-arc-core-s { font-size: 78px; }
.sw-arc.is-v8 .sw-arc-brand { font-size: 190px; }
.sw-arc.is-v8 .sw-arc-brand-s { font-size: 72px; }
.sw-arc.is-v8 polyline.sw-arc-ray { stroke-width: 5; }
.sw-arc.is-v8 .sw-arc-base.is-plate { rx: 2600; }
/* 바깥 조각 폭 1.2배 */
.sw-arc.is-v8 .sw-arc-name { font-size: 146px; }
.sw-arc.is-v8 .sw-arc-base.is-plate { rx: 2800; }
/* 설명 라벨 1.2배 (설명 96→115, 굵은 줄 115→138) */
.sw-arc.is-v8 .sw-arc-callout { font-size: 115px; }
.sw-arc.is-v8 .sw-arc-callout .is-b { font-size: 138px; }

/* ===== 데모 영상: 아주 작게 시작해 화면 폭 전체까지 커진다 (2026-10-08) ===== */
.sw-vgrow-sec .sw-vgrow, .is-layout-constrained > .sw-vgrow { width: calc(100vw - 32px) !important; max-width: 1800px !important; margin: 0 0 0 calc(50% - min(50vw - 16px, 900px)) !important; }
.sw-vgrow-frame { transform: scale(calc(.38 + .62 * var(--p))); border-radius: calc(36px - 12px * var(--p)); }
.sw-vgrow-links { position: static; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 32px; margin-top: clamp(18px, 2.5vw, 34px); transform: none; }
.sw-vgrow-links li + li { margin: 0; }
@media (max-width: 640px) { .sw-vgrow-sec .sw-vgrow, .is-layout-constrained > .sw-vgrow { width: 100% !important; margin-left: 0 !important; } .sw-vgrow-frame { transform: none; } }

/* ===== 사업분야 · 제품 페이지 배너 설명 글씨 1.4배 (2026-10-08) ===== */
.sw-page-hero p.has-large-font-size { font-size: calc(var(--wp--preset--font-size--large, 1.25rem) * 1.4) !important; line-height: 1.6; max-width: 56em; }

/* ===== MRO 구조도 강화: 흐르는 점선 · 노드 숨쉬기 (2026-10-08) ===== */
.sw-mm .sw-mm-flow { animation: sw-mm-dash 1.6s linear infinite; }
.sw-mm .sw-mm-flow.is-o { animation-duration: 2.2s; }
.sw-mm .sw-mm-flow.is-n { animation-duration: 2s; }
@keyframes sw-mm-dash { to { stroke-dashoffset: -26; } }
.sw-mm .sw-mm-node { transform-box: fill-box; transform-origin: center; animation: sw-mm-breathe 3.6s ease-in-out infinite; }
.sw-mm .sw-mm-node.is-o { animation-delay: .6s; } .sw-mm .sw-mm-node.is-s { animation-delay: 1.2s; }
@keyframes sw-mm-breathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.04); } }
@media (prefers-reduced-motion: reduce) { .sw-mm .sw-mm-flow, .sw-mm .sw-mm-node { animation: none; } }
/* 연혁 탭: 번호 배지 제거 */
.sw-htl-tabs button em { display: none; }
.sw-htl-tabs button { gap: 6px; }

/* ===== 회사소개 '기획부터 운영까지' 5단계 카드 강화 (2026-10-08) ===== */
.sw-step-grid { counter-reset: none; }
.sw-step-card { position: relative; overflow: hidden; padding: 30px 22px 28px !important; border: 1px solid #dfe7f3 !important; border-radius: 20px !important; background: linear-gradient(180deg, #fff, #f7faff) !important; box-shadow: 0 10px 28px rgba(16, 47, 103, .07) !important; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.sw-step-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: linear-gradient(90deg, #2f6bd8, #1ea9e0); }
.sw-step-card::after { content: ""; position: absolute; right: -30px; top: -30px; width: 120px; height: 120px; border-radius: 50%; background: radial-gradient(circle, rgba(47, 107, 216, .12), transparent 70%); pointer-events: none; }
.sw-step-card:hover { transform: translateY(-8px); border-color: #b9cde8 !important; box-shadow: 0 22px 48px rgba(16, 47, 103, .14) !important; }
.sw-step-card .sw-value-no { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #0f2f6f; color: #fff !important; font-size: 13px !important; font-weight: 800; letter-spacing: .04em; }
.sw-step-card .sw-value-icon { width: 56px; height: 56px; margin-top: 16px !important; border-radius: 16px; background: linear-gradient(135deg, #2f6bd8, #1ea9e0); color: #fff; box-shadow: 0 10px 22px rgba(47, 107, 216, .3); display: grid; place-items: center; }
.sw-step-card .sw-value-icon svg { width: 28px; height: 28px; color: #fff; }
.sw-step-card h3 { margin-top: 16px !important; color: #13306e !important; font-size: calc(21px + 1pt) !important; font-weight: 900; letter-spacing: -.01em; }
.sw-step-card .sw-value-en { margin: 4px 0 0; color: #2f6bd8; font-weight: 700; }
.sw-step-card .sw-value-desc { margin-top: 12px !important; padding-bottom: 14px; border-bottom: 1px dashed #d5dfee; color: #3b4658; }
.sw-step-list li { gap: 9px; color: #2f3b4f; }
.sw-step-list li::before { content: ""; flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; border-radius: 50%; background: #e8f0ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bd8' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 10px no-repeat; }
.sw-step-list svg { display: none; }
.sw-step-arrow { right: -17px; width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 1px solid #d5dfee; color: #2f6bd8; box-shadow: 0 4px 10px rgba(16, 47, 103, .1); }
.sw-step-arrow svg { width: 12px; height: 12px; }
.sw-step-grid > .wp-block-column:nth-child(2) .sw-step-card::before, .sw-step-grid > .wp-block-column:nth-child(2) .sw-step-card .sw-value-icon { background: linear-gradient(90deg, #3a7af0, #22b2d6); }
.sw-step-grid > .wp-block-column:nth-child(3) .sw-step-card::before, .sw-step-grid > .wp-block-column:nth-child(3) .sw-step-card .sw-value-icon { background: linear-gradient(90deg, #2f63dc, #35bde0); }
.sw-step-grid > .wp-block-column:nth-child(4) .sw-step-card::before, .sw-step-grid > .wp-block-column:nth-child(4) .sw-step-card .sw-value-icon { background: linear-gradient(90deg, #1e4fd8, #3b8fec); }
.sw-step-grid > .wp-block-column:nth-child(5) .sw-step-card::before, .sw-step-grid > .wp-block-column:nth-child(5) .sw-step-card .sw-value-icon { background: linear-gradient(90deg, #7a4ce6, #3a7af0); }
@media (prefers-reduced-motion: reduce) { .sw-step-card { transition: none; } }

/* ===== 연혁 타임라인: 시간이 흐르는 느낌 — 레일을 따라 지나가는 빛 + 순서대로 켜지는 점 ===== */
.sw-htl-track::after { content: ""; position: absolute; left: 0; top: 54px; width: 22%; height: 6px; border-radius: 6px; background: linear-gradient(90deg, transparent, rgba(47, 107, 216, .55) 40%, #1ea9e0 70%, transparent); filter: blur(.5px); opacity: 0; pointer-events: none; }
.sw-htl-panel.is-in .sw-htl-track::after { animation: sw-htl-travel 5.5s cubic-bezier(.4, 0, .4, 1) .3s infinite; }
@keyframes sw-htl-travel { 0% { left: -22%; opacity: 0; } 8% { opacity: 1; } 78% { opacity: 1; } 86%, 100% { left: 100%; opacity: 0; } }
.sw-htl-panel.is-in .sw-htl-year > i::before { animation: sw-htl-dot2 5.5s ease-out .3s infinite; animation-delay: calc(var(--y, 0) * 1.1s + .9s); }
@keyframes sw-htl-dot2 { 0%, 100% { box-shadow: 0 0 0 5px rgba(47, 107, 216, .16), 0 6px 14px rgba(47, 107, 216, .4); transform: translateY(-50%) scale(1); } 6% { box-shadow: 0 0 0 12px rgba(30, 169, 224, .28), 0 0 24px rgba(30, 169, 224, .8); transform: translateY(-50%) scale(1.35); } 22% { box-shadow: 0 0 0 5px rgba(47, 107, 216, .16), 0 6px 14px rgba(47, 107, 216, .4); transform: translateY(-50%) scale(1); } }
.sw-htl-panel.is-in .sw-htl-year > b { animation: sw-htl-yr 5.5s ease-out infinite; animation-delay: calc(var(--y, 0) * 1.1s + .9s); }
@keyframes sw-htl-yr { 0%, 100% { transform: none; } 6% { transform: translateY(-4px); } 22% { transform: none; } }
.sw-htl.is-hold .sw-htl-track::after, .sw-htl.is-hold .sw-htl-year > b { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .sw-htl-track::after, .sw-htl-year > b { animation: none !important; } }

/* ===== Our Philosophy 문구 줄바꿈 정리: 열을 넓히고 단어 단위로만 줄바꿈 (2026-10-08) ===== */
.sw-dark .sw-circle-grid { max-width: min(1520px, calc(100vw - 48px)) !important; margin-inline: auto !important; gap: clamp(16px, 2vw, 32px); }
.sw-dark .sw-circle-grid p { word-break: keep-all; overflow-wrap: normal; white-space: nowrap; font-size: clamp(14px, 1.08vw, 17px); line-height: 1.75; }
@media (max-width: 1200px) { .sw-dark .sw-circle-grid p { white-space: normal; } .sw-dark .sw-circle-grid p br { display: none; } }
/* 보유 솔루션 자산 6: 라이브커머스 */
.sw-asset-row.is-6 { --c: #d63a6e; }
.sw-assets-sec .sw-lc-shots { gap: 20px !important; margin-top: 28px !important; }
.sw-assets-sec .sw-lc-shots figure { margin: 0; }
.sw-assets-sec .sw-lc-shots img { width: 100%; height: 360px; object-fit: cover; object-position: top center; border: 1px solid #dfe7f3; border-radius: 16px; box-shadow: 0 12px 30px rgba(16, 47, 103, .1); background: #f3f6fb; }
.sw-assets-sec .sw-lc-shots figcaption { margin-top: 10px; color: #5a6a8a; font-size: calc(.9rem + 1pt); text-align: center; }


/* ===== 홈 Business 단락 높이 1.5배 + 다이어그램 가로 1.2배 (2026-10-08) ===== */
.sw-biz-space:has(.sw-arc.is-v8) { padding-top: clamp(80px, 9vh, 130px); padding-bottom: clamp(60px, 7vh, 100px); }
.sw-arc.is-v8 .sw-arc-svg { max-width: 1920px; }
.sw-arc.is-v8 .sw-arc-base.is-plate { rx: 3360; }

/* ===== 라이브커머스 솔루션 제품 페이지 (2026-10-08) ===== */
.page-template-page-product-live .sw-ums-hero { background: radial-gradient(45% 60% at 80% 30%, rgba(214, 58, 110, .5), transparent 70%), radial-gradient(35% 50% at 10% 90%, rgba(47, 107, 255, .3), transparent 70%), linear-gradient(160deg, #1b0a22, #3a0f36 60%, #541445); }
.page-template-page-product-live .sw-ums-eyebrow { color: #ff8fb4; }
.page-template-page-product-live .sw-ums-msg.is-push b { background: #d63a6e; }
.page-template-page-product-live .sw-ums-stat-num { color: #ff9cbe; }
.sw-ums-sec .sw-lc-shots { gap: 20px !important; margin-top: 8px !important; }
.sw-ums-sec .sw-lc-shots figure { margin: 0; }
.sw-ums-sec .sw-lc-shots img { width: 100%; height: 420px; object-fit: cover; object-position: top center; border: 1px solid #dfe7f3; border-radius: 16px; box-shadow: 0 12px 30px rgba(16, 47, 103, .1); background: #f3f6fb; }
.sw-ums-sec .sw-lc-shots figcaption { margin-top: 10px; color: #5a6a8a; font-size: calc(.9rem + 1pt); text-align: center; }
@media (max-width: 781px) { .sw-ums-sec .sw-lc-shots img { height: 300px; } }

/* ===== MRO 구조도: 점선이 흐르는 애니메이션 제거 (2026-10-08) ===== */
.sw-mm .sw-mm-flow, .sw-mm .sw-mm-flow.is-o, .sw-mm .sw-mm-flow.is-n { animation: none !important; }


/* ===== 카드 강조선: 위쪽 한 줄 막대 대신 사면 그라데이션 테두리 (2026-10-08) ===== */
/* 한쪽 막대(::before/::after, border-top) 모두 제거 */
.sw-step-card::before, .sw-benefit-card::before, .sw-ums-why .sw-ums-feature::before, #talent .sw-card-grid .sw-card::before, .sw-dg::after { display: none !important; }
/* 5단계 카드 */
.sw-step-card { --gb: linear-gradient(135deg, #2f6bd8, #1ea9e0); border: 2px solid transparent !important; background: linear-gradient(180deg, #fff, #f7faff) padding-box, var(--gb) border-box !important; }
.sw-step-card:hover { border-color: transparent !important; }
.sw-step-grid > .wp-block-column:nth-child(2) .sw-step-card { --gb: linear-gradient(135deg, #3a7af0, #22b2d6); }
.sw-step-grid > .wp-block-column:nth-child(3) .sw-step-card { --gb: linear-gradient(135deg, #2f63dc, #35bde0); }
.sw-step-grid > .wp-block-column:nth-child(4) .sw-step-card { --gb: linear-gradient(135deg, #1e4fd8, #3b8fec); }
.sw-step-grid > .wp-block-column:nth-child(5) .sw-step-card { --gb: linear-gradient(135deg, #7a4ce6, #3a7af0); }
/* 사업분야 혜택 카드(진한 그라데이션 카드): 밝은 그라데이션 테두리 */
.sw-benefit-card { border: 2px solid transparent !important; background: radial-gradient(80% 60% at 100% 0%, rgba(255, 255, 255, .18), transparent 60%) padding-box, linear-gradient(150deg, var(--g1), var(--g2)) padding-box, linear-gradient(135deg, #9fd8ff, #35bde0 55%, #7cd0ff) border-box !important; }
/* sOMP 특징 카드 · 채널 카드 · SI·ITO 자산 카드: 각 색(--c) 기준 사면 테두리 */
.sw-ums-why .sw-ums-feature, .sw-ums-channel, .sw-asset { border: 2px solid transparent !important; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, var(--c), color-mix(in srgb, var(--c) 40%, #20b8d1)) border-box !important; }
/* 인재 카드 */
#talent .sw-card-grid .sw-card { border: 2px solid transparent !important; background: linear-gradient(180deg, var(--tint), #fff 58%) padding-box, linear-gradient(135deg, var(--g1), var(--g2)) border-box !important; }
/* 다이어그램 프레임(sw-dg): 위 막대를 없애고 테두리 그라데이션을 또렷하게 */
.sw-dg { border-width: 2px !important; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #2f6bd8, #7a4ce6 55%, #1ea9e0) border-box !important; }

/* ===== 홈 Business 다이어그램: 화면 폭 전체 사용 (좌우 여백 · 1920px 상한 제거) + 그림 좌우 빈 여백 제거 (2026-10-08) ===== */
.sw-biz-space .sw-arc.is-v8, .sw-biz-space .sw-arc.is-v8.alignwide, .is-layout-constrained > .sw-arc.is-v8.alignwide { width: 100vw !important; max-width: none !important; margin-left: calc(50% - 50vw) !important; }
.sw-arc.is-v8 .sw-arc-svg { max-width: none; }
.sw-arc.is-v8 .sw-arc-cta { padding: 0 16px; }
@media (max-width: 1240px) { .sw-biz-space .sw-arc.is-v8, .sw-biz-space .sw-arc.is-v8.alignwide { width: 100% !important; margin-left: 0 !important; } }


/* ===== 회사소개 조직도 v3: 참고 시안 스타일 (아이콘 카드 · 본부 설명 · 팀 카드 아이콘 타일) (2026-10-08) ===== */
.sw-org2-sec::before, .sw-org2-sec::after { content: ""; position: absolute; z-index: 0; width: 220px; height: 220px; pointer-events: none; background-image: radial-gradient(circle, rgba(47, 107, 216, .22) 1.6px, transparent 2px); background-size: 14px 14px; -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 30%, transparent 72%); mask-image: radial-gradient(circle at 50% 50%, #000 30%, transparent 72%); }
.sw-org2-sec::before { top: 120px; left: -60px; }
.sw-org2-sec::after { right: -70px; bottom: 60px; }
.sw-org3-wrap { position: relative; z-index: 1; max-width: 1340px !important; }
.sw-org3 { --ln: #8db4e6; position: relative; }
.sw-org3 svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sw-org3 b, .sw-org3 span, .sw-org3 p { word-break: keep-all; }
/* 최상단: 경영지원실 — 대표이사 — 고문/법률 */
.sw-org3-top { position: relative; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 0 56px; }
.sw-org3-top::before { content: ""; position: absolute; top: 50%; right: 10%; left: 10%; z-index: 0; height: 2px; background: var(--ln); }
.sw-org3-side { position: relative; z-index: 1; display: flex; align-items: center; gap: 18px; width: min(100%, 400px); padding: 22px 28px; border-radius: 18px; background: #fff; box-shadow: 0 14px 34px rgba(16, 47, 103, .1); }
.sw-org3-side.is-l { justify-self: end; }
.sw-org3-side.is-r { justify-self: start; }
.sw-org3-side > i { flex: 0 0 auto; width: 34px; height: 34px; color: #1f5fd6; }
.sw-org3-side b { display: block; color: #0b1f44; font-size: calc(1.2rem + 1pt); font-weight: 900; line-height: 1.25; }
.sw-org3-side span { display: block; margin-top: 6px; color: #52607a; font-size: calc(.84rem + 1pt); font-weight: 600; }
.sw-org3-side::after { content: ""; position: absolute; top: calc(50% - 5px); width: 10px; height: 10px; border-radius: 50%; background: #1f6fe5; box-shadow: 0 0 0 3px #fff; }
.sw-org3-side.is-l::after { right: -33px; }
.sw-org3-side.is-r::after { left: -33px; }
.sw-org3-ceo { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 22px; min-width: 400px; padding: 26px 48px; border-radius: 20px; background: linear-gradient(135deg, #0b2a6b, #123f96 55%, #1d5ad0); color: #fff; box-shadow: 0 22px 48px rgba(11, 42, 107, .35); }
.sw-org3-ceo > i { flex: 0 0 auto; width: 58px; height: 58px; }
.sw-org3-ceo b { display: block; font-size: calc(2rem + 1pt); font-weight: 900; line-height: 1.1; }
.sw-org3-ceo span { display: block; margin-top: 6px; color: rgba(255, 255, 255, .78); font-size: calc(.8rem + 1pt); font-weight: 700; letter-spacing: .28em; }
/* 협업체계 알약 */
.sw-org3-hub { position: relative; z-index: 1; display: flex; align-items: center; gap: 16px; width: fit-content; margin: 60px auto 0; padding: 16px 40px; border: 1.5px solid #9cc0f0; border-radius: 99px; background: #fff; box-shadow: 0 12px 28px rgba(16, 47, 103, .1); }
.sw-org3-hub::before { content: ""; position: absolute; bottom: 100%; left: calc(50% - 1px); width: 2px; height: 60px; background: var(--ln); }
.sw-org3-hub > i { flex: 0 0 auto; width: 36px; height: 36px; color: #0b3f99; }
.sw-org3-hub b { display: block; color: #0b1f44; font-size: calc(1.15rem + 1pt); font-weight: 900; }
.sw-org3-hub span { display: block; margin-top: 3px; color: #52607a; font-size: calc(.82rem + 1pt); font-weight: 600; }
/* 본부 3열 + 연결선 */
.sw-org3-divs { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; margin-top: 64px; }
.sw-org3-divs::before { content: ""; position: absolute; top: -64px; left: calc(50% - 1px); width: 2px; height: 30px; background: var(--ln); }
.sw-org3-divs::after { content: ""; position: absolute; top: -34px; right: 16.66%; left: 16.66%; height: 2px; background: var(--ln); }
.sw-org3-div { --a: #0b2a6b; --b: #2b6be0; --dot: #2f6bd8; --tile: #e8f0ff; --ic: #1f5fd6; position: relative; }
.sw-org3-div::before { content: ""; position: absolute; top: -34px; left: calc(50% - 1px); width: 2px; height: 34px; background: var(--ln); }
.sw-org3-div::after { content: ""; position: absolute; top: -5px; left: calc(50% - 5px); z-index: 2; width: 10px; height: 10px; border-radius: 50%; background: #1f6fe5; box-shadow: 0 0 0 3px #fff; }
.sw-org3-div.is-it { --a: #0f9a74; --b: #25c6a2; --dot: #14a697; --tile: #e4f7f4; --ic: #0e8f84; }
.sw-org3-div.is-lab { --a: #4a2fd4; --b: #8b5cf6; --dot: #7a4ce6; --tile: #f1ebff; --ic: #6a3df0; }
.sw-org3-dhead { position: relative; z-index: 1; display: grid; grid-template-columns: 64px 1fr; align-items: center; gap: 0 20px; padding: 28px 28px 26px; border-radius: 20px; background: linear-gradient(120deg, var(--a), var(--b)); color: #fff; box-shadow: 0 18px 38px color-mix(in srgb, var(--a) 32%, transparent); }
.sw-org3-dhead > i { width: 64px; height: 64px; }
.sw-org3-dhead b { display: block; font-size: calc(1.5rem + 1pt); font-weight: 900; line-height: 1.2; }
.sw-org3-dhead span { display: block; margin-top: 6px; color: rgba(255, 255, 255, .75); font-size: calc(.72rem + 1pt); font-weight: 700; letter-spacing: .2em; }
.sw-org3-dhead p { grid-column: 1 / -1; width: fit-content; margin: 20px auto 0; padding-left: 16px; border-left: 2px solid rgba(255, 255, 255, .45); color: rgba(255, 255, 255, .92); font-size: calc(.98rem + 1pt); font-weight: 500; line-height: 1.65; }
/* 팀 카드 + 왼쪽 레일 */
.sw-org3-teams { position: relative; display: grid; gap: 16px; margin: 16px 0 0; padding: 0 0 0 34px; list-style: none; }
.sw-org3-teams::before { content: ""; position: absolute; top: -16px; bottom: 48px; left: 15px; width: 2px; background: color-mix(in srgb, var(--dot) 55%, #fff); }
.sw-org3-teams li { position: relative; display: grid; grid-template-columns: 70px 1fr auto; align-items: center; gap: 0 18px; margin: 0; padding: 18px 22px 18px 18px; border-radius: 18px; background: #fff; box-shadow: 0 10px 26px rgba(16, 47, 103, .08); transition: transform .25s ease, box-shadow .25s ease; }
.sw-org3-teams li::before { content: ""; position: absolute; top: calc(50% - 5px); left: -24px; width: 10px; height: 10px; border-radius: 50%; background: var(--dot); box-shadow: 0 0 0 3px #fff; }
.sw-org3-teams li > i { display: grid; place-items: center; width: 70px; height: 70px; border-radius: 20px; background: var(--tile); color: var(--ic); }
.sw-org3-teams li > i svg { width: 32px; height: 32px; }
.sw-org3-teams li b { display: block; color: #0b1f44; font-size: calc(1.1rem + 1pt); font-weight: 900; line-height: 1.3; }
.sw-org3-teams li span { display: block; margin-top: 6px; color: #5b6880; font-size: calc(.86rem + 1pt); font-weight: 500; line-height: 1.55; }
.sw-org3-teams li::after { content: ""; width: 10px; height: 10px; border-top: 2px solid #7a8aa6; border-right: 2px solid #7a8aa6; transform: rotate(45deg); }
.sw-org3-teams li:hover { transform: translateX(4px); box-shadow: 0 14px 32px color-mix(in srgb, var(--a) 22%, transparent); }
.sw-org3-teams li:hover::after { border-color: var(--dot); }
@media (max-width: 1180px) {
  .sw-org3-top { gap: 0 28px; }
  .sw-org3-ceo { min-width: 300px; padding: 22px 32px; }
  .sw-org3-side { padding: 18px 20px; }
  .sw-org3-side.is-l::after { right: -19px; } .sw-org3-side.is-r::after { left: -19px; }
}
@media (max-width: 960px) {
  .sw-org3-top { grid-template-columns: 1fr; gap: 16px; justify-items: center; }
  .sw-org3-top::before, .sw-org3-side::after { display: none; }
  .sw-org3-ceo { order: -1; min-width: 0; width: min(100%, 400px); }
  .sw-org3-side { justify-self: center !important; width: min(100%, 400px); }
  .sw-org3-hub { margin-top: 40px; text-align: center; }
  .sw-org3-hub::before { height: 40px; }
  .sw-org3-divs { grid-template-columns: 1fr; gap: 40px; margin-top: 44px; }
  .sw-org3-divs::before, .sw-org3-divs::after, .sw-org3-div::before, .sw-org3-div::after { display: none; }
}
@media (max-width: 600px) {
  .sw-org3-teams li { grid-template-columns: 56px 1fr auto; gap: 0 14px; padding: 14px 16px 14px 14px; }
  .sw-org3-teams li > i { width: 56px; height: 56px; border-radius: 16px; }
  .sw-org3-dhead { grid-template-columns: 52px 1fr; }
  .sw-org3-dhead > i { width: 52px; height: 52px; }
}
@media (prefers-reduced-motion: reduce) { .sw-org3-teams li { transition: none; } }

/* ===== 메시징 '운영 특징' 표: 여섯 줄의 세로 높이를 같게 (2026-10-08) ===== */
.sw-opm-rows { display: grid; grid-auto-rows: 1fr; }
.sw-opm-rows > li { box-sizing: border-box; height: 100%; }

/* ===== 조직도 v3 연결선: 가로선 양끝을 본부 카드 중앙(세로선)에 정확히 맞춰 끊김 제거 (2026-10-08) ===== */
.sw-org3-divs::after { left: calc((100% - 68px) / 6); right: calc((100% - 68px) / 6); }
.sw-org3-div::before { top: -35px; height: 36px; }
.sw-org3-divs::before { height: 31px; }

/* ===== 조직도 v3 본부 아이콘 애니메이션: 살짝 떠오르며 기울어지는 입체 움직임 (2026-10-08) ===== */
.sw-org3-dhead > i { perspective: 400px; }
.sw-org3-dhead > i svg { transform-origin: 50% 55%; animation: sw-org3-float 4.2s ease-in-out infinite; filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .22)); }
.sw-org3-div.is-it .sw-org3-dhead > i svg { animation-delay: -1.4s; }
.sw-org3-div.is-lab .sw-org3-dhead > i svg { animation-delay: -2.8s; }
.sw-org3-dhead:hover > i svg { animation-duration: 1.6s; }
@keyframes sw-org3-float {
  0%, 100% { transform: translateY(0) rotateY(0deg) rotate(0deg); }
  25% { transform: translateY(-5px) rotateY(14deg) rotate(-3deg); }
  50% { transform: translateY(0) rotateY(0deg) rotate(0deg); }
  75% { transform: translateY(-5px) rotateY(-14deg) rotate(3deg); }
}
@media (prefers-reduced-motion: reduce) { .sw-org3-dhead > i svg { animation: none; } }


/* ===== 회사소개 5단계 v3: 번호 · 원형 아이콘이 카드 위로 올라가고, 물결 리본이 다섯 단계를 잇는다 (2026-10-08) ===== */
.sw-step-grid { position: relative; gap: 24px !important; }
.sw-step-grid::before { content: ""; position: absolute; top: 56px; left: 10%; right: 3%; z-index: 0; height: 100px; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%232f6bd8'/%3E%3Cstop offset='.25' stop-color='%2322c3e6'/%3E%3Cstop offset='.5' stop-color='%233a7af0'/%3E%3Cstop offset='.75' stop-color='%236a4cf0'/%3E%3Cstop offset='1' stop-color='%238b5cf6'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 50 C 80 50 150 78 232 78 S 385 22 465 22 S 618 78 698 78 S 850 22 930 22 L 1000 50' fill='none' stroke='url(%23g)' stroke-width='14' stroke-linecap='round' stroke-opacity='.55'/%3E%3Cpath d='M0 50 C 80 50 150 78 232 78 S 385 22 465 22 S 618 78 698 78 S 850 22 930 22 L 1000 50' fill='none' stroke='url(%23g)' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M972 30 L 1000 50 L 972 70' fill='none' stroke='%238b5cf6' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
.sw-step-grid > .wp-block-column { position: relative; padding-top: 214px; }
.sw-step-grid > .wp-block-column:nth-child(1) { --g1: #2f6bd8; --g2: #3f8fe6; --t: #1f5fd6; --tile: #e8f0ff; }
.sw-step-grid > .wp-block-column:nth-child(2) { --g1: #14a9c8; --g2: #22c3a3; --t: #0f9ab0; --tile: #e3f6f8; }
.sw-step-grid > .wp-block-column:nth-child(3) { --g1: #2b63e0; --g2: #3a8ef5; --t: #2459d8; --tile: #e8efff; }
.sw-step-grid > .wp-block-column:nth-child(4) { --g1: #4a4fd8; --g2: #6a72f0; --t: #4848d0; --tile: #ebebff; }
.sw-step-grid > .wp-block-column:nth-child(5) { --g1: #6d3fd6; --g2: #9b5cf6; --t: #6a3df0; --tile: #f1ebff; }
.sw-step-card { position: static !important; overflow: visible !important; padding: 30px 26px 30px !important; border: 1px solid #e3eaf4 !important; border-radius: 22px !important; background: #fff !important; box-shadow: 0 16px 40px rgba(16, 47, 103, .08) !important; }
.sw-step-card:hover { transform: none !important; border-color: #d3deef !important; box-shadow: 0 22px 50px rgba(16, 47, 103, .13) !important; }
.sw-step-card::before, .sw-step-card::after, .sw-step-arrow { display: none !important; }
/* 번호 */
.sw-step-card .sw-value-no { position: absolute; top: 0; right: 0; left: 0; z-index: 2; display: block; width: auto; height: auto; margin: 0 !important; padding: 0; border-radius: 0; background: none; color: var(--t) !important; font-size: calc(1.5rem + 1pt) !important; font-weight: 800; letter-spacing: .02em; text-align: center; }
/* 원형 아이콘: 흰 링 + 그라데이션 + 밑으로 점과 점선 */
.sw-step-card .sw-value-icon { position: absolute; top: 48px; left: 50%; z-index: 2; width: 112px; height: 112px; margin: 0 !important; border-radius: 50%; background: linear-gradient(145deg, var(--g1), var(--g2)); color: #fff; box-shadow: 0 0 0 12px #fff, 0 18px 36px color-mix(in srgb, var(--g1) 35%, transparent), 0 0 0 13px rgba(16, 47, 103, .06); transform: translateX(-50%); display: grid; place-items: center; }
.sw-step-card .sw-value-icon svg { width: 50px; height: 50px; color: #fff; }
.sw-step-card .sw-value-icon::before { content: ""; position: absolute; top: calc(100% + 12px); left: calc(50% - 1px); width: 2px; height: 42px; border-left: 2px dotted color-mix(in srgb, var(--t) 55%, #fff); }
.sw-step-card .sw-value-icon::after { content: ""; position: absolute; top: calc(100% + 12px); left: calc(50% - 5px); width: 10px; height: 10px; border-radius: 50%; background: var(--t); box-shadow: 0 0 0 3px #fff; }
/* 본문 */
.sw-step-card h3 { margin: 0 !important; color: #0b1f44 !important; font-size: calc(1.6rem + 1pt) !important; font-weight: 900; letter-spacing: -.01em; line-height: 1.2; }
.sw-step-card .sw-value-en { margin: 6px 0 0 !important; color: var(--t); font-size: calc(1.08rem + 1pt); font-weight: 800; }
.sw-step-card .sw-value-desc { margin-top: 16px !important; padding-bottom: 16px; border-bottom: 1px solid #e3eaf4; color: #3b4658; font-size: calc(.98rem + 1pt); line-height: 1.7; }
.sw-step-list { margin: 16px 0 0 !important; display: grid; gap: 12px; }
.sw-step-list li { gap: 12px; color: #2f3b4f; font-size: calc(.95rem + 1pt); line-height: 1.55; }
.sw-step-list li::before { width: 26px; height: 26px; margin-top: 0; border-radius: 50%; background-color: var(--tile); background-size: 14px 14px; background-position: center; background-repeat: no-repeat; }
@media (max-width: 1100px) {
  .sw-step-card .sw-value-icon { width: 92px; height: 92px; }
  .sw-step-card .sw-value-icon svg { width: 42px; height: 42px; }
  .sw-step-grid > .wp-block-column { padding-top: 196px; }
  .sw-step-grid::before { top: 48px; height: 92px; }
}
@media (max-width: 781px) {
  .sw-step-grid::before { display: none; }
  .sw-step-grid > .wp-block-column { padding-top: 190px; }
}
.sw-step-card .sw-value-desc, .sw-step-list li { word-break: keep-all; }

/* ===== 조직도 개발사업본부 상자 아이콘: 주사위가 굴러가듯 한 칸씩 튀어 오르며 90도씩 구른다 (2026-10-08) ===== */
.sw-org3-div.is-dev .sw-org3-dhead > i svg { animation: sw-org3-dice 5.6s cubic-bezier(.45, 0, .2, 1) infinite; transform-origin: 50% 50%; }
.sw-org3-div.is-dev .sw-org3-dhead:hover > i svg { animation-duration: 2.4s; }
@keyframes sw-org3-dice {
  0% { transform: translateY(0) rotate(0deg); }
  8% { transform: translateY(-9px) rotate(45deg); }
  16% { transform: translateY(0) rotate(90deg); }
  25% { transform: translateY(0) rotate(90deg); }
  33% { transform: translateY(-9px) rotate(135deg); }
  41% { transform: translateY(0) rotate(180deg); }
  50% { transform: translateY(0) rotate(180deg); }
  58% { transform: translateY(-9px) rotate(225deg); }
  66% { transform: translateY(0) rotate(270deg); }
  75% { transform: translateY(0) rotate(270deg); }
  83% { transform: translateY(-9px) rotate(315deg); }
  91% { transform: translateY(0) rotate(360deg); }
  100% { transform: translateY(0) rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) { .sw-org3-div.is-dev .sw-org3-dhead > i svg { animation: none; } }


/* ===== 조직도 아이콘: 모니터 화면이 반짝 켜졌다 꺼지고, 플라스크 약물이 차올랐다 비워진다 (2026-10-08) ===== */
.sw-org3-scr { transform-box: fill-box; transform-origin: 50% 50%; opacity: 0; animation: sw-org3-screen 5s ease-in-out infinite; }
@keyframes sw-org3-screen {
  0% { opacity: 0; transform: scaleY(1); }
  6% { opacity: .95; }
  14% { opacity: .35; }
  40% { opacity: .55; transform: scaleY(1); }
  48% { opacity: .95; transform: scaleY(1); }
  54% { opacity: 1; transform: scaleY(.08); }
  58% { opacity: 0; transform: scaleY(.08) scaleX(.2); }
  100% { opacity: 0; transform: scaleY(1); }
}
.sw-org3-liq { transform: translateY(24px); animation: sw-org3-fill 6s ease-in-out infinite; }
@keyframes sw-org3-fill {
  0% { transform: translateY(24px); }
  35% { transform: translateY(9px); }
  55% { transform: translateY(9px); }
  90% { transform: translateY(24px); }
  100% { transform: translateY(24px); }
}
.sw-org3-bub { opacity: 0; animation: sw-org3-bubble 2.4s ease-in infinite; }
.sw-org3-bub.is-2 { animation-delay: .8s; }
.sw-org3-bub.is-3 { animation-delay: 1.5s; }
@keyframes sw-org3-bubble {
  0% { opacity: 0; transform: translateY(0); }
  20% { opacity: .9; }
  80% { opacity: .6; transform: translateY(-7px); }
  100% { opacity: 0; transform: translateY(-9px); }
}
@media (prefers-reduced-motion: reduce) { .sw-org3-scr, .sw-org3-liq, .sw-org3-bub { animation: none; } .sw-org3-liq { transform: translateY(12px); } .sw-org3-scr { opacity: .4; } }

/* ===== 조직도 아이콘 애니메이션 속도 2배 (2026-10-08) ===== */
.sw-org3-dhead > i svg { animation-duration: 2.4s; }
.sw-org3-div.is-dev .sw-org3-dhead > i svg { animation-duration: 2.8s; }
.sw-org3-div.is-dev .sw-org3-dhead:hover > i svg { animation-duration: 1.4s; }
.sw-org3-dhead:hover > i svg { animation-duration: 1.2s; }
.sw-org3-scr { animation-duration: 2.6s; }
.sw-org3-liq { animation-duration: 3s; }
.sw-org3-bub { animation-duration: 1.3s; }
.sw-org3-bub.is-2 { animation-delay: .4s; }
.sw-org3-bub.is-3 { animation-delay: .8s; }

/* ===== 홈 Business 반원: 조각 영문명(e-Commerce 등) 1.3배 확대 (2026-10-12) ===== */
.sw-arc.is-v8 .sw-arc-name { font-size: 190px; }

/* ===== 메가메뉴: 소제목(SCOS·라이브커머스 등)을 열 제목보다 한 칸 반 오른쪽으로 (2026-10-12) ===== */
.sw-primary-nav .sw-mega-col > .wp-block-navigation__submenu-container { margin-left: 28px; }
.sw-site-header .sw-mnav.is-menu-open .sw-mega-col > .wp-block-navigation__submenu-container { margin-left: 0; }

/* ===== 연혁: 최신이 왼쪽(시간 역순)이 되므로 첫 연도를 강조색으로 (2026-10-12) ===== */
.sw-htl-year:last-child > b { color: #13306e; }
.sw-htl-year:first-child > b { color: #2f6bd8; }

/* ===== 회사소개 5단계: 카드 폭 동일 · 그리드를 화면 폭까지 확장 · 글자 확대 (2026-10-12) ===== */
.sw-step-grid { width: calc(100vw - 48px) !important; max-width: 1720px !important; margin: 0 0 0 calc(50% - min(50vw - 24px, 860px)) !important; gap: 28px !important; }
.sw-step-grid > .wp-block-column { flex: 1 1 0 !important; width: auto !important; min-width: 0; }
.sw-step-card { padding: 34px 30px 34px !important; }
.sw-step-card h3 { font-size: calc(1.8rem + 1pt) !important; }
.sw-step-card .sw-value-en { font-size: calc(1.15rem + 1pt); }
.sw-step-card .sw-value-desc { font-size: calc(1.04rem + 1pt); }
.sw-step-list li { font-size: calc(1rem + 1pt); }
@media (max-width: 1100px) { .sw-step-grid { gap: 20px !important; } .sw-step-card { padding: 28px 22px !important; } }
@media (max-width: 781px) { .sw-step-grid { width: auto !important; margin: 0 !important; } }

/* ===== 회사소개 5단계: 직선 지그재그 대신 물결(사인파) 리본 — 물결이 오른쪽으로 흐르고 빛이 지나가며, 아이콘은 물결 위에 떠 있듯 오르내린다 (2026-10-12) ===== */
.sw-step-grid::before, .sw-step-grid::after {
  content: ""; position: absolute; top: 56px; left: 8%; right: 4%; z-index: 0; height: 100px; pointer-events: none;
  -webkit-mask-repeat: repeat-x; mask-repeat: repeat-x;
  -webkit-mask-size: 50% 100%; mask-size: 50% 100%;
  -webkit-mask-position: 0 0; mask-position: 0 0;
  animation: sw-step-wave 7s linear infinite;
}
.sw-step-grid::before {
  background: linear-gradient(90deg, #2f6bd8, #22c3e6 25%, #3a7af0 50%, #6a4cf0 75%, #8b5cf6);
  opacity: .4; filter: blur(.6px);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 100' preserveAspectRatio='none'%3E%3Cpath d='M0 50 C 36.4 -2 63.6 -2 100 50 C 136.4 102 163.6 102 200 50' fill='none' stroke='%23000' stroke-width='16'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 100' preserveAspectRatio='none'%3E%3Cpath d='M0 50 C 36.4 -2 63.6 -2 100 50 C 136.4 102 163.6 102 200 50' fill='none' stroke='%23000' stroke-width='16'/%3E%3C/svg%3E");
}
.sw-step-grid::after {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .95) 50%, rgba(255, 255, 255, 0)) -45% 0 / 28% 100% no-repeat,
    linear-gradient(90deg, #2f6bd8, #22c3e6 25%, #3a7af0 50%, #6a4cf0 75%, #8b5cf6);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 100' preserveAspectRatio='none'%3E%3Cpath d='M0 50 C 36.4 -2 63.6 -2 100 50 C 136.4 102 163.6 102 200 50' fill='none' stroke='%23000' stroke-width='6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 100' preserveAspectRatio='none'%3E%3Cpath d='M0 50 C 36.4 -2 63.6 -2 100 50 C 136.4 102 163.6 102 200 50' fill='none' stroke='%23000' stroke-width='6'/%3E%3C/svg%3E");
  animation: sw-step-wave 7s linear infinite, sw-step-light 4.2s cubic-bezier(.4, 0, .5, 1) infinite;
}
@keyframes sw-step-wave { from { -webkit-mask-position: 0 0; mask-position: 0 0; } to { -webkit-mask-position: 100% 0; mask-position: 100% 0; } }
@keyframes sw-step-light { from { background-position: -45% 0, 0 0; } to { background-position: 145% 0, 0 0; } }
/* 원형 아이콘: 물결 위에 떠 있듯 오르내림 (열마다 위상 차이) */
.sw-step-card .sw-value-icon { animation: sw-step-bob 3.6s ease-in-out infinite; }
.sw-step-grid > .wp-block-column:nth-child(2) .sw-value-icon { animation-delay: -.9s; }
.sw-step-grid > .wp-block-column:nth-child(3) .sw-value-icon { animation-delay: -1.8s; }
.sw-step-grid > .wp-block-column:nth-child(4) .sw-value-icon { animation-delay: -2.7s; }
.sw-step-grid > .wp-block-column:nth-child(5) .sw-value-icon { animation-delay: -3.6s; }
@keyframes sw-step-bob { 0%, 100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-9px); } }
/* 아이콘 밑 점: 잔잔히 퍼지는 링 */
.sw-step-card .sw-value-icon::after { animation: sw-step-dot 3.6s ease-out infinite; }
.sw-step-grid > .wp-block-column:nth-child(2) .sw-value-icon::after { animation-delay: -.9s; }
.sw-step-grid > .wp-block-column:nth-child(3) .sw-value-icon::after { animation-delay: -1.8s; }
.sw-step-grid > .wp-block-column:nth-child(4) .sw-value-icon::after { animation-delay: -2.7s; }
.sw-step-grid > .wp-block-column:nth-child(5) .sw-value-icon::after { animation-delay: -3.6s; }
@keyframes sw-step-dot { 0% { box-shadow: 0 0 0 3px #fff, 0 0 0 4px color-mix(in srgb, var(--t) 45%, transparent); } 60%, 100% { box-shadow: 0 0 0 3px #fff, 0 0 0 14px color-mix(in srgb, var(--t) 0%, transparent); } }
@media (max-width: 1100px) { .sw-step-grid::before, .sw-step-grid::after { top: 48px; height: 92px; } }
@media (max-width: 781px) { .sw-step-grid::before, .sw-step-grid::after { display: none; } }
@media (prefers-reduced-motion: reduce) { .sw-step-grid::before, .sw-step-grid::after, .sw-step-card .sw-value-icon, .sw-step-card .sw-value-icon::after { animation: none !important; } }

/* ===== 조직도 개발사업본부 주사위: 멈칫거리지 않고 일정한 속도로 매끄럽게 구르고, 통통 튀는 높낮이는 따로 부드럽게 (2026-10-12) ===== */
.sw-org3-div.is-dev .sw-org3-dhead > i { animation: sw-org3-hop 1.2s ease-in-out infinite; }
.sw-org3-div.is-dev .sw-org3-dhead > i svg { animation: sw-org3-roll 4.8s linear infinite; transform-origin: 50% 50%; }
.sw-org3-div.is-dev .sw-org3-dhead:hover > i { animation-duration: .6s; }
.sw-org3-div.is-dev .sw-org3-dhead:hover > i svg { animation-duration: 2.4s; }
@keyframes sw-org3-roll { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes sw-org3-hop { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@media (prefers-reduced-motion: reduce) { .sw-org3-div.is-dev .sw-org3-dhead > i, .sw-org3-div.is-dev .sw-org3-dhead > i svg { animation: none; } }

/* ===== 조직도 모니터 화면: 깜빡임·찌그러짐(CRT 꺼짐) 없이, 부드럽게 켜져서 숨 쉬듯 밝기가 오르내리다 천천히 꺼진다 (2026-10-12) ===== */
.sw-org3-scr { animation: sw-org3-screen2 4.4s ease-in-out infinite; }
@keyframes sw-org3-screen2 {
  0% { opacity: 0; transform: scale(.96); }
  25% { opacity: .9; transform: scale(1); }
  50% { opacity: .55; transform: scale(1); }
  75% { opacity: .95; transform: scale(1); }
  100% { opacity: 0; transform: scale(.96); }
}
@media (prefers-reduced-motion: reduce) { .sw-org3-scr { animation: none; opacity: .4; transform: none; } }

/* ===== 조직도 연구소 플라스크: 통통 튀는 느낌을 빼고, 천천히 기울어지며 약물이 사인파처럼 차올랐다 내려가고 기포는 은은하게 — 한 바퀴가 끊김 없이 다음으로 이어진다 (2026-10-12) ===== */
.sw-org3-div.is-lab .sw-org3-dhead > i svg { animation: sw-org3-sway 7s ease-in-out infinite; animation-delay: 0s; }
.sw-org3-div.is-lab .sw-org3-dhead:hover > i svg { animation-duration: 3.5s; }
@keyframes sw-org3-sway {
  0%, 100% { transform: translateY(0) rotateY(0deg) rotate(0deg); }
  25% { transform: translateY(-2px) rotateY(10deg) rotate(-2deg); }
  75% { transform: translateY(-2px) rotateY(-10deg) rotate(2deg); }
}
.sw-org3-liq { animation: sw-org3-fill2 5.6s ease-in-out infinite; }
@keyframes sw-org3-fill2 {
  0%, 100% { transform: translateY(24px); }
  50% { transform: translateY(9px); }
}
.sw-org3-bub { animation: sw-org3-bubble2 3.6s ease-in-out infinite; }
.sw-org3-bub.is-2 { animation-delay: -1.2s; }
.sw-org3-bub.is-3 { animation-delay: -2.4s; }
@keyframes sw-org3-bubble2 {
  0% { opacity: 0; transform: translateY(2px); }
  30% { opacity: .8; }
  70% { opacity: .5; }
  100% { opacity: 0; transform: translateY(-9px); }
}
@media (prefers-reduced-motion: reduce) { .sw-org3-div.is-lab .sw-org3-dhead > i svg, .sw-org3-liq, .sw-org3-bub { animation: none; } }

/* ===== 메가메뉴 소제목 박스 들여쓰기 — 전체 메뉴 패널(is-mega-open)의 margin:0 !important 보다 뒤에서 더 세게 (2026-10-12) ===== */
.sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation__submenu-container,
.sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation__submenu-container { margin-left: 28px !important; }
.sw-site-header .sw-mnav.is-menu-open .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation__submenu-container { margin-left: 0 !important; }

/* ===== 홈 Business 반원: 조각 아이콘 1.6배 (path 를 자기 중심 기준으로 확대, g 의 translate 는 유지) (2026-10-12) ===== */
.sw-arc.is-v8 .sw-arc-icon path { transform-box: fill-box; transform-origin: center; transform: scale(1.6); }

/* ===== 홈 인사이트 카드: 폭 상한 1480→1800px, 카드 사이 간격·제목·본문 확대 (2026-10-12) ===== */
.sw-insights .sw-insight-grid, .sw-insights .sw-insight-grid.alignwide { max-width: min(calc(100vw - 48px), 1800px) !important; gap: 32px !important; }
.sw-insights .sw-ins-head { max-width: min(calc(100vw - 48px), 1800px) !important; }
.sw-insights .sw-insight-card h3 { font-size: calc(1.3rem + 1pt) !important; }
.sw-insights .sw-insight-card .sw-insight-summary { font-size: calc(1.02rem + 1pt); }
.sw-insights .sw-insight-date { font-size: calc(.9rem + 1pt) !important; }
@media (max-width: 1024px) { .sw-insights .sw-insight-grid, .sw-insights .sw-insight-grid.alignwide { gap: 24px !important; } }

/* ===== Our Philosophy 문구: white-space:nowrap 때문에 1200~1600px 폭에서 네 열 글이 옆 열과 겹치던 문제 — 줄바꿈은 단어 단위로 허용하고 열이 0까지 줄어들 수 있게, 1500px 아래에서는 수동 줄바꿈(br) 제거 (2026-10-12) ===== */
.sw-dark .sw-circle-grid p { white-space: normal; overflow-wrap: normal; word-break: keep-all; }
.sw-dark .sw-circle-grid .wp-block-column { min-width: 0; }
.sw-dark .sw-circle-grid .wp-block-column > p:not(.sw-circle) { max-width: none; padding-inline: 6px; }
@media (max-width: 1500px) { .sw-dark .sw-circle-grid p br { display: none; } }

/* ===== 본문 줄바꿈 금지 토큰(e-Commerce, e-TaxBill 등 — 하이픈 뒤에서 줄이 끊기지 않게) (2026-10-12) ===== */
.sw-nb { white-space: nowrap; }

/* ===== 메가메뉴 열 제목(이커머스 솔루션 등): 눌러도 페이지로 이동하지 않음 — site.js 가 click 을 막고, 커서는 기본 화살표 (2026-10-12) ===== */
.sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content,
.sw-site-header.is-mega-open .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content { cursor: default !important; }

/* ===== Our Philosophy 네 문단: 수동 <br> 은 콘텐츠에서 공백으로 바꿨고, 줄은 text-wrap: balance 로 길이가 고르게 나뉜다 (2026-10-12) ===== */
.sw-dark .sw-circle-grid .wp-block-column > p:not(.sw-circle) { text-wrap: balance; max-width: 17em; margin-inline: auto; }
.sw-dark .sw-circle-grid p br { display: none; }

/* ===== 홈 Business 반원: 아이콘(1.6배)과 영문명이 붙어 보여서 — 아이콘은 위로, 글씨는 아래로 벌림. 바깥 설명 라벨 글씨 확대 (2026-10-12) ===== */
.sw-arc.is-v8 .sw-arc-icon path { transform: translateY(-100%) scale(1.6); }
.sw-arc.is-v8 .sw-arc-name { transform: translateY(40px); }
.sw-arc.is-v8 .sw-arc-callout { font-size: 125px; }
.sw-arc.is-v8 .sw-arc-callout .is-b { font-size: 148px; }

/* ===== 홈 Business 반원 지구본: 더 빨리, 더 또렷하게 굴러가는 느낌 (36s → 9s, 격자선 선명) + 중앙 로고 이미지 (2026-10-12) ===== */
.sw-arc.is-v3 .sw-arc-globe-grid { animation-duration: 9s; }
.sw-arc.is-v8 .sw-arc-globe-grid ellipse, .sw-arc.is-v8 .sw-arc-globe-grid path, .sw-arc.is-v8 .sw-arc-globe-grid line { stroke-opacity: .5; }
.sw-arc.is-v8 .sw-arc-logo { pointer-events: none; }

/* ===== Our Philosophy 문단 핵심어: 굵게 + 하늘색 (2026-10-12) ===== */
.sw-dark .sw-circle-grid .wp-block-column > p:not(.sw-circle) strong.sw-hl-sky { color: #7cd0ff; font-weight: 800; }

/* ===== 사업분야 e-Commerce 배너: 배경 사진을 커머스 전용 이미지로 교체 (영상 파일이 없으면 이 사진이 보인다) (2026-10-12) ===== */
.sw-page-hero.is-video-commerce.is-photo-tech { --sw-hero-photo: url(assets/images/hero-commerce.jpg); --sw-hero-shade: .35; }

/* ===== SI·ITO 운영 표 '고객 맞춤 포인트' 강조: 왼쪽 막대 대신 연한 파란 카드 + 체크 아이콘, 진한 남색 굵은 글씨 (2026-10-12) ===== */
.sw-opm-rows em { position: relative; display: block; padding: 14px 18px 14px 46px; border-left: 0; border-radius: 14px; background: #eaf2ff; color: #0f2f6f; font-weight: 800; box-shadow: inset 0 0 0 1px #d2e2fb; }
.sw-opm-rows em::before { content: ""; position: absolute; top: 15px; left: 16px; width: 20px; height: 20px; border-radius: 50%; background: #2f6bd8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat; }
.sw-opm-rows li:hover em { background: #dfebff; }
.sw-opm-head span:last-child { color: #2f6bd8; }

/* ===== MRO 역할 카드(구매사 · 공급사 · 운영사 · WMS): 단색 머리띠 대신 그라데이션 헤더 + 번호 배지 + 체크 불릿 + 그림자 · 떠오르는 hover (2026-10-12) ===== */
.sw-mro-roles-grid { gap: 22px; counter-reset: sw-mro-role; }
.sw-mro-role { position: relative; border: 1px solid #e3eaf4; border-radius: 22px; background: #fff; box-shadow: 0 14px 34px rgba(16, 47, 103, .08); transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.sw-mro-role:hover { transform: translateY(-6px); border-color: color-mix(in srgb, var(--g) 35%, #e3eaf4); box-shadow: 0 24px 50px rgba(16, 47, 103, .14); }
.sw-mro-role > b { position: relative; display: flex; align-items: center; gap: 12px; padding: 20px 22px 20px 64px; background: linear-gradient(120deg, color-mix(in srgb, var(--g) 88%, #000) 0%, var(--g) 55%, color-mix(in srgb, var(--g) 70%, #fff) 100%); font-size: calc(1.12rem + 1pt); font-weight: 800; letter-spacing: -.01em; }
.sw-mro-role > b::before { counter-increment: sw-mro-role; content: "0" counter(sw-mro-role); position: absolute; left: 20px; top: 50%; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: rgba(255, 255, 255, .22); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45); color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .04em; transform: translateY(-50%); }
.sw-mro-role > b::after { content: ""; position: absolute; right: -30px; top: -40px; width: 120px; height: 120px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, .28), transparent 70%); pointer-events: none; }
.sw-mro-role ul { gap: 10px; padding: 20px 22px 24px; }
.sw-mro-role li { padding-left: 30px; color: #2f3b4f; font-size: calc(.95rem + 1pt); }
.sw-mro-role li::before { top: .2em; left: 0; width: 20px; height: 20px; border-radius: 50%; background: color-mix(in srgb, var(--g) 12%, #fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bd8' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat; }
.sw-mro-role.is-teal li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e9fb3' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
.sw-mro-role.is-violet li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a4ce6' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
.sw-mro-role.is-amber li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e0891f' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
@media (prefers-reduced-motion: reduce) { .sw-mro-role { transition: none; } .sw-mro-role:hover { transform: none; } }

/* ===== 커스텀 마우스 커서: 데모 모달(z-index 10000) 위에서도 보이게 (2026-10-12) ===== */
.sw-cursor-dot, .sw-cursor-ring { z-index: 100000; }

/* ===== 매거진 카드: 커버 스토리처럼 사진 아래쪽에 요약을 겹쳐 보여 준다 (2026-10-12) ===== */
.sw-mz-img { position: relative; }
.sw-mz-sum { position: absolute; right: 0; bottom: 0; left: 0; display: -webkit-box; margin: 0; padding: 48px 16px 14px; overflow: hidden; background: linear-gradient(180deg, rgba(8, 16, 40, 0) 0%, rgba(8, 16, 40, .78) 55%, rgba(8, 16, 40, .9) 100%); color: rgba(255, 255, 255, .92); font-size: calc(.88rem + 1pt); font-weight: 500; line-height: 1.55; word-break: keep-all; text-shadow: 0 1px 2px rgba(0, 0, 0, .35); -webkit-box-orient: vertical; -webkit-line-clamp: 2; transition: transform .35s ease; }
.sw-mz-card a:hover .sw-mz-sum { transform: translateY(-2px); }

/* ===== 사업분야 Mobile App 배너: 배경 사진을 모바일 앱 전용 이미지로 교체 (영상 대신) (2026-10-12) ===== */
.sw-page-hero.is-video-mobile-app.is-photo-tech { --sw-hero-photo: url(assets/images/hero-mobile-app.jpg); --sw-hero-shade: .35; }

/* ===== 커머스 · 모바일앱 배너: 영상 배너용 "사진 없는 그라데이션" 규칙을 되돌려, 새 배경 사진이 실제로 보이게 (2026-10-12) ===== */
.sw-page-hero.is-video-commerce.is-photo-tech::before, .sw-page-hero.is-video-mobile-app.is-photo-tech::before {
  background:
    linear-gradient(90deg, rgba(8, 26, 58, .74), rgba(8, 26, 58, .3) 46%, transparent 76%),
    linear-gradient(0deg, rgba(8, 26, 58, var(--sw-hero-shade)), rgba(8, 26, 58, var(--sw-hero-shade))),
    linear-gradient(130deg, rgba(11, 39, 88, .9), rgba(49, 95, 167, .74) 62%, rgba(30, 169, 189, .6)),
    var(--sw-hero-photo) center / cover no-repeat;
}

/* ===== SI·ITO 배너 본문 글씨 한 단계 축소 (2026-10-12) ===== */
.sw-page-hero.is-video-si-ito p.has-large-font-size { font-size: calc(var(--wp--preset--font-size--large, 1.25rem) * 1.18) !important; line-height: 1.65; max-width: 48em; }

/* ===== 조직도 모니터 아이콘: 위아래로 통통 튀는 float 대신, 수직 이동 없이 천천히 좌우로 기울어지는 매끄러운 움직임 (2026-10-12) ===== */
.sw-org3-div.is-it .sw-org3-dhead > i svg { animation: sw-org3-tilt 8s ease-in-out infinite; animation-delay: 0s; transform-origin: 50% 60%; }
.sw-org3-div.is-it .sw-org3-dhead:hover > i svg { animation-duration: 5s; }
@keyframes sw-org3-tilt {
  0%, 100% { transform: rotateY(-12deg) rotate(-1deg); }
  50% { transform: rotateY(12deg) rotate(1deg); }
}
@media (prefers-reduced-motion: reduce) { .sw-org3-div.is-it .sw-org3-dhead > i svg { animation: none; } }

/* ===== 연혁 탭 소제목: 두 줄로 꺾이지 않고 한 줄에 — 탭 폭을 내용에 맞추고 글씨·여백을 조금 줄임 (2026-10-12) ===== */
@media (min-width: 981px) {
  .sw-htl-tabs { grid-template-columns: repeat(4, auto); justify-content: space-between; }
  .sw-htl-tabs button { padding: 18px 12px 20px; }
  .sw-htl-tabs button small { white-space: nowrap; font-size: clamp(.92rem, 1.1vw, 1.12rem); letter-spacing: -.01em; }
}

/* ===== 사업분야 등 앵커 탭(사업 구성 · 사업 영역 · 수행 사례 / 구축 유형 · 역직구 · 수행 사례): 항목 사이 간격을 넓힘 (2026-10-12) ===== */
.sw-anchor-nav:not(.is-tabbar) .wp-block-buttons { gap: 40px; }
@media (max-width: 781px) { .sw-anchor-nav:not(.is-tabbar) .wp-block-buttons { gap: 16px; } }

/* ===== SI·ITO 운영 표 '고객 맞춤 포인트': 체크 카드 대신 담백한 형광펜 밑줄 강조 (2026-10-12) ===== */
.sw-opm-rows em { display: inline; padding: 0 .12em; border-radius: 0; background: linear-gradient(transparent 60%, #d9e8ff 60%); box-shadow: none; color: #13306e; font-weight: 700; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.sw-opm-rows em::before { display: none; }
.sw-opm-rows li:hover em { background: linear-gradient(transparent 60%, #c9ddff 60%); }

/* ===== 홈 반원: SCF 3.0 Framework 문구를 반원 곡선을 따라 더 크게, 가운데 문구 확대, 지구본 흰 격자선 뚜렷하게 (2026-10-12) ===== */
.sw-arc.is-v8 .sw-arc-core-t { font-size: 128px; letter-spacing: .01em; }
.sw-arc.is-v8 .sw-arc-core-s { font-size: 88px; letter-spacing: .02em; }
.sw-arc.is-v8 .sw-arc-brand-s { font-size: 80px; }
.sw-arc.is-v8 .sw-arc-globe-grid ellipse, .sw-arc.is-v8 .sw-arc-globe-grid path, .sw-arc.is-v8 .sw-arc-globe-grid line { stroke: #fff; stroke-opacity: .85; stroke-width: 3; }
.sw-arc.is-v8 .sw-arc-core-t { font-size: 150px; }
.sw-arc.is-v8 .sw-arc-core-s { font-size: 104px; }

/* ===== 회사소개 배너 부제: 문장이 길어져 SI·ITO 배너와 같은 크기로 줄여 두 줄에 맞춤 (2026-10-12) ===== */
body.page-id-54 .sw-page-hero p.has-large-font-size { font-size: calc(var(--wp--preset--font-size--large, 1.25rem) * 1.18) !important; line-height: 1.65; max-width: 52em; }

/* ===== 회사소개 5단계: 아이콘이 위로 떠오를 때 흰 링이 번호(01~05)를 가리지 않도록 — 번호를 맨 위 층으로, 아이콘·리본을 조금 아래로 (2026-10-12) ===== */
.sw-step-card .sw-value-no { z-index: 3; line-height: 1; }
@media (min-width: 1101px) {
  .sw-step-card .sw-value-icon { top: 56px; }
  .sw-step-grid::before, .sw-step-grid::after { top: 64px; }
}

/* ===== 회사소개 배너 부제: 줄바꿈이 어색하지 않게 한 단계 더 축소 (2026-10-12) ===== */
body.page-id-54 .sw-page-hero p.has-large-font-size { font-size: calc(var(--wp--preset--font-size--large, 1.25rem) * 1.06) !important; max-width: none; }

/* ===== 회사소개 배너 부제: 강제 줄바꿈 대신 두 줄 균형 배치 (2026-10-12) ===== */
body.page-id-54 .sw-page-hero p.has-large-font-size { text-wrap: balance; }

/* ===== 대표인사말 리디자인: 상단 라벨 + 3줄 대형 헤드라인(파란 마침 문구) + 부제 강조색, 큰 따옴표 인용, 파란 핵심 문구, 서명 선, 오른쪽 연한 동심원 배경 (2026-10-12) ===== */
#greeting.sw-onepage { position: relative; overflow: hidden; padding-top: 64px; }
#greeting::before { content: ""; position: absolute; top: 4%; right: -16vw; z-index: 0; width: 58vw; height: 58vw; max-width: 1040px; max-height: 1040px; border-radius: 50%; background: radial-gradient(circle at center, transparent 0 28%, rgba(47, 107, 216, .10) 28.5% 40%, transparent 40.5% 47%, rgba(47, 107, 216, .08) 47.5% 59%, transparent 59.5% 66%, rgba(47, 107, 216, .06) 66.5% 80%, transparent 80.5%); -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 55%); mask-image: linear-gradient(90deg, transparent 0, #000 55%); pointer-events: none; }
#greeting > * { position: relative; z-index: 1; }
#greeting .sw-onepage-head { margin-bottom: 36px !important; }
.sw-ceo-eyebrow { display: flex !important; align-items: center; gap: 0; margin: 0 !important; color: #13306e; font-size: 13px; font-weight: 800; letter-spacing: .32em; }
.sw-ceo-eyebrow strong { color: #13306e; font-weight: 800; }
.sw-ceo-eyebrow span { color: #8a97ad; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.sw-ceo-eyebrow span::before { content: ""; display: inline-block; width: 56px; height: 1px; margin: 0 22px; background: #c6d3ea; vertical-align: middle; }
.sw-ceo .sw-ceo-headline:not(.sw-ceo-sub) { color: #0b1f44 !important; font-size: clamp(2.5rem, 4.2vw, 3.8rem) !important; font-weight: 900 !important; line-height: 1.16 !important; letter-spacing: -.045em; }
.sw-ceo .sw-ceo-headline.sw-ceo-sub { margin-top: 28px !important; color: #1a2b4c !important; font-size: clamp(1.3rem, 2vw, 1.8rem) !important; font-weight: 400 !important; line-height: 1.5 !important; letter-spacing: -.025em; }
.sw-ceo .sw-ceo-headline.sw-ceo-sub strong { font-weight: 800; }
.sw-ceo-blue { color: #1f6fe5 !important; -webkit-text-fill-color: #1f6fe5; }
.sw-ceo-violet { color: #6a3df0 !important; -webkit-text-fill-color: #6a3df0; }
.sw-ceo-body p { color: #3b4658; }
.sw-ceo-body strong { color: #0b1f44; font-weight: 700; }
.sw-ceo-body strong.sw-ceo-blue { color: #1f6fe5; }
.sw-ceo-body p.sw-ceo-sign { display: flex; justify-content: flex-end; align-items: center; gap: 14px; margin-top: 40px; color: #3b4658; }
.sw-ceo-body p.sw-ceo-sign::before { content: ""; width: 40px; height: 1px; background: #c6d3ea; }
.sw-ceo-body p.sw-ceo-sign strong { color: #0b1f44; font-size: calc(22px + 1pt); font-weight: 800; }
.sw-ceo-visual .sw-ceo-card { padding: 64px 0 0 !important; }
.sw-ceo-card::before { top: -6px !important; left: -8px !important; color: #9ec3f5 !important; font-size: 9.5rem !important; opacity: .9; }
.sw-ceo-card::after { content: "\201D"; display: block !important; position: absolute; inset: auto; right: 0; bottom: -84px; z-index: 0; background: none; animation: none; color: #9ec3f5; font-family: Georgia, serif; font-size: 9.5rem; line-height: 1; opacity: .9; }
.sw-ceo-card .sw-ceo-quote { font-size: clamp(1.5rem, 2.1vw, 1.95rem) !important; line-height: 1.5 !important; }
.sw-ceo-card .sw-ceo-quote .sw-hl-m { color: #6a3df0 !important; -webkit-text-fill-color: #6a3df0 !important; background: none !important; }
.sw-ceo-card .sw-ceo-quote .sw-hl-a { color: #1f6fe5 !important; -webkit-text-fill-color: #1f6fe5 !important; background: none !important; }
.sw-ceo-visual .sw-ceo-since { margin-top: 72px !important; padding-left: 0 !important; }
.sw-ceo-visual .sw-ceo-since span { color: #0b1f44; }
@media (max-width: 781px) {
  #greeting::before { display: none; }
  .sw-ceo-visual .sw-ceo-card { padding: 56px 0 0 !important; }
  .sw-ceo-card::after { bottom: -64px; font-size: 7rem; }
  .sw-ceo-visual .sw-ceo-since { margin-top: 60px !important; }
}

/* ===== 조직도 대표이사 카드: 아이콘 · 글씨를 가운데가 아니라 왼쪽에 붙여 배열 (2026-10-12) ===== */
.sw-org3-ceo { justify-content: flex-start; padding-left: 40px; }
@media (max-width: 781px) { .sw-org3-ceo { padding-left: 28px; } }

/* ===== 연혁 디자인 강화: SKYWARE 라벨 + 제목 밑줄, 연한 배경과 로고 워터마크, 시대 라벨(시작 연도 파랑) 아래 타임라인 점 · 선, 시대 제목은 흰 카드 (2026-10-12) ===== */
#history.sw-onepage { position: relative; overflow: hidden; background: linear-gradient(180deg, #f6f9fe 0%, #eef4fc 100%); }
#history::before { content: ""; position: absolute; top: 40px; right: -40px; z-index: 0; width: min(560px, 42vw); height: 180px; background: rgba(47, 107, 216, .09); -webkit-mask: url(assets/images/skyware-logo-white-hd.png) right top / contain no-repeat; mask: url(assets/images/skyware-logo-white-hd.png) right top / contain no-repeat; pointer-events: none; }
#history::after { content: ""; position: absolute; top: -20%; right: -10%; z-index: 0; width: 55vw; height: 55vw; max-width: 900px; max-height: 900px; border-radius: 50%; background: radial-gradient(circle at center, rgba(255, 255, 255, .9), rgba(255, 255, 255, 0) 70%); pointer-events: none; }
#history > * { position: relative; z-index: 1; }
#history .sw-onepage-head::before { content: "SKYWARE"; display: block; margin-bottom: 14px; color: #8a97ad; font-size: 13px; font-weight: 700; letter-spacing: .34em; }
#history .sw-onepage-title { font-size: clamp(2.2rem, 3.6vw, 3.2rem) !important; letter-spacing: -.04em !important; }
#history .sw-onepage-title::after { content: ""; display: block; width: 72px; height: 4px; margin-top: 20px; border-radius: 2px; background: linear-gradient(90deg, #2f6bd8, #1ea9e0); }
#history .sw-onepage-sub { margin-top: 22px !important; color: #4b5563; font-size: calc(1.08rem + 1pt); line-height: 1.75; }
#history .sw-htl { margin-top: 16px; }
.sw-htl-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 24px !important; justify-content: stretch !important; border-bottom: 0 !important; }
.sw-htl-tabs button { gap: 0 !important; padding: 0 !important; overflow: visible; }
.sw-htl-tabs button b { position: relative; display: block; padding: 0 0 22px; color: #13306e !important; font-size: clamp(1.5rem, 2.1vw, 2rem) !important; font-weight: 800; letter-spacing: -.03em; line-height: 1.1; white-space: nowrap; }
.sw-htl-tabs button b strong { color: #1f6fe5; font-weight: 900; }
.sw-htl-tabs button[aria-selected="true"] b { font-size: clamp(1.5rem, 2.1vw, 2rem) !important; }
/* 타임라인: 각 칸 title 카드 위에 선 · 점 */
.sw-htl-tabs button small { position: relative; display: block; margin-top: 30px; padding: 22px 22px 24px !important; border: 1px solid #e3eaf4; border-radius: 16px; background: #fff; box-shadow: 0 12px 30px rgba(16, 47, 103, .07); color: #13306e; font-size: calc(1.02rem + 1pt) !important; font-weight: 800 !important; line-height: 1.45; letter-spacing: -.01em; white-space: normal !important; word-break: keep-all; min-height: 96px; transition: border-color .3s, box-shadow .3s, transform .3s, color .3s; }
.sw-htl-tabs button small::before { content: ""; position: absolute; left: -24px; right: -24px; top: -22px; height: 2px; background: #c9d8f0; }
.sw-htl-tabs button:first-child small::before { left: 0; }
.sw-htl-tabs button:last-child small::before { right: 0; }
.sw-htl-tabs button small::after { content: ""; position: absolute; left: 0; top: -30px; width: 18px; height: 18px; border-radius: 50%; background: #9ec3f5; box-shadow: 0 0 0 6px rgba(47, 107, 216, .12); transition: background .3s, box-shadow .3s; }
.sw-htl-tabs button:hover small { transform: translateY(-3px); border-color: #cfdcf2; }
.sw-htl-tabs button[aria-selected="true"] small { color: #1f6fe5 !important; border-color: #bcd3f7; box-shadow: 0 18px 40px rgba(31, 111, 229, .14); }
.sw-htl-tabs button[aria-selected="true"] small::after { background: #1f6fe5; box-shadow: 0 0 0 7px rgba(31, 111, 229, .2); }
/* 자동 전환 진행 막대는 카드 아래 안쪽에 */
.sw-htl-tabs button::after, .sw-htl.is-auto .sw-htl-tabs button::before { left: 22px; right: 22px; bottom: 0; border-radius: 3px; }
.sw-htl.is-auto .sw-htl-tabs button::before { bottom: 0; }
/* 연도 패널: 카드 아래 여백 */
.sw-htl-panel { margin-top: 10px; }
@media (max-width: 1100px) { .sw-htl-tabs { gap: 16px !important; } .sw-htl-tabs button small::before { left: -16px; right: -16px; } }
@media (max-width: 781px) {
  .sw-htl-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px 16px !important; }
  .sw-htl-tabs button small { display: block; margin-top: 24px; padding: 16px 16px 18px !important; min-height: 0; font-size: calc(.92rem + 1pt) !important; }
  .sw-htl-tabs button small::before { display: none; }
  .sw-htl-tabs button small::after { top: -24px; width: 14px; height: 14px; }
  .sw-htl-tabs button b { padding-bottom: 14px; font-size: 1.35rem !important; }
  #history::before { width: 220px; height: 80px; top: 24px; }
}
/* 연혁 보정: 시대 카드 높이는 내용만큼, 시작 연도를 더 크게, 로고 워터마크가 흰 광원 위에 보이게 */
.sw-htl-tabs button small { min-height: 0; padding: 20px 22px 22px !important; }
.sw-htl-tabs button b strong { font-size: 1.12em; }
#history.sw-onepage { isolation: isolate; }
#history::after { z-index: -1; }
#history::before { background: rgba(47, 107, 216, .13); }
/* 연혁 보정 2: 버튼 기본값(세로 가운데 정렬) 때문에 카드 높이 · 타임라인 점이 어긋나던 것 — 위 정렬 + 카드가 남은 높이를 채움 */
.sw-htl-tabs button { align-content: start !important; grid-template-rows: auto 1fr; }

/* ===== 핵심가치(Core Values) 제목: 한글 제목 아래 영문 보조 표기 (2026-10-12) ===== */
.sw-section:has(.sw-value-grid) .sw-section-heading h2 small, #vision h2 small { display: block; margin-top: 8px; color: #2f6bd8; font-size: .42em; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }

/* ===== 핵심가치 제목: 항목마다 다른 색(각 항목 색 --c 의 연한 톤)의 둥근 배경을 제목 뒤에 깐다 (2026-10-12) ===== */
.sw-value-grid:not(.sw-step-grid) .sw-value-card h3 { justify-self: start; padding: 8px 18px; border-radius: 12px; background: color-mix(in srgb, var(--c) 14%, #fff); color: color-mix(in srgb, var(--c) 70%, #0b1f44) !important; }
.sw-value-grid:not(.sw-step-grid) .sw-value-card .sw-value-en { margin-top: 10px !important; }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column:nth-child(1) { --c: #2f6bd8; --c2: #9fc3ff; }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column:nth-child(2) { --c: #0e9fb3; --c2: #8fe3ee; }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column:nth-child(3) { --c: #7a4ce6; --c2: #c9b4ff; }
.sw-value-grid:not(.sw-step-grid) > .wp-block-column:nth-child(4) { --c: #e0891f; --c2: #ffd59a; }

/* ===== 회사소개 섹션 제목 통일: 핵심가치 · 핵심 역량 · 수행체계 · 고객사 제목을 같은 크기 · 굵기 · 색으로 (2026-10-12) ===== */
body .sw-section .sw-section-heading h2, body .sw-section-tight .sw-section-heading h2, body .sw-philosophy .sw-section-heading h2, body .sw-approach .sw-section-heading h2 { margin: 0 !important; color: var(--sw-navy, #0b1f44) !important; font-size: calc(clamp(1.95rem, 3.2vw, 2.7rem) + 1pt) !important; font-weight: 800 !important; letter-spacing: -.025em !important; line-height: 1.3 !important; }
/* 핵심가치 영문 보조 표기는 쓰지 않는다 */
.sw-section:has(.sw-value-grid) .sw-section-heading h2 small, #vision h2 small { display: none; }
/* 대표인사말 상단 라벨 제거에 맞춰 머리 여백 정리 */
#greeting .sw-onepage-head { display: none !important; }
#greeting.sw-onepage { padding-top: 96px; }
/* 핵심가치 제목 배경: 가로 배치(회사소개)에서는 가운데 정렬 유지 */
.sw-philosophy .sw-value-grid:not(.sw-step-grid) .sw-value-card h3 { justify-self: center; display: inline-block; }

/* ===== 연혁 시대 카드: 흰 박스 대신 주제별 배경 사진(AI · 클라우드 / R&D / 글로벌 진출 / B2B 전자문서) 위에 흰 글씨 (2026-10-12) ===== */
.sw-htl-tabs button small { position: relative; overflow: hidden; border: 0 !important; color: #fff !important; background-color: #13306e; background-size: cover; background-position: center; box-shadow: 0 14px 32px rgba(11, 31, 68, .18); text-shadow: 0 1px 2px rgba(0, 0, 0, .35); isolation: isolate; }
.sw-htl-tabs button small > b, .sw-htl-tabs button small::before, .sw-htl-tabs button small::after { z-index: 2; }
.sw-htl-tabs button small { --sw-era-shade: linear-gradient(180deg, rgba(8, 20, 50, .35) 0%, rgba(8, 20, 50, .62) 100%); background-image: var(--sw-era-shade), var(--sw-era-img); }
.sw-htl-tabs button:nth-child(1) small { --sw-era-img: url(assets/images/era-ai.jpg); }
.sw-htl-tabs button:nth-child(2) small { --sw-era-img: url(assets/images/era-rnd.jpg); }
.sw-htl-tabs button:nth-child(3) small { --sw-era-img: url(assets/images/era-global.jpg); }
.sw-htl-tabs button:nth-child(4) small { --sw-era-img: url(assets/images/era-doc.jpg); }
.sw-htl-tabs button:hover small { box-shadow: 0 20px 40px rgba(11, 31, 68, .26); }
.sw-htl-tabs button[aria-selected="true"] small { color: #fff !important; box-shadow: 0 0 0 3px rgba(31, 111, 229, .55), 0 20px 44px rgba(31, 111, 229, .28); --sw-era-shade: linear-gradient(180deg, rgba(8, 20, 50, .22) 0%, rgba(8, 20, 50, .5) 100%); }
.sw-htl-tabs button[aria-selected="true"] small::after { background: #fff; box-shadow: 0 0 0 7px rgba(31, 111, 229, .35); }
.sw-htl-tabs button::after, .sw-htl.is-auto .sw-htl-tabs button::before { z-index: 3; left: 0; right: 0; bottom: 0; border-radius: 0; height: 4px; }
.sw-htl.is-auto .sw-htl-tabs button::before { background: rgba(255, 255, 255, .25); }

/* ===== 핵심가치 소개 문장: 핵심 역량 등 다른 섹션의 소개 문장과 같은 크기 (2026-10-12) ===== */
body .sw-philosophy .sw-section-heading .sw-lead, body .sw-philosophy .sw-lead { color: var(--sw-muted) !important; font-size: calc(clamp(1.04rem, 1.8vw, 1.28rem) + 1pt) !important; line-height: 1.75 !important; }

/* ===== 커머스 페이지 플랫폼 솔루션(StyleHows) · 라이브커머스 솔루션: 두 카드의 색을 다르게 — StyleHows 는 파랑, 라이브커머스는 청록 (2026-10-12) ===== */
.sw-ecom-platform { --pc: #2f6bd8; --pc2: #eaf2ff; border-color: color-mix(in srgb, var(--pc) 28%, #dde5f1); }
.sw-ecom-platform.is-live { --pc: #0e9fb3; --pc2: #e3f6f8; }
.sw-ecom-platform > .sw-ecom-platform-head { background: linear-gradient(135deg, var(--pc2), #fff 70%); border-radius: 16px 0 0 16px; }
.sw-ecom-platform-head > svg { width: 56px; height: 56px; padding: 12px; border-radius: 14px; background: var(--pc); color: #fff; box-sizing: border-box; }
.sw-ecom-platform-head b { color: var(--pc); }
.sw-ecom-platform li::before { background: var(--pc); }
.sw-ecom-platform li.is-hl { color: var(--pc); font-weight: 700; }
@media (max-width: 900px) { .sw-ecom-platform > .sw-ecom-platform-head { border-radius: 16px 16px 0 0; } }

/* ===== 연혁 시대 칸: 시대 라벨과 배경 사진을 한 덩어리로 — 버튼 전체가 사진 카드가 되고 라벨 · 제목이 그 안에, 타임라인 점 · 선은 카드 위 (2026-10-12) ===== */
.sw-htl-tabs button { position: relative; margin-top: 44px; padding: 22px 24px 26px !important; border-radius: 18px; overflow: visible; color: #fff; background-color: #13306e; background-image: var(--sw-era-shade), var(--sw-era-img); background-size: cover; background-position: center; box-shadow: 0 14px 32px rgba(11, 31, 68, .18); transition: transform .3s, box-shadow .3s; --sw-era-shade: linear-gradient(180deg, rgba(8, 20, 50, .45) 0%, rgba(8, 20, 50, .7) 100%); }
.sw-htl-tabs button:nth-child(1) { --sw-era-img: url(assets/images/era-ai.jpg); }
.sw-htl-tabs button:nth-child(2) { --sw-era-img: url(assets/images/era-rnd.jpg); }
.sw-htl-tabs button:nth-child(3) { --sw-era-img: url(assets/images/era-global.jpg); }
.sw-htl-tabs button:nth-child(4) { --sw-era-img: url(assets/images/era-doc.jpg); }
.sw-htl-tabs button:hover { transform: translateY(-3px); box-shadow: 0 20px 40px rgba(11, 31, 68, .26); }
.sw-htl-tabs button[aria-selected="true"] { box-shadow: 0 0 0 3px rgba(31, 111, 229, .6), 0 20px 44px rgba(31, 111, 229, .28); --sw-era-shade: linear-gradient(180deg, rgba(8, 20, 50, .3) 0%, rgba(8, 20, 50, .6) 100%); }
.sw-htl-tabs button b { position: static; padding: 0 0 10px; color: #fff !important; font-size: clamp(1.35rem, 1.9vw, 1.75rem) !important; text-shadow: 0 1px 2px rgba(0, 0, 0, .35); }
.sw-htl-tabs button b strong { color: #8fc8ff; }
.sw-htl-tabs button[aria-selected="true"] b strong { color: #bfe3ff; }
.sw-htl-tabs button small { margin: 0 !important; padding: 0 !important; min-height: 0; border: 0 !important; border-radius: 0; background: none !important; box-shadow: none !important; color: rgba(255, 255, 255, .95) !important; font-size: calc(1rem + 1pt) !important; font-weight: 700 !important; text-shadow: 0 1px 2px rgba(0, 0, 0, .35); transform: none !important; isolation: auto; overflow: visible; }
.sw-htl-tabs button:hover small, .sw-htl-tabs button[aria-selected="true"] small { transform: none !important; color: #fff !important; box-shadow: none !important; }
.sw-htl-tabs button small::before, .sw-htl-tabs button small::after { display: none !important; }
/* 타임라인 선 · 점: 카드 위 */
.sw-htl-tabs button b::before { content: ""; position: absolute; left: -24px; right: -24px; top: -30px; height: 2px; background: #c9d8f0; }
.sw-htl-tabs button:first-child b::before { left: 0; }
.sw-htl-tabs button:last-child b::before { right: 0; }
.sw-htl-tabs button b::after { content: ""; position: absolute; left: 0; top: -38px; width: 18px; height: 18px; border-radius: 50%; background: #9ec3f5; box-shadow: 0 0 0 6px rgba(47, 107, 216, .12); transition: background .3s, box-shadow .3s; }
.sw-htl-tabs button[aria-selected="true"] b::after { background: #1f6fe5; box-shadow: 0 0 0 7px rgba(31, 111, 229, .22); }
/* 자동 전환 진행 막대: 카드 안쪽 아래 */
.sw-htl-tabs button::after, .sw-htl.is-auto .sw-htl-tabs button::before { left: 18px; right: 18px; bottom: 10px; height: 4px; border-radius: 2px; z-index: 3; }
.sw-htl.is-auto .sw-htl-tabs button::before { background: rgba(255, 255, 255, .28); }
@media (max-width: 1100px) { .sw-htl-tabs button b::before { left: -16px; right: -16px; } }
@media (max-width: 781px) {
  .sw-htl-tabs button { margin-top: 34px; padding: 16px 16px 20px !important; }
  .sw-htl-tabs button b { padding-bottom: 8px; font-size: 1.25rem !important; }
  .sw-htl-tabs button b::before { display: none; }
  .sw-htl-tabs button b::after { top: -30px; width: 14px; height: 14px; }
  .sw-htl-tabs button small { display: block; font-size: calc(.92rem + 1pt) !important; }
}

/* ===== 연혁 항목 핵심어: 굵게 · 파란색 (2026-10-12) ===== */
.sw-htl-year li strong { color: #1f6fe5; font-weight: 700; }

/* ===== 연혁 머리: 제목 아래 파란 밑줄과 SKYWARE 라벨 제거 (2026-10-12) ===== */
#history .sw-onepage-title::after { display: none; }
#history .sw-onepage-head::before { display: none; }

/* ===== 핵심 가치 섹션: 뒤에 은은한 기술 사진 배경 (2026-10-12) ===== */
.sw-section.sw-philosophy:not(.sw-approach) { position: relative; isolation: isolate; background: linear-gradient(180deg, rgba(244, 247, 253, .9), rgba(236, 242, 251, .94)), url(assets/images/hero-tech.jpg) center / cover no-repeat; }
.sw-section.sw-philosophy:not(.sw-approach)::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 70% at 85% 20%, rgba(47, 107, 216, .14), transparent 70%), radial-gradient(50% 60% at 10% 90%, rgba(14, 159, 179, .12), transparent 70%); pointer-events: none; }

/* ===== 홈 섹션 제목 통일: Our Expertise · Business 를 같은 크기 · 굵기 · 색으로, 어두운 Philosophy 섹션 제목은 흰색 (2026-10-12) ===== */
body .sw-biz-space .sw-biz2-head h2 { color: var(--sw-navy, #0b1f44) !important; font-size: calc(clamp(1.95rem, 3.2vw, 2.7rem) + 1pt) !important; font-weight: 800 !important; letter-spacing: -.025em !important; line-height: 1.3 !important; }
body .sw-company-sec .sw-section-heading h2 { color: var(--sw-navy, #0b1f44) !important; font-size: calc(clamp(1.95rem, 3.2vw, 2.7rem) + 1pt) !important; font-weight: 800 !important; letter-spacing: -.025em !important; line-height: 1.3 !important; }
body .sw-dark .sw-section-heading h2 { color: #fff !important; }

/* ===== 홈 반원: 모든 화면 폭에서 화면 가로를 꽉 채운다 (1240px 이하에서 본문 폭으로 줄이던 규칙 해제) (2026-10-12) ===== */
.sw-biz-space .sw-arc.is-v8, .sw-biz-space .sw-arc.is-v8.alignwide, .is-layout-constrained > .sw-arc.is-v8.alignwide { width: 100vw !important; max-width: none !important; margin-left: calc(50% - 50vw) !important; margin-right: 0 !important; }
@media (max-width: 1240px) { .sw-biz-space .sw-arc.is-v8, .sw-biz-space .sw-arc.is-v8.alignwide { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } }
.sw-arc.is-v8 .sw-arc-svg { width: 100% !important; max-width: none !important; }

/* ===== CLOUVI 페이지: 일부 섹션 그룹에 레이아웃 클래스가 붙지 않아 alignwide 자식이 화면 가로를 꽉 채우던 것 — 다른 페이지처럼 본문 폭(1100px)으로 제한 (2026-10-12) ===== */
body.page-id-611 .wp-block-group.alignfull:not([class*="is-layout-"]) > .alignwide { max-width: var(--wp--style--global--wide-size, 1100px) !important; margin-left: auto !important; margin-right: auto !important; }
body.page-id-611 .wp-block-group.alignfull:not([class*="is-layout-"]) > :not(.alignwide):not(.alignfull) { max-width: var(--wp--style--global--content-size, 760px); margin-left: auto !important; margin-right: auto !important; }

/* ===== CLOUVI 페이지: 대화 흐름 4단계 카드의 예시 말풍선을 카드 아래쪽에 같은 높이로 정렬 (2026-10-12) ===== */
.sw-steps.is-flow4 .sw-step { display: flex; flex-direction: column; }
.sw-steps.is-flow4 .sw-step .sw-step-ex { margin-top: auto !important; padding-top: 0; align-self: flex-start; }
.sw-steps.is-flow4 .sw-step .sw-step-desc { margin-bottom: 16px; }

/* ===== CLOUVI 페이지: 도입까지 다섯 단계를 본문 폭 안에서 다섯 칸 한 줄로 (2026-10-12) ===== */
@media (min-width: 1101px) {
  body.page-id-611 .sw-steps:not(.is-flow4) { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
  body.page-id-611 .sw-steps:not(.is-flow4) .sw-step { padding: 26px 22px 28px; }
  body.page-id-611 .sw-steps:not(.is-flow4) .sw-step h3 { font-size: calc(1.08rem + 1pt); }
  body.page-id-611 .sw-steps:not(.is-flow4) .sw-step .sw-step-desc { font-size: calc(.9rem + 1pt); }
}

/* ===== 핵심 가치 섹션 배경: 사진 대신 연한 파란 음영 + 점 격자 무늬 (2026-10-12) ===== */
.sw-section.sw-philosophy:not(.sw-approach) { background: linear-gradient(135deg, #e6f0fd 0%, #f3f7fd 45%, #f8fbff 100%); }
.sw-section.sw-philosophy:not(.sw-approach)::before { background: radial-gradient(circle, rgba(47, 107, 216, .22) 1.3px, transparent 1.6px) 0 0 / 14px 14px repeat; -webkit-mask-image: radial-gradient(ellipse 240px 200px at 6% 32%, #000 0%, transparent 100%); mask-image: radial-gradient(ellipse 240px 200px at 6% 32%, #000 0%, transparent 100%); }
.sw-section.sw-philosophy:not(.sw-approach)::after { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(50% 60% at 90% 15%, rgba(47, 107, 216, .10), transparent 70%), radial-gradient(40% 50% at 8% 95%, rgba(14, 159, 179, .10), transparent 70%); pointer-events: none; }

/* ===== 연혁 타임라인: 점만 남기고 가로 막대는 제거 (2026-10-12) ===== */
.sw-htl-tabs button b::before { display: none !important; }

/* ===== 회사소개 섹션 소개 문장(연혁 · 인증 · 비전 등): 대표인사말 부제와 같은 크기 · 색 (2026-10-12) ===== */
.sw-onepage .sw-onepage-head .sw-onepage-sub, #history .sw-onepage-sub { color: #1a2b4c !important; font-size: clamp(1.3rem, 2vw, 1.8rem) !important; font-weight: 400; line-height: 1.5 !important; letter-spacing: -.025em; }

/* ===== 연혁 시대 사진 카드: 더 크게 (높이 · 여백 · 글씨) (2026-10-12) ===== */
.sw-htl-tabs button { min-height: 176px; padding: 30px 28px 34px !important; border-radius: 22px; }
.sw-htl-tabs button b { font-size: clamp(1.6rem, 2.3vw, 2.1rem) !important; padding-bottom: 12px; }
.sw-htl-tabs button small { font-size: calc(1.08rem + 1pt) !important; line-height: 1.5; }
@media (max-width: 781px) { .sw-htl-tabs button { min-height: 0; padding: 18px 18px 22px !important; } .sw-htl-tabs button b { font-size: 1.35rem !important; } .sw-htl-tabs button small { font-size: calc(.95rem + 1pt) !important; } }

/* ===== 조직도 대표이사 카드: 다시 가운데 정렬, 배경에 빛 · 결 무늬를 더해 덜 밋밋하게 (2026-10-12) ===== */
.sw-org3-ceo { position: relative; overflow: hidden; isolation: isolate; justify-content: center; padding-left: 48px; background: radial-gradient(70% 120% at 100% 0%, rgba(124, 208, 255, .38), transparent 60%), radial-gradient(50% 90% at 0% 100%, rgba(47, 107, 255, .45), transparent 60%), repeating-linear-gradient(135deg, rgba(255, 255, 255, .055) 0 1px, transparent 1px 18px), linear-gradient(135deg, #0b2a6b, #123f96 55%, #1d5ad0); }
.sw-org3-ceo::before { content: ""; position: absolute; right: -40px; top: -60px; z-index: -1; width: 180px; height: 180px; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .16); box-shadow: inset 0 0 0 28px rgba(255, 255, 255, .04); pointer-events: none; }
.sw-org3-ceo::after { content: ""; position: absolute; left: -30px; bottom: -70px; z-index: -1; width: 140px; height: 140px; border-radius: 50%; background: radial-gradient(circle, rgba(124, 208, 255, .35), transparent 70%); pointer-events: none; }
@media (max-width: 781px) { .sw-org3-ceo { padding-left: 28px; } }

/* ===== 카드 작은 번호(01 · 02 · 03): 작은 글자 대신 그라데이션 둥근 배지 (2026-10-12) ===== */
.sw-card .sw-card-number, .sw-ums-feature > .sw-ums-feature-no { display: inline-grid !important; place-items: center; min-width: 42px; height: 42px; padding: 0 12px; border-radius: 13px; background: linear-gradient(135deg, #2f6bd8, #1ea9e0); color: #fff !important; font-size: calc(.98rem + 1pt) !important; font-weight: 800; letter-spacing: .04em !important; line-height: 1; box-shadow: 0 8px 18px rgba(47, 107, 216, .25); }
.sw-card .sw-card-number { margin-bottom: 14px; }
.page-template-page-product-scos .sw-ums-feature > .sw-ums-feature-no { background: linear-gradient(135deg, #12806e, #21a892); }
.page-template-page-product-ai-platform .sw-ums-feature > .sw-ums-feature-no { background: linear-gradient(135deg, #6a3df0, #9b5cf6); }
/* 기존에 다른 모양을 쓰는 번호는 그대로 둔다 */
.sw-ums-features.is-2 .sw-ums-feature-no, .sw-ums-why .sw-ums-feature .sw-ums-feature-no { display: flex !important; min-width: 0; height: auto; padding: 0; border-radius: 0; background: none; color: inherit !important; box-shadow: none; line-height: inherit; }
.sw-ums-features.is-2 .sw-ums-feature-no { font-size: calc(1.3rem + 1pt) !important; letter-spacing: -.01em !important; }
.sw-ums-why .sw-ums-feature .sw-ums-feature-no { color: var(--c) !important; font-size: calc(.72rem + 1pt) !important; letter-spacing: .12em !important; }

/* ===== 연혁 타임라인: 점도 제거하고 시대 사진 카드를 한 번 더 키움 (2026-10-12) ===== */
.sw-htl-tabs button b::after { display: none !important; }
.sw-htl-tabs button { margin-top: 14px; min-height: 236px; padding: 38px 34px 42px !important; border-radius: 24px; }
.sw-htl-tabs button b { font-size: clamp(1.8rem, 2.6vw, 2.4rem) !important; padding-bottom: 14px; }
.sw-htl-tabs button small { font-size: calc(1.14rem + 1pt) !important; }
@media (max-width: 781px) { .sw-htl-tabs button { min-height: 0; padding: 20px 20px 24px !important; } .sw-htl-tabs button b { font-size: 1.4rem !important; } .sw-htl-tabs button small { font-size: calc(.95rem + 1pt) !important; } }

/* ===== SI·ITO 운영표 '고객 맞춤 포인트': 형광펜 없이 담백한 남색 굵은 글씨 (2026-10-12) ===== */
.sw-opm-rows em { display: block; padding: 0; background: none; color: #13306e; font-weight: 700; }
.sw-opm-rows li:hover em { background: none; }

/* ===== SI·ITO 운영 서비스 범위: 남색 한 덩어리 대신 흰 카드 4장 + 색 띠 + 번호 (2026-10-12) ===== */
.sw-itos { gap: 18px; background: none; border-radius: 0; overflow: visible; counter-reset: sw-itos; }
.sw-itos li { position: relative; --ic: #2f6bd8; padding: 34px 26px 30px; border: 1px solid #e3eaf4; border-radius: 20px; background: #fff; box-shadow: 0 14px 34px rgba(16, 47, 103, .07); transition: transform .3s, box-shadow .3s; }
.sw-itos li:nth-child(2) { --ic: #0e9fb3; }
.sw-itos li:nth-child(3) { --ic: #7a4ce6; }
.sw-itos li:nth-child(4) { --ic: #e0891f; }
.sw-itos li + li { border-left: 1px solid #e3eaf4; }
.sw-itos li::before { content: ""; position: absolute; top: 0; left: 26px; right: 26px; height: 4px; border-radius: 0 0 4px 4px; background: var(--ic); }
.sw-itos li:hover { transform: translateY(-4px); box-shadow: 0 22px 46px rgba(16, 47, 103, .12); }
.sw-itos b { color: #13306e; }
.sw-itos b::before { counter-increment: sw-itos; content: "0" counter(sw-itos); display: block; margin-bottom: 12px; color: var(--ic); font-size: 13px; font-weight: 800; letter-spacing: .14em; }
.sw-itos span { color: #4b5563; }
@media (max-width: 900px) { .sw-itos li + li { border-left: 1px solid #e3eaf4; } }
@media (prefers-reduced-motion: reduce) { .sw-itos li { transition: none; } .sw-itos li:hover { transform: none; } }

/* ===== 라이브커머스 화면 목업: 폰 화면이 천천히 좌우로 흔들리며 움직인다 (2026-10-12) ===== */
.sw-lc-shots .wp-block-image img { animation: sw-lc-sway 7s ease-in-out infinite; transform-origin: 50% 100%; will-change: transform; }
.sw-lc-shots > .wp-block-column:nth-child(2) .wp-block-image img { animation-delay: -1.75s; }
.sw-lc-shots > .wp-block-column:nth-child(3) .wp-block-image img { animation-delay: -3.5s; }
.sw-lc-shots > .wp-block-column:nth-child(4) .wp-block-image img { animation-delay: -5.25s; }
@keyframes sw-lc-sway { 0%, 100% { transform: translateX(-12px) rotate(-1.4deg); } 50% { transform: translateX(12px) rotate(1.4deg); } }
@media (prefers-reduced-motion: reduce) { .sw-lc-shots .wp-block-image img { animation: none; } }

/* ===== 커머스 배너 본문 글씨: SI·ITO 배너와 같은 크기로 축소 (2026-10-12) ===== */
.sw-page-hero.is-video-commerce p.has-large-font-size { font-size: calc(var(--wp--preset--font-size--large, 1.25rem) * 1.18) !important; line-height: 1.65; max-width: 48em; }

/* ===== SI·ITO e-MP(B2B e-Market Place) 주요 기능 구성: 기본은 접어 두고 '상세 보기' 버튼으로 펼친다 (2026-10-12) ===== */
.sw-emp-detail { display: none !important; }
.sw-emp-detail.is-open { display: block !important; margin-top: 24px !important; }
.sw-emp-toggle { display: inline-flex; align-items: center; gap: 10px; margin: 14px 0 0; padding: 12px 22px; border: 1px solid #cfdcf2; border-radius: 99px; background: #fff; color: #13306e; font: inherit; font-size: calc(.95rem + 1pt); font-weight: 700; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.sw-emp-toggle::after { content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .25s; }
.sw-emp-toggle[aria-expanded="true"]::after { transform: translateY(2px) rotate(-135deg); }
.sw-emp-toggle:hover { background: #13306e; border-color: #13306e; color: #fff; }

/* ===== 연혁 시대 카드: 자동 전환 진행 막대 제거 (2026-10-12) ===== */
.sw-htl-tabs button::after, .sw-htl.is-auto .sw-htl-tabs button::before { display: none !important; }

/* ===== 연혁 시대 카드(활성): 테두리가 숨 쉬듯 빛나고, 시작 연도 숫자에 빛이 스쳐 지나간다 (2026-10-12) ===== */
.sw-htl-tabs button[aria-selected="true"] { animation: sw-era-glow 2.6s ease-in-out infinite; }
@keyframes sw-era-glow {
  0%, 100% { box-shadow: 0 0 0 3px rgba(31, 111, 229, .55), 0 20px 44px rgba(31, 111, 229, .25); }
  50% { box-shadow: 0 0 0 4px rgba(124, 208, 255, .95), 0 0 30px 8px rgba(63, 182, 255, .55), 0 20px 44px rgba(31, 111, 229, .3); }
}
.sw-htl-tabs button[aria-selected="true"] b strong { background: linear-gradient(100deg, #8fc8ff 0%, #8fc8ff 35%, #ffffff 50%, #8fc8ff 65%, #8fc8ff 100%); background-size: 240% 100%; -webkit-background-clip: text; background-clip: text; color: transparent !important; -webkit-text-fill-color: transparent; animation: sw-era-shine 2.4s linear infinite; }
@keyframes sw-era-shine { from { background-position: 120% 0; } to { background-position: -120% 0; } }
@media (prefers-reduced-motion: reduce) { .sw-htl-tabs button[aria-selected="true"] { animation: none; } .sw-htl-tabs button[aria-selected="true"] b strong { animation: none; background: none; color: #bfe3ff !important; -webkit-text-fill-color: #bfe3ff; } }

/* ===== 인증 섹션 소개 문장(.sw-cert-lead): 연혁 · 비전 소개 문장과 같은 크기 · 색 (2026-10-12) ===== */
.sw-onepage .sw-onepage-head .sw-cert-lead { margin: 22px 0 0 !important; color: #1a2b4c !important; font-size: clamp(1.3rem, 2vw, 1.8rem) !important; font-weight: 400; line-height: 1.5 !important; letter-spacing: -.025em; }

/* ===== 연혁 v4: 왼쪽에 시대 사진 카드 세로 스택(고른 카드가 크게 펼쳐짐), 오른쪽에 그 시대의 연도별 기록이 차례로 밀려 들어온다 (2026-10-12) ===== */
@media (min-width: 981px) {
  .sw-htl { display: grid !important; grid-template-columns: minmax(340px, 34%) minmax(0, 1fr); column-gap: 40px; align-items: start; }
  .sw-htl-tabs { grid-template-columns: 1fr !important; gap: 14px !important; grid-column: 1; grid-row: 1; align-content: start; }
  .sw-htl-tabs button { margin-top: 0; min-height: 0; padding: 20px 24px !important; border-radius: 20px; transition: min-height .55s cubic-bezier(.2, .7, .2, 1), padding .55s cubic-bezier(.2, .7, .2, 1), transform .3s, box-shadow .3s; }
  .sw-htl-tabs button:not([aria-selected="true"]) { --sw-era-shade: linear-gradient(180deg, rgba(8, 20, 50, .62) 0%, rgba(8, 20, 50, .78) 100%); }
  .sw-htl-tabs button:not([aria-selected="true"]) b { padding-bottom: 6px; font-size: 1.35rem !important; }
  .sw-htl-tabs button:not([aria-selected="true"]) small { font-size: calc(.95rem + 1pt) !important; }
  .sw-htl-tabs button[aria-selected="true"] { min-height: 360px; padding: 44px 34px !important; justify-content: end; }
  .sw-htl-tabs button[aria-selected="true"] b { font-size: clamp(2.2rem, 3.2vw, 3.1rem) !important; padding-bottom: 14px; }
  .sw-htl-tabs button[aria-selected="true"] small { font-size: calc(1.2rem + 1pt) !important; }
  .sw-htl-panel { grid-column: 2; grid-row: 1; margin-top: 0; }
  .sw-htl-track { display: grid; grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0; overflow: visible; scroll-snap-type: none; }
  .sw-htl-year { display: grid; grid-template-columns: 128px minmax(0, 1fr); column-gap: 28px; align-items: start; padding: 20px 0 22px; border-top: 1px solid #dde6f3; }
  .sw-htl-year:first-child { border-top: 0; padding-top: 4px; }
  .sw-htl-year > b { font-size: clamp(1.8rem, 2.4vw, 2.3rem); line-height: 1.1; }
  .sw-htl-year > i { display: none; }
  .sw-htl-year ul { grid-column: 2; gap: 9px; }
  .sw-htl-year li { font-size: calc(1rem + 1pt); }
  .sw-htl-panel.is-in .sw-htl-year { animation: sw-htl-in2 .6s cubic-bezier(.2, .7, .2, 1) both; }
  .sw-htl-panel.is-in .sw-htl-year:nth-child(1) { animation-delay: .05s; }
  .sw-htl-panel.is-in .sw-htl-year:nth-child(2) { animation-delay: .17s; }
  .sw-htl-panel.is-in .sw-htl-year:nth-child(3) { animation-delay: .29s; }
  .sw-htl-panel.is-in .sw-htl-year:nth-child(4) { animation-delay: .41s; }
  .sw-htl-panel.is-in .sw-htl-year:nth-child(5) { animation-delay: .53s; }
  .sw-htl-panel.is-in .sw-htl-year:nth-child(6) { animation-delay: .65s; }
  @keyframes sw-htl-in2 { from { opacity: 0; transform: translateX(48px); } to { opacity: 1; transform: none; } }
}
@media (prefers-reduced-motion: reduce) { .sw-htl-tabs button { transition: none; } .sw-htl-panel.is-in .sw-htl-year { animation: none; } }
/* 연혁 v4 보정: 연도 기록을 한 열로(기존 auto-fit 다열 규칙 덮어쓰기), 가로로 달리던 빛 막대 제거, 인증 소개 문장 크기 */
@media (min-width: 981px) {
  .sw-htl-track { grid-template-columns: minmax(0, 1fr) !important; grid-auto-flow: row !important; }
  .sw-htl-track::after { display: none !important; }
  .sw-htl-year { min-width: 0; }
}
.sw-onepage .sw-cert-lead, #certification .sw-cert-lead { margin: 22px 0 28px !important; color: #1a2b4c !important; font-size: clamp(1.3rem, 2vw, 1.8rem) !important; font-weight: 400; line-height: 1.5 !important; letter-spacing: -.025em; }

/* ===== 문의하기 안내 문구('영업일 기준 순차적으로 답변드립니다'): 알약 말풍선 대신 담백한 보조 문장 (2026-10-12) ===== */
.sw-contact-info .sw-contact-chip { display: block; margin: 16px 0 36px; padding: 0; border-radius: 0; background: none; color: #6b7686; font-size: calc(.95rem + 1pt); font-weight: 500; }
.sw-contact-chip::before { display: none; }

/* ===== 자료실 소개서 받기 3단계: 세로 선 · 동그라미 번호 대신, 반투명 흰 카드 안에 번호 배지 + 제목 + 설명 (2026-10-12) ===== */
.sw-brochure-steps { gap: 12px; }
.sw-brochure-steps::before { display: none; }
.sw-brochure-steps li { grid-template-columns: 44px 1fr; column-gap: 16px; row-gap: 4px; padding: 16px 18px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 16px; background: rgba(255, 255, 255, .07); backdrop-filter: blur(4px); }
.sw-brochure-steps li::before { width: 44px; height: 44px; border: 0; border-radius: 12px; background: rgba(255, 255, 255, .16); color: #bfe3ff; font-size: calc(.9rem + 1pt); }
.sw-brochure-steps li strong { font-size: calc(1.08rem + 1pt); }
.sw-brochure-steps li span { color: rgba(255, 255, 255, .78); }

/* ===== 자료실 배너 본문 글씨 축소 (2026-10-12) ===== */
.sw-page-hero.is-photo-resources p.has-large-font-size { font-size: calc(var(--wp--preset--font-size--large, 1.25rem) * 1.18) !important; line-height: 1.65; max-width: 48em; }
/* 연혁 활성 카드 연도 반짝임: 흰 띠를 좁혀 숫자가 항상 또렷하게 */
.sw-htl-tabs button[aria-selected="true"] b strong { background: linear-gradient(100deg, #8fc8ff 0%, #8fc8ff 44%, #ffffff 50%, #8fc8ff 56%, #8fc8ff 100%); background-size: 240% 100%; -webkit-background-clip: text; background-clip: text; }

/* ===== 연혁 시대 카드: 시대 라벨 · 제목 가운데 정렬 (2026-10-12) ===== */
.sw-htl-tabs button { text-align: center !important; justify-items: center; }
.sw-htl-tabs button b, .sw-htl-tabs button small { text-align: center !important; width: 100%; }

/* ===== 자료실 소개서 표지: AI 느낌의 사진 대신, 책마다 고유한 색의 그라데이션 + 가는 격자 · 큰 원호 라인아트로 깔끔한 인쇄물 표지처럼 (2026-10-12) ===== */
.sw-book2-cover { background:
    radial-gradient(90% 60% at 100% 0%, color-mix(in srgb, var(--c) 42%, transparent), transparent 60%),
    radial-gradient(70% 50% at 0% 100%, color-mix(in srgb, var(--b) 55%, transparent), transparent 65%),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 22px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 22px),
    linear-gradient(160deg, color-mix(in srgb, var(--a) 85%, #000) 0%, var(--a) 45%, color-mix(in srgb, var(--a) 70%, var(--b)) 100%) !important; }
.sw-book2-cover::before { content: ""; position: absolute; right: -38%; bottom: -30%; z-index: 0; width: 120%; aspect-ratio: 1; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .16); box-shadow: inset 0 0 0 26px rgba(255, 255, 255, .035), inset 0 0 0 27px rgba(255, 255, 255, .12), inset 0 0 0 64px rgba(255, 255, 255, .03), inset 0 0 0 65px rgba(255, 255, 255, .09); pointer-events: none; }
.sw-book2-cover > * { position: relative; z-index: 1; }
.sw-book2-cover b { text-shadow: 0 2px 10px rgba(0, 0, 0, .35); }
.sw-book2-cover em { color: rgba(255, 255, 255, .86); }
.sw-book2-cat { color: var(--c); }
/* 책마다 다른 색: 회사소개서 남색, SCOS 청록, sOMP 파랑, AI 보라, MRO 주황 */
.sw-book2:nth-child(1) { --a: #0f2a6b; --b: #2a63d4; --c: #8fc8ff; }
.sw-book2:nth-child(2) { --a: #063f44; --b: #0e9fb3; --c: #7fe3ee; }
.sw-book2:nth-child(3) { --a: #0b2f7a; --b: #1f6fe5; --c: #9ec3f5; }
.sw-book2.is-violet { --a: #2d1679; --b: #6a3df0; --c: #d6b4ff; }
.sw-book2.is-amber { --a: #6e2d06; --b: #c5701b; --c: #ffd59a; }

/* ===== 인증 소개 문장: 머리 그룹 밖에 있어 화면 왼쪽에 붙던 것 — 제목과 같은 1100px 열에 정렬 (2026-10-12) ===== */
#certification > .sw-cert-lead, .sw-onepage > .sw-cert-lead { width: min(1100px, calc(100vw - 48px)); max-width: none !important; margin-left: auto !important; margin-right: auto !important; }

/* ===== 연혁 연도별 기록 글씨 확대 (2026-10-12) ===== */
@media (min-width: 981px) { .sw-htl-year li { font-size: calc(1.12rem + 1pt); line-height: 1.7; } .sw-htl-year ul { gap: 11px; } }

/* ===== 막대형 라벨('| 특징점', '| 도입 효과'): 번호 배지 작업 때 color: inherit 로 덮여 남색이 되던 것 — 원래 색(파랑 · SCOS 청록 · AI 보라 · 어두운 섹션 하늘색) 복원 (2026-10-12) ===== */
.sw-ums-features.is-2 .sw-ums-feature-no { color: #2f6bff !important; }
.page-template-page-product-scos .sw-ums-features.is-2 .sw-ums-feature-no { color: #12806e !important; }
.page-template-page-product-ai-platform .sw-ums-features.is-2 .sw-ums-feature-no { color: #6a3df0 !important; }
.sw-ums-dark .sw-ums-features.is-2 .sw-ums-feature-no { color: #7cd0ff !important; }

/* ===== 카드 작은 번호(01 · 02 · 03): 그라데이션 배지를 걷어내고 원래의 작은 글자 번호로 복원 (2026-10-12) ===== */
.sw-card .sw-card-number, .sw-ums-feature > .sw-ums-feature-no { display: block !important; min-width: 0; height: auto; padding: 0; border-radius: 0; background: none; box-shadow: none; line-height: inherit; }
.sw-card .sw-card-number { margin-bottom: 0; color: var(--sw-cyan) !important; font-size: calc(.8rem + 1pt) !important; letter-spacing: .14em !important; }
.sw-link-card .sw-card-number { color: var(--c) !important; }
.sw-ums-feature > .sw-ums-feature-no { color: #2f6bff !important; font-size: calc(.76rem + 1pt) !important; letter-spacing: .12em !important; }
.page-template-page-product-scos .sw-ums-feature > .sw-ums-feature-no { color: #12806e !important; }
.page-template-page-product-ai-platform .sw-ums-feature > .sw-ums-feature-no { color: #6a3df0 !important; }
.sw-ums-dark .sw-ums-feature > .sw-ums-feature-no { color: #7cd0ff !important; }
.sw-ums-features.is-2 .sw-ums-feature-no { display: flex !important; font-size: calc(1.3rem + 1pt) !important; letter-spacing: -.01em !important; }
.sw-ums-why .sw-ums-feature .sw-ums-feature-no { display: flex !important; color: var(--c) !important; font-size: calc(.72rem + 1pt) !important; }

/* ===== SI·ITO e-MP 카드 상세: 구축 사례가 먼저, 그 아래 '주요 기능 구성(18) 보기' 버튼 (2026-10-12) ===== */
.sw-asset-detail .sw-emp-toggle { margin: 28px 0 0; }
.sw-asset-detail .sw-emp-detail.is-open { margin-top: 16px !important; }
/* e-MP 주요 기능 구성: 네 칸 한 줄 */
.sw-emp-detail .sw-card-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px !important; }
.sw-emp-detail .sw-card-grid > .wp-block-column { flex-basis: auto !important; margin: 0 !important; }
@media (max-width: 900px) { .sw-emp-detail .sw-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .sw-emp-detail .sw-card-grid { grid-template-columns: 1fr; } }

/* ===== SI·ITO 운영 서비스 범위: 흰 카드 4장을 걷어내고 원래의 남색 한 덩어리 띠로 복원 (2026-10-12) ===== */
.sw-itos { gap: 0; border-radius: 18px; background: #13306e; overflow: hidden; }
.sw-itos li { padding: 28px 26px; border: 0; border-radius: 0; background: none; box-shadow: none; transform: none !important; }
.sw-itos li + li { border-left: 1px solid rgba(255, 255, 255, .14); }
.sw-itos li::before { display: none; }
.sw-itos li:hover { transform: none; box-shadow: none; }
.sw-itos b { color: #fff; }
.sw-itos b::before { content: none; }
.sw-itos span { color: rgba(255, 255, 255, .72); }
@media (max-width: 900px) { .sw-itos li + li { border-left: 0; } }

/* ===== 연혁 시대 카드: 글씨를 가로 · 세로 모두 가운데로 (2026-10-12) ===== */
.sw-htl-tabs button { align-content: center !important; justify-content: center !important; justify-items: stretch !important; text-align: center !important; }
.sw-htl-tabs button b, .sw-htl-tabs button small { display: block !important; width: 100% !important; margin-left: auto !important; margin-right: auto !important; text-align: center !important; }
@media (min-width: 981px) { .sw-htl-tabs button[aria-selected="true"] { justify-content: center !important; } }

/* ===== 연혁 시대 카드 소제목(플랫폼 전환 · R&D 내재화 등): 접힌 카드도 글씨 확대 (2026-10-12) ===== */
@media (min-width: 981px) {
  .sw-htl-tabs button:not([aria-selected="true"]) small { font-size: calc(1.12rem + 1pt) !important; line-height: 1.45; }
  .sw-htl-tabs button:not([aria-selected="true"]) b { font-size: 1.6rem !important; }
  .sw-htl-tabs button:not([aria-selected="true"]) { padding: 24px 24px !important; }
  .sw-htl-tabs button[aria-selected="true"] small { font-size: calc(1.3rem + 1pt) !important; }
}

/* ===== SCOS · AI 플랫폼 페이지 기능 번호(01 · 02 · 03): 배지 시절의 초록/보라 그라데이션 배경이 남아 넓은 띠로 보이던 것 제거, 원래의 작은 글자 번호로 (2026-10-12) ===== */
.page-template-page-product-scos .sw-ums-feature > .sw-ums-feature-no, .page-template-page-product-ai-platform .sw-ums-feature > .sw-ums-feature-no { background: none !important; box-shadow: none !important; min-width: 0 !important; height: auto !important; padding: 0 !important; }

/* ===== SCOS 개요 체크 목록 핵심어: 굵게 · 파란색 (2026-10-12) ===== */
.sw-ov-points li strong { color: #1f6fe5; font-weight: 700; }

/* ===== 라이브커머스 화면 목업: 좌우 흔들림 애니메이션 제거, 원래 정지 상태로 (2026-10-12) ===== */
.sw-lc-shots .wp-block-image img { animation: none !important; transform: none !important; will-change: auto; }

/* ===== UMS 다섯 채널 카드: 카드 사이 세로 선 제거 (2026-10-12) ===== */
.sw-ums-channel, .sw-ums-channel:first-child { border-left: 0 !important; }

/* ===== 홈 인사이트 카드 제목: 한 줄 말줄임(…) 대신 두 줄까지 보여 제목이 잘리지 않게 (2026-10-12) ===== */
.sw-insights .sw-insight-card h3 { display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; white-space: normal !important; text-overflow: clip !important; line-height: 1.35; word-break: keep-all; }

/* ===== 홈 반원: 넓은 화면에서도 가로 전폭 — 더 강한 선택자로 1100px 폭 제한을 확실히 해제 (2026-10-12) ===== */
html body .sw-biz-space .sw-arc.is-v8, html body .sw-biz-space .sw-arc.is-v8.alignwide, html body .is-layout-constrained > .sw-arc.is-v8.alignwide { width: 100vw !important; max-width: none !important; margin-left: calc(50% - 50vw) !important; margin-right: 0 !important; padding-right: 0 !important; }
html body .sw-arc.is-v8 .sw-arc-svg { width: 100% !important; max-width: none !important; height: auto !important; }

/* ===== UMS 다섯 채널 카드: 색 테두리(그라데이션 사각 틀) 제거 (2026-10-12) ===== */
.sw-ums-channel, .sw-ums-channel:first-child { border: 0 !important; background: transparent !important; box-shadow: none !important; }

/* ===== CLOUVI 도입 다섯 단계: 좁은 다섯 칸에서 카드 사이로 삐져나오던 파란 화살표 점 제거, 칸 간격 정리 (2026-10-12) ===== */
@media (min-width: 1101px) {
  body.page-id-611 .sw-steps:not(.is-flow4) { gap: 20px; }
  body.page-id-611 .sw-steps:not(.is-flow4) .sw-step::after { display: none !important; }
}

/* ===== CLOUVI 버튼 묶음: 레이아웃 클래스가 빠져 버튼이 붙어 보이던 것 — 간격 14px (2026-10-12) ===== */
body.page-id-611 .wp-block-buttons:not([class*="is-layout-"]) { display: flex; flex-wrap: wrap; gap: 14px; }
body.page-id-611 .sw-ums-cta .wp-block-buttons:not([class*="is-layout-"]) { justify-content: center; }

/* ===== 매거진 카드 사진 위 요약: 두 줄 잘림 대신 한 줄(첫 문장)로 (2026-10-12) ===== */
.sw-mz-sum { -webkit-line-clamp: 1; padding-top: 40px; }

/* ===== AI 페이지 CLOUVI 블록 v2: 어두운 남색 히어로(큰 문구 + 콘솔 화면) · 유리질 효과 카드 3장(아이콘 · 체크 목록 · 화살표) · 그라데이션 CTA · 아래 서비스 범위 (2026-10-12) ===== */
.sw-clv.is-v2 { display: block !important; width: min(1240px, calc(100vw - 48px)) !important; padding: clamp(36px, 4vw, 64px) clamp(24px, 4vw, 60px) clamp(32px, 3vw, 48px); border-radius: 30px; color: #fff; background: radial-gradient(60% 70% at 85% 10%, rgba(79, 160, 255, .45), transparent 60%), radial-gradient(50% 60% at 10% 100%, rgba(32, 184, 209, .28), transparent 60%), linear-gradient(160deg, #061a3a 0%, #0b2a63 55%, #0f3d8f 100%); box-shadow: 0 30px 70px rgba(6, 26, 58, .35); overflow: hidden; position: relative; isolation: isolate; }
.sw-clv.is-v2::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px); background-size: 36px 36px; -webkit-mask-image: radial-gradient(70% 70% at 60% 40%, #000 30%, transparent 100%); mask-image: radial-gradient(70% 70% at 60% 40%, #000 30%, transparent 100%); pointer-events: none; }
.sw-clv.is-v2 .sw-clv-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.sw-clv.is-v2 .sw-clv-copy .sw-clv-title { margin: 0 0 18px !important; color: #fff; font-size: clamp(1.9rem, 3.2vw, 2.9rem); font-weight: 900; line-height: 1.22; letter-spacing: -.03em; }
.sw-clv.is-v2 .sw-clv-copy .sw-clv-title em { font-style: normal; color: #7cd0ff; }
.sw-clv.is-v2 .sw-clv-copy > p:not(.sw-clv-title) { margin: 0 !important; color: rgba(255, 255, 255, .8); font-size: calc(1rem + 1pt); line-height: 1.8; word-break: keep-all; }
.sw-clv.is-v2 .sw-clv-shot { margin: 0; perspective: 1400px; }
.sw-clv.is-v2 .sw-clv-shot img { display: block; width: 100%; height: auto; border-radius: 18px; border: 1px solid rgba(143, 200, 255, .3); box-shadow: 0 34px 70px rgba(2, 10, 30, .55), 0 0 0 10px rgba(255, 255, 255, .04); transform: rotateY(-8deg) rotateX(3deg); transition: transform .6s ease; }
.sw-clv.is-v2 .sw-clv-shot:hover img { transform: none; }
.sw-clv-eff.is-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: clamp(28px, 3vw, 44px) 0 0 !important; padding: 0 !important; list-style: none; }
.sw-clv-eff.is-cards > li { --t: #4f8cff; position: relative; display: flex; flex-direction: column; gap: 12px; padding: 24px 22px 64px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 22px; background: linear-gradient(160deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .04)); backdrop-filter: blur(8px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 18px 40px rgba(2, 10, 30, .3); transition: transform .3s, border-color .3s; }
.sw-clv-eff.is-cards > li:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--t) 70%, #fff); }
.sw-clv-eff.is-cards > li.is-ops { --t: #22c3d6; }
.sw-clv-eff.is-cards > li.is-data { --t: #9b7bff; }
.sw-clv-eff.is-cards > li > i { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: color-mix(in srgb, var(--t) 28%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--t) 55%, transparent); }
.sw-clv-eff.is-cards > li > i svg { width: 26px; height: 26px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sw-clv-eff.is-cards > li > b { color: #fff; font-size: calc(1.2rem + 1pt); font-weight: 800; }
.sw-clv-eff.is-cards > li > ul { display: grid; gap: 8px; margin: 0 !important; padding: 0 !important; list-style: none; }
.sw-clv-eff.is-cards > li > ul > li { position: relative; padding-left: 26px; color: rgba(255, 255, 255, .88); font-size: calc(.98rem + 1pt); line-height: 1.5; }
.sw-clv-eff.is-cards > li > ul > li::before { content: ""; position: absolute; top: .3em; left: 0; width: 16px; height: 16px; border-radius: 50%; background: color-mix(in srgb, var(--t) 60%, #fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a63' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 9px no-repeat; }
.sw-clv-eff.is-cards > li > a { position: absolute; right: 20px; bottom: 18px; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 50%; color: #fff; transition: background .2s, transform .2s; }
.sw-clv-eff.is-cards > li > a svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.sw-clv-eff.is-cards > li > a:hover { background: rgba(255, 255, 255, .18); transform: translateX(2px); }
.sw-clv.is-v2 .sw-clv-cta { margin: 28px 0 0 !important; text-align: center; }
.sw-clv.is-v2 .sw-clv-link { display: inline-flex; align-items: center; gap: 12px; margin: 0; padding: 16px 34px; border-radius: 99px; background: linear-gradient(90deg, #2f6bff, #20b8d1); color: #fff !important; font-size: calc(1.08rem + 1pt); font-weight: 800; box-shadow: 0 14px 34px rgba(47, 107, 255, .4); }
.sw-clv.is-v2 .sw-clv-link svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.sw-clv.is-v2 .sw-clv-main { margin-top: clamp(36px, 4vw, 56px); padding-top: 28px; border-top: 1px solid rgba(255, 255, 255, .14); }
.sw-clv.is-v2 .sw-clv-title.is-scope { margin: 0 0 6px !important; color: #8fc8ff; font-size: calc(1.05rem + 1pt); font-weight: 800; letter-spacing: .02em; }
.sw-clv.is-v2 .sw-clv-scope { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; border-top: 0; }
.sw-clv.is-v2 .sw-clv-scope li { grid-template-columns: 36px 120px minmax(0, 1fr); padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.sw-clv.is-v2 .sw-clv-scope i { color: #7cd0ff; }
.sw-clv.is-v2 .sw-clv-scope b { color: #fff; font-size: calc(1.02rem + 1pt); }
.sw-clv.is-v2 .sw-clv-scope span { color: rgba(255, 255, 255, .75); font-size: calc(.95rem + 1pt); }
@media (max-width: 900px) {
  .sw-clv.is-v2 .sw-clv-hero { grid-template-columns: 1fr; }
  .sw-clv.is-v2 .sw-clv-shot img { transform: none; }
  .sw-clv-eff.is-cards { grid-template-columns: 1fr; }
  .sw-clv.is-v2 .sw-clv-scope { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .sw-clv.is-v2 .sw-clv-shot img, .sw-clv-eff.is-cards > li { transition: none; } }

/* 매거진 요약: 첫 문장이 한 줄을 넘으면 잘라내지 않고 두 줄까지 보이게 */
.sw-mz-sum { -webkit-line-clamp: 2; padding-top: 44px; font-size: calc(.84rem + 1pt); }
/* CLOUVI 효과 카드 체크 목록: 예전 2열 그리드 규칙이 상속돼 '전환율 개/선' 처럼 끊기던 것 — 한 줄 블록으로 */
.sw-clv-eff.is-cards > li > ul > li { display: block !important; grid-template-columns: none; padding: 0 0 0 26px; white-space: nowrap; }
.sw-clv-eff.is-cards > li { grid-template-columns: none; }

/* ===== 홈 반원 전폭: 4259행의 홈 섹션 공통 규칙(alignwide 자식을 1100px 로 고정, !important)이 반원까지 묶고 있었음 — 같은 특정도로 해제 (2026-10-12) ===== */
body.home .wp-block-post-content > .wp-block-group.alignfull.sw-section.is-layout-constrained > .alignwide.sw-arc.is-v8 { width: 100vw !important; max-width: none !important; margin-left: calc(50% - 50vw) !important; margin-right: 0 !important; padding-inline: 0 !important; }

/* ===== 홈 반원: 전폭의 0.9배(화면 폭 90%, 가운데) (2026-10-12) ===== */
body.home .wp-block-post-content > .wp-block-group.alignfull.sw-section.is-layout-constrained > .alignwide.sw-arc.is-v8 { width: 90vw !important; margin-left: calc(50% - 45vw) !important; }
html body .sw-biz-space .sw-arc.is-v8, html body .sw-biz-space .sw-arc.is-v8.alignwide, html body .is-layout-constrained > .sw-arc.is-v8.alignwide { width: 90vw !important; margin-left: calc(50% - 45vw) !important; }

/* ===== 홈 반원: 한 번 더 0.9배 → 화면 폭 81%, 가운데 (2026-10-12) ===== */
body.home .wp-block-post-content > .wp-block-group.alignfull.sw-section.is-layout-constrained > .alignwide.sw-arc.is-v8 { width: 81vw !important; margin-left: calc(50% - 40.5vw) !important; }
html body .sw-biz-space .sw-arc.is-v8, html body .sw-biz-space .sw-arc.is-v8.alignwide, html body .is-layout-constrained > .sw-arc.is-v8.alignwide { width: 81vw !important; margin-left: calc(50% - 40.5vw) !important; }

/* ===== 홈 Business 제목 블록과 반원 사이 간격 확대 (2026-10-12) ===== */
.sw-biz-space .sw-biz2-head { margin-bottom: clamp(56px, 6vw, 104px) !important; }

/* ===== 홈 반원: 다시 0.9배 → 화면 폭 72.9%, 가운데 (2026-10-12) ===== */
body.home .wp-block-post-content > .wp-block-group.alignfull.sw-section.is-layout-constrained > .alignwide.sw-arc.is-v8 { width: 72.9vw !important; margin-left: calc(50% - 36.45vw) !important; }
html body .sw-biz-space .sw-arc.is-v8, html body .sw-biz-space .sw-arc.is-v8.alignwide, html body .is-layout-constrained > .sw-arc.is-v8.alignwide { width: 72.9vw !important; margin-left: calc(50% - 36.45vw) !important; }

/* ===== 대표인사말 서명 이미지 (2026-10-12) ===== */
.sw-ceo-body p.sw-ceo-sign img.sw-ceo-sign-img { display: block; width: auto; height: 64px; margin-left: 4px; }
@media (max-width: 600px) { .sw-ceo-body p.sw-ceo-sign img.sw-ceo-sign-img { height: 48px; } }

/* ===== 대표인사말 서명: 펜으로 쓰는 듯한 리빌 애니메이션 (2026-10-12) ===== */
.sw-ceo-body p.sw-ceo-sign img.sw-ceo-sign-img { -webkit-mask-image: linear-gradient(90deg, #000 42%, rgba(0,0,0,.6) 50%, transparent 58%); mask-image: linear-gradient(90deg, #000 42%, rgba(0,0,0,.6) 50%, transparent 58%); -webkit-mask-size: 250% 100%; mask-size: 250% 100%; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: 100% 0; mask-position: 100% 0; opacity: 0; }
.sw-ceo-body p.sw-ceo-sign img.sw-ceo-sign-img.is-signed { animation: sw-sign-write 2.2s cubic-bezier(.4,.05,.3,1) .25s forwards; }
@keyframes sw-sign-write { 0% { opacity: 1; -webkit-mask-position: 100% 0; mask-position: 100% 0; } 100% { opacity: 1; -webkit-mask-position: 0% 0; mask-position: 0% 0; } }
@media (prefers-reduced-motion: reduce) { .sw-ceo-body p.sw-ceo-sign img.sw-ceo-sign-img { opacity: 1; -webkit-mask-image: none; mask-image: none; animation: none !important; } }

/* ===== 사업분야: Mobile App → AX 컨설팅·구축 (2026-10-12) ===== */
.sw-link-card:has(a[href*="/business/ax/"]) { --c: #6a3df0; --photo: url(assets/images/era-ai.jpg); }
.sw-mob-ov.is-ax { grid-template-columns: minmax(0, 1fr); max-width: 980px; margin-inline: auto; }
.sw-mob-ov.is-ax .sw-mob-ov-text { max-width: none; }
.sw-page-hero.is-video-ax { --sw-hero-photo: url(video/hero-ax.jpg); }

/* ===== 연혁 v5: 참고 시안 — 왼쪽 시대 카드(활성 크게·비활성 띠), 오른쪽 세로 타임라인(선·점·연도·불릿) (2026-10-12) ===== */
#history .sw-onepage-head, #history .sw-onepage-head .sw-onepage-title, #history .sw-onepage-head .sw-onepage-sub { text-align: left !important; }
#history .sw-onepage-head .sw-onepage-title { margin-left: 0 !important; font-size: calc(clamp(2.2rem, 3.6vw, 3.2rem) + 1pt) !important; }
#history .sw-onepage-head .sw-onepage-sub { margin-left: 0 !important; }
.sw-htl-tabs button { display: grid !important; grid-template-columns: minmax(0, 1fr); align-content: start !important; justify-content: stretch !important; justify-items: start !important; text-align: left !important; }
.sw-htl-tabs button b, .sw-htl-tabs button small { text-align: left !important; margin-left: 0 !important; width: auto !important; }
.sw-htl-tabs button b { order: 1; padding-bottom: 0 !important; }
.sw-htl-tabs button em { order: 2; display: block !important; width: 44px; height: 3px; margin: 14px 0 14px !important; padding: 0 !important; border-radius: 2px; background: #8fc8ff; font-size: 0 !important; line-height: 0 !important; color: transparent !important; overflow: hidden; position: static !important; opacity: 1 !important; }
.sw-htl-tabs button small { order: 3; }
.sw-htl-tabs button:not([aria-selected="true"]) em { display: none !important; }
.sw-htl-tabs button:not([aria-selected="true"]) b { padding-bottom: 8px !important; }
@media (min-width: 981px) {
  .sw-htl-tabs button:not([aria-selected="true"]) { min-height: 124px; padding: 26px 30px !important; --sw-era-shade: linear-gradient(90deg, rgba(8, 20, 50, .94) 0%, rgba(8, 20, 50, .82) 42%, rgba(8, 20, 50, .22) 100%); }
  .sw-htl-tabs button[aria-selected="true"] { min-height: 384px; padding: 44px 40px !important; justify-content: stretch !important; align-content: start !important; --sw-era-shade: linear-gradient(180deg, rgba(8, 20, 50, .62) 0%, rgba(8, 20, 50, .22) 55%, rgba(8, 20, 50, .55) 100%); }
  .sw-htl-tabs button[aria-selected="true"] b { font-size: clamp(2.4rem, 3.4vw, 3.3rem) !important; }
  .sw-htl-tabs button[aria-selected="true"] small { font-size: calc(1.24rem + 1pt) !important; }
  .sw-htl-track { position: relative; padding-left: 40px !important; }
  .sw-htl-track::before { content: ""; position: absolute; left: 7px; top: 18px; bottom: 14px; width: 2px; border-radius: 1px; background: linear-gradient(180deg, #9ec3f5, #d6e3f7); }
  .sw-htl-year { position: relative; grid-template-columns: 124px minmax(0, 1fr) !important; padding: 22px 0 24px !important; border-top: 1px solid #dbe4f1; }
  .sw-htl-year:first-child { padding-top: 6px !important; border-top: 0; }
  .sw-htl-year::before { content: ""; position: absolute; left: -40px; top: 30px; width: 16px; height: 16px; border-radius: 50%; background: #1f6fe5; box-shadow: 0 0 0 4px #fff, 0 0 0 6px #c5d9f8; }
  .sw-htl-year:first-child::before { top: 14px; }
  .sw-htl-year > b { color: #0b1f44 !important; font-size: clamp(1.9rem, 2.6vw, 2.5rem) !important; font-weight: 800 !important; letter-spacing: -.02em; line-height: 1.05; }
  .sw-htl-year li { position: relative; padding-left: 20px !important; color: #24324a; }
  .sw-htl-year li::before { content: "" !important; position: absolute; left: 2px; top: .78em; width: 7px; height: 7px; border-radius: 50%; background: #3b8fec; display: block !important; }
}

/* ===== 홈 인사이트 카드 제목 색상 (2026-10-12) ===== */
.sw-insights .sw-insight-card h3, .sw-insights .sw-insight-card h3 a { color: #1f6fe5 !important; }
.sw-insights .sw-insight-card h3 a:hover { color: #0b3d9a !important; }

/* ===== 대표인사말 서명: 마스크를 지원하지 않는 브라우저 대비 (2026-10-12) ===== */
@supports not (mask-image: linear-gradient(#000, #000)) { .sw-ceo-body p.sw-ceo-sign img.sw-ceo-sign-img { opacity: 1; animation: none !important; } }
.sw-ceo-body p.sw-ceo-sign img.sw-ceo-sign-img.is-signed { opacity: 1; }

/* ===== 푸터: 검정 대신 블루 계열 그라데이션 (2026-10-12) ===== */
.sw-foot2 { background: linear-gradient(135deg, #0a1b3f 0%, #0f2a66 45%, #163f8f 100%) !important; color: #c9d6ee !important; }
.sw-foot2 .sw-foot2-company { border-right-color: rgba(255, 255, 255, .14); }
.sw-foot2 .sw-foot2-bottom { border-top-color: rgba(255, 255, 255, .14); }

/* ===== 섹션 소개문(.sw-ums-lead) 강조 키워드: 볼드 + 파란색 (2026-10-12) ===== */
.sw-ums-lead strong { color: #1f6fe5; font-weight: 700; }

/* ===== AX 컨설팅 산출물: 번호 카드 3열 그리드 + 바우처 안내 띠 (2026-10-12) ===== */
.sw-ax-deliv { max-width: 1100px; margin: 0 auto; }
.sw-ax-deliv-grid { list-style: none; counter-reset: sw-dl; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; }
.sw-ax-deliv-grid > li { counter-increment: sw-dl; position: relative; display: flex; flex-direction: column; gap: 10px; min-height: 168px; padding: 26px 26px 24px; border: 2px solid transparent; border-radius: 18px; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #cfe0fb, #e6ecf7 55%, #d9e8ff) border-box; box-shadow: 0 10px 28px rgba(20, 50, 110, .06); transition: transform .3s ease, box-shadow .3s ease; }
.sw-ax-deliv-grid > li:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(20, 50, 110, .12); background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #1f6fe5, #6a3df0) border-box; }
.sw-ax-deliv-grid > li::before { content: "0" counter(sw-dl); display: inline-block; width: fit-content; padding: 4px 10px; border-radius: 999px; background: #e8f0ff; color: #1f6fe5; font-family: Montserrat, Roboto, sans-serif; font-size: .8rem; font-weight: 800; letter-spacing: .08em; }
.sw-ax-deliv-grid > li > strong { display: block; color: #0b1f44; font-size: calc(1.12rem + 1pt); font-weight: 800; line-height: 1.35; word-break: keep-all; }
.sw-ax-deliv-grid > li > span { display: block; color: #4b5a73; font-size: calc(.96rem + 1pt); line-height: 1.7; word-break: keep-all; }
.sw-ax-note { display: flex; align-items: center; gap: 16px; margin: 22px 0 0 !important; padding: 18px 24px; border-radius: 16px; background: linear-gradient(90deg, #eef4ff, #f7f3ff); color: #24324a; font-size: calc(1rem + 1pt); line-height: 1.6; word-break: keep-all; }
.sw-ax-note > em { flex: 0 0 auto; padding: 6px 12px; border-radius: 999px; background: linear-gradient(135deg, #1f6fe5, #6a3df0); color: #fff; font-style: normal; font-size: .82rem; font-weight: 800; letter-spacing: .02em; white-space: nowrap; }
.sw-ax-note > strong { color: #1f6fe5; font-weight: 800; }
@media (max-width: 980px) { .sw-ax-deliv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .sw-ax-deliv-grid { grid-template-columns: 1fr; } .sw-ax-note { flex-direction: column; align-items: flex-start; } }

/* ===== AX 바우처 안내 띠: 문장이 flex 로 쪼개지지 않게 (2026-10-12) ===== */
.sw-ax-note { display: block; }
.sw-ax-note > em { display: inline-block; margin-right: 12px; vertical-align: middle; }
.sw-ax-note > strong { margin: 0 2px; }

/* ===== AX 산출물 카드: 항목별 아이콘 워터마크 배경 (2026-10-12) ===== */
.sw-ax-deliv-grid > li { overflow: hidden; }
.sw-ax-deliv-grid > li::after { content: ""; position: absolute; right: -18px; top: -14px; width: 150px; height: 150px; background: linear-gradient(135deg, #1f6fe5, #6a3df0); opacity: .09; -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; pointer-events: none; transition: opacity .3s ease, transform .3s ease; }
.sw-ax-deliv-grid > li:hover::after { opacity: .16; transform: scale(1.06) rotate(-4deg); }
.sw-ax-deliv-grid > li > * { position: relative; z-index: 1; }
.sw-ax-deliv-grid > li:nth-child(1) { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h8l5 5v15H6z'/%3E%3Cpath d='M14 2v5h5M9 12h7M9 15.5h7M9 19h4'/%3E%3C/svg%3E"); }
.sw-ax-deliv-grid > li:nth-child(2) { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l1.5 1.5L8 5M4 12l1.5 1.5L8 11M4 18l1.5 1.5L8 17M11 6h9M11 12h9M11 18h9'/%3E%3C/svg%3E"); }
.sw-ax-deliv-grid > li:nth-child(3) { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h16M6 17V11M10 17V7M14 17v-6M18 17V5'/%3E%3C/svg%3E"); }
.sw-ax-deliv-grid > li:nth-child(4) { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 3.5V12c0 5-3.5 8.5-8 10-4.5-1.5-8-5-8-10V5.5z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.sw-ax-deliv-grid > li:nth-child(5) { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18c4-1 4-9 8-10s4 9 8 8'/%3E%3Ccircle cx='4' cy='18' r='1.6'/%3E%3Ccircle cx='12' cy='8' r='1.6'/%3E%3Ccircle cx='20' cy='16' r='1.6'/%3E%3C/svg%3E"); }
.sw-ax-deliv-grid > li:nth-child(6) { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h6a3 3 0 0 1 3 3v13a2 2 0 0 0-2-2H4zM20 4h-6a3 3 0 0 0-3 3v13a2 2 0 0 1 2-2h7z'/%3E%3C/svg%3E"); }

/* ===== 연혁 패널 배경: 선택된 시대 카드와 같은 사진을 연하게 깔기 (2026-10-12) ===== */
@media (min-width: 981px) {
  .sw-htl-panel { position: relative; isolation: isolate; padding: 26px 30px 28px 26px; border-radius: 24px; overflow: hidden; }
  .sw-htl-panel::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: linear-gradient(90deg, rgba(255, 255, 255, .97) 0%, rgba(255, 255, 255, .93) 45%, rgba(255, 255, 255, .8) 100%), var(--sw-era-img) center / cover no-repeat; }
  .sw-htl-panel::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; border: 1px solid rgba(31, 111, 229, .12); pointer-events: none; }
  .sw-htl-panel[data-era="3"] { --sw-era-img: url(assets/images/era-ai.jpg); }
  .sw-htl-panel[data-era="2"] { --sw-era-img: url(assets/images/era-rnd.jpg); }
  .sw-htl-panel[data-era="1"] { --sw-era-img: url(assets/images/era-global.jpg); }
  .sw-htl-panel[data-era="0"] { --sw-era-img: url(assets/images/era-doc.jpg); }
  .sw-htl-track { padding-left: 44px !important; }
  .sw-htl-year { border-top-color: rgba(31, 111, 229, .16); }
}

/* ===== MRO 특징 4카드: 줄마다 높이가 달라지지 않게 모든 카드 같은 높이 (2026-10-12) ===== */
.sw-mro-feat { grid-auto-rows: 1fr; align-items: stretch; }
.sw-mro-feat li { display: flex; flex-direction: column; justify-content: flex-start; height: 100%; box-sizing: border-box; }

/* ===== 연혁 패널 배경: 은은한 워터마크로, 박스·경계선 없이 (2026-10-12) ===== */
@media (min-width: 981px) {
  .sw-htl-panel { border-radius: 0; overflow: visible; padding: 10px 12px 10px 0; }
  .sw-htl-panel::after { display: none !important; }
  .sw-htl-panel::before { border-radius: 0; opacity: .13; background: var(--sw-era-img) center / cover no-repeat; -webkit-mask-image: radial-gradient(ellipse 70% 70% at 55% 50%, #000 20%, transparent 78%); mask-image: radial-gradient(ellipse 70% 70% at 55% 50%, #000 20%, transparent 78%); }
  .sw-htl-year { border-top-color: #dbe4f1; }
}

/* ===== SI·ITO 수행 방법론: 넓은 화면 비율 — 박스 확대, 빈 여백 축소 (2026-10-12) ===== */
.sw-mth-sec.sw-section { padding-top: 96px !important; padding-bottom: 76px !important; }
.sw-mth { width: min(1360px, calc(100vw - 48px)); margin-top: 40px !important; padding-bottom: 40px !important; }
@media (min-width: 1500px) {
  .sw-mth-steps li { padding-top: 52px; }
  .sw-mth-no { font-size: 3rem; }
  .sw-mth-steps b { font-size: calc(1.6rem + 1pt); }
  .sw-mth-steps em { font-size: calc(1rem + 1pt); }
  .sw-mth-steps p { font-size: calc(1rem + 1pt); }
}

/* ===== SI·ITO 수행 방법론 박스 폭: 5669행 !important 규칙을 넘어서 확장 (2026-10-12) ===== */
.sw-mth-sec .sw-mth { width: min(1360px, calc(100vw - 48px)) !important; }

/* ===== sOMP '선택하는 이유' 4카드: 제목 한 줄, 영역 확장 (2026-10-12) ===== */
.sw-ums-features.is-4 { width: min(1360px, calc(100vw - 48px)); position: relative; left: 50%; transform: translateX(-50%); gap: 18px; }
.sw-ums-features.is-4 .sw-ums-feature h3 { white-space: nowrap; font-size: calc(1.12rem + 1pt); letter-spacing: -.01em; }
@media (max-width: 1240px) { .sw-ums-features.is-4 .sw-ums-feature h3 { font-size: calc(1.02rem + 1pt); } }
@media (max-width: 980px) { .sw-ums-features.is-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sw-ums-features.is-4 .sw-ums-feature h3 { white-space: normal; } }

/* ===== sOMP 특징별 세부 내용: 표 대신 번호 카드 도식 (2026-10-12) ===== */
.sw-ft-map { width: min(1360px, calc(100vw - 48px)); margin: 32px auto 0; }
.sw-ft-cards { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; }
.sw-ft-cards > li { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 12px; padding: 26px 26px 24px; border: 2px solid transparent; border-radius: 18px; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #cfe0fb, #e6ecf7 55%, #d9e8ff) border-box; box-shadow: 0 10px 28px rgba(20, 50, 110, .06); transition: transform .3s ease, box-shadow .3s ease; }
.sw-ft-cards > li:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(20, 50, 110, .12); background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #2f6bff, #6a3df0) border-box; }
.sw-ft-cards > li:nth-child(4) { grid-column: 1 / span 1; }
@media (min-width: 981px) { .sw-ft-cards > li:nth-child(4) { grid-column: 1 / 2; margin-left: calc(50% + 9px); width: 100%; } .sw-ft-cards > li:nth-child(5) { grid-column: 2 / 3; margin-left: calc(50% + 9px); width: 100%; } }
.sw-ft-cards .sw-ft-no { display: inline-block; width: fit-content; padding: 4px 10px; border-radius: 999px; background: #e8f0ff; color: #2f6bff; font-family: Montserrat, Roboto, sans-serif; font-size: .8rem; font-weight: 800; letter-spacing: .08em; }
.sw-ft-cards > li > b { display: block; color: #0b1f44; font-size: calc(1.14rem + 1pt); font-weight: 800; line-height: 1.35; word-break: keep-all; }
.sw-ft-cards > li > ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.sw-ft-cards > li > ul > li { position: relative; padding-left: 22px; color: #4b5a73; font-size: calc(.94rem + 1pt); line-height: 1.6; word-break: keep-all; }
.sw-ft-cards > li > ul > li::before { content: ""; position: absolute; left: 0; top: .42em; width: 14px; height: 14px; border-radius: 50%; background: #2f6bff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='black'/%3E%3Cpath d='M7 12.5l3.2 3.2L17 9' stroke='white' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='black'/%3E%3Cpath d='M7 12.5l3.2 3.2L17 9' stroke='white' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-ft-cards > li::after { content: ""; position: absolute; right: -16px; top: -12px; width: 140px; height: 140px; background: linear-gradient(135deg, #2f6bff, #6a3df0); opacity: .08; -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; pointer-events: none; }
.sw-ft-cards > li > * { position: relative; z-index: 1; }
.sw-ft-cards > li:nth-child(1) { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h12v9H8l-4 3zM16 9h4v9l-3-2h-7v-3'/%3E%3C/svg%3E"); }
.sw-ft-cards > li:nth-child(2) { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2L4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E"); }
.sw-ft-cards > li:nth-child(3) { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h16M6 17V11M10 17V7M14 17v-6M18 17V5'/%3E%3C/svg%3E"); }
.sw-ft-cards > li:nth-child(4) { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 3.5V12c0 5-3.5 8.5-8 10-4.5-1.5-8-5-8-10V5.5z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.sw-ft-cards > li:nth-child(5) { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 7l-4 5 4 5M16 7l4 5-4 5M14 4l-4 16'/%3E%3C/svg%3E"); }
@media (max-width: 980px) { .sw-ft-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .sw-ft-cards { grid-template-columns: 1fr; } }

/* ===== 홈 인사이트 카드: 간격 확대, 카드·사진 크게 (2026-10-12) ===== */
.sw-insights .sw-insight-grid, .sw-insights .sw-insight-grid.alignwide { max-width: min(calc(100vw - 48px), 1640px) !important; gap: 44px !important; }
.sw-insights .sw-insight-card .sw-insight-thumb img { width: 100%; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; }
.sw-insights .sw-insight-card h3 { font-size: calc(1.4rem + 1pt) !important; margin-top: 18px !important; }
.sw-insights .sw-insight-card p { font-size: calc(1.02rem + 1pt); }
@media (max-width: 1024px) { .sw-insights .sw-insight-grid { gap: 28px !important; } }

/* ===== sOMP 특징 카드 도식: 가운데 정렬 + 6열 그리드로 2행(04·05) 중앙 배치 (2026-10-12) ===== */
.sw-ft-map { position: relative; left: 50%; transform: translateX(-50%); margin-left: 0; margin-right: 0; }
@media (min-width: 981px) {
  .sw-ft-cards { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .sw-ft-cards > li { grid-column: span 2; margin-left: 0 !important; width: auto !important; }
  .sw-ft-cards > li:nth-child(4) { grid-column: 2 / span 2; }
  .sw-ft-cards > li:nth-child(5) { grid-column: 4 / span 2; }
}

/* ===== sOMP 특징 카드 도식: 섹션 폭 안에 맞춤(잘림 방지) (2026-10-12) ===== */
.sw-ft-map { width: 100%; left: auto; transform: none; }

/* ===== 제품/솔루션 목록: 3열 (2026-10-12) ===== */
.sw-catalog { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 900px) { .sw-catalog { grid-template-columns: 1fr !important; } }

/* ===== 4카드 묶음(.sw-ums-features.is-4) 가운데 정렬 보정: translate 대신 부모 기준 여백 (2026-10-12) ===== */
.sw-ums-features.is-4 { position: static; left: auto; transform: none; max-width: none !important; margin-left: calc((100% - min(1360px, 100vw - 48px)) / 2) !important; margin-right: 0 !important; }
@media (max-width: 980px) { .sw-ums-features.is-4 { width: 100%; margin-left: 0 !important; } }

/* ===== 홈 반원 말풍선 제목: 캡슐 배지 + 호버 연동 (2026-10-12) ===== */
.sw-arc.is-v8 .sw-arc-pill { opacity: .96; filter: drop-shadow(0 10px 18px rgba(10, 30, 80, .18)); transform-box: fill-box; transform-origin: center; transition: transform .25s ease, opacity .25s ease, filter .25s ease; }
.sw-arc.is-v8 .sw-arc-pill.is-hot { opacity: 1; transform: scale(1.06); filter: drop-shadow(0 0 22px rgba(60, 130, 255, .75)); }
.sw-arc.is-v8 text.sw-arc-callout tspan.is-b { font-weight: 900 !important; letter-spacing: .01em; }
.sw-arc.is-v8 text.sw-arc-callout { transition: opacity .25s ease; }
.sw-arc.is-v8 a.sw-arc-seg.is-hot .sw-arc-base, .sw-arc.is-v8 a.sw-arc-seg.is-hot .sw-arc-photo { filter: brightness(1.18) saturate(1.1); }
.sw-arc.is-v8 a.sw-arc-seg.is-hot .sw-arc-name { fill: #fff; }

/* ===== 연혁 섹션 로고 워터마크: 천천히 수평으로 떠다니기 (2026-10-12) ===== */
#history::before { animation: sw-logo-drift 18s ease-in-out infinite alternate; will-change: transform; }
@keyframes sw-logo-drift { 0% { transform: translateX(0); } 100% { transform: translateX(-160px); } }
@media (max-width: 781px) { @keyframes sw-logo-drift { 0% { transform: translateX(0); } 100% { transform: translateX(-60px); } } }
@media (prefers-reduced-motion: reduce) { #history::before { animation: none; } }

/* ===== 홈 AI 데모 분할 섹션: 좁은 화면에서 컬럼이 패딩만큼 넘쳐 가로 스크롤이 생기던 것 수정 (2026-10-12) ===== */
.sw-cv-split { overflow-x: clip; }
.sw-cv-split .sw-cv-grid > .wp-block-column { box-sizing: border-box; min-width: 0; max-width: 100%; }
@media (max-width: 781px) { .sw-cv-split .sw-cv-grid { width: 100%; margin-left: 0 !important; } }

/* ===== 좁은 화면 가로 스크롤 원인 제거: 푸터 SOLUTION SITE 드롭다운 · SCOS 개요 로고 (2026-10-12) ===== */
.sw-site-footer.sw-foot2 { overflow-x: clip; }
.sw-foot2-family ul { max-width: calc(100vw - 32px); }
@media (max-width: 900px) { .sw-foot2-family ul { left: auto; right: 0; } }
.sw-ov-logo, .sw-ov-logo img { max-width: 100%; height: auto; }
.sw-vhero, .sw-page-hero, .sw-section { overflow-x: clip; }

/* ===== 홈 반원 지시선: 더 굵고 진하게, 점도 크게 (2026-10-12) ===== */
.sw-arc.is-v8 polyline.sw-arc-ray { stroke-width: 9 !important; stroke-opacity: .95 !important; }
.sw-arc.is-v8 .sw-arc-ray-dot { r: 16; stroke-width: 6; }
.sw-arc.is-v8 .sw-arc-ray-dot.is-end { r: 13; stroke-width: 5; }

/* ===== 카드 번호 배지(01~06)를 알약 대신 크고 연한 숫자로 (AX 산출물 · sOMP 특징 카드) (2026-10-12) ===== */
.sw-ax-deliv-grid > li::before, .sw-ft-cards .sw-ft-no { position: absolute; top: 14px; right: 20px; width: auto; padding: 0; border-radius: 0; background: none; color: #dbe6fb; font-family: Montserrat, Roboto, sans-serif; font-size: 2.6rem; font-weight: 900; letter-spacing: -.02em; line-height: 1; z-index: 0; }
.sw-ax-deliv-grid > li { padding-top: 30px; }
.sw-ft-cards > li { padding-top: 30px; }
.sw-ft-cards .sw-ft-no { display: block; }
.sw-ax-deliv-grid > li::after, .sw-ft-cards > li::after { opacity: .06; right: -30px; top: 30px; }

/* ===== 홈 반원 캡슐: 글자 가운데 정렬(좌우 동일 여백) ===== */

/* ===== AX 개요 도식: 진단 → 과제 선정 → 단계적 전환 흐름 카드 (2026-10-12) ===== */
.sw-ax-flow { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px; margin: 28px 0 0; padding: 0; counter-reset: axf; }
.sw-ax-flow > li { position: relative; counter-increment: axf; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 26px 26px 22px; border: 2px solid transparent; border-radius: 18px; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #cfe0fb, #e6ecf7 55%, #d9e8ff) border-box; box-shadow: 0 10px 28px rgba(20, 50, 110, .06); }
.sw-ax-flow > li::before { content: "0" counter(axf); position: absolute; top: 14px; right: 20px; color: #dbe6fb; font-family: Montserrat, Roboto, sans-serif; font-size: 2.6rem; font-weight: 900; line-height: 1; }
.sw-ax-flow > li:not(:last-child)::after { content: ""; position: absolute; top: 50%; right: -34px; width: 24px; height: 24px; margin-top: -12px; background: #1f6fe5; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h14M12 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h14M12 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-ax-flow > li > i { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 6px; border-radius: 14px; background: linear-gradient(135deg, #1f6fe5, #6a3df0); box-shadow: 0 8px 18px rgba(31, 111, 229, .28); }
.sw-ax-flow > li > i::before { content: ""; width: 26px; height: 26px; background: #fff; -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
.sw-ax-flow > li > i.is-scan { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4M8 11h6M11 8v6'/%3E%3C/svg%3E"); }
.sw-ax-flow > li > i.is-pick { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l1.5 1.5L8 5M4 12l1.5 1.5L8 11M4 18l1.5 1.5L8 17M11 6h9M11 12h9M11 18h9'/%3E%3C/svg%3E"); }
.sw-ax-flow > li > i.is-grow { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19h16M5 15l5-5 4 4 6-7M15 7h5v5'/%3E%3C/svg%3E"); }
.sw-ax-flow > li > b { font-size: calc(1.14rem + 1pt); font-weight: 800; color: #0b1f44; }
.sw-ax-flow > li > span { color: #1f6fe5; font-size: calc(.9rem + 1pt); font-weight: 700; margin-bottom: 6px; }
.sw-ax-flow > li > em { display: inline-block; margin: 0 6px 6px 0; padding: 5px 11px; border-radius: 999px; background: #eef4ff; color: #13306e; font-style: normal; font-size: calc(.86rem + 1pt); font-weight: 600; }
.sw-ax-flow > li > em + em { margin-left: 0; }
@media (max-width: 980px) { .sw-ax-flow { grid-template-columns: 1fr; gap: 34px; } .sw-ax-flow > li:not(:last-child)::after { top: auto; bottom: -30px; right: 50%; margin: 0 -12px 0 0; transform: rotate(90deg); } }

/* ===== AX 개요 도식: 칩을 가로로 흐르게 (2026-10-12) ===== */
.sw-ax-flow > li { display: block; }
.sw-ax-flow > li > i, .sw-ax-flow > li > b, .sw-ax-flow > li > span { display: block; }
.sw-ax-flow > li > i { display: grid; }
.sw-ax-flow > li > b { margin-top: 10px; }
.sw-ax-flow > li > span { margin: 2px 0 10px; }
.sw-ax-flow > li > em { display: inline-block; margin: 0 6px 6px 0; }

/* ===== AX 개요: AI 준비도 진단 6개 영역 육각 도식 + STEP 3단계 (2026-10-12) ===== */
.sw-ax-intro { max-width: 1240px; margin: 0 auto; }
.sw-ax-intro p { margin: 0; color: #24324a; font-size: calc(1.06rem + 1pt); line-height: 1.85; word-break: keep-all; }
.sw-ax-intro p strong { color: #1f6fe5; font-weight: 800; }
.sw-ax-ready { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 28px; align-items: center; max-width: 1240px; margin: 34px auto 0; padding: 34px 38px; border-radius: 24px; background: linear-gradient(135deg, #eef4ff, #f6f9ff 60%, #eef4ff); box-shadow: 0 16px 40px rgba(20, 50, 110, .07); }
.sw-ax-ready-intro > i { display: block; width: 44px; height: 5px; border-radius: 3px; background: #1f6fe5; margin-bottom: 14px; }
.sw-ax-ready-intro h3 { margin: 0 0 12px; color: #0b1f44; font-size: calc(1.9rem + 1pt); font-weight: 900; line-height: 1.2; letter-spacing: -.02em; }
.sw-ax-ready-intro h3 em { display: block; color: #1f6fe5; font-style: normal; }
.sw-ax-ready-intro p { margin: 0; color: #4b5a73; font-size: calc(.98rem + 1pt); line-height: 1.7; word-break: keep-all; }
.sw-ax-hexmap { display: grid; grid-template-columns: minmax(0, 1fr) 300px minmax(0, 1fr); align-items: center; gap: 0; }
.sw-ax-hexlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.sw-ax-hexlist li { position: relative; display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; padding: 14px 18px; border-radius: 14px; background: #fff; box-shadow: 0 8px 22px rgba(20, 50, 110, .06); }
.sw-ax-hexlist li b { grid-row: 1 / span 2; padding: 4px 9px; border-radius: 8px; background: #e8f0ff; color: #1f6fe5; font-family: Montserrat, Roboto, sans-serif; font-size: .8rem; font-weight: 800; }
.sw-ax-hexlist li strong { color: #0b1f44; font-size: calc(1.08rem + 1pt); font-weight: 800; line-height: 1.2; }
.sw-ax-hexlist li span { color: #5a6882; font-size: calc(.86rem + 1pt); }
.sw-ax-hexlist li::after { content: ""; position: absolute; top: 50%; width: 26px; border-top: 2px dotted #9ec3f5; }
.sw-ax-hexlist.is-left li::after { right: -26px; }
.sw-ax-hexlist.is-right li::after { left: -26px; }
.sw-ax-hexlist.is-left li:nth-child(1), .sw-ax-hexlist.is-left li:nth-child(3) { margin-right: 36px; }
.sw-ax-hexlist.is-right li:nth-child(1), .sw-ax-hexlist.is-right li:nth-child(3) { margin-left: 36px; }
.sw-ax-hexcore { position: relative; height: 300px; }
.sw-ax-hexcore::before { content: ""; position: absolute; inset: 18px; border-radius: 50%; border: 2px dashed #c5d9f8; }
.sw-ax-hexcore > i { position: absolute; width: 74px; height: 82px; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); background: linear-gradient(160deg, #e3eefb, #cfe0fb); }
.sw-ax-hexcore > i::after { content: ""; position: absolute; inset: 0; margin: auto; width: 32px; height: 32px; background: #1f6fe5; -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
.sw-ax-hexcore > i.h1 { left: 10px; top: 0; } .sw-ax-hexcore > i.h2 { left: -22px; top: 109px; } .sw-ax-hexcore > i.h3 { left: 10px; bottom: 0; }
.sw-ax-hexcore > i.h4 { right: 10px; top: 0; } .sw-ax-hexcore > i.h5 { right: -22px; top: 109px; } .sw-ax-hexcore > i.h6 { right: 10px; bottom: 0; }
.sw-ax-hexcore > i.is-db { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cellipse cx='12' cy='5' rx='8' ry='3'/%3E%3Cpath d='M4 5v14c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3'/%3E%3C/svg%3E"); }
.sw-ax-hexcore > i.is-cloud { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18a4 4 0 0 1-.6-7.95A6 6 0 0 1 18 9a4.5 4.5 0 0 1-.5 9z'/%3E%3C/svg%3E"); }
.sw-ax-hexcore > i.is-people { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20a6.5 6.5 0 0 1 13 0M16 4a3.5 3.5 0 0 1 0 7M21.5 20a6.5 6.5 0 0 0-5-6.3'/%3E%3C/svg%3E"); }
.sw-ax-hexcore > i.is-shield { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 3.5V12c0 5-3.5 8.5-8 10-4.5-1.5-8-5-8-10V5.5z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.sw-ax-hexcore > i.is-gear { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z'/%3E%3C/svg%3E"); }
.sw-ax-hexcore > i.is-team { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='7' r='3'/%3E%3Ccircle cx='5' cy='10' r='2.3'/%3E%3Ccircle cx='19' cy='10' r='2.3'/%3E%3Cpath d='M7 20a5 5 0 0 1 10 0M1.5 18a3.8 3.8 0 0 1 5-3.3M22.5 18a3.8 3.8 0 0 0-5-3.3'/%3E%3C/svg%3E"); }
.sw-ax-hexai { position: absolute; left: 50%; top: 50%; width: 136px; height: 150px; transform: translate(-50%, -50%); clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); background: linear-gradient(160deg, #3a7af0, #1f4fc2 60%, #163a93); color: #fff; display: grid; place-items: center; align-content: center; gap: 8px; text-align: center; }
.sw-ax-hexai em { display: block; width: 36px; height: 36px; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='6' width='12' height='12' rx='2'/%3E%3Cpath d='M9 2v4M15 2v4M9 18v4M15 18v4M2 9h4M2 15h4M18 9h4M18 15h4'/%3E%3Ctext x='12' y='15' font-size='7' font-family='sans-serif' font-weight='700' text-anchor='middle' fill='black' stroke='none'%3EAI%3C/text%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='6' width='12' height='12' rx='2'/%3E%3Cpath d='M9 2v4M15 2v4M9 18v4M15 18v4M2 9h4M2 15h4M18 9h4M18 15h4'/%3E%3Ctext x='12' y='15' font-size='7' font-family='sans-serif' font-weight='700' text-anchor='middle' fill='black' stroke='none'%3EAI%3C/text%3E%3C/svg%3E") center / contain no-repeat; }
.sw-ax-hexai b { font-size: calc(.98rem + 1pt); font-weight: 800; line-height: 1.3; }
.sw-ax-steps { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; max-width: 1240px; margin: 22px auto 0; padding: 0; }
.sw-ax-steps > li { position: relative; display: grid; grid-template-columns: 72px 1fr; column-gap: 18px; align-items: center; padding: 22px 24px; border-radius: 18px; background: #fff; border: 1.5px solid #e3ecf8; box-shadow: 0 10px 28px rgba(20, 50, 110, .06); }
.sw-ax-steps > li:not(:last-child)::after { content: ""; position: absolute; top: 50%; right: -30px; width: 20px; height: 20px; margin-top: -10px; background: #1f6fe5; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-ax-steps > li > i { width: 72px; height: 72px; border-radius: 50%; background: #e8f0ff; display: grid; place-items: center; }
.sw-ax-steps > li > i::before { content: ""; width: 34px; height: 34px; background: #1f6fe5; -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
.sw-ax-steps > li > i.is-scan { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h8l4 4v8M6 2v20h7'/%3E%3Cpath d='M9 9h6M9 13h4'/%3E%3Ccircle cx='17' cy='18' r='3'/%3E%3Cpath d='M19.5 20.5L22 23'/%3E%3C/svg%3E"); }
.sw-ax-steps > li > i.is-pick { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h8l4 4v6M6 2v20h8'/%3E%3Cpath d='M9 9h6M9 13h5'/%3E%3Ccircle cx='18' cy='18' r='4'/%3E%3Cpath d='M16.3 18l1.2 1.2 2.2-2.4'/%3E%3C/svg%3E"); }
.sw-ax-steps > li > i.is-grow { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M6 17v-5M11 17V9M16 17v-7M4 11l5-5 4 4 7-7M16 3h4v4'/%3E%3C/svg%3E"); }
.sw-ax-steps > li em { display: inline-block; margin-bottom: 6px; padding: 3px 10px; border-radius: 999px; background: #e8f0ff; color: #1f6fe5; font-style: normal; font-size: .78rem; font-weight: 800; letter-spacing: .04em; }
.sw-ax-steps > li b { display: block; color: #0b1f44; font-size: calc(1.12rem + 1pt); font-weight: 800; line-height: 1.3; margin-bottom: 4px; word-break: keep-all; }
.sw-ax-steps > li span { display: block; color: #4b5a73; font-size: calc(.9rem + 1pt); line-height: 1.6; word-break: keep-all; }
@media (max-width: 1100px) { .sw-ax-ready { grid-template-columns: 1fr; } .sw-ax-hexmap { grid-template-columns: minmax(0, 1fr) 240px minmax(0, 1fr); } }
@media (max-width: 860px) { .sw-ax-hexmap { grid-template-columns: 1fr; gap: 16px; } .sw-ax-hexcore { display: none; } .sw-ax-hexlist li::after { display: none; } .sw-ax-hexlist li { margin: 0 !important; } .sw-ax-steps { grid-template-columns: 1fr; gap: 28px; } .sw-ax-steps > li:not(:last-child)::after { top: auto; bottom: -26px; right: 50%; margin: 0 -10px 0 0; transform: rotate(90deg); } }

/* ===== AX 준비도 진단 도식 확대 (2026-10-12) ===== */
.sw-ax-ready { max-width: 1360px; grid-template-columns: 340px minmax(0, 1fr); padding: 48px 52px; gap: 40px; }
.sw-ax-ready-intro h3 { font-size: calc(2.3rem + 1pt); }
.sw-ax-ready-intro p { font-size: calc(1.06rem + 1pt); }
.sw-ax-hexmap { grid-template-columns: minmax(0, 1fr) 380px minmax(0, 1fr); }
.sw-ax-hexlist { gap: 22px; }
.sw-ax-hexlist li { padding: 20px 24px; column-gap: 16px; border-radius: 16px; }
.sw-ax-hexlist li b { font-size: .9rem; padding: 5px 11px; }
.sw-ax-hexlist li strong { font-size: calc(1.3rem + 1pt); }
.sw-ax-hexlist li span { font-size: calc(.98rem + 1pt); }
.sw-ax-hexlist li::after { width: 34px; }
.sw-ax-hexlist.is-left li::after { right: -34px; }
.sw-ax-hexlist.is-right li::after { left: -34px; }
.sw-ax-hexlist.is-left li:nth-child(1), .sw-ax-hexlist.is-left li:nth-child(3) { margin-right: 44px; }
.sw-ax-hexlist.is-right li:nth-child(1), .sw-ax-hexlist.is-right li:nth-child(3) { margin-left: 44px; }
.sw-ax-hexcore { height: 380px; }
.sw-ax-hexcore::before { inset: 22px; }
.sw-ax-hexcore > i { width: 96px; height: 106px; }
.sw-ax-hexcore > i::after { width: 42px; height: 42px; }
.sw-ax-hexcore > i.h2, .sw-ax-hexcore > i.h5 { top: 137px; }
.sw-ax-hexcore > i.h2 { left: -28px; } .sw-ax-hexcore > i.h5 { right: -28px; }
.sw-ax-hexcore > i.h1, .sw-ax-hexcore > i.h3 { left: 14px; } .sw-ax-hexcore > i.h4, .sw-ax-hexcore > i.h6 { right: 14px; }
.sw-ax-hexai { width: 176px; height: 194px; gap: 10px; }
.sw-ax-hexai em { width: 46px; height: 46px; }
.sw-ax-hexai b { font-size: calc(1.14rem + 1pt); }
.sw-ax-steps { max-width: 1360px; margin-top: 30px; }
@media (max-width: 1100px) { .sw-ax-ready { grid-template-columns: 1fr; padding: 32px 28px; } .sw-ax-hexmap { grid-template-columns: minmax(0, 1fr) 280px minmax(0, 1fr); } .sw-ax-hexcore { height: 300px; } .sw-ax-hexcore > i { width: 74px; height: 82px; } .sw-ax-hexcore > i.h2, .sw-ax-hexcore > i.h5 { top: 109px; } .sw-ax-hexai { width: 136px; height: 150px; } }

/* ===== AX 준비도 도식: 가운데 카드(02·05)가 옆 육각과 겹치던 것 수정, 카드 폭 통일 (2026-10-12) ===== */
.sw-ax-hexlist.is-left li:nth-child(1), .sw-ax-hexlist.is-left li:nth-child(3), .sw-ax-hexlist.is-right li:nth-child(1), .sw-ax-hexlist.is-right li:nth-child(3) { margin: 0 !important; }
.sw-ax-hexlist.is-left li:nth-child(2) { margin-right: 64px; }
.sw-ax-hexlist.is-right li:nth-child(2) { margin-left: 64px; }
.sw-ax-hexlist li::after { width: 30px; }
.sw-ax-hexlist.is-left li::after { right: -30px; }
.sw-ax-hexlist.is-right li::after { left: -30px; }
.sw-ax-hexlist.is-left li:nth-child(2)::after, .sw-ax-hexlist.is-right li:nth-child(2)::after { display: none; }
.sw-ax-hexlist li span { white-space: nowrap; }
.sw-ax-hexmap { grid-template-columns: minmax(0, 1fr) 420px minmax(0, 1fr); }
@media (max-width: 1100px) { .sw-ax-hexmap { grid-template-columns: minmax(0, 1fr) 300px minmax(0, 1fr); } .sw-ax-hexlist li span { white-space: normal; } }

/* ===== AX 준비도 도식: 오른쪽 여백 확보 (2026-10-12) ===== */
.sw-ax-ready { padding: 48px 64px 48px 52px; gap: 36px; }
.sw-ax-hexmap { grid-template-columns: minmax(0, 1fr) 380px minmax(0, 1fr); column-gap: 8px; }
.sw-ax-hexlist li span { white-space: normal; }
.sw-ax-hexlist li strong { font-size: calc(1.2rem + 1pt); }
.sw-ax-hexlist li span { font-size: calc(.92rem + 1pt); }
.sw-ax-hexlist.is-left li:nth-child(2) { margin-right: 56px; }
.sw-ax-hexlist.is-right li:nth-child(2) { margin-left: 56px; }
@media (max-width: 1100px) { .sw-ax-ready { padding: 32px 28px; } .sw-ax-hexmap { grid-template-columns: minmax(0, 1fr) 300px minmax(0, 1fr); } }

/* ===== AX 준비도 도식: 제목 위 파란 짧은 선 제거 (2026-10-12) ===== */
.sw-ax-ready-intro > i { display: none !important; }

/* ===== AI 개인화 플랫폼 제품 헤더 브랜드 글씨 확대 (2026-10-12) ===== */
@media (min-width: 782px) {
  .page-template-page-product-ai-platform .sw-product-brand strong, .page-template-page-product-ai-platform .sw-product-brand strong .sw-ai { font-size: calc(1.9rem + 1pt) !important; letter-spacing: -.02em; }
  .page-template-page-product-ai-platform .sw-product-brand > a > span { font-size: calc(.95rem + 1pt) !important; }
}

/* ===== 홈 (2026-10-13): 반원 말풍선 제목 살짝 축소 · 인사이트 카드 영역 1.5배(1100→1650px) · 날짜 연한 하늘색 · 카드 제목 말줄임 해제 ===== */
.sw-arc.is-v8 .sw-arc-callout .is-b { font-size: 136px; }
body.home .wp-block-post-content > .wp-block-group.alignfull.sw-section.is-layout-constrained > .alignwide.sw-insight-grid,
.sw-insights.is-layout-constrained > .alignwide.sw-insight-grid,
.sw-insights > .alignwide.sw-insight-grid { width: 100%; max-width: min(calc(100vw - 48px), 1650px) !important; margin-left: auto !important; margin-right: auto !important; }
.sw-insights .sw-insight-date { color: #7cc0f2 !important; }
.sw-insights .sw-insight-date::before { color: #9ca3af; }
.sw-insights .sw-insight-card h3 { display: block !important; -webkit-line-clamp: unset !important; -webkit-box-orient: unset; overflow: visible !important; white-space: normal !important; text-overflow: clip !important; }

/* ===== 리드 문단 아래 짧은 가로 악센트 선 제거 (2026-10-13, 사용자 요청 "이런건 삭제해") ===== */
.sw-ins-lead::after, .sw-hc-lead::after { display: none !important; }
.sw-ins-lead, .sw-hc-lead { padding-bottom: 8px; }

/* ===== 포트폴리오 "움직인" 강조: 홈 배너(.sw-wave)와 같은 글자 웨이브 + 글로우, 밝은 배경용 파란 그라데이션 (2026-10-13) ===== */
.sw-move { color: #2f6bd8; white-space: nowrap; }
.sw-move i { display: inline-block; font-style: normal; background: linear-gradient(180deg, #2f6bd8 30%, #4fa3ff); -webkit-background-clip: text; background-clip: text; color: transparent; animation: sw-wave-letter-ink 2.6s cubic-bezier(.45, 0, .55, 1) infinite !important; }
.sw-move i:nth-child(1) { animation-delay: 0s !important; }
.sw-move i:nth-child(2) { animation-delay: .09s !important; }
.sw-move i:nth-child(3) { animation-delay: .18s !important; }
@keyframes sw-wave-letter-ink {
  0%, 55%, 100% { transform: translateY(0); filter: drop-shadow(0 0 0 rgba(47, 107, 216, 0)); }
  18% { transform: translateY(-.22em); filter: drop-shadow(0 6px 14px rgba(47, 107, 216, .55)); }
  36% { transform: translateY(.06em); }
}
@media (prefers-reduced-motion: reduce) { .sw-move i { animation: none !important; } }

/* ===== 푸터 SOLUTION SITE 드롭다운: AI · CLOUVI(.sw-en) 보라/파랑 글자가 어두운 배경·파란 호버에서 안 보이던 것 → 밝은 하늘색, 호버 시 흰색 (2026-10-13) ===== */
.sw-foot2-family li a .sw-en { background: none !important; color: #9fd0ff !important; -webkit-text-fill-color: #9fd0ff !important; font-weight: 800; }
.sw-foot2-family li a:hover .sw-en { color: #fff !important; -webkit-text-fill-color: #fff !important; }

/* ===== 사업분야 카드 06 AX 컨설팅·구축: 비어 있던 아이콘 칸에 워크플로 아이콘 추가 (2026-10-13) ===== */
.sw-link-card:has(a[href*="/business/ax/"]) { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a3df0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='8' height='8' rx='2'/%3E%3Cpath d='M7 11v4a2 2 0 0 0 2 2h4'/%3E%3Crect x='13' y='13' width='8' height='8' rx='2'/%3E%3C/svg%3E"); }

/* ===== 사업분야 카드 배경 사진 교체: 460~656px 저해상도 PNG → 1600×900 실사 JPG (assets/images/biz-*.jpg, 2026-10-13) ===== */
.sw-link-card:has(a[href*="/business/commerce/"]) { --photo: url(assets/images/biz-commerce.jpg); }
.sw-link-card:has(a[href*="/business/si-ito/"]) { --photo: url(assets/images/biz-si-ito.jpg); }
.sw-link-card:has(a[href*="/business/ai-business/"]) { --photo: url(assets/images/biz-ai.jpg); }
.sw-link-card:has(a[href*="/business/mro/"]) { --photo: url(assets/images/biz-mro.jpg); }
.sw-link-card:has(a[href*="/business/messaging/"]) { --photo: url(assets/images/biz-messaging.jpg); }
.sw-link-card:has(a[href*="/business/ax/"]) { --photo: url(assets/images/biz-ax.jpg); }

/* ===== 사업분야 카드: 오른쪽에 옅게 비치는 사진 배경 복원 (새 1600px 사진, 아이콘 워터마크는 숨김) (2026-10-13) ===== */
.sw-link-card:has(a[href*="/business/"])::before { background: linear-gradient(100deg, #fff 34%, rgba(255, 255, 255, .86) 56%, rgba(255, 255, 255, .28) 100%), var(--photo) right center / cover no-repeat !important; transition: transform .6s ease, opacity .35s ease; }
.sw-link-card:has(a[href*="/business/"]):hover::before { transform: scale(1.04); }
.sw-link-card:has(a[href*="/business/"])::after { display: none !important; }

/* ===== 그라데이션 채움 + 흰 아이콘 타일 → 옅은 색 배경 + 색 선 아이콘 (사업분야 카드 배지와 동일한 모양) (2026-10-13) ===== */
#talent .sw-card-grid .sw-card .sw-icon-badge { background: color-mix(in srgb, var(--g1) 10%, #fff) !important; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--g1) 22%, transparent) !important; }
#talent .sw-card-grid .sw-card .sw-icon-badge::after { background: var(--g1) !important; }
.sw-card:has(.sw-brochure-btn) .sw-icon-badge { background: color-mix(in srgb, var(--rc) 10%, #fff) !important; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rc) 22%, transparent) !important; }
.sw-card:has(.sw-brochure-btn) .sw-icon-badge::after { background: var(--rc) !important; }
.sw-step-icon { background: #e8f0ff !important; color: var(--sw-blue, #2f6bd8) !important; box-shadow: inset 0 0 0 1px rgba(47, 107, 216, .22) !important; }
.sw-step:nth-child(n+4) .sw-step-icon { background: #e4f3fb !important; color: var(--sw-cyan, #1ea9e0) !important; box-shadow: inset 0 0 0 1px rgba(30, 169, 224, .25) !important; }
.sw-step:last-child .sw-step-icon { background: #e3f6f0 !important; color: var(--sw-mint, #13806e) !important; box-shadow: inset 0 0 0 1px rgba(19, 128, 110, .25) !important; }
.page-template-page-product-ai-platform .sw-step-icon { background: #efe9ff !important; color: #6a3df0 !important; box-shadow: inset 0 0 0 1px rgba(106, 61, 240, .25) !important; }
.sw-wwd-ico { background: color-mix(in srgb, var(--a) 10%, #fff) !important; color: var(--a) !important; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--a) 24%, transparent) !important; }
.sw-ax-flow > li > i { background: #e8f0ff !important; box-shadow: inset 0 0 0 1px rgba(31, 111, 229, .22) !important; }
.sw-ax-flow > li > i::before { background: #1f6fe5 !important; }

/* 사업분야 카드 사진: 원래 농도(왼쪽은 흰색, 오른쪽만 옅게)로 조정 */
.sw-link-card:has(a[href*="/business/"])::before { background: linear-gradient(100deg, #fff 38%, rgba(255, 255, 255, .84) 62%, rgba(255, 255, 255, .42) 100%), var(--photo) right center / cover no-repeat !important; }

/* ===== 소개서 콜라주 팝업 .sw-popup.is-collage (2026-10-13, 젠서 팝업 구성 참고: 로고 · 큰 제목 · 설명 · 소개서 페이지 6장 · 신청 버튼) ===== */
.sw-popup.is-collage .sw-popup-panel { width: min(440px, 100%); overflow: hidden; border-radius: 24px; background: #fff; box-shadow: 0 40px 90px rgba(6, 15, 45, .45); }
.sw-col { position: relative; padding: 34px 28px 28px; text-align: center; background: radial-gradient(80% 55% at 50% 100%, #e6edff 0%, #fff 70%); }
.sw-col > * { margin: 0; }
.sw-col-x { position: absolute; top: 14px; right: 14px; z-index: 2; display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #1b2466; color: #fff; font-size: 14px; cursor: pointer; transition: background .2s ease; }
.sw-col-x:hover { background: #2f6bd8; }
.sw-col-logo { display: block; width: 112px; height: auto; margin: 0 auto; }
.sw-col-title { margin-top: 22px; color: #10193a; font-size: 24px; font-weight: 900; line-height: 1.38; letter-spacing: -.03em; word-break: keep-all; }
.sw-col-body { margin-top: 12px; color: #5b6472; font-size: 14.5px; line-height: 1.7; word-break: keep-all; }
.sw-col-pages { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px 10px; margin: 22px -6px 0; padding: 18px 12px 16px; border-radius: 16px; background: linear-gradient(180deg, #eef3ff 0%, #dfe8ff 100%); overflow: hidden; }
.sw-col-pages::before { content: ""; position: absolute; inset: auto -20% -40% -20%; height: 70%; background: radial-gradient(50% 50% at 50% 50%, rgba(47, 107, 216, .28), transparent 70%); pointer-events: none; }
.sw-col-pages img { position: relative; display: block; width: 100%; height: auto; border-radius: 6px; box-shadow: 0 10px 22px rgba(16, 40, 100, .22); transform: rotate(calc((var(--n, 0) - 2.5) * 1.1deg)) translateY(calc((var(--n, 0) % 2) * 2px)); }
.sw-col-cta { display: block; margin-top: 20px; padding: 15px 20px; border-radius: 12px; background: #2f6bd8; color: #fff !important; font-size: 16px; font-weight: 800; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.sw-col-cta:hover { background: #1b2466; transform: translateY(-2px); }
@media (max-width: 600px) { .sw-col { padding: 28px 20px 22px; } .sw-col-title { font-size: 21px; } .sw-col-pages { gap: 8px; padding: 14px 10px 12px; } }

/* 오시는길 지도 섹션 */
.sw-loc-sec .sw-loc-map { min-height: 420px; }
.sw-loc-sec .sw-loc-map iframe { min-height: 420px; }

/* ===== 개발자 가이드 화면 .sw-dev (2026-10-13, 젠서 디스커버리 미니 스크립트 가이드 구성 참고): 왼쪽 고정 목차 + 오른쪽 본문 · 코드 블록 · 표 · 콜아웃 ===== */
.sw-dev-wrap { padding: 0 !important; background: #fff; }
.sw-dev { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 56px; max-width: 1240px; margin: 0 auto; padding: 48px 24px 96px; }
.sw-dev-nav { position: sticky; top: 96px; align-self: start; max-height: calc(100vh - 120px); overflow: auto; padding: 22px 18px 20px; border: 1px solid #e3e8f2; border-radius: 16px; background: #f7f9fd; }
.sw-dev-nav-title { margin: 0 0 12px; color: #10193a; font-size: calc(.95rem + 1pt); font-weight: 800; }
.sw-dev-nav ul { margin: 0; padding: 0; list-style: none; }
.sw-dev-nav ul ul { margin: 2px 0 6px 12px; padding-left: 10px; border-left: 1px solid #dbe3f0; }
.sw-dev-nav li { margin: 0; }
.sw-dev-nav a { display: block; padding: 6px 10px; border-radius: 8px; color: #3b4658; font-size: calc(.86rem + 1pt); line-height: 1.5; text-decoration: none; transition: background .15s ease, color .15s ease; }
.sw-dev-nav ul ul a { padding: 4px 10px; color: #5b6472; font-size: calc(.8rem + 1pt); }
.sw-dev-nav a:hover { background: #e8f0ff; color: #1f6fe5; }
.sw-dev-nav-foot { margin: 16px 0 0; padding-top: 12px; border-top: 1px solid #e3e8f2; }
.sw-dev-nav-foot a { padding: 0; color: #1f6fe5; font-weight: 700; }
.sw-dev-body { min-width: 0; color: #2b3444; font-size: calc(.98rem + 1pt); line-height: 1.8; word-break: keep-all; }
.sw-dev-body > section { padding-top: 24px; }
.sw-dev-body > section + section { margin-top: 40px; border-top: 1px solid #edf0f5; }
.sw-dev-head { padding-bottom: 28px; border-bottom: 1px solid #edf0f5; }
.sw-dev-kicker { margin: 0 0 10px; color: #1f6fe5; font-family: Montserrat, Roboto, sans-serif; font-size: 12.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.sw-dev-head h1 { margin: 0; color: #10193a; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 900; letter-spacing: -.03em; line-height: 1.25; }
.sw-dev-ver { display: inline-block; vertical-align: middle; margin-left: 10px; padding: 3px 10px; border-radius: 999px; background: #e8f0ff; color: #1f6fe5; font-size: 13px; font-weight: 800; letter-spacing: .04em; }
.sw-dev-lead { margin: 16px 0 0; color: #3b4658; font-size: calc(1.02rem + 1pt); line-height: 1.8; }
.sw-dev-meta { margin: 12px 0 0; color: #8a94a6; font-size: calc(.82rem + 1pt); }
.sw-dev-body h2 { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; color: #10193a; font-size: calc(1.35rem + 1pt); font-weight: 900; letter-spacing: -.02em; scroll-margin-top: 110px; }
.sw-dev-body h2 > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: #e8f0ff; color: #1f6fe5; font-family: Roboto, sans-serif; font-size: 14px; font-weight: 800; }
.sw-dev-body h3 { margin: 28px 0 10px; color: #16223a; font-size: calc(1.08rem + 1pt); font-weight: 800; scroll-margin-top: 110px; }
.sw-dev-body p { margin: 0 0 14px; }
.sw-dev-body b { color: #16223a; font-weight: 800; }
.sw-dev-body code { padding: 2px 6px; border-radius: 6px; background: #eef2f8; color: #c7254e; font-family: "JetBrains Mono", Consolas, "Courier New", monospace; font-size: .9em; }
.sw-dev-body a { color: #1f6fe5; }
.sw-code { position: relative; margin: 12px 0 20px; padding: 18px 20px; overflow: auto; border-radius: 14px; background: #0f1c3f; color: #e6edff; font-size: 13.5px; line-height: 1.65; tab-size: 2; }
.sw-code code { padding: 0; border-radius: 0; background: none; color: inherit; font-family: "JetBrains Mono", Consolas, "Courier New", monospace; font-size: inherit; white-space: pre; }
.sw-code::before { content: attr(data-lang); position: absolute; top: 10px; right: 14px; color: rgba(230, 237, 255, .5); font-family: Roboto, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.sw-dev-table { margin: 12px 0 20px; overflow: auto; border: 1px solid #e3e8f2; border-radius: 12px; }
.sw-dev-table table { width: 100%; margin: 0; border-collapse: collapse; font-size: calc(.88rem + 1pt); }
.sw-dev-table th, .sw-dev-table td { padding: 11px 14px; border-bottom: 1px solid #edf0f5; text-align: left; vertical-align: top; }
.sw-dev-table th { background: #f7f9fd; color: #16223a; font-weight: 800; white-space: nowrap; }
.sw-dev-table tr:last-child td { border-bottom: 0; }
.sw-dev-table td:first-child { white-space: nowrap; }
.sw-note { margin: 14px 0 20px; padding: 14px 18px; border-radius: 12px; font-size: calc(.92rem + 1pt); line-height: 1.7; }
.sw-note b { margin-right: 6px; }
.sw-note.is-info { background: #eaf2ff; color: #1d3a6e; }
.sw-note.is-info b { color: #1f6fe5; }
.sw-note.is-warn { background: #fff5e8; color: #6b3f05; }
.sw-note.is-warn b { color: #d97706; }
.sw-dev-fig { margin: 18px 0 20px; }
.sw-dev-fig img { display: block; width: 100%; height: auto; border: 1px solid #e3e8f2; border-radius: 14px; }
.sw-dev-fig figcaption { margin-top: 8px; color: #8a94a6; font-size: calc(.82rem + 1pt); text-align: center; }
.sw-dev-steps, .sw-dev-notes { margin: 0 0 16px; padding-left: 22px; }
.sw-dev-steps li, .sw-dev-notes li { margin: 0 0 8px; padding-left: 4px; }
.sw-dev-notes li::marker { color: #1f6fe5; font-weight: 800; }
@media (max-width: 960px) {
  .sw-dev { grid-template-columns: 1fr; gap: 24px; padding: 28px 16px 64px; }
  .sw-dev-nav { position: static; max-height: none; }
  .sw-dev-nav ul ul { display: none; }
}

/* 2026-10-13: 클로비 연동 가이드 — 시작하기 스텝퍼 + 더 알아보기 카드 (help.genser.ai 참고) */
.sw-dev-stepper { list-style: none; margin: 8px 0 8px; padding: 0; }
.sw-dev-stepper > li { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 0 18px; margin: 0; padding: 0 0 30px; }
.sw-dev-stepper > li::before { content: ""; position: absolute; left: 21px; top: 50px; bottom: 6px; width: 2px; background: #e3e8f2; }
.sw-dev-stepper > li:last-child { padding-bottom: 0; }
.sw-dev-stepper > li:last-child::before { display: none; }
.sw-dev-stepper .sw-dev-stepnum { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #e8f0ff; color: #1f6fe5; font-family: Roboto, sans-serif; font-size: 17px; font-weight: 800; line-height: 1; }
.sw-dev-stepper .sw-dev-stepbody { min-width: 0; padding-top: 7px; }
.sw-dev-body .sw-dev-stepper h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 6px; font-size: calc(1.08rem + 1pt); }
.sw-dev-perm { display: inline-block; padding: 3px 9px; border-radius: 999px; background: #fff5e8; color: #b45309; font-size: 12px; font-style: normal; font-weight: 800; letter-spacing: .02em; line-height: 1.4; }
.sw-dev-body .sw-dev-stepper p { margin: 0 0 8px; color: #3b4658; }
.sw-dev-steplink { display: inline-block; font-size: calc(.9rem + 1pt); font-weight: 700; text-decoration: none; }
.sw-dev-steplink::after { content: "›"; margin-left: 5px; font-weight: 800; }
.sw-dev-steplink:hover { text-decoration: underline; }
.sw-dev-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 8px 0 0; }
.sw-dev-body a.sw-dev-card { display: block; overflow: hidden; border: 1px solid #e3e8f2; border-radius: 16px; background: #fff; color: inherit; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.sw-dev-body a.sw-dev-card:hover { transform: translateY(-3px); border-color: #c9d8f5; box-shadow: 0 16px 36px rgba(16, 25, 58, .1); }
.sw-dev-card img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-bottom: 1px solid #edf0f5; }
.sw-dev-card b { display: block; margin: 14px 16px 4px; color: #10193a; font-size: calc(1rem + 1pt); font-weight: 800; }
.sw-dev-card span { display: block; margin: 0 16px 16px; color: #5b6472; font-size: calc(.86rem + 1pt); line-height: 1.6; }
@media (max-width: 760px) { .sw-dev-cards { grid-template-columns: 1fr; } }

/* 2026-10-13: SKYWARE AX INSIGHT 시리즈 — 시리즈 라벨, 인용 강조, AX 전환 프레임워크 도식, 시리즈 주석 */
.sw-post-body .sw-series { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 16px; }
.sw-series-tag { display: inline-block; padding: 5px 12px; border-radius: 999px; background: #0b1f44; color: #fff; font-family: Montserrat, Roboto, sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .14em; line-height: 1.4; }
.sw-series-no { color: #6b7a93; font-family: Roboto, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.sw-post-body .sw-pull { margin: 28px 0; padding: 22px 28px; border-radius: 16px; background: #eaf2ff; color: #0b1f44; font-size: calc(1.18rem + 1pt); font-weight: 800; line-height: 1.6; word-break: keep-all; }
.sw-post-body .sw-ax-tasks li { margin-bottom: 8px; }
.sw-post-body .sw-ax-tasks li strong { display: inline-block; margin-right: 8px; padding: 2px 10px; border-radius: 8px; background: #e8f0ff; color: #1f6fe5; font-size: calc(.9rem + 1pt); font-weight: 800; }
.sw-post-body .sw-note.is-series { margin: 48px 0 0; padding: 20px 24px; border-radius: 14px; background: #f3f6fb; color: #5b6472; font-size: calc(.88rem + 1pt); line-height: 1.7; word-break: keep-all; }
.sw-post-body .sw-note.is-series b { display: block; margin: 0 0 6px; color: #0b1f44; font-family: Montserrat, Roboto, sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .14em; }
.sw-post-body .sw-axf { margin: 36px 0; padding: 32px 32px 28px; border: 1px solid #dfe6f0; border-radius: 22px; background: linear-gradient(180deg, #f7f9fd, #fff); }
.sw-post-body .sw-axf-kicker { margin: 0 0 6px; color: #1f6fe5; font-family: Montserrat, Roboto, sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; line-height: 1.4; }
.sw-post-body .sw-axf-title { margin: 0 0 22px; color: #0b1f44; font-size: calc(1.3rem + 1pt); font-weight: 900; letter-spacing: -.02em; line-height: 1.3; }
.sw-post-body .sw-axf-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin: 0 0 24px; padding: 0; list-style: none; }
.sw-post-body .sw-axf-steps li { position: relative; margin: 0; padding: 18px 10px 16px; border: 1px solid #dfe6f0; border-radius: 16px; background: #fff; text-align: center; line-height: 1.4; }
.sw-post-body .sw-axf-steps li::after { content: ""; position: absolute; top: 50%; right: -11px; width: 10px; height: 10px; border-top: 2px solid #b9c8e4; border-right: 2px solid #b9c8e4; transform: translateY(-50%) rotate(45deg); }
.sw-post-body .sw-axf-steps li:last-child::after { display: none; }
.sw-axf-no { display: inline-grid; place-items: center; width: 40px; height: 40px; margin-bottom: 10px; border-radius: 50%; background: #e8f0ff; color: #1f6fe5; font-family: Roboto, sans-serif; font-size: 14px; font-weight: 800; }
.sw-post-body .sw-axf-steps b { display: block; color: #0b1f44; font-size: calc(1.04rem + 1pt); font-weight: 900; }
.sw-post-body .sw-axf-steps li > span:last-child { display: block; margin-top: 3px; color: #6b7a93; font-size: calc(.8rem + 1pt); font-weight: 600; }
.sw-post-body .sw-axf-areas { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.sw-post-body .sw-axf-areas li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 2px 12px; margin: 0; padding: 16px; border: 1px solid #e6ebf2; border-radius: 14px; background: #fff; line-height: 1.5; }
.sw-post-body .sw-axf-areas li > i { grid-row: 1 / span 2; position: relative; width: 40px; height: 40px; border-radius: 12px; background: color-mix(in srgb, var(--c) 12%, #fff); }
.sw-post-body .sw-axf-areas li > i::before { content: ""; position: absolute; inset: 0; background: var(--c); -webkit-mask: var(--i) center / 21px no-repeat; mask: var(--i) center / 21px no-repeat; }
.sw-post-body .sw-axf-areas b { color: #0b1f44; font-size: calc(.98rem + 1pt); font-weight: 800; }
.sw-post-body .sw-axf-areas li > span { color: #5b6472; font-size: calc(.82rem + 1pt); line-height: 1.6; word-break: keep-all; }
.sw-axf-areas li.is-commerce { --c: #2b4fc4; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E"); }
.sw-axf-areas li.is-msg { --c: #3b8fec; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E"); }
.sw-axf-areas li.is-work { --c: #3a7af0; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='7' rx='2'/%3E%3Cpath d='M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/%3E%3C/svg%3E"); }
.sw-axf-areas li.is-gov { --c: #38a4e2; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.sw-axf-areas li.is-consult { --c: #3bb8d6; --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m16.24 7.76-2.12 6.36-6.36 2.12 2.12-6.36z'/%3E%3C/svg%3E"); }
@media (max-width: 760px) {
  .sw-post-body .sw-axf { padding: 22px 18px 20px; }
  .sw-post-body .sw-axf-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .sw-post-body .sw-axf-steps li::after { display: none; }
  .sw-post-body .sw-axf-areas { grid-template-columns: 1fr; }
}

/* 2026-10-13: 글 대표 영상 (.sw-post-cover.is-video, post meta sw_cover_video) */
.sw-post .sw-post-cover.is-video { position: relative; background: #07142f; }
.sw-post .sw-post-cover.is-video .sw-post-cover-video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }

/* 2026-10-13: 글 본문 폭 900px (대표 이미지/영상 폭과 맞춤) */
.sw-post .sw-post-body.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: 900px; }
.sw-post .sw-post-body.is-layout-constrained > .alignwide { max-width: 1000px; }

/* 2026-10-13: AX 프레임워크 도식 v2 — 카드/아이콘 대신 편집 디자인(숫자 타임라인 + 괘선 표) */
.sw-post-body .sw-axf.is-v2 { margin: 40px 0; padding: 26px 0 0; border: 0; border-top: 3px solid #0b1f44; border-radius: 0; background: none; }
.sw-post-body .sw-axf.is-v2 .sw-axf-kicker { margin: 0 0 4px; color: #6b7a93; font-size: 11.5px; letter-spacing: .22em; }
.sw-post-body .sw-axf.is-v2 .sw-axf-title { margin: 0 0 36px; font-size: calc(1.5rem + 1pt); }
.sw-post-body .sw-axf.is-v2 .sw-axf-steps { position: relative; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 0 0 40px; padding: 0; }
.sw-post-body .sw-axf.is-v2 .sw-axf-steps::before { content: ""; position: absolute; top: 47px; left: 10%; right: 10%; height: 1px; background: #b9c5d8; }
.sw-post-body .sw-axf.is-v2 .sw-axf-steps li { display: flex; flex-direction: column; align-items: center; padding: 0 6px; border: 0; border-radius: 0; background: none; text-align: center; }
.sw-post-body .sw-axf.is-v2 .sw-axf-steps li::after { position: static; order: 2; display: block; width: 11px; height: 11px; margin: 0 0 16px; border: 0; border-radius: 50%; background: #0b1f44; box-shadow: 0 0 0 4px #fff; transform: none; }
.sw-post-body .sw-axf.is-v2 .sw-axf-steps li:last-child::after { display: block; }
.sw-post-body .sw-axf.is-v2 .sw-axf-no { order: 1; display: block; width: auto; height: auto; margin: 0 0 12px; border-radius: 0; background: none; color: #0b1f44; font-family: Montserrat, Roboto, sans-serif; font-size: 30px; font-weight: 300; letter-spacing: .04em; line-height: 1; }
.sw-post-body .sw-axf.is-v2 .sw-axf-steps b { order: 3; font-size: calc(1.1rem + 1pt); letter-spacing: -.01em; }
.sw-post-body .sw-axf.is-v2 .sw-axf-steps li > span:last-child { order: 4; margin-top: 4px; color: #6b7a93; font-weight: 500; }
.sw-post-body .sw-axf.is-v2 .sw-axf-areas { display: block; margin: 0; padding: 0; border-top: 1px solid #0b1f44; }
.sw-post-body .sw-axf.is-v2 .sw-axf-areas::before { content: "AX 적용 영역"; display: block; padding: 12px 0 2px; color: #1f6fe5; font-family: Montserrat, Roboto, sans-serif; font-size: 11.5px; font-weight: 800; letter-spacing: .18em; }
.sw-post-body .sw-axf.is-v2 .sw-axf-areas li { display: grid; grid-template-columns: 168px minmax(0, 1fr); gap: 0 28px; padding: 14px 0; border: 0; border-bottom: 1px solid #dfe6f0; border-radius: 0; background: none; }
.sw-post-body .sw-axf.is-v2 .sw-axf-areas li > i { display: none; }
.sw-post-body .sw-axf.is-v2 .sw-axf-areas b { align-self: start; color: #0b1f44; font-size: calc(1rem + 1pt); font-weight: 800; }
.sw-post-body .sw-axf.is-v2 .sw-axf-areas li > span { color: #3b4658; font-size: calc(.92rem + 1pt); line-height: 1.65; }
@media (max-width: 760px) {
  .sw-post-body .sw-axf.is-v2 { padding: 20px 0 0; }
  .sw-post-body .sw-axf.is-v2 .sw-axf-steps { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; }
  .sw-post-body .sw-axf.is-v2 .sw-axf-steps::before { top: 39px; left: 10%; right: 10%; }
  .sw-post-body .sw-axf.is-v2 .sw-axf-no { margin-bottom: 10px; font-size: 22px; }
  .sw-post-body .sw-axf.is-v2 .sw-axf-steps li { padding: 0 2px; }
  .sw-post-body .sw-axf.is-v2 .sw-axf-steps li::after { margin-bottom: 10px; }
  .sw-post-body .sw-axf.is-v2 .sw-axf-steps b { font-size: calc(.9rem + 1pt); }
  .sw-post-body .sw-axf.is-v2 .sw-axf-steps li > span:last-child { font-size: calc(.7rem + 1pt); }
  .sw-post-body .sw-axf.is-v2 .sw-axf-areas li { grid-template-columns: 1fr; gap: 4px; }
}

/* 2026-10-13: 자료실 소개서 PDF 다운로드 타일 (.sw-pdf-grid > li > a.sw-pdf) — 타일 하나가 소개서 한 권 */
.sw-pdf-sec { padding-bottom: clamp(40px, 5vw, 64px) !important; }
.sw-pdf-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 32px 20px; margin: 36px 0 0 !important; padding: 0 !important; list-style: none; }
.sw-pdf-grid > li { margin: 0 !important; padding: 0 !important; }
.sw-pdf { display: flex; flex-direction: column; align-items: center; color: #10193a; text-align: center; text-decoration: none !important; }
.sw-pdf-ico { position: relative; display: grid; place-items: end center; width: 96px; height: 96px; padding-bottom: 16px; border-radius: 50%; background: #1e4fa3; color: #fff; font-family: Montserrat, Roboto, sans-serif; font-size: 14px; font-weight: 800; letter-spacing: .06em; line-height: 1; box-shadow: 0 10px 24px rgba(30, 79, 163, .22); transition: background .2s ease, transform .2s ease, box-shadow .2s ease; }
.sw-pdf-ico::before { content: ""; position: absolute; top: 22px; left: 50%; width: 28px; height: 28px; transform: translateX(-50%); background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M4 19h16'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M4 19h16'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-pdf:hover .sw-pdf-ico, .sw-pdf:focus-visible .sw-pdf-ico { background: #1f6fe5; transform: translateY(-4px); box-shadow: 0 16px 30px rgba(31, 111, 229, .3); }
.sw-pdf b { margin-top: 16px; color: #10193a; font-size: calc(.95rem + 1pt); font-weight: 700; line-height: 1.45; word-break: keep-all; }
.sw-pdf small { margin-top: 5px; color: #8a94a6; font-family: Roboto, sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .02em; }
@media (max-width: 600px) { .sw-pdf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 12px; } .sw-pdf-ico { width: 84px; height: 84px; } }

/* 2026-10-13: PDF 타일 그리드 가운데 정렬 + 한 줄 5개 */
.sw-pdf-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px 14px; margin: 36px auto 0 !important; }
@media (max-width: 900px) { .sw-pdf-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .sw-pdf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 2026-10-13: 넓은 자간 소제목 제거 — 글자 간격은 보통으로, 강조는 굵기·색으로만 */
.sw-post-body .sw-axf-kicker, .sw-post-body .sw-axf.is-v2 .sw-axf-kicker { font-family: inherit; font-size: calc(.86rem + 1pt); font-weight: 700; letter-spacing: 0; text-transform: none; color: #1f6fe5; }
.sw-post-body .sw-axf.is-v2 .sw-axf-areas::before { font-family: inherit; font-size: calc(.86rem + 1pt); letter-spacing: 0; }
.sw-series-tag { font-family: inherit; font-size: 13px; letter-spacing: 0; }
.sw-series-no { letter-spacing: 0; }
.sw-post-body .sw-note.is-series b { font-family: inherit; font-size: calc(.86rem + 1pt); letter-spacing: 0; }
.sw-dev-kicker { font-family: inherit; font-size: calc(.86rem + 1pt); letter-spacing: 0; text-transform: none; }
.sw-pdf-ico { letter-spacing: 0; }

/* 2026-10-13: 인사이트 글 편집 요소 추가 — 소제목(.sw-sub), 6단계 타임라인(.is-6), 표만 있는 블록(.is-table), 표 캡션(data-caption), 관련 사례(.sw-related) */
.sw-post-body .sw-sub { margin: -8px 0 18px; color: #1f6fe5; font-size: calc(1rem + 1pt); font-weight: 700; }
.sw-post-body .sw-axf.is-v2.is-6 .sw-axf-steps { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.sw-post-body .sw-axf.is-v2.is-6 .sw-axf-steps::before { left: 8.3%; right: 8.3%; }
.sw-post-body .sw-axf.is-v2.is-6 .sw-axf-steps b { font-size: calc(1rem + 1pt); }
.sw-post-body .sw-axf.is-v2.is-table { margin: 24px 0 28px; padding: 0; border-top: 0; }
.sw-post-body .sw-axf.is-v2 .sw-axf-areas[data-caption]::before { content: attr(data-caption); }
.sw-post-body .sw-axf.is-v2.is-table .sw-axf-areas li { grid-template-columns: 190px minmax(0, 1fr); }
.sw-post-body .sw-related { margin-top: 32px; padding-top: 18px; border-top: 1px solid #dfe6f0; color: #5b6472; font-size: calc(.92rem + 1pt); line-height: 1.8; }
.sw-post-body .sw-related strong { margin-right: 10px; color: #0b1f44; }
.sw-post-body .sw-related a { font-weight: 700; text-decoration: none; }
.sw-post-body .sw-related a:hover { text-decoration: underline; }
@media (max-width: 760px) {
  .sw-post-body .sw-axf.is-v2.is-6 .sw-axf-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 22px; }
  .sw-post-body .sw-axf.is-v2.is-6 .sw-axf-steps::before { display: none; }
  .sw-post-body .sw-axf.is-v2.is-table .sw-axf-areas li { grid-template-columns: 1fr; }
}

/* 2026-10-13: 글 본문 폭 900px — 바깥 .sw-post 컨테이너의 contentSize(760px) 제한도 함께 해제 */
.sw-post.is-layout-constrained > .sw-post-body, .sw-post.is-layout-constrained > .sw-post-nav { max-width: 900px !important; }
.sw-post .sw-post-body.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: 900px !important; }

/* 2026-10-13: 타임라인 단계별 색 — 남색에서 하늘색으로 이어지는 한 계열 그라데이션 (번호·점·선) */
.sw-post-body .sw-axf.is-v2 .sw-axf-steps::before { background: linear-gradient(90deg, #0b1f44, #2f6bd8 55%, #3bb8d6); }
.sw-post-body .sw-axf.is-v2 .sw-axf-steps li:nth-child(1) { --c: #0b1f44; }
.sw-post-body .sw-axf.is-v2 .sw-axf-steps li:nth-child(2) { --c: #1e4fa3; }
.sw-post-body .sw-axf.is-v2 .sw-axf-steps li:nth-child(3) { --c: #2f6bd8; }
.sw-post-body .sw-axf.is-v2 .sw-axf-steps li:nth-child(4) { --c: #3b8fec; }
.sw-post-body .sw-axf.is-v2 .sw-axf-steps li:nth-child(5) { --c: #3bb8d6; }
.sw-post-body .sw-axf.is-v2.is-6 .sw-axf-steps li:nth-child(2) { --c: #173d86; }
.sw-post-body .sw-axf.is-v2.is-6 .sw-axf-steps li:nth-child(3) { --c: #2459c0; }
.sw-post-body .sw-axf.is-v2.is-6 .sw-axf-steps li:nth-child(4) { --c: #2f7ae0; }
.sw-post-body .sw-axf.is-v2.is-6 .sw-axf-steps li:nth-child(5) { --c: #3b9ee8; }
.sw-post-body .sw-axf.is-v2.is-6 .sw-axf-steps li:nth-child(6) { --c: #3bb8d6; }
.sw-post-body .sw-axf.is-v2 .sw-axf-no { color: var(--c, #0b1f44); font-weight: 400; }
.sw-post-body .sw-axf.is-v2 .sw-axf-steps li::after { background: var(--c, #0b1f44); }
.sw-post-body .sw-axf.is-v2 .sw-axf-steps b { color: var(--c, #0b1f44); }

/* 2026-10-13: 글 본문 폭 1040px (제목 영역·대표 이미지·본문·이전다음 모두 같은 폭) */
.sw-post.is-layout-constrained > .sw-post-body, .sw-post.is-layout-constrained > .sw-post-nav { max-width: 1040px !important; }
.sw-post .sw-post-body.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: 1040px !important; }
.sw-post .sw-post-cover { max-width: min(1040px, calc(100% - 48px)) !important; }
.sw-post-head.is-layout-constrained > * { max-width: 1040px; }

/* 2026-10-13: 글 본문 소제목(h2) 색 — 제목과 같은 파란색 */
.sw-post-body h2 { color: #1e4fa3; }

/* 2026-10-13: 인용 강조(.sw-pull) 가운데 정렬 + 남색 계열 배경에 흰 글씨 */
.sw-post-body .sw-pull { padding: 26px 32px; text-align: center; background: linear-gradient(110deg, #0b1f44, #1e4fa3 60%, #2f6bd8); color: #fff; }

/* 2026-10-13: 뉴스 카테고리 카드 — 브랜드 커버(16:9)를 자르지 않고 통째로 보이게, 커버에 제목이 있으므로 하단 요약 띠는 숨김 */
.sw-mz-card.is-news .sw-mz-img { background: #07142f; }
.sw-mz-card.is-news .sw-mz-img img { object-fit: contain; }
.sw-mz-card.is-news .sw-mz-img::after, .sw-mz-card.is-news .sw-mz-sum { display: none; }
.sw-mz-card.is-news a::before { color: rgba(255, 255, 255, .7); }

/* 2026-10-13: 뉴스룸 카드 사진 비율 16:9 (브랜드 커버와 원본 사진 모두 16:9라 자르지 않음) */
.sw-mz-card .sw-mz-img { aspect-ratio: 16 / 9; }
.sw-mz-card.is-news .sw-mz-img img { object-fit: cover; }
.sw-mz-card:first-child .sw-mz-img { aspect-ratio: auto; }

/* 2026-10-13: 소제목(h2)과 한 줄 요약(.sw-sub) 사이 여백 확대 */
.sw-post-body h2 + .sw-sub { margin: 10px 0 24px; }
.sw-post-body .sw-sub { margin: 10px 0 24px; }

/* 2026-10-13: 시리즈 칩(SKYWARE AX INSIGHT · Vol.) 확대 */
.sw-post-body .sw-series { gap: 14px; margin: 0 0 22px; }
.sw-series-tag { padding: 9px 20px; font-size: calc(1rem + 1pt); font-weight: 800; }
.sw-series-no { font-size: calc(.98rem + 1pt); font-weight: 700; }

/* 2026-10-13: 뉴스 기사 날짜줄(.sw-dateline)과 맺음말(.sw-news-close) */
.sw-post-body .sw-dateline { margin: -6px 0 26px; color: #8a94a6; font-size: calc(.88rem + 1pt); font-weight: 600; }
.sw-post-body .sw-news-close { margin-top: 32px; padding: 20px 24px; border-left: 0; border-radius: 14px; background: #f3f6fb; color: #0b1f44; font-weight: 700; }

/* 2026-10-13: 뉴스 기사 솔루션 카드(.sw-sums-card: 제품 마크 + 채널 4종)와 기사 끝 솔루션 소개 상자(.sw-news-solution) */
.sw-post-body .sw-sums-card { margin: 28px 0 32px; overflow: hidden; border: 1px solid #dfe6f0; border-radius: 18px; background: #fff; }
.sw-post-body .sw-sums-head { display: flex; align-items: center; gap: 20px; padding: 22px 26px; }
.sw-sums-mark { flex: 0 0 66px; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 66px; height: 66px; border-radius: 16px; background: #1e4fa3; color: #fff; font-family: Montserrat, Roboto, sans-serif; line-height: 1; }
.sw-sums-mark b { color: #fff; font-size: 30px; font-weight: 800; }
.sw-sums-mark small { margin-top: 3px; font-size: 10px; font-weight: 800; }
.sw-post-body .sw-sums-head p { margin: 0; line-height: 1.5; }
.sw-post-body .sw-sums-name { color: #0b1f44; font-size: calc(1.25rem + 1pt); font-weight: 900; }
.sw-post-body .sw-sums-en { color: #1f6fe5; font-size: calc(.92rem + 1pt); font-weight: 700; }
.sw-post-body .sw-sums-tag { margin-top: 2px !important; color: #3b4658; font-size: calc(.95rem + 1pt); }
.sw-post-body .sw-sums-ch { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid #eef2f7; list-style: none; }
.sw-post-body .sw-sums-ch li { margin: 0; padding: 18px 10px 16px; color: #16223a; font-size: calc(.86rem + 1pt); font-weight: 700; text-align: center; line-height: 1.4; }
.sw-post-body .sw-sums-ch li + li { border-left: 1px solid #eef2f7; }
.sw-post-body .sw-sums-ch li > i { display: block; width: 26px; height: 26px; margin: 0 auto 8px; background: #1e4fa3; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.sw-sums-ch li.is-sms { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E"); }
.sw-sums-ch li.is-mms { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='2'/%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Cpath d='m21 15-3.1-3.1a2 2 0 0 0-2.8 0L6 21'/%3E%3C/svg%3E"); }
.sw-sums-ch li.is-push { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9'/%3E%3Cpath d='M10.3 21a1.94 1.94 0 0 0 3.4 0'/%3E%3C/svg%3E"); }
.sw-sums-ch li.is-link { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='5' r='3'/%3E%3Ccircle cx='5' cy='19' r='3'/%3E%3Ccircle cx='19' cy='19' r='3'/%3E%3Cpath d='M12 8v3'/%3E%3Cpath d='M12 11 6.5 16.5'/%3E%3Cpath d='m12 11 5.5 5.5'/%3E%3C/svg%3E"); }
.sw-post-body .sw-news-solution { display: grid; gap: 6px; margin: 28px 0 0; padding: 24px 28px; border: 1px solid #dfe6f0; border-radius: 16px; background: #f7f9fd; }
.sw-post-body .sw-news-solution small { color: #1f6fe5; font-size: calc(.84rem + 1pt); font-weight: 800; }
.sw-post-body .sw-news-solution b { color: #0b1f44; font-size: calc(1.15rem + 1pt); font-weight: 900; }
.sw-post-body .sw-news-solution p { margin: 0; color: #3b4658; font-size: calc(.95rem + 1pt); line-height: 1.7; }
.sw-post-body .sw-news-solution a { justify-self: start; margin-top: 8px; font-weight: 700; text-decoration: none; }
.sw-post-body .sw-news-solution a::after { content: "›"; margin-left: 5px; }
.sw-post-body .sw-news-solution a:hover { text-decoration: underline; }
@media (max-width: 640px) { .sw-post-body .sw-sums-ch { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sw-post-body .sw-sums-ch li:nth-child(3) { border-left: 0; } .sw-post-body .sw-sums-ch li:nth-child(n+3) { border-top: 1px solid #eef2f7; } }

/* 2026-10-13: 홈 반원 콜아웃 설명 줄(알약 위 글귀) 굵게 */
.sw-arc.is-v8 text.sw-arc-callout tspan:not(.is-b) { font-weight: 700; }

.sw-arc.is-v8 text.sw-arc-callout tspan:not(.is-b) { font-weight: 800 !important; }

/* 2026-10-13: SUMS 마크 상자 제거(글자만), 리드 아래 날짜줄 간격 */
.sw-sums-mark { width: auto; height: auto; flex-basis: auto; padding: 0 4px; background: none; color: #1e4fa3; }
.sw-sums-mark b { color: #1e4fa3; font-size: 34px; }
.sw-sums-mark small { color: #1e4fa3; font-size: 11px; }
.sw-post-body .sw-lead + .sw-dateline { margin-top: -10px; }

/* 2026-10-13: 테크 글 도식(.sw-fig), 소제목 용어 태그(.sw-term), 접이식 용어 사전(.sw-glossary) */
.sw-post-body .wp-block-image.sw-fig { margin: 26px 0 32px; }
.sw-post-body .wp-block-image.sw-fig img { display: block; width: 100%; height: auto; border: 1px solid #e3e8f2; border-radius: 16px; background: #fff; }
.sw-post-body .wp-block-image.sw-fig figcaption { margin-top: 10px; color: #8a94a6; font-size: calc(.84rem + 1pt); text-align: center; }
.sw-post-body h3 .sw-term { display: inline-block; vertical-align: middle; margin-left: 8px; padding: 3px 10px; border-radius: 999px; background: #e8f0ff; color: #1f6fe5; font-size: calc(.78rem + 1pt); font-weight: 700; line-height: 1.5; }
.sw-post-body .sw-glossary { margin: 36px 0 0; border: 1px solid #dfe6f0; border-radius: 16px; background: #f7f9fd; }
.sw-post-body .sw-glossary summary { padding: 18px 24px; color: #0b1f44; font-size: calc(1.05rem + 1pt); font-weight: 800; cursor: pointer; list-style: none; }
.sw-post-body .sw-glossary summary::-webkit-details-marker { display: none; }
.sw-post-body .sw-glossary summary::after { content: "펼치기"; float: right; color: #1f6fe5; font-size: calc(.86rem + 1pt); font-weight: 700; }
.sw-post-body .sw-glossary[open] summary::after { content: "접기"; }
.sw-post-body .sw-glossary dl { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 0 24px; margin: 0; padding: 4px 24px 20px; }
.sw-post-body .sw-glossary dt { padding: 10px 0; border-top: 1px solid #e3e8f2; color: #0b1f44; font-weight: 800; }
.sw-post-body .sw-glossary dd { margin: 0; padding: 10px 0; border-top: 1px solid #e3e8f2; color: #3b4658; font-size: calc(.95rem + 1pt); line-height: 1.65; }
@media (max-width: 640px) { .sw-post-body .sw-glossary dl { grid-template-columns: 1fr; } .sw-post-body .sw-glossary dd { padding-top: 0; border-top: 0; } }

/* 2026-10-13: 용어 사전 항상 펼침 — 제목 줄 + 영문 병기 */
.sw-post-body .sw-glossary { padding: 0 24px 8px; }
.sw-post-body .sw-glossary-title { margin: 0; padding: 18px 0 12px; color: #0b1f44; font-size: calc(1.05rem + 1pt); font-weight: 800; }
.sw-post-body .sw-glossary dl { grid-template-columns: 210px minmax(0, 1fr); padding: 0 0 12px; }
.sw-post-body .sw-glossary dt small { display: block; margin-top: 2px; color: #8a94a6; font-size: calc(.78rem + 1pt); font-weight: 600; }

/* 2026-10-13: "AI와 AX" 도식을 HTML로 (.sw-aiax: 두 카드 + DX 단계 + 회의록 예시 흐름) */
.sw-post-body .sw-aiax { margin: 32px 0 36px; padding: 28px 28px 24px; border: 1px solid #dfe6f0; border-radius: 20px; background: #fff; --ai: #0e9f8a; --ax: #1e4fa3; }
.sw-post-body .sw-aiax p { margin: 0; }
.sw-post-body .sw-aiax-kicker { color: #0e9f8a; font-size: calc(.84rem + 1pt); font-weight: 700; }
.sw-post-body .sw-aiax-title { margin: 4px 0 6px; color: #0b1f44; font-size: calc(1.3rem + 1pt); font-weight: 900; letter-spacing: -.02em; line-height: 1.3; }
.sw-post-body .sw-aiax-sub { color: #5b6472; font-size: calc(.95rem + 1pt); line-height: 1.6; }
.sw-post-body .sw-aiax-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 22px; }
.sw-post-body .sw-aiax-card { overflow: hidden; border: 1px solid #dfe6f0; border-radius: 16px; background: #fff; }
.sw-post-body .sw-aiax-card header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; color: #fff; }
.sw-post-body .sw-aiax-card.is-ai header { background: var(--ai); }
.sw-post-body .sw-aiax-card.is-ax header { background: var(--ax); }
.sw-post-body .sw-aiax-card header b { color: #fff; font-family: Montserrat, Roboto, sans-serif; font-size: 30px; font-weight: 800; line-height: 1; }
.sw-post-body .sw-aiax-card header span { color: rgba(255, 255, 255, .92); font-size: calc(.84rem + 1pt); font-weight: 700; line-height: 1.4; text-align: right; }
.sw-post-body .sw-aiax-body { padding: 16px 20px 18px; }
.sw-post-body .sw-aiax-meta { padding: 12px 16px; border-radius: 12px; background: #f3f6fb; color: #16223a; font-size: calc(.9rem + 1pt); line-height: 1.6; }
.sw-post-body .sw-aiax-meta small { display: block; margin-bottom: 2px; color: #6b7a93; font-size: calc(.78rem + 1pt); font-weight: 700; }
.sw-post-body .sw-aiax-body h4 { margin: 16px 0 4px; color: #0b1f44; font-size: calc(.9rem + 1pt); font-weight: 800; }
.sw-post-body .sw-aiax-body ul { margin: 0; padding-left: 18px; }
.sw-post-body .sw-aiax-body li { margin: 2px 0; color: #3b4658; font-size: calc(.9rem + 1pt); line-height: 1.6; }
.sw-post-body .sw-aiax-label { margin: 28px 0 12px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; color: #6b7a93; font-size: calc(.92rem + 1pt); font-weight: 700; }
.sw-post-body .sw-aiax-legend { display: inline-flex; align-items: center; gap: 6px; color: #3b4658; font-size: calc(.82rem + 1pt); font-weight: 600; }
.sw-post-body .sw-aiax-legend i { display: inline-block; width: 12px; height: 12px; margin-left: 10px; border-radius: 3px; }
.sw-post-body .sw-aiax-legend i.is-h { background: #0b1f44; }
.sw-post-body .sw-aiax-legend i.is-a { background: var(--ai); }
.sw-post-body .sw-aiax-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.sw-post-body .sw-aiax-steps li { position: relative; margin: 0; padding: 16px 18px; border-radius: 14px; background: #f3f6fb; line-height: 1.5; }
.sw-post-body .sw-aiax-steps li::after { content: ""; position: absolute; top: 50%; right: -16px; width: 10px; height: 10px; border-top: 2px solid #b9c5d8; border-right: 2px solid #b9c5d8; transform: translateY(-50%) rotate(45deg); }
.sw-post-body .sw-aiax-steps li:last-child::after { display: none; }
.sw-post-body .sw-aiax-steps li.is-now { border: 1.5px solid var(--ax); background: #eaf2ff; }
.sw-post-body .sw-aiax-steps small { display: block; color: var(--ai); font-size: calc(.8rem + 1pt); font-weight: 700; }
.sw-post-body .sw-aiax-steps li.is-now small { color: var(--ax); }
.sw-post-body .sw-aiax-steps b { display: block; margin: 2px 0 4px; color: #0b1f44; font-size: calc(1.05rem + 1pt); font-weight: 900; }
.sw-post-body .sw-aiax-steps span { color: #3b4658; font-size: calc(.86rem + 1pt); }
.sw-post-body .sw-aiax-flows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.sw-post-body .sw-aiax-flow { padding: 18px 20px; border: 1px solid #dfe6f0; border-radius: 16px; background: #fff; }
.sw-post-body .sw-aiax-flow.is-ax { border-color: #c9d8f5; background: #f3f7ff; }
.sw-post-body .sw-aiax-flow > b { display: block; margin-bottom: 12px; color: #0b1f44; font-size: calc(1rem + 1pt); font-weight: 800; }
.sw-post-body .sw-aiax-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 4px; }
.sw-post-body .sw-aiax-chips span { display: inline-block; padding: 7px 12px; border-radius: 8px; color: #fff; font-size: calc(.84rem + 1pt); font-weight: 700; line-height: 1.3; }
.sw-post-body .sw-aiax-chips span.is-h { background: #0b1f44; }
.sw-post-body .sw-aiax-chips span.is-a { background: var(--ai); }
.sw-post-body .sw-aiax-chips span + span { position: relative; }
.sw-post-body .sw-aiax-chips span + span::before { content: "→"; position: absolute; left: -21px; top: 50%; transform: translateY(-50%); color: #9aa7bd; font-weight: 400; }
.sw-post-body .sw-aiax-chips { gap: 8px 26px; }
.sw-post-body .sw-aiax-flow > small { display: block; margin-top: 12px; font-size: calc(.86rem + 1pt); font-weight: 700; }
.sw-post-body .sw-aiax-flow > small.is-bad { color: #b4382c; }
.sw-post-body .sw-aiax-flow > small.is-good { color: var(--ax); }
@media (max-width: 760px) {
  .sw-post-body .sw-aiax { padding: 20px 16px; }
  .sw-post-body .sw-aiax-cards, .sw-post-body .sw-aiax-flows { grid-template-columns: 1fr; }
  .sw-post-body .sw-aiax-steps { grid-template-columns: 1fr; gap: 14px; }
  .sw-post-body .sw-aiax-steps li::after { display: none; }
}

/* 2026-10-13: "AI와 AX의 차이" 도식 v2 — 큰 제목, 카드 안 괘선 구획, 패널 묶음, 정사각 칩 흐름, 범례 하단 */
.sw-post-body .sw-aiax.is-v2 { padding: 28px 28px 22px; background: #f7f9fd; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-kicker { color: #1e4fa3; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-title { margin: 2px 0 8px; font-size: calc(2rem + 1pt); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-sub { font-size: calc(1rem + 1pt); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-cards { margin-top: 22px; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-card header { padding: 18px 22px; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-card header b { font-size: 40px; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-card header span { font-weight: 500; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-card header span strong { display: block; color: #fff; font-size: calc(1rem + 1pt); font-weight: 800; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-body { padding: 6px 22px 10px; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-sec { padding: 14px 0 16px; border-top: 1px solid #e3e8f2; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-sec:first-child { border-top: 0; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-sec:first-child { margin: 14px 0 0; padding: 14px 18px 16px; border-radius: 12px; background: #f3f6fb; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-sec:nth-child(2) { margin-top: 4px; border-top: 0; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-sec h4 { margin: 0 0 8px; color: #0b1f44; font-size: calc(.98rem + 1pt); font-weight: 800; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-card.is-ai .sw-aiax-sec h4 { color: var(--ai); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-card.is-ax .sw-aiax-sec h4 { color: var(--ax); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-sec p { color: #16223a; font-size: calc(.92rem + 1pt); line-height: 1.65; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-sec ul { padding-left: 0; list-style: none; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-sec li { position: relative; margin: 6px 0; padding-left: 18px; font-size: calc(.92rem + 1pt); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-sec li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: #0b1f44; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-card.is-ai .sw-aiax-sec li::before { background: var(--ai); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-card.is-ax .sw-aiax-sec li::before { background: var(--ax); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-panel { margin-top: 18px; padding: 18px 22px 22px; border: 1px solid #dfe6f0; border-radius: 16px; background: #fff; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-ph { margin: 0 0 14px; color: #0b1f44; font-size: calc(1.1rem + 1pt); font-weight: 800; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-steps { gap: 28px; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-steps li::after { right: -19px; width: 9px; height: 9px; border-color: #0b1f44; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-flows { gap: 16px; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-flow { padding: 16px 18px 18px; border-radius: 14px; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-flow.is-tool { background: #f7f9fd; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-flow.is-ax { background: #f3f7ff; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-flow > b { font-size: calc(1.02rem + 1pt); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-flow.is-tool > b { color: var(--ai); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-flow.is-ax > b { color: var(--ax); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-chips { display: flex; flex-wrap: nowrap; align-items: stretch; gap: 0 22px; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-chips span { display: flex; flex: 1 1 0; align-items: center; justify-content: center; min-width: 0; min-height: 72px; padding: 8px 6px; border-radius: 8px; font-size: calc(.74rem + 1pt); font-weight: 700; line-height: 1.3; text-align: center; word-break: keep-all; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-chips span + span::before { left: -17px; color: #6b7a93; font-size: 13px; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-flow > small { margin-top: 12px; padding: 10px 14px; border-radius: 10px; font-size: calc(.84rem + 1pt); text-align: center; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-flow > small.is-bad { background: #fdeceb; color: #b4382c; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-flow > small.is-good { background: #e6f5f2; color: #0b6b5c; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-legend { display: flex; justify-content: flex-end; margin-top: 14px; }
@media (max-width: 760px) {
  .sw-post-body .sw-aiax.is-v2 { padding: 20px 16px; }
  .sw-post-body .sw-aiax.is-v2 .sw-aiax-title { font-size: calc(1.5rem + 1pt); }
  .sw-post-body .sw-aiax.is-v2 .sw-aiax-chips { flex-wrap: wrap; gap: 8px 22px; }
  .sw-post-body .sw-aiax.is-v2 .sw-aiax-chips span { flex: 1 1 40%; min-height: 56px; }
  .sw-post-body .sw-aiax.is-v2 .sw-aiax-legend { justify-content: flex-start; }
}

/* 2026-10-13: 도식 v2 회의록 예시를 세로로 쌓아 칩 폭 확보 */
.sw-post-body .sw-aiax.is-v2 .sw-aiax-flows { grid-template-columns: 1fr; gap: 14px; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-chips span { min-height: 64px; max-width: 170px; padding: 8px 10px; font-size: calc(.84rem + 1pt); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-chips { justify-content: flex-start; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-flow > small { display: inline-block; margin-top: 14px; text-align: left; }

/* 2026-10-13: 도식 v2 회의록 예시를 번호 목록 + 괘선 비교 표로 (색 블록 제거) */
.sw-post-body .sw-aiax.is-v2 .sw-aiax-cmp { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-col + .sw-aiax-col { padding-left: 40px; border-left: 1px solid #e3e8f2; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-col > b { display: block; margin-bottom: 6px; padding-bottom: 10px; border-bottom: 2px solid #0b1f44; color: #0b1f44; font-size: calc(1.02rem + 1pt); font-weight: 800; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-col.is-tool > b { border-color: var(--ai); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-col.is-ax > b { border-color: var(--ax); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-col ol { margin: 0; padding: 0; list-style: none; counter-reset: aiax; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-col li { counter-increment: aiax; display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; align-items: center; gap: 0 10px; margin: 0; padding: 10px 0; border-bottom: 1px solid #e9eef5; color: #16223a; font-size: calc(.92rem + 1pt); line-height: 1.5; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-col li::before { content: counter(aiax); color: #8a94a6; font-family: Roboto, sans-serif; font-size: 13px; font-weight: 700; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-col li.is-a { color: #0b6b5c; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-col li.is-a::before { color: var(--ai); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-col li em { color: #8a94a6; font-size: calc(.78rem + 1pt); font-style: normal; font-weight: 700; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-col li.is-a em { color: var(--ai); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-sum { margin: 14px 0 0; font-size: calc(.9rem + 1pt); font-weight: 700; line-height: 1.6; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-sum.is-bad { color: #b4382c; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-sum.is-good { color: #0b6b5c; }
@media (max-width: 760px) {
  .sw-post-body .sw-aiax.is-v2 .sw-aiax-cmp { grid-template-columns: 1fr; gap: 24px; }
  .sw-post-body .sw-aiax.is-v2 .sw-aiax-col + .sw-aiax-col { padding-left: 0; border-left: 0; }
}

/* 2026-10-13: 도식 v2 회의록 예시 — 단계별 비교 표(.sw-aiax-matrix) */
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix { width: 100%; margin: 0; border-collapse: collapse; font-size: calc(.92rem + 1pt); line-height: 1.5; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix th, .sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix td { padding: 12px 14px; border-bottom: 1px solid #e9eef5; text-align: left; vertical-align: top; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix thead th { padding-top: 0; border-bottom: 2px solid #0b1f44; color: #0b1f44; font-size: calc(1rem + 1pt); font-weight: 800; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix thead th.is-tool { color: var(--ai); border-bottom-color: var(--ai); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix thead th.is-ax { color: var(--ax); border-bottom-color: var(--ax); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix tbody th { width: 150px; color: #0b1f44; font-weight: 800; white-space: nowrap; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix tbody td { color: #16223a; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix td i { display: inline-block; width: 10px; height: 10px; margin: 0 7px 0 0; border-radius: 3px; vertical-align: 1px; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix td i.is-h { background: #0b1f44; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix td i.is-a { background: var(--ai); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix td i + i, .sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix td i:not(:first-child) { margin-left: 4px; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-none { color: #8a94a6; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix tfoot th, .sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix tfoot td { padding-top: 16px; border-bottom: 0; border-top: 2px solid #0b1f44; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix tfoot th { color: #0b1f44; font-weight: 800; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix tfoot b { display: block; font-family: Montserrat, Roboto, sans-serif; font-size: 26px; font-weight: 800; line-height: 1.1; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix tfoot span { display: block; margin-top: 4px; color: #5b6472; font-size: calc(.84rem + 1pt); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix tfoot td.is-bad b { color: #b4382c; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix tfoot td.is-good b { color: var(--ax); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-legend { display: flex; justify-content: flex-end; margin-top: 12px; }
@media (max-width: 760px) {
  .sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix { font-size: calc(.82rem + 1pt); }
  .sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix th, .sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix td { padding: 10px 6px; }
  .sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix tbody th { width: auto; white-space: normal; }
}

/* 2026-10-13: 회의록 비교 표 표식 — 사람은 사람 아이콘, AI · 자동은 톱니 아이콘 (범례 포함) */
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix td i, .sw-post-body .sw-aiax.is-v2 .sw-aiax-legend i { width: 16px; height: 16px; border-radius: 0; vertical-align: -2px; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix td i.is-h, .sw-post-body .sw-aiax.is-v2 .sw-aiax-legend i.is-h { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix td i.is-a, .sw-post-body .sw-aiax.is-v2 .sw-aiax-legend i.is-a { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-legend i { margin-left: 12px; margin-right: 2px; }

/* 2026-10-13: 뉴스룸 큰 카드(첫 번째)도 16:9 고정 — 세로 사진이 들어와도 줄이 깨지지 않게 */
.sw-mz-card:first-child .sw-mz-img { aspect-ratio: 16 / 9; height: auto; min-height: 0; }
.sw-mz-card:first-child a { grid-template-rows: auto auto auto; height: auto; }

/* 2026-10-13: 인사이트 글 요소 — 비교 표(.sw-cmp-table), 세로 흐름도(.sw-vflow), 한 줄 흐름(.sw-chain), 출처(.sw-source) */
.sw-post-body .sw-cmp, .sw-post-body .sw-vflow { margin: 26px 0 30px; padding: 22px 24px 20px; border: 1px solid #dfe6f0; border-radius: 16px; background: #fff; }
.sw-post-body .sw-cmp-cap { margin: 0 0 12px; color: #1f6fe5; font-size: calc(.88rem + 1pt); font-weight: 800; }
.sw-post-body .sw-cmp-table { width: 100%; margin: 0; border-collapse: collapse; font-size: calc(.9rem + 1pt); line-height: 1.5; }
.sw-post-body .sw-cmp-table th, .sw-post-body .sw-cmp-table td { padding: 11px 12px; border-bottom: 1px solid #e9eef5; text-align: left; vertical-align: top; }
.sw-post-body .sw-cmp-table thead th { border-bottom: 2px solid #0b1f44; color: #0b1f44; font-weight: 800; white-space: nowrap; }
.sw-post-body .sw-cmp-table thead th.is-now { color: #1e4fa3; }
.sw-post-body .sw-cmp-table tbody th { width: 110px; color: #0b1f44; font-weight: 800; white-space: nowrap; }
.sw-post-body .sw-cmp-table tbody td { color: #3b4658; }
.sw-post-body .sw-cmp-table td.is-now { color: #0b1f44; font-weight: 700; background: #f3f7ff; }
.sw-post-body .sw-cmp-table tbody tr:last-child th, .sw-post-body .sw-cmp-table tbody tr:last-child td { border-bottom: 0; }
.sw-post-body .sw-vflow ol { max-width: 560px; margin: 0 auto; padding: 0; list-style: none; }
.sw-post-body .sw-vflow li { position: relative; margin: 0 0 26px; padding: 14px 18px; border: 1px solid #dfe6f0; border-radius: 12px; background: #f7f9fd; text-align: center; line-height: 1.5; }
.sw-post-body .sw-vflow li::after { content: ""; position: absolute; left: 50%; bottom: -18px; width: 9px; height: 9px; border-right: 2px solid #0b1f44; border-bottom: 2px solid #0b1f44; transform: translateX(-50%) rotate(45deg); }
.sw-post-body .sw-vflow li:last-child { margin-bottom: 0; }
.sw-post-body .sw-vflow li:last-child::after { display: none; }
.sw-post-body .sw-vflow li.is-h { border-color: #1e4fa3; background: #eaf2ff; }
.sw-post-body .sw-vflow li b { display: block; color: #0b1f44; font-size: calc(.98rem + 1pt); font-weight: 800; }
.sw-post-body .sw-vflow li span { display: block; margin-top: 2px; color: #5b6472; font-size: calc(.86rem + 1pt); }
.sw-post-body .sw-vflow-note { margin: 16px 0 0; color: #6b7a93; font-size: calc(.84rem + 1pt); line-height: 1.6; text-align: center; }
.sw-post-body .sw-chain { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; margin: 4px 0 20px; }
.sw-post-body .sw-chain span { position: relative; padding: 8px 14px; border: 1px solid #c9d8f5; border-radius: 999px; background: #f3f7ff; color: #0b1f44; font-size: calc(.88rem + 1pt); font-weight: 700; }
.sw-post-body .sw-chain span + span::before { content: "→"; position: absolute; left: -19px; top: 50%; transform: translateY(-50%); color: #9aa7bd; font-weight: 400; }
.sw-post-body .sw-source { margin-top: -4px; color: #8a94a6; font-size: calc(.82rem + 1pt); }
@media (max-width: 760px) {
  .sw-post-body .sw-cmp { padding: 16px 12px; overflow-x: auto; }
  .sw-post-body .sw-cmp-table { min-width: 620px; font-size: calc(.82rem + 1pt); }
}

/* 2026-10-13: 회의록 비교 표 "사람 손" 행 — 큰 숫자 대신 한 줄 굵은 글 */
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix tfoot b { display: inline; margin-right: 8px; font-family: inherit; font-size: calc(1rem + 1pt); line-height: inherit; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix tfoot span { display: inline; margin: 0; color: #3b4658; font-size: calc(.92rem + 1pt); }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix tfoot td.is-bad b { color: #b4382c; }
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix tfoot td.is-good b { color: #1e4fa3; }

/* 2026-10-13: 카드뉴스 블록 (.sw-cards: 가로 스크롤 스냅, 1:1 카드 10장, 표지/마무리 카드는 남색) */
.sw-post-body .sw-cards { margin: 28px 0 40px; }
.sw-post-body .sw-cards p { margin: 0; }
.sw-post-body .sw-cards-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-bottom: 14px; }
.sw-post-body .sw-cards-kicker { color: #0b1f44; font-size: calc(1.02rem + 1pt); font-weight: 800; }
.sw-post-body .sw-cards-hint { color: #8a94a6; font-size: calc(.84rem + 1pt); }
.sw-post-body .sw-cards-nav { display: inline-flex; align-items: center; gap: 10px; margin-left: auto; }
.sw-post-body .sw-cards-nav button { width: 34px; height: 34px; border: 1px solid #c9d3e3; border-radius: 50%; background: #fff; color: #0b1f44; font-size: 20px; line-height: 1; cursor: pointer; }
.sw-post-body .sw-cards-nav button:hover { border-color: #1e4fa3; color: #1e4fa3; }
.sw-post-body .sw-cards-count { min-width: 52px; color: #5b6472; font-family: Roboto, sans-serif; font-size: 13px; font-weight: 700; text-align: center; }
.sw-post-body .sw-cards-track { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 4px 4px 14px; scrollbar-width: thin; scrollbar-color: #c9d3e3 transparent; }
.sw-post-body .sw-card { position: relative; flex: 0 0 min(480px, 100%); aspect-ratio: 1 / 1; display: flex; flex-direction: column; gap: 10px; padding: 30px 30px 44px; border: 1px solid #dfe6f0; border-radius: 22px; background: #fff; color: #16223a; scroll-snap-align: start; overflow: hidden; line-height: 1.55; }
.sw-post-body .sw-card small { color: #1f6fe5; font-size: calc(.8rem + 1pt); font-weight: 800; }
.sw-post-body .sw-card h4 { margin: 2px 0 4px; color: #0b1f44; font-size: calc(1.18rem + 1pt); font-weight: 900; line-height: 1.35; word-break: keep-all; }
.sw-post-body .sw-card > p { color: #3b4658; font-size: calc(.88rem + 1pt); word-break: keep-all; }
.sw-post-body .sw-card-foot { margin-top: auto !important; padding-top: 10px; border-top: 1px solid #e9eef5; color: #0b1f44 !important; font-weight: 700; }
.sw-post-body .sw-card-src { display: block; margin-top: 4px; color: #8a94a6; font-size: calc(.76rem + 1pt); font-weight: 500; }
.sw-post-body .sw-card em { position: absolute; right: 24px; bottom: 16px; color: #9aa7bd; font-family: Roboto, sans-serif; font-size: 12px; font-style: normal; font-weight: 700; }
.sw-post-body .sw-card.is-cover { justify-content: center; border: 0; background: linear-gradient(150deg, #0b1f44, #1e4fa3 70%, #2f6bd8); color: #fff; }
.sw-post-body .sw-card.is-cover small { color: #9fd0ff; }
.sw-post-body .sw-card.is-cover > p { color: rgba(255, 255, 255, .86); }
.sw-post-body .sw-card.is-cover em { color: rgba(255, 255, 255, .55); }
.sw-post-body .sw-card-big { color: #fff !important; font-family: Montserrat, Roboto, sans-serif; font-size: 46px !important; font-weight: 800; line-height: 1.1; }
.sw-post-body .sw-card-big.is-sm { font-family: inherit; font-size: calc(1.25rem + 1pt) !important; font-weight: 900; line-height: 1.4; }
.sw-post-body .sw-card-sub { color: #fff !important; font-size: calc(1.2rem + 1pt) !important; font-weight: 800; }
.sw-post-body .sw-card-q { color: #fff !important; font-weight: 700; }
.sw-post-body .sw-card-brand { margin-top: auto !important; color: #fff !important; font-family: Montserrat, Roboto, sans-serif; font-size: 15px !important; font-weight: 800; }
.sw-post-body .sw-card-brand span { display: block; margin-top: 2px; color: #9fd0ff; font-family: inherit; font-size: 12px; font-weight: 600; }
.sw-post-body .sw-card-vs { display: grid; grid-template-columns: 92px 1fr; gap: 6px 12px; margin: 2px 0; padding: 12px 14px; border-radius: 12px; background: #f3f6fb; font-size: calc(.84rem + 1pt); }
.sw-post-body .sw-card-vs dt { color: #6b7a93; font-weight: 700; }
.sw-post-body .sw-card-vs dd { margin: 0; color: #16223a; }
.sw-post-body .sw-card-vs dt.is-now { color: #1e4fa3; }
.sw-post-body .sw-card-vs dd.is-now { color: #0b1f44; font-weight: 700; }
.sw-post-body .sw-card-steps { margin: 0; padding: 0; list-style: none; counter-reset: cs; }
.sw-post-body .sw-card-steps li { counter-increment: cs; display: grid; grid-template-columns: 26px 1fr; gap: 0 8px; margin: 0 0 8px; font-size: calc(.86rem + 1pt); }
.sw-post-body .sw-card-steps li::before { content: counter(cs, decimal-leading-zero); grid-row: 1 / span 2; color: #1f6fe5; font-family: Roboto, sans-serif; font-size: 13px; font-weight: 800; line-height: 1.6; }
.sw-post-body .sw-card-steps b { color: #0b1f44; font-weight: 800; }
.sw-post-body .sw-card-steps span { color: #3b4658; }
.sw-post-body .sw-card-steps.is-tight li { margin-bottom: 5px; }
.sw-post-body .sw-card-steps.is-tight span { font-size: calc(.8rem + 1pt); }
.sw-post-body .sw-card-list { margin: 0; font-size: calc(.86rem + 1pt); }
.sw-post-body .sw-card-list dt { margin-top: 6px; color: #0b1f44; font-weight: 800; }
.sw-post-body .sw-card-list dd { margin: 0; color: #3b4658; }
.sw-post-body .sw-card-list.is-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; }
.sw-post-body .sw-card-list.is-grid dt { margin-top: 0; }
.sw-post-body .sw-card-bullets { margin: 0; padding-left: 18px; color: #3b4658; font-size: calc(.86rem + 1pt); }
.sw-post-body .sw-card-bullets li { margin: 2px 0; }
@media (max-width: 640px) { .sw-post-body .sw-card { flex-basis: 100%; aspect-ratio: auto; min-height: 0; padding: 22px 20px 40px; } .sw-post-body .sw-card-big { font-size: 36px !important; } .sw-post-body .sw-card-list.is-grid { grid-template-columns: 1fr; } }

/* 2026-10-13: 뉴스룸 분류를 NEWS · ACADEMY · CULTURE 로 통합 — ACADEMY 탭 아이콘(학사모)과 카드 라벨 색 */
.sw-pf-tabs a[data-cat="mz-academy"] { --c: #6a3df0; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10 12 5 2 10l10 5 10-5z'/%3E%3Cpath d='M6 12v5c3 3 9 3 12 0v-5'/%3E%3Cpath d='M22 10v6'/%3E%3C/svg%3E"); }
.sw-mz-card.is-academy small { color: #6a3df0; }

/* 2026-10-13: 뉴스 커버 스토리 — 브랜드 커버에 박힌 제목이 겹쳐 보이지 않도록 왼쪽 오버레이를 진하게 */
.sw-mz-cover.is-news .sw-mz-cover-img::after { background: linear-gradient(90deg, #081028 0%, #081028 46%, rgba(8, 16, 40, .72) 62%, rgba(8, 16, 40, .1) 100%); }

/* 2026-10-13: AX 준비도 도식 — 점선 원을 따라 빛나는 점이 도는 애니메이션 (.sw-ax-hexcore::after) */
.sw-ax-hexcore { --ring: 22px; }
/* (≤1100px 에서도 점선 원 inset 은 22px 이라 --ring 동일) */
.sw-ax-hexcore::after { content: ""; position: absolute; inset: calc(var(--ring) - 10px); border-radius: 50%; pointer-events: none;
  background:
    radial-gradient(circle at 50% 10px, #fff 0 2.5px, #3b8fec 3px 5.5px, rgba(59, 143, 236, .6) 7px, rgba(59, 143, 236, 0) 16px),
    conic-gradient(from 0deg at 50% 50%, rgba(59, 143, 236, 0) 0deg 290deg, rgba(59, 143, 236, .55) 360deg);
  -webkit-mask: radial-gradient(circle closest-side, transparent calc(100% - 22px), #000 calc(100% - 20px), #000 calc(100% - 1px), transparent 100%);
  mask: radial-gradient(circle closest-side, transparent calc(100% - 22px), #000 calc(100% - 20px), #000 calc(100% - 1px), transparent 100%);
  animation: sw-ax-orbit 7s linear infinite; }
@keyframes sw-ax-orbit { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .sw-ax-hexcore::after { animation: none; } }

/* 궤도 점은 육각 타일 아래로 */
.sw-ax-hexcore::after { z-index: 0; }
.sw-ax-hexcore > i, .sw-ax-hexai { z-index: 1; }

/* 2026-10-13: 홈 인사이트 카드 차례로 등장 (site.js 가 .sw-insight-grid 에 is-armed/is-in 을 붙임) */
.sw-insight-grid.is-armed > .wp-block-column { opacity: 0; transform: translateY(30px); }
.sw-insight-grid.is-in > .wp-block-column { opacity: 1; transform: none; transition: opacity .65s ease, transform .65s cubic-bezier(.2, .7, .2, 1); }
.sw-insight-grid.is-in > .wp-block-column:nth-child(2) { transition-delay: .14s; }
.sw-insight-grid.is-in > .wp-block-column:nth-child(3) { transition-delay: .28s; }
.sw-insight-grid.is-in > .wp-block-column:nth-child(4) { transition-delay: .42s; }
@media (prefers-reduced-motion: reduce) { .sw-insight-grid.is-armed > .wp-block-column { opacity: 1; transform: none; transition: none; } }

/* 2026-10-13: AX 준비도 항목 제목 — 파란 그라데이션 글자 + 은은한 빛 */
.sw-ax-hexlist li strong { background: linear-gradient(100deg, #1e4fa3, #2f6bd8 55%, #3b8fec); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; filter: drop-shadow(0 0 7px rgba(59, 143, 236, .42)); font-weight: 900; }

/* 2026-10-13: 홈 인사이트 섹션 전체가 차례로 등장 — 제목 → 소개 글 → 카드 4장 (site.js 가 .sw-insights 에 is-armed/is-in) */
.sw-insights.is-armed .sw-ins-title, .sw-insights.is-armed .sw-ins-lead, .sw-insights.is-armed .sw-insight-grid > .wp-block-column { opacity: 0; transform: translateY(30px); }
.sw-insights.is-in .sw-ins-title, .sw-insights.is-in .sw-ins-lead, .sw-insights.is-in .sw-insight-grid > .wp-block-column { opacity: 1; transform: none; transition: opacity .65s ease, transform .65s cubic-bezier(.2, .7, .2, 1); }
.sw-insights.is-in .sw-ins-lead { transition-delay: .15s; }
.sw-insights.is-in .sw-insight-grid > .wp-block-column:nth-child(1) { transition-delay: .3s; }
.sw-insights.is-in .sw-insight-grid > .wp-block-column:nth-child(2) { transition-delay: .44s; }
.sw-insights.is-in .sw-insight-grid > .wp-block-column:nth-child(3) { transition-delay: .58s; }
.sw-insights.is-in .sw-insight-grid > .wp-block-column:nth-child(4) { transition-delay: .72s; }
.sw-insight-grid.is-armed > .wp-block-column { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .sw-insights.is-armed .sw-ins-title, .sw-insights.is-armed .sw-ins-lead, .sw-insights.is-armed .sw-insight-grid > .wp-block-column { opacity: 1; transform: none; transition: none; } }

/* 2026-10-13: 사업 허브 도식 연출 — 등장(코어 → 노드 순), 노드 떠다님, 링을 도는 빛, 코어 숨쉬기 */
.sw-hub.is-armed .sw-hub-core { opacity: 0; scale: .7; }
.sw-hub.is-armed .sw-hub-node { opacity: 0; scale: .6; }
.sw-hub.is-in .sw-hub-core { opacity: 1; scale: 1; transition: opacity .7s ease, scale .8s cubic-bezier(.2, .8, .2, 1); }
.sw-hub.is-in .sw-hub-node { opacity: 1; scale: 1; transition: opacity .6s ease, scale .7s cubic-bezier(.2, .8, .2, 1); }
.sw-hub.is-in .sw-hub-node.n1 { transition-delay: .25s; } .sw-hub.is-in .sw-hub-node.n2 { transition-delay: .37s; } .sw-hub.is-in .sw-hub-node.n3 { transition-delay: .49s; }
.sw-hub.is-in .sw-hub-node.n6 { transition-delay: .61s; } .sw-hub.is-in .sw-hub-node.n4 { transition-delay: .73s; } .sw-hub.is-in .sw-hub-node.n5 { transition-delay: .85s; }
.sw-hub-node .sw-hub-dot { animation: sw-hub-float 6s ease-in-out infinite; }
.sw-hub-node.n2 .sw-hub-dot { animation-delay: -1s; } .sw-hub-node.n3 .sw-hub-dot { animation-delay: -2s; } .sw-hub-node.n6 .sw-hub-dot { animation-delay: -3s; } .sw-hub-node.n4 .sw-hub-dot { animation-delay: -4s; } .sw-hub-node.n5 .sw-hub-dot { animation-delay: -5s; }
@keyframes sw-hub-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -7px; } }
.sw-hub-ring { overflow: visible; }
.sw-hub-ring::after { content: ""; position: absolute; inset: -12px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle at 50% 12px, #fff 0 2.5px, #8fc8ff 3px 6px, rgba(143, 200, 255, .55) 8px, rgba(143, 200, 255, 0) 18px), conic-gradient(from 0deg at 50% 50%, rgba(143, 200, 255, 0) 0deg 285deg, rgba(143, 200, 255, .5) 360deg);
  -webkit-mask: radial-gradient(circle closest-side, transparent calc(100% - 26px), #000 calc(100% - 24px), #000 calc(100% - 1px), transparent 100%);
  mask: radial-gradient(circle closest-side, transparent calc(100% - 26px), #000 calc(100% - 24px), #000 calc(100% - 1px), transparent 100%);
  animation: sw-hub-orbit 14s linear infinite; }
@keyframes sw-hub-orbit { to { rotate: 360deg; } }
.sw-hub-core { animation: sw-hub-breathe 5s ease-in-out infinite; }
@keyframes sw-hub-breathe { 0%, 100% { box-shadow: 0 0 0 10px rgba(255, 255, 255, .08), 0 0 60px rgba(120, 190, 255, .55), 0 0 120px rgba(80, 140, 255, .35); } 50% { box-shadow: 0 0 0 14px rgba(255, 255, 255, .1), 0 0 90px rgba(120, 190, 255, .75), 0 0 160px rgba(80, 140, 255, .5); } }
@media (prefers-reduced-motion: reduce) { .sw-hub.is-armed .sw-hub-core, .sw-hub.is-armed .sw-hub-node { opacity: 1; scale: 1; transition: none; } .sw-hub-node .sw-hub-dot, .sw-hub-ring::after, .sw-hub-core { animation: none; } }

/* 2026-10-13: 사업분야 페이지 소개서 PDF 줄 (.sw-pdf-strip: 안내 문구 + 타일) */
.sw-pdf-strip { padding: 28px 0 8px !important; }
.sw-pdf-strip .sw-pdf-row { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 40px; padding: 22px 28px; border: 1px solid #dfe6f0; border-radius: 18px; background: #f7f9fd; }
.sw-pdf-strip .sw-pdf-row-t { flex: 1 1 260px; margin: 0; }
.sw-pdf-strip .sw-pdf-row-t b { display: block; color: #0b1f44; font-size: calc(1.1rem + 1pt); font-weight: 800; }
.sw-pdf-strip .sw-pdf-row-t span { display: block; margin-top: 4px; color: #5b6472; font-size: calc(.92rem + 1pt); }
.sw-pdf-strip .sw-pdf-grid.is-inline { display: flex; flex-wrap: wrap; gap: 12px 30px; margin: 0 !important; }
.sw-pdf-strip .sw-pdf-grid.is-inline li { flex: 0 0 auto; }
.sw-pdf-strip .sw-pdf-ico { width: 76px; height: 76px; padding-bottom: 12px; font-size: 12px; }
.sw-pdf-strip .sw-pdf-ico::before { top: 16px; width: 24px; height: 24px; }
.sw-pdf-strip .sw-pdf b { margin-top: 10px; font-size: calc(.86rem + 1pt); line-height: 1.4; }
.sw-pdf-strip .sw-pdf small { margin-top: 3px; }
@media (max-width: 640px) { .sw-pdf-strip .sw-pdf-row { padding: 18px; } }

/* 2026-10-13: 사업분야 페이지 떠 있는 소개서 버튼 (.sw-pdf-float: 왼쪽 아래 고정, 남색 알약) */
.sw-pdf-float { position: fixed; left: 24px; bottom: 28px; z-index: 60; display: inline-flex; align-items: center; gap: 11px; padding: 11px 20px 11px 14px; border-radius: 999px; background: #0b1f44; color: #fff; text-decoration: none !important; box-shadow: 0 14px 34px rgba(11, 31, 68, .35), 0 0 0 1px rgba(255, 255, 255, .08) inset; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; animation: sw-pdf-float-in .6s cubic-bezier(.2, .8, .2, 1) both; }
.sw-pdf-float:hover { transform: translateY(-3px); background: #1e4fa3; box-shadow: 0 18px 40px rgba(30, 79, 163, .4); color: #fff; }
.sw-pdf-float-ico { width: 22px; height: 22px; flex: 0 0 22px; background: #9fd0ff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M12 18v-6'/%3E%3Cpath d='m9 15 3 3 3-3'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M12 18v-6'/%3E%3Cpath d='m9 15 3 3 3-3'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-pdf-float-t { display: flex; flex-direction: column; line-height: 1.25; }
.sw-pdf-float-t b { color: #fff; font-size: 14px; font-weight: 800; }
.sw-pdf-float-t small { color: rgba(255, 255, 255, .7); font-size: 11.5px; font-weight: 600; }
@keyframes sw-pdf-float-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@media (max-width: 640px) { .sw-pdf-float { left: 14px; bottom: 16px; padding: 10px 14px 10px 12px; } .sw-pdf-float-t small { display: none; } }
@media (prefers-reduced-motion: reduce) { .sw-pdf-float { animation: none; } }

/* 2026-10-13: AI 시대 기업 보안 3방향 도식 (.sw-sec3: 세 칸 + 수식 한 줄) */
.sw-post-body .sw-sec3 { margin: 30px 0 36px; padding: 26px 0 0; border-top: 3px solid #0b1f44; }
.sw-post-body .sw-sec3 p { margin: 0; }
.sw-post-body .sw-sec3-kicker { margin-bottom: 18px !important; color: #1f6fe5; font-size: calc(.88rem + 1pt); font-weight: 800; }
.sw-post-body .sw-sec3-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; border: 1px solid #dfe6f0; border-radius: 16px; overflow: hidden; background: #fff; }
.sw-post-body .sw-sec3-cols li { margin: 0; padding: 22px 22px 24px; line-height: 1.5; }
.sw-post-body .sw-sec3-cols li + li { border-left: 1px solid #e3e8f2; }
.sw-post-body .sw-sec3-cols small { display: block; margin-bottom: 8px; color: #1f6fe5; font-family: Roboto, sans-serif; font-size: 13px; font-weight: 800; }
.sw-post-body .sw-sec3-cols b { display: block; color: #0b1f44; font-size: calc(1.12rem + 1pt); font-weight: 900; letter-spacing: -.01em; }
.sw-post-body .sw-sec3-cols span { display: block; margin-top: 8px; color: #3b4658; font-size: calc(.9rem + 1pt); }
.sw-post-body .sw-sec3-cols li:nth-child(1) b { color: #0e9f8a; } .sw-post-body .sw-sec3-cols li:nth-child(2) b { color: #1e4fa3; } .sw-post-body .sw-sec3-cols li:nth-child(3) b { color: #2f6bd8; }
.sw-post-body .sw-sec3-sum { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 14px; margin-top: 16px !important; padding: 16px 20px; border-radius: 14px; background: #f3f6fb; color: #0b1f44; font-size: calc(1rem + 1pt); font-weight: 700; }
.sw-post-body .sw-sec3-sum i { color: #8a94a6; font-style: normal; font-weight: 400; }
.sw-post-body .sw-sec3-sum strong { padding: 6px 14px; border-radius: 999px; background: #0b1f44; color: #fff; font-weight: 800; }
@media (max-width: 760px) { .sw-post-body .sw-sec3-cols { grid-template-columns: 1fr; } .sw-post-body .sw-sec3-cols li + li { border-left: 0; border-top: 1px solid #e3e8f2; } }

/* 2026-10-13: 떠 있는 소개서 버튼 둥둥 떠다니기 */
.sw-pdf-float { animation: sw-pdf-float-in .6s cubic-bezier(.2, .8, .2, 1) both, sw-pdf-bob 3.4s ease-in-out .6s infinite; }
@keyframes sw-pdf-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }
.sw-pdf-float:hover { animation-play-state: running, paused; }
@media (prefers-reduced-motion: reduce) { .sw-pdf-float { animation: none; } }

/* 2026-10-13: 소개서 버튼 — 스크롤 관성(--sy) + 둥둥 떠다니기 합성 */
.sw-pdf-float { translate: 0 var(--sy, 0px); will-change: translate; }
@keyframes sw-pdf-bob { 0%, 100% { translate: 0 var(--sy, 0px); } 50% { translate: 0 calc(var(--sy, 0px) - 8px); } }

/* 2026-10-13: 소개서 버튼 둥둥 진폭 완화 (5px · 4.2s) */
.sw-pdf-float { animation: sw-pdf-float-in .6s cubic-bezier(.2, .8, .2, 1) both, sw-pdf-bob 4.2s ease-in-out .6s infinite; }
@keyframes sw-pdf-bob { 0%, 100% { translate: 0 var(--sy, 0px); } 50% { translate: 0 calc(var(--sy, 0px) - 5px); } }

/* 2026-10-13: 소개서 버튼 대비 확보 — 어두운 섹션 위에서도 보이도록 파란 바탕 + 흰 테두리 */
.sw-pdf-float { background: #1f6fe5; box-shadow: 0 0 0 2px #fff, 0 14px 34px rgba(8, 24, 60, .45); }
.sw-pdf-float:hover { background: #1557c7; box-shadow: 0 0 0 2px #fff, 0 18px 40px rgba(8, 24, 60, .5); }
.sw-pdf-float-ico { background: #fff; }
.sw-pdf-float-t small { color: rgba(255, 255, 255, .85); }

/* 2026-10-13: 섹션 머리글(.sw-ums-head) 제목과 설명 사이 간격 · 설명 줄간격 확대 */
.sw-ums-head h2 { margin-bottom: 22px; }
.sw-ums-head .sw-ums-lead { margin-top: 0; line-height: 1.9; }

/* 2026-10-13: AX 준비도 항목 제목 빛 번짐 제거 (그라데이션 글자만) */
.sw-ax-hexlist li strong { filter: none; }

/* 2026-10-13: AX 준비도 궤도 빛 — 가는 선 + 밝은 점 (두꺼운 꼬리 대신) */
.sw-ax-hexcore::after { inset: calc(var(--ring) - 6px);
  background:
    radial-gradient(circle at 50% 6px, #fff 0 2px, #7cc0f2 2.5px 4px, rgba(124, 192, 242, .55) 6px, rgba(124, 192, 242, 0) 13px),
    conic-gradient(from 0deg at 50% 50%, rgba(59, 143, 236, 0) 0deg 300deg, rgba(120, 190, 255, .9) 360deg);
  -webkit-mask: radial-gradient(circle closest-side, transparent calc(100% - 13px), #000 calc(100% - 12px), #000 calc(100% - 0.5px), transparent 100%);
  mask: radial-gradient(circle closest-side, transparent calc(100% - 13px), #000 calc(100% - 12px), #000 calc(100% - 0.5px), transparent 100%);
  filter: drop-shadow(0 0 6px rgba(120, 190, 255, .8)); }

/* 2026-10-13: 조직도 대표이사 칸 — 직함과 CEO 가운데 정렬 */
.sw-org3-ceo > div { text-align: center; }
.sw-org3-ceo span { letter-spacing: .18em; text-indent: .18em; }

/* 2026-10-13: 작동 과정 알약 체인 — 가운데 정렬 + 단계별 그라데이션 (남색 → 하늘색) */
.sw-post-body .sw-chain { justify-content: center; }
.sw-post-body .sw-chain span { border: 0; color: #fff; background: linear-gradient(135deg, var(--c1), var(--c2)); box-shadow: 0 6px 16px color-mix(in srgb, var(--c2) 30%, transparent); }
.sw-post-body .sw-chain span:nth-child(1) { --c1: #0b1f44; --c2: #1e4fa3; }
.sw-post-body .sw-chain span:nth-child(2) { --c1: #1e4fa3; --c2: #2f6bd8; }
.sw-post-body .sw-chain span:nth-child(3) { --c1: #2f6bd8; --c2: #3a7af0; }
.sw-post-body .sw-chain span:nth-child(4) { --c1: #3a7af0; --c2: #3b8fec; }
.sw-post-body .sw-chain span:nth-child(5) { --c1: #3b8fec; --c2: #3bb8d6; }
.sw-post-body .sw-chain span + span::before { color: #b9c5d8; }

/* 2026-10-13: AI Agent (2) — 다섯 층 스택(.sw-stack), 에이전트 팀 도식(.sw-team) */
.sw-post-body .sw-stack { margin: 28px 0 34px; padding: 22px 24px 20px; border: 1px solid #dfe6f0; border-radius: 16px; background: #fff; }
.sw-post-body .sw-stack-list { margin: 0; padding: 0; list-style: none; }
.sw-post-body .sw-stack-list li { display: grid; grid-template-columns: 34px 150px minmax(0, 1fr); align-items: center; gap: 0 16px; margin: 0; padding: 13px 16px; border-radius: 10px; line-height: 1.5; }
.sw-post-body .sw-stack-list li + li { margin-top: 6px; }
.sw-post-body .sw-stack-list li:nth-child(1) { background: #eaf0fb; } .sw-post-body .sw-stack-list li:nth-child(2) { background: #edf3fc; } .sw-post-body .sw-stack-list li:nth-child(3) { background: #f0f5fd; } .sw-post-body .sw-stack-list li:nth-child(4) { background: #f4f7fd; } .sw-post-body .sw-stack-list li:nth-child(5) { background: #0b1f44; color: #fff; }
.sw-post-body .sw-stack-list small { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #0b1f44; color: #fff; font-family: Roboto, sans-serif; font-size: 13px; font-weight: 800; }
.sw-post-body .sw-stack-list li:nth-child(5) small { background: #fff; color: #0b1f44; }
.sw-post-body .sw-stack-list b { color: #0b1f44; font-size: calc(1.02rem + 1pt); font-weight: 800; }
.sw-post-body .sw-stack-list li:nth-child(5) b { color: #fff; }
.sw-post-body .sw-stack-list span { color: #3b4658; font-size: calc(.88rem + 1pt); }
.sw-post-body .sw-stack-list li:nth-child(5) span { color: rgba(255, 255, 255, .82); }
.sw-post-body .sw-team { margin: 28px 0 34px; padding: 24px; border: 1px solid #dfe6f0; border-radius: 18px; background: #f7f9fd; }
.sw-post-body .sw-team p { margin: 0; }
.sw-post-body .sw-team-top, .sw-post-body .sw-team-bottom { display: grid; grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr); align-items: stretch; gap: 0; }
.sw-post-body .sw-team-top > div, .sw-post-body .sw-team-bottom > div, .sw-post-body .sw-team-subs li { padding: 14px 16px; border: 1px solid #dfe6f0; border-radius: 12px; background: #fff; line-height: 1.45; }
.sw-post-body .sw-team-top > i, .sw-post-body .sw-team-bottom > i { position: relative; }
.sw-post-body .sw-team-top > i::before, .sw-post-body .sw-team-bottom > i::before { content: "→"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: #9aa7bd; font-size: 20px; }
.sw-post-body .sw-team-user, .sw-post-body .sw-team-bottom .is-human { border-color: #1e4fa3 !important; background: #eaf2ff !important; }
.sw-post-body .sw-team-lead { border-color: #0b1f44 !important; background: #0b1f44 !important; color: #fff; }
.sw-post-body .sw-team b { display: block; color: #0b1f44; font-size: calc(.98rem + 1pt); font-weight: 800; }
.sw-post-body .sw-team-lead b { color: #fff; }
.sw-post-body .sw-team span { display: block; margin-top: 3px; color: #3b4658; font-size: calc(.86rem + 1pt); }
.sw-post-body .sw-team-lead span { color: rgba(255, 255, 255, .8); }
.sw-post-body .sw-team em { display: block; margin-top: 6px; color: #9fd0ff; font-size: calc(.78rem + 1pt); font-style: normal; font-weight: 700; }
.sw-post-body .sw-team-subs { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 34px 0 !important; padding: 0; list-style: none; }
.sw-post-body .sw-team-subs::before { content: ""; position: absolute; top: -20px; left: 16.6%; right: 16.6%; height: 1px; background: #b9c5d8; }
.sw-post-body .sw-team-subs li { position: relative; margin: 0; }
.sw-post-body .sw-team-subs li::before { content: ""; position: absolute; top: -20px; left: 50%; width: 1px; height: 20px; background: #b9c5d8; }
.sw-post-body .sw-team small { display: inline-block; margin: 8px 6px 0 0; padding: 3px 9px; border-radius: 6px; font-size: calc(.74rem + 1pt); font-weight: 700; line-height: 1.4; }
.sw-post-body .sw-team small.is-mcp { background: #eaf2ff; color: #1e4fa3; }
.sw-post-body .sw-team small.is-perm { background: #e6f5f2; color: #0b6b5c; }
.sw-post-body .sw-team-bottom .is-human small.is-perm { background: #0b1f44; color: #fff; }
.sw-post-body .sw-team-note { margin-top: 16px !important; color: #5b6472; font-size: calc(.86rem + 1pt); line-height: 1.6; }
@media (max-width: 760px) {
  .sw-post-body .sw-stack-list li { grid-template-columns: 30px minmax(0, 1fr); } .sw-post-body .sw-stack-list span { grid-column: 2; }
  .sw-post-body .sw-team-top, .sw-post-body .sw-team-bottom { grid-template-columns: 1fr; gap: 8px; } .sw-post-body .sw-team-top > i, .sw-post-body .sw-team-bottom > i { height: 20px; }
  .sw-post-body .sw-team-top > i::before, .sw-post-body .sw-team-bottom > i::before { content: "↓"; }
  .sw-post-body .sw-team-subs { grid-template-columns: 1fr; } .sw-post-body .sw-team-subs::before, .sw-post-body .sw-team-subs li::before { display: none; }
}

/* 2026-10-13: 세로 흐름도 아이콘(.sw-vflow li.has-ico) — 제목 위에 선 아이콘 */
.sw-post-body .sw-vflow li.has-ico { padding-top: 18px; }
.sw-post-body .sw-vflow li.has-ico::before { content: ""; position: static; display: block; width: 34px; height: 34px; margin: 0 auto 8px; border: 0; background: #1e4fa3; transform: none; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.sw-post-body .sw-vflow li.has-ico::after { content: ""; position: absolute; left: 50%; bottom: -18px; width: 9px; height: 9px; border-right: 2px solid #0b1f44; border-bottom: 2px solid #0b1f44; transform: translateX(-50%) rotate(45deg); }
.sw-post-body .sw-vflow li.has-ico:last-child::after { display: none; }
.sw-post-body .sw-vflow li.is-brain { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z'/%3E%3Cpath d='M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z'/%3E%3Cpath d='M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4'/%3E%3Cpath d='M12 5v13'/%3E%3C/svg%3E"); }
.sw-post-body .sw-vflow li.is-harness { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='3'/%3E%3Cpath d='M8 12h8'/%3E%3Cpath d='M12 8v8'/%3E%3Ccircle cx='12' cy='12' r='2.5' fill='white'/%3E%3C/svg%3E"); }
.sw-post-body .sw-vflow li.is-systems { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='6' rx='1.5'/%3E%3Crect x='3' y='14' width='18' height='6' rx='1.5'/%3E%3Cpath d='M7 7h.01M7 17h.01'/%3E%3C/svg%3E"); }
.sw-post-body .sw-vflow li.is-h.has-ico::before { background: #1e4fa3; }

/* 2026-10-13: AI Agent Harness 도식 (.sw-hn: LLM ↔ 하네스 ↔ 업무 시스템, 담당자 승인, 통제 5요소) */
.sw-post-body .sw-hn { margin: 30px 0 36px; padding: 28px 28px 24px; border: 1px solid #dfe6f0; border-radius: 20px; background: #f7f9fd; --ink: #0b1f44; --ln: #b9c5d8; }
.sw-post-body .sw-hn p { margin: 0; }
.sw-post-body .sw-hn-title { color: var(--ink); font-family: Montserrat, Roboto, sans-serif; font-size: calc(1.7rem + 1pt); font-weight: 800; text-align: center; letter-spacing: -.01em; }
.sw-post-body .sw-hn-sub { margin: 4px 0 24px !important; color: #3b4658; font-size: calc(.98rem + 1pt); text-align: center; }
.sw-post-body .sw-hn-grid { display: grid; grid-template-columns: 170px minmax(0, 1fr) 230px; grid-template-areas: ". llm ctrl" ". arrows ctrl" "user uarr ctrl" "core core ctrl" "down down ctrl" "sys sys sys"; gap: 0 18px; align-items: center; }
.sw-post-body .sw-hn i { display: block; flex: 0 0 auto; background: #1e4fa3; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.sw-post-body .sw-hn-llm { grid-area: llm; justify-self: center; display: flex; align-items: center; gap: 14px; min-width: 300px; padding: 16px 22px; border: 1px solid #dfe6f0; border-radius: 14px; background: #fff; }
.sw-post-body .sw-hn-llm i { width: 40px; height: 40px; }
.sw-post-body .sw-hn b { display: block; color: var(--ink); font-size: calc(1rem + 1pt); font-weight: 800; line-height: 1.3; }
.sw-post-body .sw-hn span { display: block; color: #5b6472; font-size: calc(.84rem + 1pt); line-height: 1.4; }
.sw-post-body .sw-hn-arrows { grid-area: arrows; display: flex; justify-content: center; gap: 36px; padding: 8px 0; color: #3b4658; font-size: calc(.82rem + 1pt); font-weight: 600; }
.sw-post-body .sw-hn-user { grid-area: user; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 18px 12px; border: 1px solid #dfe6f0; border-radius: 14px; background: #fff; text-align: center; }
.sw-post-body .sw-hn-user i { width: 34px; height: 34px; }
.sw-post-body .sw-hn-userarrows { grid-area: uarr; display: flex; flex-direction: column; gap: 10px; align-items: center; color: #3b4658; font-size: calc(.82rem + 1pt); font-weight: 600; }
.sw-post-body .sw-hn-core { grid-area: core; display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 12px; padding: 22px 26px; border-radius: 16px; background: var(--ink); color: #fff; box-shadow: 0 16px 36px rgba(11, 31, 68, .25); }
.sw-post-body .sw-hn-core i { width: 44px; height: 44px; background: #7cc0f2; }
.sw-post-body .sw-hn-core b { color: #fff; font-family: Montserrat, Roboto, sans-serif; font-size: calc(1.5rem + 1pt); }
.sw-post-body .sw-hn-core span { color: rgba(255, 255, 255, .82); font-size: calc(.9rem + 1pt); }
.sw-post-body .sw-hn-ctrl { grid-area: ctrl; position: relative; display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 14px 14px 14px 22px; border: 1px solid #dfe6f0; border-radius: 14px; background: #fff; list-style: none; }
.sw-post-body .sw-hn-ctrl::before { content: ""; position: absolute; left: 0; top: 14%; bottom: 14%; width: 2px; background: var(--ln); }
.sw-post-body .sw-hn-ctrl li { position: relative; display: flex; align-items: center; gap: 10px; margin: 0; }
.sw-post-body .sw-hn-ctrl li::before { content: ""; position: absolute; left: -26px; top: 50%; width: 8px; height: 8px; border-radius: 50%; background: #1e4fa3; transform: translateY(-50%); }
.sw-post-body .sw-hn-ctrl i { width: 26px; height: 26px; }
.sw-post-body .sw-hn-ctrl b { font-size: calc(.92rem + 1pt); }
.sw-post-body .sw-hn-ctrl span { font-size: calc(.78rem + 1pt); }
.sw-post-body .sw-hn-down { grid-area: down; position: relative; padding: 14px 0 26px; color: #3b4658; font-size: calc(.84rem + 1pt); font-weight: 600; text-align: center; }
.sw-post-body .sw-hn-down::after { content: ""; position: absolute; left: 50%; bottom: 6px; width: 1px; height: 16px; background: var(--ln); }
.sw-post-body .sw-hn-sys { grid-area: sys; position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 20px 0 0; list-style: none; }
.sw-post-body .sw-hn-sys::before { content: ""; position: absolute; top: 0; left: 10%; right: 10%; height: 1px; background: var(--ln); }
.sw-post-body .sw-hn-sys li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 0; padding: 16px 10px; border: 1px solid #dfe6f0; border-radius: 12px; background: #fff; text-align: center; }
.sw-post-body .sw-hn-sys li::before { content: ""; position: absolute; top: -20px; left: 50%; width: 1px; height: 20px; background: var(--ln); }
.sw-post-body .sw-hn-sys i { width: 30px; height: 30px; }
.sw-post-body .sw-hn-sys b { font-size: calc(.95rem + 1pt); }
.sw-post-body .sw-hn-sys span { font-size: calc(.76rem + 1pt); }
.sw-post-body .sw-hn-key { display: flex; align-items: center; gap: 12px; margin-top: 22px !important; padding: 14px 18px; border-radius: 12px; background: #eaf2ff; color: var(--ink); font-size: calc(.95rem + 1pt); }
.sw-post-body .sw-hn-key i { width: 24px; height: 24px; background: #1f6fe5; }
.sw-post-body .sw-hn-key b { display: inline; color: #1e4fa3; font-size: inherit; }
.sw-post-body .sw-hn .is-brain { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z'/%3E%3Cpath d='M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z'/%3E%3Cpath d='M12 5v13'/%3E%3C/svg%3E"); }
.sw-post-body .sw-hn .is-user { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }
.sw-post-body .sw-hn .is-layers { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 2 9 5-9 5-9-5 9-5z'/%3E%3Cpath d='m3 12 9 5 9-5'/%3E%3Cpath d='m3 17 9 5 9-5'/%3E%3C/svg%3E"); }
.sw-post-body .sw-hn .is-shield { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 3.5V12c0 5-3.5 8.5-8 10-4.5-1.5-8-5-8-10V5.5z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.sw-post-body .sw-hn .is-approve { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='m9 15 2 2 4-4'/%3E%3C/svg%3E"); }
.sw-post-body .sw-hn .is-log { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M8 8h8M8 12h8M8 16h5'/%3E%3C/svg%3E"); }
.sw-post-body .sw-hn .is-box { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21 8-9-5-9 5v8l9 5 9-5z'/%3E%3Cpath d='m3 8 9 5 9-5'/%3E%3Cpath d='M12 13v8'/%3E%3C/svg%3E"); }
.sw-post-body .sw-hn .is-lock { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E"); }
.sw-post-body .sw-hn .is-erp { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='6' rx='1.5'/%3E%3Crect x='3' y='14' width='18' height='6' rx='1.5'/%3E%3Cpath d='M7 7h.01M7 17h.01'/%3E%3C/svg%3E"); }
.sw-post-body .sw-hn .is-crm { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20a6.5 6.5 0 0 1 13 0M16 4a3.5 3.5 0 0 1 0 7M21.5 20a6.5 6.5 0 0 0-5-6.3'/%3E%3C/svg%3E"); }
.sw-post-body .sw-hn .is-db { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cellipse cx='12' cy='5' rx='8' ry='3'/%3E%3Cpath d='M4 5v14c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3'/%3E%3C/svg%3E"); }
.sw-post-body .sw-hn .is-msg { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E"); }
.sw-post-body .sw-hn .is-cart { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/%3E%3C/svg%3E"); }
.sw-post-body .sw-hn .is-bulb { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 22h4'/%3E%3Cpath d='M12 2a7 7 0 0 0-4 12.7c.7.6 1 1.3 1 2.3h6c0-1 .3-1.7 1-2.3A7 7 0 0 0 12 2z'/%3E%3C/svg%3E"); }
@media (max-width: 860px) {
  .sw-post-body .sw-hn { padding: 20px 16px; }
  .sw-post-body .sw-hn-grid { grid-template-columns: 1fr; grid-template-areas: "llm" "arrows" "core" "uarr" "user" "ctrl" "down" "sys"; gap: 10px; }
  .sw-post-body .sw-hn-llm { min-width: 0; width: 100%; }
  .sw-post-body .sw-hn-userarrows { flex-direction: row; justify-content: center; gap: 20px; }
  .sw-post-body .sw-hn-userarrows span:first-child::before { content: "↓ "; } .sw-post-body .sw-hn-userarrows span:first-child { font-size: 0; } .sw-post-body .sw-hn-userarrows span:first-child::before { font-size: calc(.82rem + 1pt); content: "승인 요청 ↓"; }
  .sw-post-body .sw-hn-ctrl::before, .sw-post-body .sw-hn-ctrl li::before { display: none; }
  .sw-post-body .sw-hn-ctrl { padding: 14px; }
  .sw-post-body .sw-hn-sys { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sw-post-body .sw-hn-sys::before, .sw-post-body .sw-hn-sys li::before { display: none; }
}

/* 2026-10-13: AI Agent Harness 도식 v2 — 글자 화살표 대신 실제 연결선 (세로·가로 화살표, 통제 패널 연결, 시스템 분기) */
.sw-post-body .sw-hn-grid { grid-template-columns: 150px 120px minmax(0, 1fr) 230px; grid-template-areas: ". . llm ctrl" ". . arrows ctrl" "user uarr core ctrl" ". . down ctrl" "sys sys sys sys"; gap: 0 0; }
.sw-post-body .sw-hn-llm { min-width: 0; width: min(100%, 360px); }
.sw-post-body .sw-hn-core { margin: 0 18px 0 0; }
.sw-post-body .sw-hn-ctrl { align-self: center; margin-left: 0; }
/* LLM ↔ 하네스 세로 화살표 */
.sw-post-body .sw-hn-arrows { position: relative; height: 64px; padding: 0; gap: 0; display: block; }
.sw-post-body .sw-hn-arrows span { position: absolute; top: 50%; transform: translateY(-50%); white-space: nowrap; }
.sw-post-body .sw-hn-arrows span::before { content: ""; position: absolute; top: -32px; bottom: -32px; width: 2px; background: var(--ln); }
.sw-post-body .sw-hn-arrows span::after { content: ""; position: absolute; width: 9px; height: 9px; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); }
.sw-post-body .sw-hn-arrows .is-down { right: calc(50% + 24px); }
.sw-post-body .sw-hn-arrows .is-down::before { right: -16px; }
.sw-post-body .sw-hn-arrows .is-down::after { right: -19.5px; bottom: -31px; transform: rotate(45deg); }
.sw-post-body .sw-hn-arrows .is-up { left: calc(50% + 24px); }
.sw-post-body .sw-hn-arrows .is-up::before { left: -16px; }
.sw-post-body .sw-hn-arrows .is-up::after { left: -19.5px; top: -31px; transform: rotate(-135deg); }
/* 담당자 ↔ 하네스 가로 화살표 */
.sw-post-body .sw-hn-user { margin-right: 0; }
.sw-post-body .sw-hn-userarrows { position: relative; display: block; height: 100%; min-height: 90px; }
.sw-post-body .sw-hn-userarrows span { position: absolute; left: 50%; transform: translateX(-50%); white-space: nowrap; }
.sw-post-body .sw-hn-userarrows span::before { content: ""; position: absolute; left: -52px; right: -52px; height: 2px; background: var(--ln); }
.sw-post-body .sw-hn-userarrows span::after { content: ""; position: absolute; width: 9px; height: 9px; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); }
.sw-post-body .sw-hn-userarrows .is-left { top: calc(50% - 30px); }
.sw-post-body .sw-hn-userarrows .is-left::before { bottom: -8px; }
.sw-post-body .sw-hn-userarrows .is-left::after { left: -51px; bottom: -11.5px; transform: rotate(135deg); }
.sw-post-body .sw-hn-userarrows .is-right { top: calc(50% + 14px); }
.sw-post-body .sw-hn-userarrows .is-right::before { top: -8px; }
.sw-post-body .sw-hn-userarrows .is-right::after { right: -51px; top: -11.5px; transform: rotate(-45deg); }
/* 하네스 → 통제 패널 연결선 */
.sw-post-body .sw-hn-core { position: relative; }
.sw-post-body .sw-hn-core::after { content: ""; position: absolute; right: -18px; top: 50%; width: 18px; height: 2px; background: var(--ln); transform: translateY(-50%); }
.sw-post-body .sw-hn-core::before { content: ""; position: absolute; right: -4px; top: 50%; width: 10px; height: 10px; border-radius: 50%; background: #1e4fa3; box-shadow: 0 0 0 3px #fff; transform: translateY(-50%); z-index: 1; }
/* 하네스 → 업무 시스템 분기선 (라벨 옆 세로선 + 가지마다 화살표) */
.sw-post-body .sw-hn-down { padding: 10px 0 30px; }
.sw-post-body .sw-hn-down::before { content: ""; position: absolute; left: 50%; top: 0; width: 2px; height: 10px; background: var(--ln); }
.sw-post-body .sw-hn-down::after { bottom: 0; height: 22px; width: 2px; }
.sw-post-body .sw-hn-sys { padding-top: 26px; }
.sw-post-body .sw-hn-sys::before { height: 2px; }
.sw-post-body .sw-hn-sys li::before { top: -26px; height: 22px; width: 2px; }
.sw-post-body .sw-hn-sys li::after { content: ""; position: absolute; top: -9px; left: 50%; width: 8px; height: 8px; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); transform: translateX(-50%) rotate(45deg); }
@media (max-width: 860px) {
  .sw-post-body .sw-hn-grid { grid-template-columns: 1fr; grid-template-areas: "llm" "arrows" "core" "uarr" "user" "ctrl" "down" "sys"; }
  .sw-post-body .sw-hn-arrows { height: 44px; }
  .sw-post-body .sw-hn-arrows span::before { top: -22px; bottom: -22px; } .sw-post-body .sw-hn-arrows .is-down::after { bottom: -21px; } .sw-post-body .sw-hn-arrows .is-up::after { top: -21px; }
  .sw-post-body .sw-hn-core { margin: 0; } .sw-post-body .sw-hn-core::before, .sw-post-body .sw-hn-core::after { display: none; }
  .sw-post-body .sw-hn-userarrows { min-height: 0; height: auto; display: flex; justify-content: center; gap: 24px; padding: 8px 0; }
  .sw-post-body .sw-hn-userarrows span { position: static; transform: none; } .sw-post-body .sw-hn-userarrows span::before, .sw-post-body .sw-hn-userarrows span::after { display: none; }
  .sw-post-body .sw-hn-userarrows .is-left::before { content: "↑ "; display: inline; position: static; background: none; } .sw-post-body .sw-hn-userarrows .is-right::after { content: " ↓"; display: inline; position: static; border: 0; transform: none; }
  .sw-post-body .sw-hn-sys li::after { display: none; }
}

/* 2026-10-13: 3방향 도식 아이콘 (.sw-sec3.has-ico li > i) */
.sw-post-body .sw-sec3.has-ico .sw-sec3-cols li > i { display: block; width: 36px; height: 36px; margin-bottom: 12px; background: #1e4fa3; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.sw-post-body .sw-sec3.has-ico .sw-sec3-cols li:nth-child(1) > i { background: #0e9f8a; } .sw-post-body .sw-sec3.has-ico .sw-sec3-cols li:nth-child(3) > i { background: #2f6bd8; }
.sw-post-body .sw-sec3 .is-people { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20a6.5 6.5 0 0 1 13 0'/%3E%3Cpath d='M17 8h5M19.5 5.5v5'/%3E%3C/svg%3E"); }
.sw-post-body .sw-sec3 .is-cost { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17l5-5 4 4 8-9'/%3E%3Cpath d='M15 7h5v5'/%3E%3C/svg%3E"); }
.sw-post-body .sw-sec3 .is-clock { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }

/* 2026-10-13: 하네스 도식 분기 화살표 끝 맞춤 — 선은 화살촉 중심에서 끝나고 촉 끝이 상자에 닿게 */
.sw-post-body .sw-hn-sys li::before { top: -26px; height: 19px; }
.sw-post-body .sw-hn-sys li::after { top: -12px; }
.sw-post-body .sw-hn-arrows .is-down::before { bottom: -24px; }
.sw-post-body .sw-hn-arrows .is-up::before { top: -24px; }
.sw-post-body .sw-hn-userarrows .is-left::before { left: -44px; }
.sw-post-body .sw-hn-userarrows .is-right::before { right: -44px; }

/* 2026-10-13: 하네스 도식 통제 패널 연결선 정렬 — 세로 선과 점을 한 줄에, 하네스 연결선이 그 선에 닿게 */
.sw-post-body .sw-hn-ctrl { padding-left: 32px; }
.sw-post-body .sw-hn-ctrl::before { left: 13px; top: 12.5%; bottom: 12.5%; }
.sw-post-body .sw-hn-ctrl li::before { left: -23px; width: 8px; height: 8px; }
.sw-post-body .sw-hn-core { z-index: 2; }
.sw-post-body .sw-hn-core::after { right: -32px; width: 32px; }

/* 2026-10-13: 하네스 도식 — 상자에 가려진 화살촉 노출 */
.sw-post-body .sw-hn-userarrows .is-right::after { right: -41px; }
.sw-post-body .sw-hn-arrows .is-down::after { bottom: -21px; }

/* 2026-10-13: 다섯 층 스택 v2 — 아래로 갈수록 넓어지는 계단형 블록 + 층별 아이콘/색 */
.sw-post-body .sw-stack.is-v2 { padding: 22px 26px 18px; background: #f7f9fd; }
.sw-post-body .sw-stack.is-v2 .sw-stack-list li { display: grid; grid-template-columns: var(--w) minmax(0, 1fr); align-items: center; gap: 0 20px; padding: 0; background: none; border-radius: 0; }
.sw-post-body .sw-stack.is-v2 .sw-stack-list li + li { margin-top: 8px; }
.sw-post-body .sw-stack.is-v2 .sw-stack-list li.l5 { --w: 46%; --c1: #3bb8d6; --c2: #3b8fec; }
.sw-post-body .sw-stack.is-v2 .sw-stack-list li.l4 { --w: 56%; --c1: #3b8fec; --c2: #3a7af0; }
.sw-post-body .sw-stack.is-v2 .sw-stack-list li.l3 { --w: 66%; --c1: #3a7af0; --c2: #2f6bd8; }
.sw-post-body .sw-stack.is-v2 .sw-stack-list li.l2 { --w: 76%; --c1: #2f6bd8; --c2: #1e4fa3; }
.sw-post-body .sw-stack.is-v2 .sw-stack-list li.l1 { --w: 86%; --c1: #1e4fa3; --c2: #0b1f44; }
.sw-post-body .sw-stack.is-v2 .sw-stack-list li { grid-template-columns: minmax(0, 1fr); }
.sw-post-body .sw-stack.is-v2 .sw-stack-blk { position: relative; display: flex; align-items: center; gap: 12px; width: var(--w); margin: 0 auto; padding: 14px 22px; border-radius: 12px; background: linear-gradient(100deg, var(--c1), var(--c2)); color: #fff; box-shadow: 0 10px 24px color-mix(in srgb, var(--c2) 30%, transparent); }
.sw-post-body .sw-stack.is-v2 .sw-stack-blk i { display: block; flex: 0 0 auto; width: 28px; height: 28px; background: #fff; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.sw-post-body .sw-stack.is-v2 .sw-stack-blk small { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(255, 255, 255, .22); color: #fff; font-family: Roboto, sans-serif; font-size: 13px; font-weight: 800; }
.sw-post-body .sw-stack.is-v2 .sw-stack-blk b { color: #fff; font-size: calc(1.08rem + 1pt); font-weight: 900; white-space: nowrap; }
.sw-post-body .sw-stack.is-v2 .sw-stack-list span { display: block; margin: 6px auto 0; width: var(--w); color: #3b4658; font-size: calc(.86rem + 1pt); text-align: center; }
.sw-post-body .sw-stack.is-v2 .sw-stack-list li:nth-child(5) span { color: #3b4658; }
.sw-post-body .sw-stack-note { margin: 16px 0 0 !important; color: #5b6472; font-size: calc(.86rem + 1pt); text-align: center; }
.sw-post-body .sw-stack .is-team { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='5' r='3'/%3E%3Ccircle cx='5' cy='19' r='3'/%3E%3Ccircle cx='19' cy='19' r='3'/%3E%3Cpath d='M12 8v3M12 11 6.5 16.5M12 11l5.5 5.5'/%3E%3C/svg%3E"); }
.sw-post-body .sw-stack .is-shield { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 3.5V12c0 5-3.5 8.5-8 10-4.5-1.5-8-5-8-10V5.5z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.sw-post-body .sw-stack .is-plug { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 2v6M15 2v6'/%3E%3Cpath d='M6 8h12v4a6 6 0 0 1-12 0z'/%3E%3Cpath d='M12 18v4'/%3E%3C/svg%3E"); }
.sw-post-body .sw-stack .is-layers { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 2 9 5-9 5-9-5 9-5z'/%3E%3Cpath d='m3 12 9 5 9-5'/%3E%3Cpath d='m3 17 9 5 9-5'/%3E%3C/svg%3E"); }
.sw-post-body .sw-stack .is-bot { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='8' width='16' height='12' rx='3'/%3E%3Cpath d='M12 4v4M8 2h8'/%3E%3Ccircle cx='9' cy='14' r='1.2' fill='black'/%3E%3Ccircle cx='15' cy='14' r='1.2' fill='black'/%3E%3C/svg%3E"); }
@media (max-width: 640px) { .sw-post-body .sw-stack.is-v2 .sw-stack-list li { --w: 100% !important; } .sw-post-body .sw-stack.is-v2 .sw-stack-blk b { white-space: normal; } }

/* 2026-10-13: 글 본문 작은 제목(h3) 색 — 소제목(h2 파랑)과 구분되는 남색 + 왼쪽 점 */
.sw-post-body h3 { position: relative; padding-left: 16px; color: #0b1f44; }
.sw-post-body h3::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: #3bb8d6; }

/* 2026-10-13: 알약 체인(.sw-chain) 위아래 여백 — 제목과 붙지 않게 */
.sw-post-body .sw-chain { margin: 22px 0 28px; }
.sw-post-body h2 + .sw-chain { margin-top: 26px; }

/* 알약 체인 제목 아래 간격 강제 */
.sw-post-body h2 + .sw-chain { margin-top: 32px !important; }
.sw-post-body .sw-chain { margin-bottom: 32px !important; }

/* 2026-10-13: 다섯 층 스택 v3 — 오른쪽 정렬 계단, 층별 바 + 설명 패널 + 점선 화살표 + 안내 띠 */
.sw-post-body .sw-stack.is-v3 { padding: 26px 28px 24px; background: linear-gradient(160deg, #f7f9fd, #eef3fb); }
.sw-post-body .sw-stack.is-v3 .sw-stack-title { margin: 0 0 20px; color: #1e4fa3; font-size: calc(1.4rem + 1pt); font-weight: 900; letter-spacing: -.02em; }
.sw-post-body .sw-stack.is-v3 .sw-stack-list { margin: 0; padding: 0; list-style: none; }
.sw-post-body .sw-stack.is-v3 .sw-stack-list li { position: relative; display: block; width: var(--w); margin: 0 0 0 auto; padding: 0; background: none; border-radius: 0; }
.sw-post-body .sw-stack.is-v3 .sw-stack-list li + li { margin-top: 10px; }
.sw-post-body .sw-stack.is-v3 .sw-stack-list li.l5 { --w: 62%; --c1: #22b8d8; --c2: #2f8fe8; }
.sw-post-body .sw-stack.is-v3 .sw-stack-list li.l4 { --w: 71.5%; --c1: #2f8fe8; --c2: #2a6fe0; }
.sw-post-body .sw-stack.is-v3 .sw-stack-list li.l3 { --w: 81%; --c1: #2a6fe0; --c2: #1f55c4; }
.sw-post-body .sw-stack.is-v3 .sw-stack-list li.l2 { --w: 90.5%; --c1: #1f55c4; --c2: #163d8f; }
.sw-post-body .sw-stack.is-v3 .sw-stack-list li.l1 { --w: 100%; --c1: #163d8f; --c2: #0b1f44; }
.sw-post-body .sw-stack.is-v3 .sw-stack-blk { position: relative; display: flex; align-items: center; gap: 14px; width: auto; margin: 0; padding: 12px 22px 12px 16px; border-radius: 14px 14px 0 0; background: linear-gradient(100deg, var(--c1), var(--c2)); color: #fff; box-shadow: 0 10px 24px color-mix(in srgb, var(--c2) 28%, transparent); }
.sw-post-body .sw-stack.is-v3 .sw-stack-blk i { width: 46px; height: 46px; flex: 0 0 46px; border-radius: 50%; background: rgba(255, 255, 255, .18); -webkit-mask: none; mask: none; position: relative; }
.sw-post-body .sw-stack.is-v3 .sw-stack-blk i::before { content: ""; position: absolute; inset: 11px; background: #fff; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }
.sw-post-body .sw-stack.is-v3 .sw-stack-blk small { width: 30px; height: 30px; font-size: 14px; background: rgba(255, 255, 255, .22); }
.sw-post-body .sw-stack.is-v3 .sw-stack-blk b { position: relative; padding-left: 14px; font-size: calc(1.15rem + 1pt); }
.sw-post-body .sw-stack.is-v3 .sw-stack-blk b::before { content: ""; position: absolute; left: 0; top: 10%; bottom: 10%; width: 1px; background: rgba(255, 255, 255, .45); }
.sw-post-body .sw-stack.is-v3 .sw-stack-blk em { margin-left: auto; color: rgba(255, 255, 255, .45); font-family: Montserrat, Roboto, sans-serif; font-size: 22px; font-style: normal; font-weight: 600; }
.sw-post-body .sw-stack.is-v3 .sw-stack-list span { display: block; width: auto; margin: 0; padding: 12px 20px 13px; border-radius: 0 0 14px 14px; background: #fff; color: #3b4658; font-size: calc(.88rem + 1pt); text-align: center; box-shadow: 0 6px 16px rgba(16, 47, 103, .06); }
/* 점선 화살표: 아래 층 왼쪽에서 위 층으로 */
.sw-post-body .sw-stack.is-v3 .sw-stack-list li:not(.l1)::before { content: ""; position: absolute; left: -52px; top: 46px; width: 44px; height: 44px; border-left: 2px dashed #3b8fec; border-top: 2px dashed #3b8fec; border-top-left-radius: 22px; transform: rotate(10deg); }
.sw-post-body .sw-stack.is-v3 .sw-stack-list li:not(.l1)::after { content: ""; position: absolute; left: -16px; top: 36px; width: 0; height: 0; border-left: 7px solid transparent; border-right: 7px solid transparent; border-bottom: 11px solid #3b8fec; transform: rotate(45deg); }
.sw-post-body .sw-stack.is-v3 .sw-stack-note { display: flex; align-items: center; gap: 14px; margin: 22px auto 0 !important; width: fit-content; max-width: 100%; padding: 12px 22px; border-radius: 999px; background: #eaf2ff; color: #0b1f44; font-size: calc(.9rem + 1pt); text-align: left; }
.sw-post-body .sw-stack.is-v3 .sw-stack-note i { flex: 0 0 22px; width: 22px; height: 22px; border-radius: 50%; border: 2px solid #1f6fe5; position: relative; }
.sw-post-body .sw-stack.is-v3 .sw-stack-note i::before { content: "i"; position: absolute; inset: 0; display: grid; place-items: center; color: #1f6fe5; font-family: Georgia, serif; font-size: 13px; font-weight: 700; }
@media (max-width: 760px) { .sw-post-body .sw-stack.is-v3 { padding: 18px 14px; } .sw-post-body .sw-stack.is-v3 .sw-stack-list li { --w: 100% !important; } .sw-post-body .sw-stack.is-v3 .sw-stack-list li::before, .sw-post-body .sw-stack.is-v3 .sw-stack-list li::after { display: none; } .sw-post-body .sw-stack.is-v3 .sw-stack-blk em { display: none; } }

/* 2026-10-13: 다섯 층 도식 v3 보강 — 제목 흰색 강제, 바 광택·입체 그림자, 설명 패널 그림자, 안내 띠 그림자 */
.sw-post-body .sw-stack.is-v3 .sw-stack-blk b, .sw-post-body .sw-stack.is-v3 .sw-stack-blk small { color: #fff !important; }
.sw-post-body .sw-stack.is-v3 .sw-stack-blk { overflow: hidden; box-shadow: 0 18px 36px color-mix(in srgb, var(--c2) 38%, transparent), 0 2px 0 rgba(255, 255, 255, .25) inset, 0 -3px 0 rgba(0, 0, 0, .12) inset; text-shadow: 0 1px 2px rgba(0, 0, 0, .25); }
.sw-post-body .sw-stack.is-v3 .sw-stack-blk::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, 0) 55%); pointer-events: none; }
.sw-post-body .sw-stack.is-v3 .sw-stack-blk::after { content: ""; position: absolute; top: -40%; right: 18%; width: 34%; height: 180%; background: linear-gradient(100deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .14), rgba(255, 255, 255, 0)); transform: skewX(-18deg); pointer-events: none; }
.sw-post-body .sw-stack.is-v3 .sw-stack-blk i { background: rgba(255, 255, 255, .22); box-shadow: 0 0 0 2px rgba(255, 255, 255, .25), 0 6px 14px rgba(0, 0, 0, .18); }
.sw-post-body .sw-stack.is-v3 .sw-stack-blk small { box-shadow: 0 0 0 1.5px rgba(255, 255, 255, .35); }
.sw-post-body .sw-stack.is-v3 .sw-stack-blk em { color: rgba(255, 255, 255, .55); text-shadow: none; }
.sw-post-body .sw-stack.is-v3 .sw-stack-list span { box-shadow: 0 14px 28px rgba(16, 47, 103, .12), 0 1px 0 rgba(16, 47, 103, .06); }
.sw-post-body .sw-stack.is-v3 .sw-stack-list li { filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .6)); }
.sw-post-body .sw-stack.is-v3 .sw-stack-note { box-shadow: 0 10px 24px rgba(31, 111, 229, .15); border: 1px solid #d6e4fb; }
.sw-post-body .sw-stack.is-v3 { box-shadow: 0 24px 60px rgba(16, 47, 103, .1) inset, 0 0 0 1px #e3e8f2; }

/* 2026-10-13: 다섯 층 도식 설명 패널 글자 진하게 */
.sw-post-body .sw-stack.is-v3 .sw-stack-list span { color: #0b1f44; font-weight: 600; font-size: calc(.92rem + 1pt); }

/* 2026-10-13: 다섯 층 도식 화살표 — 점선 곡선과 화살촉을 한 SVG로 (자연스러운 연결) */
.sw-post-body .sw-stack.is-v3 .sw-stack-list li:not(.l1)::before { left: -66px; top: 26px; width: 62px; height: 62px; border: 0; border-radius: 0; transform: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 62 62'%3E%3Cpath d='M8 56 C8 34 20 18 46 14' fill='none' stroke='%233b8fec' stroke-width='2' stroke-dasharray='5 4' stroke-linecap='round'/%3E%3Cpath d='M44 7 L58 13 L45 21 Z' fill='%233b8fec'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-post-body .sw-stack.is-v3 .sw-stack-list li:not(.l1)::after { display: none; }

/* 2026-10-13: 다섯 층 도식 설명 패널 높이 통일 */
.sw-post-body .sw-stack.is-v3 .sw-stack-list span { min-height: 52px; display: flex; align-items: center; justify-content: center; white-space: nowrap; }
@media (max-width: 760px) { .sw-post-body .sw-stack.is-v3 .sw-stack-list span { white-space: normal; } }

/* 설명 패널 높이: 한 줄 기준으로 */
.sw-post-body .sw-stack.is-v3 .sw-stack-list span { min-height: 0; padding: 11px 20px 12px; }

/* 2026-10-13: 채용 페이지 — "채용분야" 제목 흰색 확정, 직무 카드 5열, 인재상 카드를 글래스 패널로 재디자인 */
.sw-positions .sw-section-heading h2, .sw-positions h2#positions { color: #fff !important; }
.sw-positions .sw-positions-eyebrow { color: #9fd0ff !important; }
.sw-positions .sw-card-grid { flex-wrap: wrap; }
#talent .sw-card-grid .sw-card { position: relative; overflow: hidden; padding: 32px 28px 30px !important; border: 1px solid rgba(255, 255, 255, .6) !important; border-radius: 22px !important; background: linear-gradient(160deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .72)) !important; box-shadow: 0 1px 0 #fff inset, 0 20px 50px rgba(16, 47, 103, .08) !important; backdrop-filter: blur(10px); transition: transform .25s ease, box-shadow .25s ease; }
#talent .sw-card-grid .sw-card::before, #talent .sw-card-grid .sw-card::after { display: none !important; content: none !important; }
#talent .sw-card-grid .sw-card .sw-icon-badge { width: 56px !important; height: 56px !important; margin: 0 0 22px !important; border-radius: 18px !important; background: linear-gradient(135deg, color-mix(in srgb, var(--g1) 14%, #fff), color-mix(in srgb, var(--g2) 22%, #fff)) !important; box-shadow: 0 8px 20px color-mix(in srgb, var(--g1) 18%, transparent), inset 0 1px 0 #fff !important; }
#talent .sw-card-grid .sw-card .sw-icon-badge::after { inset: 15px !important; background: var(--g1) !important; }
#talent .sw-card-grid .sw-card h3 { margin: 0 0 10px !important; color: #0b1f44 !important; font-size: calc(1.22rem + 1pt) !important; font-weight: 900 !important; letter-spacing: -.02em; line-height: 1.4 !important; }
#talent .sw-card-grid .sw-card h3 + p { color: #3b4658 !important; font-size: calc(.95rem + 1pt) !important; line-height: 1.75 !important; }
#talent .sw-card-grid .sw-card:hover { transform: translateY(-6px) !important; border-color: color-mix(in srgb, var(--g2) 45%, #fff) !important; box-shadow: 0 1px 0 #fff inset, 0 28px 60px color-mix(in srgb, var(--g1) 20%, transparent) !important; }
#talent .sw-card-grid .sw-card:hover::before { display: none !important; }
#talent.sw-section.sw-soft { background: radial-gradient(60% 50% at 10% 0%, rgba(47, 107, 216, .12), transparent 60%), radial-gradient(50% 50% at 95% 100%, rgba(59, 184, 214, .14), transparent 60%), #f4f7fd !important; }
#talent .sw-card-grid .sw-card .sw-card-number { position: absolute; top: 24px; right: 24px; margin: 0 !important; color: color-mix(in srgb, var(--g1) 35%, #fff); font-family: Montserrat, Roboto, sans-serif; font-size: 13px; font-weight: 700; }

/* 2026-10-13: 연혁 — 시대 탭을 누르면 선택 탭이 커지며 다른 탭은 물러나고, 패널이 가로로 쫙 펼쳐지며 연도가 순서대로 등장 */
.sw-htl-tabs button { transition: color .25s, transform .4s cubic-bezier(.2, .8, .2, 1), opacity .4s ease; transform-origin: bottom center; }
.sw-htl-tabs:has(button[aria-selected="true"]) button:not([aria-selected="true"]) { opacity: .45; transform: scale(.94) translateY(4px); }
.sw-htl-tabs button[aria-selected="true"] { transform: scale(1.04); z-index: 1; }
.sw-htl-tabs button[aria-selected="true"] b strong { background: linear-gradient(90deg, #1e4fa3, #3b8fec); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.sw-htl-panel.is-in { animation: sw-htl-unfold .7s cubic-bezier(.2, .8, .2, 1) both; transform-origin: left center; }
@keyframes sw-htl-unfold { from { opacity: 0; transform: scaleX(.6); clip-path: inset(0 100% 0 0); } 60% { opacity: 1; } to { opacity: 1; transform: none; clip-path: inset(0 0 0 0); } }
.sw-htl-panel.is-in .sw-htl-year { animation-duration: .6s; }
.sw-htl-panel.is-in .sw-htl-year:nth-child(1) { animation-delay: .25s; } .sw-htl-panel.is-in .sw-htl-year:nth-child(2) { animation-delay: .35s; } .sw-htl-panel.is-in .sw-htl-year:nth-child(3) { animation-delay: .45s; } .sw-htl-panel.is-in .sw-htl-year:nth-child(4) { animation-delay: .55s; } .sw-htl-panel.is-in .sw-htl-year:nth-child(5) { animation-delay: .65s; } .sw-htl-panel.is-in .sw-htl-year:nth-child(6) { animation-delay: .75s; }
.sw-htl-panel.is-in .sw-htl-year > i { transform: scaleX(0); transform-origin: left; animation: sw-htl-line .6s cubic-bezier(.2, .8, .2, 1) forwards; animation-delay: inherit; }
@keyframes sw-htl-line { to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) { .sw-htl-panel.is-in, .sw-htl-panel.is-in .sw-htl-year, .sw-htl-panel.is-in .sw-htl-year > i { animation: none; transform: none; clip-path: none; } .sw-htl-tabs button { transform: none !important; opacity: 1 !important; } }

/* 2026-10-13: 채용분야 카드 5장 — 한 줄에 3 + 2 로 가운데 정렬 */
.sw-positions .sw-card-grid:last-of-type { justify-content: center; }
.sw-positions .sw-card-grid:last-of-type > .wp-block-column { flex-basis: calc((100% - 2 * var(--wp--style--block-gap, 24px)) / 3) !important; flex-grow: 0 !important; }

/* 2026-10-13: 채용분야 둘째 줄(마케팅 · 운영지원) 가운데 정렬 + 카드 사진 재매핑 (개발 카드 통합 후) */
.sw-positions .sw-card-grid { gap: 20px !important; }
.sw-positions .sw-card-grid + .sw-card-grid { justify-content: center; }
.sw-positions .sw-card-grid + .sw-card-grid > .wp-block-column { flex: 0 0 calc((100% - 40px) / 3) !important; }
.sw-positions .sw-card-grid + .sw-card-grid > .wp-block-column:nth-child(1) .sw-card { --photo: url("assets/images/position-marketing.jpg"); }
.sw-positions .sw-card-grid + .sw-card-grid > .wp-block-column:nth-child(2) .sw-card { --photo: url("assets/images/position-ops.jpg"); }
.sw-positions .sw-card-grid > .wp-block-column:nth-child(3) .sw-card { --photo: url("assets/images/position-backend.jpg"); }
@media (max-width: 781px) { .sw-positions .sw-card-grid + .sw-card-grid > .wp-block-column { flex-basis: 100% !important; } }

/* 2026-10-13: 채용분야 둘째 줄 — 그리드 2칸을 3칸 폭 그대로 중앙 배치 */
.sw-positions .sw-card-grid + .sw-card-grid { grid-template-columns: repeat(2, calc((100% - 40px) / 3)) !important; justify-content: center !important; }
@media (max-width: 900px) { .sw-positions .sw-card-grid + .sw-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 560px) { .sw-positions .sw-card-grid + .sw-card-grid { grid-template-columns: 1fr !important; } }

/* 2026-10-13: 채용분야 카드 확대 (여백 · 글자 · 간격) */
.sw-positions .sw-card-grid { gap: 26px !important; }
.sw-positions .sw-card-grid + .sw-card-grid { grid-template-columns: repeat(2, calc((100% - 52px) / 3)) !important; margin-top: 26px !important; }
.sw-positions .sw-card { min-height: 330px; padding: 48px 34px 44px !important; border-radius: 22px !important; display: flex; flex-direction: column; justify-content: center; }
.sw-positions .sw-card h3 { font-size: calc(1.75rem + 1pt) !important; }
.sw-positions .sw-card p { margin-top: 18px !important; font-size: calc(1.06rem + 1pt) !important; line-height: 1.8 !important; }
.sw-positions .sw-card .sw-position-en { margin-top: 14px !important; font-size: calc(.98rem + 1pt) !important; }
@media (max-width: 900px) { .sw-positions .sw-card-grid + .sw-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } .sw-positions .sw-card { min-height: 0; padding: 38px 26px !important; } }

/* 2026-10-13: 인재상 리드 핵심 구절 강조 */
#talent .sw-section-heading .sw-lead strong { color: #1f6fe5; font-weight: 800; }

/* 2026-10-13: 채용분야 카드 그리드 가로폭 확장 (alignwide 한계 해제) */
.sw-positions .sw-card-grid.alignwide { width: min(1560px, calc(100% - 48px)) !important; max-width: none !important; margin-left: auto !important; margin-right: auto !important; }
.sw-positions .sw-card { min-height: 360px; padding: 52px 40px 48px !important; }
.sw-positions .sw-card p { font-size: calc(1.1rem + 1pt) !important; }
@media (max-width: 900px) { .sw-positions .sw-card { min-height: 0; padding: 38px 26px !important; } }

/* 2026-10-13: 인재상 카드 — 그리드 가로폭 확장, 본문 글씨 확대 */
#talent .sw-card-grid.alignwide { width: min(1560px, calc(100% - 48px)) !important; max-width: none !important; margin-left: auto !important; margin-right: auto !important; gap: 26px !important; }
#talent .sw-section-heading.alignwide, #talent > .wp-block-group.alignwide { width: min(1560px, calc(100% - 48px)) !important; max-width: none !important; margin-left: auto !important; margin-right: auto !important; }
#talent .sw-card-grid .sw-card { padding: 38px 34px 36px !important; }
#talent .sw-card-grid .sw-card h3 { font-size: calc(1.4rem + 1pt) !important; }
#talent .sw-card-grid .sw-card h3 + p { font-size: calc(1.1rem + 1pt) !important; line-height: 1.8 !important; }

/* 2026-10-13: 스카이웨어의 사람들 그래픽(.sw-people-art) 디자인 강화 — 그라데이션 링, 글래스 아바타, 역할 칩, 펄스 */
.sw-people-art { width: min(100%, 520px) !important; filter: drop-shadow(0 30px 60px rgba(47, 107, 216, .14)); }
.sw-people-art::before { content: ""; position: absolute; inset: -6%; border-radius: 50%; background: radial-gradient(circle, rgba(47, 107, 216, .14), rgba(47, 107, 216, .04) 45%, transparent 68%); }
.sw-people-art::after { content: ""; position: absolute; inset: 10%; border-radius: 50%; background-image: radial-gradient(rgba(47, 107, 216, .22) 1px, transparent 1.5px); background-size: 18px 18px; -webkit-mask: radial-gradient(circle, #000 30%, transparent 72%); mask: radial-gradient(circle, #000 30%, transparent 72%); pointer-events: none; }
.sw-pa-ring { inset: 4% !important; border: 0 !important; padding: 2px; background: conic-gradient(from 20deg, #2f6bd8, #22b8d8 35%, rgba(47, 107, 216, .08) 60%, rgba(47, 107, 216, .08) 80%, #2f6bd8) !important; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; box-sizing: border-box; animation: sw-pa-spin 18s linear infinite !important; }
.sw-pa-ring.is-inner { inset: 22% !important; padding: 1.5px; background: repeating-conic-gradient(from 0deg, rgba(47, 107, 216, .55) 0 2.5deg, transparent 2.5deg 7deg) !important; animation: sw-pa-spin 50s linear infinite reverse !important; }
.sw-pa-blob { top: 4% !important; left: -2% !important; width: 44% !important; background: radial-gradient(circle, rgba(34, 184, 216, .32), transparent 70%) !important; filter: blur(10px) !important; }
.sw-pa-avatar { z-index: 2; border: 0 !important; background: var(--i-person) center 58% / 46% no-repeat, linear-gradient(160deg, #ffffff, #eef4ff) !important; box-shadow: 0 0 0 5px #fff, 0 0 0 7px rgba(47, 107, 216, .18), 0 24px 50px rgba(47, 107, 216, .28), inset 0 2px 0 #fff !important; }
.sw-pa-avatar::before { content: ""; position: absolute; inset: -14px; border-radius: 50%; background: conic-gradient(from 0deg, #2f6bd8, #22b8d8, #7c5cff, #2f6bd8); -webkit-mask: radial-gradient(circle closest-side, transparent calc(100% - 5px), #000 calc(100% - 4px)); mask: radial-gradient(circle closest-side, transparent calc(100% - 5px), #000 calc(100% - 4px)); opacity: .9; }
.sw-pa-avatar.is-main { width: 42% !important; top: 29% !important; left: 29% !important; }
.sw-pa-avatar.is-main::before { animation: sw-pa-spin 12s linear infinite; }
.sw-pa-avatar.is-main::after { content: ""; position: absolute; inset: -10%; border-radius: 50%; border: 2px solid rgba(47, 107, 216, .45); animation: sw-pa-pulse 2.8s ease-out infinite; }
.sw-pa-avatar.is-top, .sw-pa-avatar.is-left { width: 20% !important; }
.sw-pa-avatar.is-top::before { inset: -8px; background: conic-gradient(from 90deg, #22b8d8, #2f6bd8, #22b8d8); }
.sw-pa-avatar.is-left::before { inset: -8px; background: conic-gradient(from 180deg, #7c5cff, #2f6bd8, #7c5cff); }
.sw-pa-avatar.is-top::after, .sw-pa-avatar.is-left::after, .sw-pa-avatar.is-main .x { content: none; }
.sw-pa-avatar.is-top::after { content: "기획 · 디자인"; }
.sw-pa-avatar.is-left::after { content: "개발 · 운영"; }
.sw-pa-avatar.is-top::after, .sw-pa-avatar.is-left::after { position: absolute; left: 50%; bottom: -34px; transform: translateX(-50%); padding: 6px 12px; border-radius: 999px; background: #0f2a5e; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: -.01em; white-space: nowrap; box-shadow: 0 8px 18px rgba(15, 42, 94, .28); }
.sw-pa-dot { background: radial-gradient(circle at 50% 12px, #fff 0 2.5px, #2f6bd8 3px 6.5px, rgba(47, 107, 216, .35) 7px 10px, rgba(47, 107, 216, .1) 10.5px 13px, transparent 13.5px) !important; }
.sw-people::before { border-color: rgba(47, 107, 216, .3); background: radial-gradient(circle at 70% 18%, #2f6bd8 0 8px, transparent 9px), radial-gradient(circle, rgba(47, 107, 216, .08), transparent 70%); }
@keyframes sw-pa-pulse { 0% { transform: scale(.9); opacity: .8; } 100% { transform: scale(1.45); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .sw-pa-avatar.is-main::after, .sw-pa-avatar.is-main::before { animation: none; } }

/* 2026-10-13: 인재상 리드 왼쪽 정렬 */
#talent .sw-section-heading .sw-lead { margin-left: 0 !important; text-align: left; }

/* 2026-10-13: 소개서 콜라주 팝업 — 페이지 6장 그리드 대신 원근 콜라주 한 장 (assets/images/brochure/collage.jpg) */
.sw-popup.is-collage .sw-popup-panel { width: min(500px, 100%); }
.sw-col-collage { display: block; width: calc(100% + 24px); height: auto; aspect-ratio: 16 / 9; margin: 22px -12px 0; border-radius: 14px; object-fit: cover; box-shadow: 0 18px 40px rgba(16, 40, 100, .16); }
@media (max-width: 600px) { .sw-col-collage { width: calc(100% + 16px); margin: 18px -8px 0; } }

/* 2026-10-13: 사람들 그래픽 역할 칩 제거 */
.sw-pa-avatar.is-top::after, .sw-pa-avatar.is-left::after { content: none !important; }

/* 2026-10-13: 채용 — 스카이웨어 십계명 (.sw-ten) 큰 숫자 + 두 단 목록, 구분선 */
.sw-ten-sec { background: linear-gradient(180deg, #ffffff, #f4f7fd); }
.sw-ten-sec .sw-section-heading { text-align: center; }
.sw-ten-sec .sw-ten-eyebrow { margin: 0 0 10px !important; color: #2f6bd8; font-size: calc(1rem + 1pt); font-weight: 700; }
.sw-ten-sec .sw-section-heading h2 { margin-top: 0 !important; }
.sw-ten-sec .sw-section-heading .sw-lead { margin-left: auto !important; margin-right: auto !important; }
.sw-ten-sec .sw-lead strong { color: #1f6fe5; font-weight: 800; }
.sw-ten { counter-reset: ten; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 64px; width: min(1360px, calc(100% - 48px)) !important; max-width: none !important; margin: 44px auto 0 !important; padding: 0 !important; list-style: none !important; }
.sw-ten li { counter-increment: ten; position: relative; display: grid; grid-template-columns: 74px 1fr; column-gap: 18px; align-items: start; padding: 26px 0 26px !important; margin: 0 !important; border-top: 1px solid #dfe6f3; }
.sw-ten li:nth-child(-n+2) { border-top: 0; }
.sw-ten li::before { content: "0" counter(ten); grid-row: 1 / span 2; margin-top: -4px; background: linear-gradient(135deg, #1e4fa3, #22b8d8); -webkit-background-clip: text; background-clip: text; color: transparent; font-family: Montserrat, Roboto, sans-serif; font-size: 46px; font-weight: 800; line-height: 1; letter-spacing: -.03em; }
.sw-ten li:nth-child(n+10)::before { content: counter(ten); }
.sw-ten li b { display: block; color: #0b1f44; font-size: calc(1.3rem + 1pt); font-weight: 800; letter-spacing: -.02em; line-height: 1.4; word-break: keep-all; }
.sw-ten li span { display: block; margin-top: 6px; color: #4b5668; font-size: calc(1.02rem + 1pt); line-height: 1.75; word-break: keep-all; }
.sw-ten li:first-child b { color: #1f6fe5; }
@media (max-width: 900px) { .sw-ten { grid-template-columns: 1fr; gap: 0; } .sw-ten li:nth-child(2) { border-top: 1px solid #dfe6f3; } .sw-ten li { grid-template-columns: 58px 1fr; padding: 20px 0 !important; } .sw-ten li::before { font-size: 36px; } }

/* 2026-10-13: 연혁 탭 — 선택된(짙은 배경) 카드의 연도는 밝은 그라데이션으로 (남색 그라데이션이 배경에 묻혀 안 보이던 문제) */
.sw-htl-tabs button[aria-selected="true"] b strong { background: linear-gradient(100deg, #bfe0ff 0%, #ffffff 50%, #bfe0ff 100%) !important; background-size: 100% 100% !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; text-shadow: none !important; }
.sw-htl-tabs button[aria-selected="true"] b { color: #fff !important; }

/* 2026-10-13: 뉴스룸 ACADEMY 분류 (발표 · 스터디 자료) 카드 라벨 색 */
.sw-mz-card.is-academy small { color: #5b35d5; }

/* 2026-10-13: 십계명 설명 줄 정렬 — 한 줄짜리 설명이 아래로 밀리지 않게 */
.sw-ten li { grid-template-rows: auto 1fr; }
.sw-ten li span { align-self: start; }

/* 2026-10-13: ACADEMY 탭 색을 청록으로 (INSIGHT 보라와 겹침) */
.sw-pf-tabs a[data-cat="mz-academy"] { --c: #0b9a84 !important; }
.sw-mz-card.is-academy small { color: #0b9a84 !important; }
.sw-mz-cover.is-academy .sw-mz-tag, .sw-mz-card.is-academy .sw-mz-tag { background: #0b9a84 !important; }

/* 2026-10-13: 뉴스룸 마무리 박스(.sw-news-close) 가운데 정렬 */
.sw-post-body .sw-news-close, .sw-post-body .sw-news-close p { text-align: center !important; }

/* 2026-10-13: 상단 메뉴 항목 간격 확대 */
.sw-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container { gap: clamp(36px, 3.6vw, 84px) !important; }

/* 2026-10-13: 십계명 — 배경(사진 + 밝은 덮개 + 푸른 번짐) · 화면에 들어오면 항목이 좌우에서 차례로 들어오고 숫자가 튀어나오며 구분선이 그어진다 */
.sw-ten-sec { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(180deg, rgba(247, 249, 253, .955), rgba(241, 245, 252, .975)), url("assets/images/hero-tech.jpg") center / cover no-repeat !important; }
.sw-ten-sec::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(55% 45% at 12% 18%, rgba(47, 107, 216, .18), transparent 70%), radial-gradient(45% 40% at 90% 85%, rgba(34, 184, 216, .16), transparent 70%); }
.sw-ten-sec::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(47, 107, 216, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(47, 107, 216, .07) 1px, transparent 1px); background-size: 48px 48px; -webkit-mask: radial-gradient(ellipse 70% 60% at 50% 50%, #000 30%, transparent 100%); mask: radial-gradient(ellipse 70% 60% at 50% 50%, #000 30%, transparent 100%); }
.sw-ten li { border-top-color: transparent; }
.sw-ten li::after { content: ""; position: absolute; top: -1px; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, #9fc0f0, #dfe6f3 60%, transparent); transform-origin: left; }
.sw-ten li:nth-child(-n+2)::after { display: none; }
.sw-ten.is-armed li { opacity: 0; transform: translateX(-36px); }
.sw-ten.is-armed li:nth-child(even) { transform: translateX(36px); }
.sw-ten.is-armed li::after { transform: scaleX(0); }
.sw-ten.is-armed li::before { opacity: 0; transform: scale(.5) translateY(10px); }
.sw-ten.is-in li { animation: sw-ten-in .7s cubic-bezier(.2, .8, .2, 1) both; animation-delay: calc(var(--d, 0) * .1s); }
.sw-ten.is-in li::before { animation: sw-ten-num .6s cubic-bezier(.3, 1.4, .4, 1) both; animation-delay: calc(var(--d, 0) * .1s + .15s); }
.sw-ten.is-in li::after { animation: sw-ten-line .8s ease-out both; animation-delay: calc(var(--d, 0) * .1s + .2s); }
.sw-ten li:nth-child(1) { --d: 0; } .sw-ten li:nth-child(2) { --d: 1; } .sw-ten li:nth-child(3) { --d: 2; } .sw-ten li:nth-child(4) { --d: 3; } .sw-ten li:nth-child(5) { --d: 4; } .sw-ten li:nth-child(6) { --d: 5; } .sw-ten li:nth-child(7) { --d: 6; } .sw-ten li:nth-child(8) { --d: 7; } .sw-ten li:nth-child(9) { --d: 8; } .sw-ten li:nth-child(10) { --d: 9; }
@keyframes sw-ten-in { from { opacity: 0; } to { opacity: 1; transform: none; } }
@keyframes sw-ten-num { from { opacity: 0; transform: scale(.5) translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes sw-ten-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) { .sw-ten.is-armed li, .sw-ten.is-armed li::before, .sw-ten.is-armed li::after { opacity: 1; transform: none; animation: none !important; } }

/* 2026-10-13: 십계명 배경 교체: 서버실 사진 → 사무실 로비 실루엣(hero-about), 격자 제거 */
.sw-ten-sec { background: linear-gradient(180deg, rgba(246, 249, 254, .9) 0%, rgba(243, 247, 253, .88) 50%, rgba(246, 249, 254, .95) 100%), url("assets/images/hero-about.jpg") center 30% / cover no-repeat !important; }
.sw-ten-sec::after { content: none !important; }

/* 2026-10-14: 십계명 → SKYWARE WAY — 항목 제목 글씨 확대(사용자 요청), 리드 한 줄 가운데 */
.sw-ten li b { font-size: calc(1.62rem + 1pt); line-height: 1.35; }
.sw-ten li { grid-template-columns: 82px 1fr; }
.sw-ten li::before { font-size: 50px; margin-top: -2px; }
.sw-ten-sec .sw-section-heading .sw-lead { font-size: calc(1.15rem + 1pt); }
@media (max-width: 900px) { .sw-ten li b { font-size: calc(1.35rem + 1pt); } .sw-ten li { grid-template-columns: 62px 1fr; } .sw-ten li::before { font-size: 38px; } }

/* ===== 2026-10-14: 채용정보(207) 전면 개편 — SKYWARE CAREERS 원고 기반 6개 섹션 ===== */
/* 히어로 */
.sw-page-hero.sw-rc-hero .sw-rc-kicker { margin: 0 0 4px !important; color: #7cd0ff; font-family: Montserrat, Roboto, sans-serif; font-size: calc(1rem + 1pt); font-weight: 700; }
.sw-page-hero.sw-rc-hero h1 { font-size: calc(clamp(2.2rem, 4.6vw, 3.9rem) + 1pt); line-height: 1.22; }
.sw-page-hero.sw-rc-hero p.has-large-font-size { max-width: 48em; }
.sw-page-hero.sw-rc-hero .sw-rc-hero-sub { margin-top: 4px; color: rgba(255, 255, 255, .86); font-size: calc(1.08rem + 1pt); }
.sw-page-hero.sw-rc-hero .is-layout-constrained > p, .sw-page-hero.sw-rc-hero .is-layout-constrained > .wp-block-buttons { margin-left: 0 !important; margin-right: 0 !important; }
.sw-page-hero.sw-rc-hero .sw-rc-hero-actions { margin-top: 28px !important; }
.sw-page-hero.sw-rc-hero .sw-rc-hero-actions .wp-block-button__link { padding: 16px 30px; border-radius: 99px; background: #fff; color: #0f2e6a; font-weight: 700; }
.sw-page-hero.sw-rc-hero .sw-rc-hero-actions .wp-block-button__link:hover { background: #7fd3ff; color: #081936; }
/* 섹션 번호 라벨(자간 넓히지 않음) */
.sw-rc-no { margin: 0 0 12px !important; color: #2f6bd8; font-family: Montserrat, Roboto, sans-serif; font-size: calc(.95rem + 1pt); font-weight: 700; letter-spacing: 0; }
/* 01 WHO WE ARE: 기존 사람들 그래픽 재사용, 제목 밑 짧은 악센트 선 제거 */
.sw-people .sw-people-title::after { content: none !important; }
.sw-rc-who .sw-people-title { margin: 0 0 24px !important; }
.sw-rc-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin: 60px auto 0 !important; padding: 0 !important; list-style: none !important; }
.sw-rc-fields li { padding: 32px 30px 34px; border: 1px solid var(--sw-line); border-radius: 22px; background: #fff; box-shadow: 0 10px 34px rgba(16, 47, 103, .06); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.sw-rc-fields li:hover { transform: translateY(-5px); border-color: rgba(71, 121, 201, .45); box-shadow: var(--sw-shadow); }
.sw-rc-ico { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 22px; border-radius: 16px; background: color-mix(in srgb, #2f6bd8 10%, #fff); color: #2f6bd8; }
.sw-rc-fields h3 { margin: 0 0 8px !important; color: #2f6bd8; font-family: Montserrat, Roboto, sans-serif; font-size: calc(1rem + 1pt); font-weight: 700; }
.sw-rc-fields b { display: block; color: #0b1f44; font-size: calc(1.25rem + 1pt); font-weight: 800; letter-spacing: -.02em; line-height: 1.4; word-break: keep-all; }
.sw-rc-fields p { margin: 12px 0 0; color: #4b5668; font-size: calc(1rem + 1pt); line-height: 1.75; word-break: keep-all; }
/* 02 SKYWARE WAY: 기존 .sw-ten 유지 */
.sw-ten-sec .sw-section-heading { max-width: 860px; }
/* 03 THE PEOPLE WE LOOK FOR: 왼쪽 고정 제목 + 오른쪽 번호 목록 */
.sw-rc-people { background: radial-gradient(60% 50% at 10% 0%, rgba(47, 107, 216, .10), transparent 60%), radial-gradient(50% 50% at 95% 100%, rgba(59, 184, 214, .12), transparent 60%), #f4f7fd; }
.sw-rc-pp { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px 72px; align-items: start; }
.sw-rc-pp-head { position: sticky; top: 110px; }
.sw-rc-pp-head h2 { margin: 0; color: var(--sw-navy); font-size: calc(clamp(1.8rem, 3.2vw, 2.6rem) + 1pt); font-weight: 800; letter-spacing: -.03em; line-height: 1.25; word-break: keep-all; }
.sw-rc-pp-note { margin: 30px 0 0; padding: 24px 26px; border: 2px solid transparent; border-radius: 18px; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #c9dcff, #bde9f3) border-box; color: #4b5668; font-size: calc(.98rem + 1pt); line-height: 1.75; word-break: keep-all; }
.sw-rc-pp-note strong { color: #0b1f44; font-weight: 800; }
.sw-rc-pl { counter-reset: pl; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.sw-rc-pl li { counter-increment: pl; display: grid; grid-template-columns: 66px 1fr; grid-template-rows: auto 1fr; column-gap: 18px; padding: 26px 0; border-top: 1px solid #d7e1f1; }
.sw-rc-pl li:first-child { padding-top: 0; border-top: 0; }
.sw-rc-pl li::before { content: "0" counter(pl); grid-row: 1 / span 2; margin-top: -2px; background: linear-gradient(135deg, #1e4fa3, #22b8d8); -webkit-background-clip: text; background-clip: text; color: transparent; font-family: Montserrat, Roboto, sans-serif; font-size: 42px; font-weight: 800; line-height: 1; letter-spacing: -.03em; }
.sw-rc-pl b { display: block; color: #0b1f44; font-size: calc(1.4rem + 1pt); font-weight: 800; letter-spacing: -.02em; line-height: 1.35; word-break: keep-all; }
.sw-rc-pl span { display: block; align-self: start; margin-top: 6px; color: #4b5668; font-size: calc(1.02rem + 1pt); line-height: 1.75; word-break: keep-all; }
/* 04 ENGINEERING CULTURE: 남색 섹션 + 유리 카드 2×2 */
.sw-rc-eng { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: linear-gradient(135deg, #0b1f44 0%, #102f67 55%, #143a7a 100%); }
.sw-rc-eng::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(50% 45% at 85% 10%, rgba(32, 184, 209, .22), transparent 70%), radial-gradient(45% 40% at 10% 90%, rgba(47, 107, 216, .28), transparent 70%); }
.sw-rc-eng .sw-section-heading { max-width: 900px; }
.sw-rc-eng .sw-rc-no { color: #7cd0ff; }
.sw-rc-eng .sw-section-heading h2 { color: #fff !important; }
.sw-rc-eng .sw-section-heading .sw-lead { color: rgba(255, 255, 255, .76); }
.sw-rc-eng-grid { counter-reset: eng; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.sw-rc-eng-grid li { counter-increment: eng; padding: 34px 32px; border: 1px solid rgba(255, 255, 255, .13); border-radius: 22px; background: rgba(255, 255, 255, .06); backdrop-filter: blur(6px); transition: transform .25s ease, background .25s ease, border-color .25s ease; }
.sw-rc-eng-grid li:hover { transform: translateY(-4px); border-color: rgba(124, 208, 255, .45); background: rgba(255, 255, 255, .1); }
.sw-rc-eng-grid li::before { content: "0" counter(eng); display: block; margin-bottom: 14px; color: #7cd0ff; font-family: Montserrat, Roboto, sans-serif; font-size: calc(1.6rem + 1pt); font-weight: 800; line-height: 1; letter-spacing: -.02em; }
.sw-rc-eng-grid b { display: block; color: #fff; font-size: calc(1.3rem + 1pt); font-weight: 800; letter-spacing: -.02em; line-height: 1.4; word-break: keep-all; }
.sw-rc-eng-grid span { display: block; margin-top: 10px; color: rgba(255, 255, 255, .78); font-size: calc(1rem + 1pt); line-height: 1.75; word-break: keep-all; }
/* 05 HIRING PROCESS */
.sw-rc-process .sw-section-heading { max-width: 920px; }
.sw-rc-process-note { margin: 22px 0 0 !important; color: #6b7a90; font-size: calc(.92rem + 1pt); }
/* 06 OPEN POSITIONS: 기존 .sw-positions 유지 */
.sw-positions .sw-positions-eyebrow { font-family: Montserrat, Roboto, sans-serif; }
/* YOUR NEXT STEP CTA */
.sw-cta.sw-cta.is-careers > h2::before { content: "YOUR NEXT STEP"; letter-spacing: 0; font-size: calc(.95rem + 1pt); }
.sw-cta.sw-cta.is-careers > h2 { font-size: clamp(1.7rem, 2.8vw, 2.5rem); line-height: 1.25; }
.sw-cta.sw-cta.is-careers > p { max-width: 720px; }
.sw-cta.sw-cta.is-careers > .sw-rc-build { margin: 24px 0 0 !important; color: #fff; font-family: Montserrat, Roboto, sans-serif; font-size: calc(1.5rem + 1pt); font-weight: 800; letter-spacing: -.01em; }
.sw-cta.sw-cta.is-careers > .wp-block-buttons { grid-row: 1 / span 3; }
@media (max-width: 1000px) {
  .sw-rc-fields { grid-template-columns: 1fr; }
  .sw-rc-pp { grid-template-columns: 1fr; gap: 32px; }
  .sw-rc-pp-head { position: static; }
  .sw-rc-eng-grid { grid-template-columns: 1fr; }
  .sw-rc-pl li { grid-template-columns: 54px 1fr; padding: 20px 0; }
  .sw-rc-pl li::before { font-size: 34px; }
}
@media (max-width: 781px) { .sw-cta.sw-cta.is-careers > .wp-block-buttons { grid-row: auto; } }

/* 2026-10-14: 채용정보 보정 — 히어로 본문 크기 축소, 남색 섹션 제목 흰색(7686행 규칙 덮음), 그리드·안내문 정렬 */
.sw-page-hero.sw-rc-hero p.has-large-font-size { font-size: calc(var(--wp--preset--font-size--large, 1.25rem) * 1.08) !important; line-height: 1.7; max-width: 46em; }
.sw-page-hero.sw-rc-hero p.has-large-font-size strong { display: block; margin-bottom: 12px; font-size: 1.3em; line-height: 1.4; }
.sw-page-hero.sw-rc-hero .sw-rc-hero-sub { font-size: calc(1.12rem + 1pt); color: rgba(255, 255, 255, .9); }
body .sw-rc-eng .sw-section-heading h2, body .sw-positions .sw-section-heading h2 { color: #fff !important; }
.sw-rc-eng .sw-section-heading, .sw-rc-process .sw-section-heading { margin-left: 0 !important; }
.sw-rc-eng-grid { margin: 0 auto !important; }
.sw-rc-process .sw-rc-process-note { max-width: var(--wp--style--global--wide-size, 1100px) !important; margin: 22px auto 0 !important; }

/* 2026-10-14: 채용정보 보정 2 — 히어로 본문 크기 고정값, 04·05 제목 블록을 wide 폭 왼쪽에 정렬 */
.sw-page-hero.sw-rc-hero p.has-large-font-size { font-size: calc(1.18rem + 1pt) !important; line-height: 1.75; max-width: 44em; }
.sw-page-hero.sw-rc-hero p.has-large-font-size strong { font-size: calc(1.75rem + 1pt); line-height: 1.35; margin-bottom: 14px; }
.sw-page-hero.sw-rc-hero p.has-large-font-size strong + br { display: none; }
.sw-page-hero.sw-rc-hero .sw-rc-hero-sub { font-size: calc(1.06rem + 1pt); }
.sw-rc-eng .sw-section-heading, .sw-rc-process .sw-section-heading { max-width: var(--wp--style--global--wide-size, 1100px) !important; margin-left: auto !important; margin-right: auto !important; }
.sw-rc-eng .sw-section-heading > *, .sw-rc-process .sw-section-heading > * { max-width: 920px; margin-left: 0 !important; }

/* 2026-10-14: 채용 섹션 번호 라벨(01 · WHO WE ARE 등) 확대 + 흐르는 그라데이션 애니메이션(사용자 요청) */
@keyframes sw-rc-flow { 0% { background-position: 0% 50%; } 100% { background-position: 200% 50%; } }
.sw-rc-no, .sw-ten-sec .sw-ten-eyebrow, .sw-positions .sw-positions-eyebrow, .sw-page-hero.sw-rc-hero .sw-rc-kicker {
  display: inline-block; margin: 0 0 14px !important; font-family: Montserrat, Roboto, sans-serif; font-size: calc(1.5rem + 1pt) !important; font-weight: 800; letter-spacing: 0; line-height: 1.2;
  background-image: linear-gradient(90deg, #1e4fa3 0%, #2f6bd8 20%, #22b8d8 45%, #2f6bd8 70%, #1e4fa3 100%); background-size: 200% 100%; background-repeat: repeat-x;
  -webkit-background-clip: text; background-clip: text; color: transparent !important; -webkit-text-fill-color: transparent !important;
  animation: sw-rc-flow 3s linear infinite;
}
.sw-rc-eng .sw-rc-no, .sw-positions .sw-positions-eyebrow, .sw-page-hero.sw-rc-hero .sw-rc-kicker { background-image: linear-gradient(90deg, #7cd0ff 0%, #ffffff 22%, #7cd0ff 45%, #ffffff 70%, #7cd0ff 100%); }
.sw-ten-sec .sw-ten-eyebrow { margin-bottom: 10px !important; }
.sw-page-hero.sw-rc-hero .sw-rc-kicker { margin-bottom: 8px !important; }
@media (max-width: 781px) { .sw-rc-no, .sw-ten-sec .sw-ten-eyebrow, .sw-positions .sw-positions-eyebrow, .sw-page-hero.sw-rc-hero .sw-rc-kicker { font-size: calc(1.2rem + 1pt) !important; } }
@media (prefers-reduced-motion: reduce) { .sw-rc-no, .sw-ten-sec .sw-ten-eyebrow, .sw-positions .sw-positions-eyebrow, .sw-page-hero.sw-rc-hero .sw-rc-kicker { animation: none; } }

/* 2026-10-14: 채용 섹션 영문 라벨 더 크게(사용자 요청 2차) */
.sw-rc-no, .sw-ten-sec .sw-ten-eyebrow, .sw-positions .sw-positions-eyebrow, .sw-page-hero.sw-rc-hero .sw-rc-kicker { font-size: calc(2.1rem + 1pt) !important; margin-bottom: 16px !important; }
@media (max-width: 781px) { .sw-rc-no, .sw-ten-sec .sw-ten-eyebrow, .sw-positions .sw-positions-eyebrow, .sw-page-hero.sw-rc-hero .sw-rc-kicker { font-size: calc(1.45rem + 1pt) !important; } }

/* 2026-10-14: 채용정보(207) 콘텐츠 폭 1100 → 1360px (사용자 요청) — alignwide 변수 페이지 단위 재정의 */
body.page-id-207 { --wp--style--global--wide-size: 1360px; }
body.page-id-207 .sw-rc-process .sw-rc-process-note, body.page-id-207 .sw-rc-eng .sw-section-heading, body.page-id-207 .sw-rc-process .sw-section-heading { max-width: 1360px !important; }
body.page-id-207 .sw-section-heading { max-width: 1000px; }
body.page-id-207 .sw-rc-eng .sw-section-heading > *, body.page-id-207 .sw-rc-process .sw-section-heading > * { max-width: 1000px; }
body.page-id-207 .sw-page-hero.sw-rc-hero p.has-large-font-size { max-width: 54em; }
body.page-id-207 .sw-rc-pp { gap: 40px 96px; }
body.page-id-207 .sw-rc-fields { gap: 26px; }

/* 2026-10-14: 채용 섹션 영문 라벨 크기 통일 — .sw-people-grid p 규칙(2759행 !important)이 WHO WE ARE 라벨을 작게 만들던 것 */
body.page-id-207 .sw-rc-no, body.page-id-207 .sw-people-grid p.sw-rc-no, body.page-id-207 .sw-ten-sec .sw-ten-eyebrow, body.page-id-207 .sw-positions .sw-positions-eyebrow, body.page-id-207 .sw-page-hero.sw-rc-hero .sw-rc-kicker { font-size: calc(2.1rem + 1pt) !important; line-height: 1.2 !important; margin: 0 0 16px !important; color: transparent !important; -webkit-text-fill-color: transparent !important; }
@media (max-width: 781px) { body.page-id-207 .sw-rc-no, body.page-id-207 .sw-people-grid p.sw-rc-no, body.page-id-207 .sw-ten-sec .sw-ten-eyebrow, body.page-id-207 .sw-positions .sw-positions-eyebrow, body.page-id-207 .sw-page-hero.sw-rc-hero .sw-rc-kicker { font-size: calc(1.45rem + 1pt) !important; } }

/* 2026-10-14: 십계명 항목 제목 전부 파란색(01과 동일) · 03 섹션 안내 박스를 사진 카드로(사용자 요청) */
.sw-ten li b { color: #1f6fe5; }
.sw-rc-pp-note { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; min-height: 400px; padding: 28px 30px 30px; border: 0; border-radius: 22px; background: linear-gradient(180deg, rgba(11, 31, 68, 0) 0%, rgba(11, 31, 68, .45) 40%, rgba(11, 31, 68, .94) 100%), url("assets/images/biz-si-ito.jpg") center / cover no-repeat; color: rgba(255, 255, 255, .88); box-shadow: 0 24px 50px rgba(16, 47, 103, .18); }
.sw-rc-pp-note strong { display: block; margin-bottom: 8px; color: #fff; font-size: calc(1.18rem + 1pt); line-height: 1.4; }
.sw-rc-pp-note strong + br { display: none; }
@media (max-width: 1000px) { .sw-rc-pp-note { min-height: 300px; } }

/* 2026-10-14: 03 섹션 영문 라벨 한 줄 유지 — 왼쪽 열 확대 + nowrap */
body.page-id-207 .sw-rc-pp { grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr); gap: 40px 72px; }
body.page-id-207 .sw-rc-pp-head .sw-rc-no { white-space: nowrap; letter-spacing: -.01em; }
@media (max-width: 1000px) { body.page-id-207 .sw-rc-pp { grid-template-columns: 1fr; } body.page-id-207 .sw-rc-pp-head .sw-rc-no { white-space: normal; } }

/* 2026-10-14: 십계명 제목 두 가지 색 — 행 단위로 파랑(#1f6fe5) · 남색(#0b1f44) 교차(사용자 요청: 한 색이면 눈에 안 띔) */
.sw-ten li b { color: #1f6fe5; }
.sw-ten li:nth-child(4n+3) b, .sw-ten li:nth-child(4n+4) b { color: #0b1f44; }
@media (max-width: 900px) { .sw-ten li b { color: #1f6fe5; } .sw-ten li:nth-child(even) b { color: #0b1f44; } }

/* 2026-10-14: 채용절차를 남색 원형 아이콘 + 꺾쇠 연결 도식(.sw-rc-flow)으로 교체(사용자 참고 이미지) */
.sw-rc-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 12px; margin: 8px auto 0 !important; padding: 0 !important; list-style: none !important; counter-reset: none; }
.sw-rc-flow li { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 18px; }
.sw-rc-flow li::after { content: ""; position: absolute; top: 92px; right: -16px; width: 20px; height: 20px; background: #b9c6dc; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-rc-flow li:last-child::after { display: none; }
.sw-rc-flow-c { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; width: 204px; height: 204px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #1f4aa6 0%, #0f2a6b 60%, #0b1f52 100%); color: #fff; box-shadow: 0 18px 40px rgba(16, 47, 103, .22), inset 0 0 0 6px rgba(255, 255, 255, .06); transition: transform .25s ease, box-shadow .25s ease; }
.sw-rc-flow li:hover .sw-rc-flow-c { transform: translateY(-6px); box-shadow: 0 26px 48px rgba(16, 47, 103, .28), inset 0 0 0 6px rgba(255, 255, 255, .1); }
.sw-rc-flow-c svg { display: block; }
.sw-rc-flow-c b { display: block; padding: 0 16px; font-size: calc(1.05rem + 1pt); font-weight: 800; letter-spacing: -.01em; line-height: 1.3; word-break: keep-all; }
.sw-rc-flow small { display: block; margin-top: 18px; color: #2f6bd8; font-family: Montserrat, Roboto, sans-serif; font-size: calc(.9rem + 1pt); font-weight: 700; }
.sw-rc-flow p { margin: 10px 0 0; color: #4b5668; font-size: calc(.98rem + 1pt); line-height: 1.7; word-break: keep-all; }
.sw-rc-process .sw-rc-process-note { text-align: center; margin-top: 34px !important; }
@media (max-width: 1000px) { .sw-rc-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 12px; } .sw-rc-flow li:nth-child(2)::after { display: none; } }
@media (max-width: 560px) { .sw-rc-flow { grid-template-columns: 1fr; } .sw-rc-flow li::after { display: none; } .sw-rc-flow-c { width: 176px; height: 176px; } }

/* 2026-10-14: SKYWARE WAY 리드 강조 줄("좋은 결과는 우연히…") 확대(사용자 요청) */
.sw-ten-sec .sw-section-heading .sw-lead strong { display: block; margin-bottom: 10px; font-size: calc(1.55rem + 1pt); line-height: 1.4; letter-spacing: -.02em; }
.sw-ten-sec .sw-section-heading .sw-lead strong + br { display: none; }
@media (max-width: 781px) { .sw-ten-sec .sw-section-heading .sw-lead strong { font-size: calc(1.25rem + 1pt); } }

/* 2026-10-14: 채용 섹션 영문 라벨 3차 확대(2.1 → 2.6rem, 사용자 요청) — 03 라벨은 두 줄 허용 */
body.page-id-207 .sw-rc-no, body.page-id-207 .sw-people-grid p.sw-rc-no, body.page-id-207 .sw-ten-sec .sw-ten-eyebrow, body.page-id-207 .sw-positions .sw-positions-eyebrow, body.page-id-207 .sw-page-hero.sw-rc-hero .sw-rc-kicker { font-size: calc(2.6rem + 1pt) !important; line-height: 1.15 !important; margin: 0 0 18px !important; }
body.page-id-207 .sw-rc-pp-head .sw-rc-no { white-space: normal; }
@media (max-width: 781px) { body.page-id-207 .sw-rc-no, body.page-id-207 .sw-people-grid p.sw-rc-no, body.page-id-207 .sw-ten-sec .sw-ten-eyebrow, body.page-id-207 .sw-positions .sw-positions-eyebrow, body.page-id-207 .sw-page-hero.sw-rc-hero .sw-rc-kicker { font-size: calc(1.6rem + 1pt) !important; } }

/* 2026-10-14: 채용 '현직자의 팁'(05 · VOICES FROM THE TEAM) — 역할별 인용 카드 2장(사용자 요청, 이름·얼굴 없음) */
.sw-rc-voice { background: radial-gradient(55% 50% at 90% 0%, rgba(47, 107, 216, .10), transparent 60%), radial-gradient(45% 45% at 5% 100%, rgba(59, 184, 214, .12), transparent 60%), #f4f7fd; }
.sw-rc-voices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; margin: 0 auto !important; }
.sw-rc-vc { position: relative; display: flex; flex-direction: column; padding: 40px 38px 34px; border: 2px solid transparent; border-radius: 24px; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #cfe0ff, #bfeaf4) border-box; box-shadow: 0 18px 44px rgba(16, 47, 103, .08); transition: transform .25s ease, box-shadow .25s ease; }
.sw-rc-vc:hover { transform: translateY(-5px); box-shadow: 0 26px 54px rgba(16, 47, 103, .14); }
.sw-rc-vc::before { content: "\201C"; position: absolute; top: 14px; right: 30px; color: rgba(47, 107, 216, .12); font-family: Georgia, "Times New Roman", serif; font-size: 150px; font-weight: 700; line-height: 1; pointer-events: none; }
.sw-rc-vc-who { margin: 0 0 14px !important; color: #2f6bd8; font-size: calc(1.05rem + 1pt); font-weight: 800; }
.sw-rc-vc-quote { margin: 0 0 16px !important; color: #0b1f44; font-size: calc(1.45rem + 1pt); font-weight: 800; letter-spacing: -.02em; line-height: 1.4; word-break: keep-all; }
.sw-rc-vc-quote strong { color: #1f6fe5; font-weight: 800; }
.sw-rc-vc-body { margin: 0 !important; color: #3f4b5c; font-size: calc(1.02rem + 1pt); line-height: 1.8; word-break: keep-all; }
.sw-rc-vc-tips { margin: 22px 0 0 !important; padding: 22px 0 0 !important; border-top: 1px solid #e1e8f3; list-style: none !important; }
.sw-rc-vc-tips li { position: relative; padding-left: 26px; margin: 0 0 10px; color: #2b3547; font-size: calc(.98rem + 1pt); line-height: 1.7; word-break: keep-all; }
.sw-rc-vc-tips li::before { content: ""; position: absolute; left: 0; top: .55em; width: 16px; height: 16px; border-radius: 50%; background: color-mix(in srgb, #2f6bd8 12%, #fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bd8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 10px no-repeat; }
.sw-rc-vc-role { margin: auto 0 0 !important; padding-top: 22px; color: #6b7a90; font-size: calc(.92rem + 1pt); font-weight: 600; }
.sw-rc-vc-role::before { content: "— "; }
@media (max-width: 900px) { .sw-rc-voices { grid-template-columns: 1fr; } .sw-rc-vc { padding: 32px 26px 28px; } .sw-rc-vc::before { font-size: 110px; } }

/* 2026-10-14: 현직자 카드 — 얼굴 대신 사람 픽토그램 아바타(사용자 요청) */
.sw-rc-vc-av { display: grid; place-items: center; width: 68px; height: 68px; margin-bottom: 18px; border-radius: 50%; background: linear-gradient(135deg, #e3edff, #d3e4ff); color: #2f6bd8; box-shadow: inset 0 0 0 3px #fff, 0 8px 18px rgba(47, 107, 216, .16); }
.sw-rc-vc.is-pm .sw-rc-vc-av { background: linear-gradient(135deg, #d9f3f6, #c6eef3); color: #0b9a84; }
.sw-rc-vc.is-pm .sw-rc-vc-who { color: #0b9a84; }
.sw-rc-vc-av svg { display: block; }

/* 2026-10-14: 현직자의 팁 제목 블록을 wide 폭 왼쪽에 정렬(04·06과 동일) */
body.page-id-207 .sw-rc-voice .sw-section-heading { max-width: 1360px !important; margin-left: auto !important; margin-right: auto !important; }
body.page-id-207 .sw-rc-voice .sw-section-heading > * { max-width: 1000px; margin-left: 0 !important; }

/* 2026-10-14: 채용절차 원형 4개 — 단계마다 다른 그라데이션(남색 계열로 통일감 유지) + 상단 광택(사용자 요청) */
.sw-rc-flow-c { background: radial-gradient(circle at 30% 22%, rgba(255, 255, 255, .28), rgba(255, 255, 255, 0) 42%), linear-gradient(145deg, var(--g1, #15357f), var(--g2, #2f6bd8)); }
.sw-rc-flow li:nth-child(1) .sw-rc-flow-c { --g1: #10306f; --g2: #2f6bd8; }
.sw-rc-flow li:nth-child(2) .sw-rc-flow-c { --g1: #1e4fa3; --g2: #22b8d8; }
.sw-rc-flow li:nth-child(3) .sw-rc-flow-c { --g1: #0f7f9c; --g2: #21a892; }
.sw-rc-flow li:nth-child(4) .sw-rc-flow-c { --g1: #4a3fc9; --g2: #2f6bd8; }
.sw-rc-flow li:nth-child(1) .sw-rc-flow-c { box-shadow: 0 18px 40px rgba(16, 47, 103, .24), inset 0 0 0 6px rgba(255, 255, 255, .08); }
.sw-rc-flow li:nth-child(2) .sw-rc-flow-c { box-shadow: 0 18px 40px rgba(30, 120, 190, .26), inset 0 0 0 6px rgba(255, 255, 255, .08); }
.sw-rc-flow li:nth-child(3) .sw-rc-flow-c { box-shadow: 0 18px 40px rgba(20, 140, 150, .26), inset 0 0 0 6px rgba(255, 255, 255, .08); }
.sw-rc-flow li:nth-child(4) .sw-rc-flow-c { box-shadow: 0 18px 40px rgba(74, 63, 201, .26), inset 0 0 0 6px rgba(255, 255, 255, .08); }

/* 2026-10-14: 채용절차 — 원 안 단계명 확대, 설명문 핵심어 굵은 파랑(사용자 요청) */
.sw-rc-flow-c { width: 228px; height: 228px; gap: 12px; }
.sw-rc-flow-c svg { width: 46px; height: 46px; }
.sw-rc-flow-c b { font-size: calc(1.32rem + 1pt); padding: 0 18px; }
.sw-rc-flow li::after { top: 104px; }
.sw-rc-flow small { margin-top: 20px; font-size: calc(1rem + 1pt); }
.sw-rc-flow p { font-size: calc(1.05rem + 1pt); line-height: 1.75; }
.sw-rc-flow p strong { color: #1f6fe5; font-weight: 800; }
@media (max-width: 560px) { .sw-rc-flow-c { width: 190px; height: 190px; } .sw-rc-flow-c b { font-size: calc(1.15rem + 1pt); } }

/* 2026-10-14: 채용절차 원 색감 — 참고 이미지처럼 시안 → 파랑 → 남색으로 이어지는 흐름, 연결 꺾쇠는 파란 원 안 흰 화살표 */
.sw-rc-flow li:nth-child(1) .sw-rc-flow-c { --g1: #2fd0e4; --g2: #14b3dc; box-shadow: 0 18px 40px rgba(20, 179, 220, .28), inset 0 0 0 6px rgba(255, 255, 255, .1); }
.sw-rc-flow li:nth-child(2) .sw-rc-flow-c { --g1: #1db2e2; --g2: #0d8fd3; box-shadow: 0 18px 40px rgba(13, 143, 211, .28), inset 0 0 0 6px rgba(255, 255, 255, .1); }
.sw-rc-flow li:nth-child(3) .sw-rc-flow-c { --g1: #1183d0; --g2: #0b5bb6; box-shadow: 0 18px 40px rgba(11, 91, 182, .28), inset 0 0 0 6px rgba(255, 255, 255, .1); }
.sw-rc-flow li:nth-child(4) .sw-rc-flow-c { --g1: #0e4ca0; --g2: #0a2868; box-shadow: 0 18px 40px rgba(10, 40, 104, .3), inset 0 0 0 6px rgba(255, 255, 255, .1); }
.sw-rc-flow li::after { top: 100px; right: -20px; width: 28px; height: 28px; border-radius: 50%; background: #0b5bb6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center / 14px no-repeat; -webkit-mask: none; mask: none; box-shadow: 0 6px 14px rgba(11, 91, 182, .3); }
.sw-rc-flow li:nth-child(1)::after { background-color: #14b3dc; }
.sw-rc-flow li:nth-child(2)::after { background-color: #0d8fd3; }
.sw-rc-flow li:nth-child(3)::after { background-color: #0b5bb6; }

/* 2026-10-14: 채용절차 연결 화살표 살짝 확대(사용자 요청) */
.sw-rc-flow li::after { top: 97px; right: -23px; width: 34px; height: 34px; background-size: 17px; }

/* 2026-10-14: 현직자 섹션을 Q&A 인터뷰(.sw-rc-iv)로 — 왼쪽 프로필(아바타 · 역할 · 대표 인용) + 오른쪽 문답 */
.sw-rc-ivs { display: grid; gap: 28px; margin: 0 auto !important; }
.sw-rc-iv { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 40px 56px; padding: 44px 46px; border: 2px solid transparent; border-radius: 26px; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #cfe0ff, #bfeaf4) border-box; box-shadow: 0 18px 44px rgba(16, 47, 103, .08); }
.sw-rc-iv-prof { position: sticky; top: 110px; align-self: start; }
.sw-rc-iv-prof .sw-rc-vc-av { width: 76px; height: 76px; margin-bottom: 20px; }
.sw-rc-iv.is-pm .sw-rc-vc-av { background: linear-gradient(135deg, #d9f3f6, #c6eef3); color: #0b9a84; }
.sw-rc-iv-prof h3 { margin: 0 0 6px !important; color: #0b1f44; font-size: calc(1.4rem + 1pt); font-weight: 800; letter-spacing: -.02em; }
.sw-rc-iv-role { margin: 0 0 22px !important; color: #2f6bd8; font-size: calc(.98rem + 1pt); font-weight: 700; }
.sw-rc-iv.is-pm .sw-rc-iv-role { color: #0b9a84; }
.sw-rc-iv-pull { position: relative; margin: 0 !important; padding: 22px 24px 24px; border-radius: 18px; background: #f4f7fd; color: #0b1f44; font-size: calc(1.18rem + 1pt); font-weight: 700; line-height: 1.55; letter-spacing: -.01em; word-break: keep-all; }
.sw-rc-iv-pull::before { content: "\201C"; display: block; margin-bottom: -10px; color: rgba(47, 107, 216, .35); font-family: Georgia, "Times New Roman", serif; font-size: 54px; line-height: 1; }
.sw-rc-iv-pull strong { color: #1f6fe5; font-weight: 800; }
.sw-rc-iv.is-pm .sw-rc-iv-pull strong { color: #0b9a84; }
.sw-rc-iv-qa { margin: 0 !important; }
.sw-rc-iv-qa dt { display: flex; align-items: flex-start; gap: 14px; margin: 0; color: #0b1f44; font-size: calc(1.18rem + 1pt); font-weight: 800; letter-spacing: -.01em; line-height: 1.45; word-break: keep-all; }
.sw-rc-iv-qa dt span { flex: 0 0 auto; display: inline-grid; place-items: center; min-width: 46px; height: 32px; padding: 0 10px; border-radius: 99px; background: color-mix(in srgb, #2f6bd8 12%, #fff); color: #2f6bd8; font-family: Montserrat, Roboto, sans-serif; font-size: calc(.9rem + 1pt); font-weight: 800; letter-spacing: 0; }
.sw-rc-iv.is-pm .sw-rc-iv-qa dt span { background: color-mix(in srgb, #0b9a84 12%, #fff); color: #0b9a84; }
.sw-rc-iv-qa dd { margin: 12px 0 0 60px; color: #3f4b5c; font-size: calc(1.02rem + 1pt); line-height: 1.85; word-break: keep-all; }
.sw-rc-iv-qa dd strong { color: #1f6fe5; font-weight: 800; }
.sw-rc-iv.is-pm .sw-rc-iv-qa dd strong { color: #0b9a84; }
.sw-rc-iv-qa dd + dt { margin-top: 30px; padding-top: 30px; border-top: 1px solid #e3eaf5; }
@media (max-width: 1000px) {
  .sw-rc-iv { grid-template-columns: 1fr; gap: 28px; padding: 30px 26px; }
  .sw-rc-iv-prof { position: static; }
  .sw-rc-iv-qa dd { margin-left: 0; }
}

/* 2026-10-14: 현직자 인터뷰를 짧게 — 두 카드 나란히, 프로필 위 · 문답 아래 */
.sw-rc-ivs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.sw-rc-iv { display: flex; flex-direction: column; gap: 28px; padding: 38px 38px 34px; }
.sw-rc-iv-prof { position: static; }
.sw-rc-iv-prof h3 { font-size: calc(1.3rem + 1pt); }
.sw-rc-iv-pull { font-size: calc(1.12rem + 1pt); padding: 18px 22px 20px; }
.sw-rc-iv-pull::before { font-size: 44px; margin-bottom: -8px; }
.sw-rc-iv-qa dt { font-size: calc(1.08rem + 1pt); }
.sw-rc-iv-qa dt span { min-width: 42px; height: 30px; }
.sw-rc-iv-qa dd { margin: 10px 0 0 56px; font-size: calc(1rem + 1pt); line-height: 1.8; }
.sw-rc-iv-qa dd + dt { margin-top: 22px; padding-top: 22px; }
@media (max-width: 1000px) { .sw-rc-ivs { grid-template-columns: 1fr; } .sw-rc-iv { padding: 30px 26px; } }

/* 2026-10-14: 현직자 인터뷰 — 일러스트 아바타(이미지) + 이름 · 역할 가로 배치, 구호형 인용문 제거 */
.sw-rc-iv-prof { display: flex; align-items: center; gap: 22px; }
.sw-rc-iv .sw-rc-vc-av.is-img { flex: 0 0 auto; width: 104px; height: 104px; margin: 0; padding: 0; overflow: hidden; border-radius: 50%; background: #5ec1ec; box-shadow: 0 10px 24px rgba(47, 107, 216, .18), inset 0 0 0 3px #fff; }
.sw-rc-iv .sw-rc-vc-av.is-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sw-rc-iv-id { min-width: 0; }
.sw-rc-iv-prof h3 { margin: 0 0 4px !important; }
.sw-rc-iv-role { margin: 0 !important; }
.sw-rc-iv-qa dd strong { color: #1f6fe5; }
.sw-rc-iv.is-pm .sw-rc-iv-qa dd strong { color: #0b9a84; }
@media (max-width: 560px) { .sw-rc-iv .sw-rc-vc-av.is-img { width: 84px; height: 84px; } }

/* 2026-10-14: 채용절차 영문 단계명 확대(사용자 요청) */
.sw-rc-flow small { margin-top: 22px; font-size: calc(1.3rem + 1pt); font-weight: 800; }

/* 2026-10-14: 십계명 항목 제목을 섹션 라벨과 같은 흐르는 그라데이션 글자로(사용자 요청) */
.sw-ten li b, .sw-ten li:nth-child(4n+3) b, .sw-ten li:nth-child(4n+4) b, .sw-ten li:first-child b { display: inline-block; background-image: linear-gradient(90deg, #1e4fa3 0%, #2f6bd8 20%, #22b8d8 45%, #2f6bd8 70%, #1e4fa3 100%); background-size: 200% 100%; background-repeat: repeat-x; -webkit-background-clip: text; background-clip: text; color: transparent !important; -webkit-text-fill-color: transparent !important; animation: sw-rc-flow 3s linear infinite; }
@media (max-width: 900px) { .sw-ten li:nth-child(even) b { color: transparent !important; } }
@media (prefers-reduced-motion: reduce) { .sw-ten li b { animation: none; } }

/* 2026-10-14: 십계명 제목 그라데이션 원복(사용자 요청) — 행 단위 파랑 · 남색 교차로 되돌림 */
.sw-ten li b, .sw-ten li:first-child b, .sw-ten li:nth-child(4n+3) b, .sw-ten li:nth-child(4n+4) b { display: block; background: none; -webkit-background-clip: border-box; background-clip: border-box; animation: none; color: #1f6fe5 !important; -webkit-text-fill-color: #1f6fe5 !important; }
.sw-ten li:nth-child(4n+3) b, .sw-ten li:nth-child(4n+4) b { color: #0b1f44 !important; -webkit-text-fill-color: #0b1f44 !important; }
@media (max-width: 900px) { .sw-ten li b { color: #1f6fe5 !important; -webkit-text-fill-color: #1f6fe5 !important; } .sw-ten li:nth-child(even) b { color: #0b1f44 !important; -webkit-text-fill-color: #0b1f44 !important; } }

/* 2026-10-14: 엔지니어링 문화 카드 제목 확대(사용자 요청) */
.sw-rc-eng-grid b { font-size: calc(1.62rem + 1pt); line-height: 1.35; }
.sw-rc-eng-grid span { margin-top: 12px; font-size: calc(1.05rem + 1pt); }
@media (max-width: 781px) { .sw-rc-eng-grid b { font-size: calc(1.3rem + 1pt); } }

/* 2026-10-14: WHO WE ARE 그래픽을 궤도형 SVG(.sw-orbit)로 교체 — 중앙 원 숨쉬기, 바깥 궤도 회전(아바타는 정립 유지), 점선 링 역회전 */
.sw-people-art.is-orbit { width: min(100%, 560px) !important; aspect-ratio: 1; filter: none; }
.sw-people-art.is-orbit::before { content: none; }
.sw-orbit { display: block; width: 100%; height: auto; overflow: visible; }
.sw-orbit .o-outer { transform-origin: 300px 300px; animation: sw-orbit-spin 44s linear infinite; }
.sw-orbit .o-sat { transform-box: fill-box; transform-origin: center; animation: sw-orbit-spin-rev 44s linear infinite; }
.sw-orbit .o-dash { transform-origin: 300px 300px; animation: sw-orbit-spin-rev 28s linear infinite; }
.sw-orbit .o-dots2 { transform-origin: 300px 300px; animation: sw-orbit-spin 60s linear infinite; }
.sw-orbit .o-core { transform-box: fill-box; transform-origin: center; animation: sw-orbit-breathe 4.5s ease-in-out infinite; }
.sw-orbit .o-glow { transform-box: fill-box; transform-origin: center; animation: sw-orbit-glow 4.5s ease-in-out infinite; }
.sw-orbit .o-halo { transform-box: fill-box; transform-origin: center; animation: sw-orbit-glow 7s ease-in-out infinite; }
@keyframes sw-orbit-spin { to { transform: rotate(360deg); } }
@keyframes sw-orbit-spin-rev { to { transform: rotate(-360deg); } }
@keyframes sw-orbit-breathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.035); } }
@keyframes sw-orbit-glow { 0%, 100% { opacity: .45; transform: scale(1); } 50% { opacity: .8; transform: scale(1.06); } }
@media (prefers-reduced-motion: reduce) { .sw-orbit * { animation: none !important; } }
@media (max-width: 1000px) { .sw-people-art.is-orbit { width: min(86%, 420px) !important; } }

/* 2026-10-14: 엔지니어링 문화 — 박스 제거, 큰 숫자 + 구분선 목록(십계명과 같은 결)로 (사용자: 박스가 너무 많다) */
.sw-rc-eng-grid { gap: 0 72px; }
.sw-rc-eng-grid li { display: grid; grid-template-columns: 86px 1fr; grid-template-rows: auto 1fr; column-gap: 18px; align-items: start; padding: 30px 0 32px; border: 0; border-top: 1px solid rgba(255, 255, 255, .16); border-radius: 0; background: none; backdrop-filter: none; transition: none; }
.sw-rc-eng-grid li:nth-child(-n+2) { padding-top: 0; border-top: 0; }
.sw-rc-eng-grid li:hover { transform: none; background: none; border-color: rgba(255, 255, 255, .16); }
.sw-rc-eng-grid li::before { grid-row: 1 / span 2; margin: -6px 0 0; background: linear-gradient(135deg, #7cd0ff, #ffffff); -webkit-background-clip: text; background-clip: text; color: transparent; font-size: 52px; line-height: 1; letter-spacing: -.03em; }
.sw-rc-eng-grid b { font-size: calc(1.62rem + 1pt); }
.sw-rc-eng-grid span { align-self: start; margin-top: 10px; }
@media (max-width: 1000px) { .sw-rc-eng-grid { gap: 0; } .sw-rc-eng-grid li:nth-child(2) { padding-top: 30px; border-top: 1px solid rgba(255, 255, 255, .16); } .sw-rc-eng-grid li { grid-template-columns: 62px 1fr; padding: 22px 0; } .sw-rc-eng-grid li::before { font-size: 38px; } }

/* 2026-10-14: 히어로 두 문단 글꼴 통일(사용자 요청) */
.sw-page-hero.sw-rc-hero p.has-large-font-size, .sw-page-hero.sw-rc-hero .sw-rc-hero-sub { font-family: inherit; font-size: calc(1.18rem + 1pt) !important; font-weight: 400 !important; line-height: 1.75 !important; color: rgba(255, 255, 255, .88) !important; letter-spacing: 0; max-width: 54em; }
.sw-page-hero.sw-rc-hero .sw-rc-hero-sub { margin-top: 2px !important; }

/* 2026-10-14: 채용 포지션 — 운영지원 → 사업관리(PM) 카드, 배경 사진 position-pm.jpg */
.sw-positions .sw-card-grid + .sw-card-grid > .wp-block-column:nth-child(2) .sw-card { --photo: url("assets/images/position-pm.jpg"); }

/* 2026-10-14: 채용정보 앵커 탭 글씨 확대(사용자 요청) */
body.page-id-207 .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link { font-size: calc(19px + 1pt); padding: 20px 24px; }
body.page-id-207 .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link::after { right: 24px; left: 24px; }
@media (max-width: 781px) { body.page-id-207 .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link { font-size: calc(16px + 1pt); padding: 15px 16px; } }

/* 2026-10-14: 연혁 — 활성 시대 카드 확대(사용자 요청): 왼쪽 열 넓힘, 활성 카드 높이·글자·스케일 확대 */
@media (min-width: 981px) {
  .sw-htl { width: min(1320px, calc(100vw - 48px)) !important; grid-template-columns: minmax(400px, 40%) minmax(0, 1fr) !important; column-gap: 48px; }
  .sw-htl-tabs button[aria-selected="true"] { min-height: 480px; padding: 56px 46px !important; transform: scale(1.07); border-radius: 26px; box-shadow: 0 30px 70px rgba(16, 47, 103, .32), 0 0 0 3px rgba(143, 200, 255, .55); }
  .sw-htl-tabs button[aria-selected="true"] b { font-size: clamp(2.9rem, 4.1vw, 4rem) !important; line-height: 1.1; }
  .sw-htl-tabs button[aria-selected="true"] em { width: 56px; height: 4px; margin: 18px 0 18px !important; }
  .sw-htl-tabs button[aria-selected="true"] small { font-size: calc(1.45rem + 1pt) !important; line-height: 1.45; }
  .sw-htl-tabs:has(button[aria-selected="true"]) button:not([aria-selected="true"]) { transform: scale(.9) translateY(4px); opacity: .42; }
  .sw-htl-tabs { gap: 18px !important; }
}

/* 2026-10-14: 엔지니어링 문화 — 참고 디자인 반영: 제목 둘째 줄 하늘색 그라데이션, 2×2 유리 카드(큰 번호 · 세로 구분선 · 제목/설명 · 아이콘 타일) */
.sw-rc-eng { background: radial-gradient(60% 50% at 85% 0%, rgba(47, 120, 230, .28), transparent 65%), radial-gradient(45% 45% at 5% 100%, rgba(32, 184, 209, .14), transparent 65%), linear-gradient(160deg, #071a3f 0%, #0b2558 50%, #0a1f4b 100%); }
.sw-rc-eng::before { background: linear-gradient(115deg, transparent 58%, rgba(124, 208, 255, .08) 58.2%, rgba(124, 208, 255, .03) 70%, transparent 70.2%), linear-gradient(115deg, transparent 72%, rgba(124, 208, 255, .06) 72.2%, rgba(124, 208, 255, .02) 86%, transparent 86.2%); }
.sw-rc-eng .sw-section-heading h2 { font-size: calc(clamp(2.2rem, 3.8vw, 3.4rem) + 1pt) !important; line-height: 1.22 !important; }
.sw-rc-eng-hl { background: linear-gradient(90deg, #8fd0ff, #cde9ff 55%, #7cc0f2); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.sw-rc-eng .sw-section-heading .sw-lead { font-size: calc(1.1rem + 1pt); }
.sw-rc-eng-grid { gap: 22px; }
.sw-rc-eng-grid li, .sw-rc-eng-grid li:nth-child(-n+2) { display: grid; grid-template-columns: 96px minmax(0, 1fr) 76px; grid-template-rows: auto; column-gap: 22px; align-items: center; padding: 34px 32px 34px 30px; border: 1px solid rgba(124, 208, 255, .28); border-top: 1px solid rgba(124, 208, 255, .28); border-radius: 20px; background: linear-gradient(135deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03)); backdrop-filter: blur(8px); box-shadow: 0 18px 40px rgba(3, 12, 40, .35), inset 0 1px 0 rgba(255, 255, 255, .12); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.sw-rc-eng-grid li:hover { transform: translateY(-4px); border-color: rgba(124, 208, 255, .6); box-shadow: 0 26px 50px rgba(3, 12, 40, .45), inset 0 1px 0 rgba(255, 255, 255, .16); }
.sw-rc-eng-grid li::before { grid-row: auto; margin: 0; background: linear-gradient(180deg, #9fd8ff, #4aa3f0); -webkit-background-clip: text; background-clip: text; color: transparent; font-size: 60px; line-height: 1; letter-spacing: -.03em; }
.sw-rc-eng-txt { min-width: 0; padding-left: 22px; border-left: 2px solid rgba(124, 208, 255, .4); }
.sw-rc-eng-grid b { font-size: calc(1.3rem + 1pt); line-height: 1.4; }
.sw-rc-eng-grid span { margin-top: 10px; font-size: calc(1rem + 1pt); line-height: 1.75; color: rgba(255, 255, 255, .8); }
.sw-rc-eng-ico { display: grid; place-items: center; width: 76px; height: 76px; border: 1px solid rgba(124, 208, 255, .35); border-radius: 18px; background: linear-gradient(135deg, rgba(124, 208, 255, .18), rgba(47, 107, 216, .12)); color: #8fd0ff; box-shadow: 0 10px 24px rgba(3, 12, 40, .3), inset 0 1px 0 rgba(255, 255, 255, .18); }
.sw-rc-eng-ico svg { display: block; }
@media (max-width: 1000px) { .sw-rc-eng-grid { gap: 16px; } .sw-rc-eng-grid li, .sw-rc-eng-grid li:nth-child(2) { grid-template-columns: 64px minmax(0, 1fr); padding: 24px 22px; border-top: 1px solid rgba(124, 208, 255, .28); } .sw-rc-eng-grid li::before { font-size: 40px; } .sw-rc-eng-ico { display: none; } .sw-rc-eng-txt { padding-left: 16px; } }

/* 2026-10-14: 앵커 탭 글씨 확대를 모든 페이지로 확장(사용자 요청) — 채용정보와 같은 19px */
.sw-anchor-nav:not(.is-tabbar) .wp-block-button__link { font-size: calc(19px + 1pt); padding: 20px 24px; }
.sw-anchor-nav:not(.is-tabbar) .wp-block-button__link::after { right: 24px; left: 24px; }
@media (max-width: 781px) { .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link { font-size: calc(16px + 1pt); padding: 15px 16px; } }

/* 2026-10-14: MRO 구매 플랫폼 도식 — 점선 화살표 흐름 애니메이션 재적용(사용자 요청, 7103행의 해제를 덮음) */
.sw-mm .sw-mm-flow { animation: sw-mm-dash 1.6s linear infinite !important; }
.sw-mm .sw-mm-flow.is-o { animation-duration: 2.2s !important; }
.sw-mm .sw-mm-flow.is-n { animation-duration: 2s !important; }
@media (prefers-reduced-motion: reduce) { .sw-mm .sw-mm-flow { animation: none !important; } }

/* 2026-10-14: SI·ITO 운영 서비스 범위 4카드 — 제목 앞 아이콘 타일(옅은 흰 배경 + 하늘색 선 아이콘) */
.sw-itos li::before { content: ""; display: block; width: 52px; height: 52px; margin-bottom: 16px; border-radius: 14px; background-color: rgba(255, 255, 255, .12); background-position: center; background-repeat: no-repeat; background-size: 26px; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); }
.sw-itos li:nth-child(1)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fd0ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0 5 5l-9 9a2.1 2.1 0 0 1-3-3l9-9z'/%3E%3Cpath d='M14.7 6.3L17 4l3 3-2.3 2.3'/%3E%3C/svg%3E"); }
.sw-itos li:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fd0ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 13a8 8 0 0 1 16 0'/%3E%3Crect x='3' y='13' width='4' height='6' rx='1.5'/%3E%3Crect x='17' y='13' width='4' height='6' rx='1.5'/%3E%3Cpath d='M19 19a3 3 0 0 1-3 2h-2'/%3E%3C/svg%3E"); }
.sw-itos li:nth-child(3)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fd0ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9l2.1 2.1M17 17l2.1 2.1M4.9 19.1L7 17M17 7l2.1-2.1'/%3E%3C/svg%3E"); }
.sw-itos li:nth-child(4)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fd0ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18a4.5 4.5 0 0 1-.6-8.96A6 6 0 0 1 18 8a4 4 0 0 1 0 8H7z'/%3E%3C/svg%3E"); }

/* 2026-10-14: 타자 효과(.sw-type) 커서 · THE PEOPLE WE LOOK FOR 제목 핵심어 색상 */
.sw-type { display: inline-block; min-height: 1.4em; }
.sw-type.is-typing::after { content: ""; display: inline-block; width: 3px; height: 1.05em; margin-left: 4px; vertical-align: -0.12em; border-radius: 2px; background: #1f6fe5; animation: sw-type-caret .9s steps(1) infinite; }
@keyframes sw-type-caret { 50% { opacity: 0; } }
.sw-rc-pl b strong { color: #1f6fe5; font-weight: 800; }

/* 2026-10-14: 엔지니어링 문화 — 아이콘 타일 제거(사용자: AI 같다), 리드 강조어를 밝은 하늘색으로(남색 배경에서 안 보이던 문제) */
.sw-rc-eng-ico { display: none !important; }
.sw-rc-eng-grid li, .sw-rc-eng-grid li:nth-child(-n+2) { grid-template-columns: 96px minmax(0, 1fr); }
.sw-rc-eng .sw-section-heading .sw-lead strong { color: #8fd0ff; font-weight: 800; }

/* 2026-10-14: 포트폴리오 제목 '움직인 자리' 뒤에 홈 배너와 같은 파동(물결 링) 효과 */
.sw-pf-head > .wp-block-column:first-child { position: relative; isolation: isolate; }
.sw-pf-head > .wp-block-column:first-child::before, .sw-pf-head > .wp-block-column:first-child::after { content: ""; position: absolute; top: 50%; left: 50%; z-index: -1; width: 220px; height: 220px; border: 2px solid rgba(47, 107, 216, .35); border-radius: 50%; transform: translate(-50%, -50%) scale(.3); opacity: 0; pointer-events: none; animation: sw-ripple-ink 5.2s ease-out infinite; }
.sw-pf-head > .wp-block-column:first-child::after { animation-delay: 2.6s; }
@keyframes sw-ripple-ink { 0% { opacity: .8; transform: translate(-50%, -50%) scale(.3); } 100% { opacity: 0; transform: translate(-50%, -50%) scale(4.2); } }
@media (prefers-reduced-motion: reduce) { .sw-pf-head > .wp-block-column:first-child::before, .sw-pf-head > .wp-block-column:first-child::after { animation: none; } }

/* 2026-10-14: OPEN POSITIONS 제목 양옆 반짝이는 다이아몬드(사용자 요청) */
.sw-positions .sw-section-heading h2 { position: relative; display: inline-block; padding: 0 56px; }
.sw-positions .sw-section-heading h2::before, .sw-positions .sw-section-heading h2::after { content: ""; position: absolute; top: 50%; width: 26px; height: 26px; background: linear-gradient(135deg, #ffffff, #8fd0ff 55%, #2f6bd8); clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); transform: translateY(-50%) scale(.7); opacity: .5; animation: sw-diamond 1.8s ease-in-out infinite; filter: drop-shadow(0 0 6px rgba(143, 208, 255, .9)); }
.sw-positions .sw-section-heading h2::before { left: 10px; }
.sw-positions .sw-section-heading h2::after { right: 10px; animation-delay: .9s; }
@keyframes sw-diamond { 0%, 100% { transform: translateY(-50%) scale(.6) rotate(0); opacity: .45; filter: drop-shadow(0 0 2px rgba(143, 208, 255, .4)); } 50% { transform: translateY(-50%) scale(1.1) rotate(45deg); opacity: 1; filter: drop-shadow(0 0 12px rgba(255, 255, 255, 1)); } }
@media (prefers-reduced-motion: reduce) { .sw-positions .sw-section-heading h2::before, .sw-positions .sw-section-heading h2::after { animation: none; } }
@media (max-width: 781px) { .sw-positions .sw-section-heading h2 { padding: 0 34px; } .sw-positions .sw-section-heading h2::before, .sw-positions .sw-section-heading h2::after { width: 18px; height: 18px; } .sw-positions .sw-section-heading h2::before { left: 4px; } .sw-positions .sw-section-heading h2::after { right: 4px; } }

/* ===== 2026-10-14: SI·ITO(61) MMCS — IoT 맨홀관제 소개 + IoT 보안 테스트베드 4영역 리디자인 (밋밋한 표 → 흐름 도식 + 아이콘 카드) ===== */
.sw-mmcs { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 36px 48px; align-items: start; margin: 28px 0 0; }
.sw-mmcs-lead { margin: 0 !important; color: #3b4658; font-size: calc(1.04rem + 1pt); line-height: 1.85; word-break: keep-all; }
.sw-mmcs-lead strong { color: #1f6fe5; font-weight: 800; }
.sw-mmcs-refs { position: relative; margin: 26px 0 0 !important; padding: 0 0 0 26px !important; list-style: none !important; }
.sw-mmcs-refs::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; border-radius: 2px; background: linear-gradient(180deg, #2f6bd8, #22b8d8); }
.sw-mmcs-refs li { position: relative; display: grid; grid-template-columns: 86px 1fr; gap: 14px; padding: 7px 0; color: #2b3547; font-size: calc(1rem + 1pt); line-height: 1.6; word-break: keep-all; }
.sw-mmcs-refs li::before { content: ""; position: absolute; left: -24px; top: 15px; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 3px solid #2f6bd8; box-shadow: 0 0 0 3px #e3edff; }
.sw-mmcs-refs b { color: #1f6fe5; font-family: Montserrat, Roboto, sans-serif; font-weight: 800; letter-spacing: 0; }
.sw-mmcs-flow { display: grid; grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1.25fr) 30px minmax(0, 1fr); align-items: center; gap: 10px; margin: 0; padding: 26px 24px; border: 2px solid transparent; border-radius: 22px; background: linear-gradient(#f6f9ff, #f6f9ff) padding-box, linear-gradient(135deg, #c9dcff, #bde9f3) border-box; }
.sw-mmcs-col { min-width: 0; padding: 18px 16px; border-radius: 16px; background: #fff; box-shadow: 0 8px 22px rgba(16, 47, 103, .07); text-align: center; }
.sw-mmcs-col small { display: block; margin-bottom: 10px; color: #6b7a90; font-size: calc(.85rem + 1pt); font-weight: 700; }
.sw-mmcs-col ul { margin: 0 !important; padding: 0 !important; list-style: none !important; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.sw-mmcs-col ul li { padding: 6px 11px; border-radius: 99px; background: color-mix(in srgb, #2f6bd8 10%, #fff); color: #1f4fa3; font-size: calc(.88rem + 1pt); font-weight: 700; line-height: 1.3; }
.sw-mmcs-col.is-core { padding: 22px 18px; background: linear-gradient(135deg, #10306f, #2f6bd8 70%, #22b8d8); color: #fff; box-shadow: 0 18px 36px rgba(16, 47, 103, .28); }
.sw-mmcs-col.is-core small { color: rgba(255, 255, 255, .75); }
.sw-mmcs-col.is-core b { display: block; font-size: calc(1.1rem + 1pt); font-weight: 800; line-height: 1.35; word-break: keep-all; }
.sw-mmcs-col.is-core p { margin: 8px 0 0; color: rgba(255, 255, 255, .85); font-size: calc(.9rem + 1pt); line-height: 1.6; }
.sw-mmcs-col.is-out ul li { background: color-mix(in srgb, #0b9a84 10%, #fff); color: #0b7a6a; }
.sw-mmcs-arrow { width: 30px; height: 30px; border-radius: 50%; background: #2f6bd8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center / 14px no-repeat; box-shadow: 0 6px 14px rgba(47, 107, 216, .3); }
.sw-tb { margin: 56px 0 0; }
.sw-tb-head h3 { margin: 0 0 8px !important; color: #13306e; font-size: calc(1.6rem + 1pt); font-weight: 800; letter-spacing: -.02em; }
.sw-tb-head p { margin: 0 !important; color: #4b5668; font-size: calc(1.02rem + 1pt); line-height: 1.7; }
.sw-tb-head p strong { color: #1f6fe5; font-weight: 800; }
.sw-tb-grid { counter-reset: tb; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 26px 0 0 !important; padding: 0 !important; list-style: none !important; }
.sw-tb-grid li { counter-increment: tb; position: relative; display: flex; flex-direction: column; padding: 28px 24px 26px; border: 2px solid transparent; border-radius: 20px; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, #d6e4ff, #c6edf4) border-box; box-shadow: 0 12px 30px rgba(16, 47, 103, .07); transition: transform .25s ease, box-shadow .25s ease; }
.sw-tb-grid li:hover { transform: translateY(-5px); box-shadow: 0 22px 44px rgba(16, 47, 103, .14); }
.sw-tb-grid li::before { content: "0" counter(tb); position: absolute; top: 20px; right: 22px; background: linear-gradient(135deg, #1e4fa3, #22b8d8); -webkit-background-clip: text; background-clip: text; color: transparent; font-family: Montserrat, Roboto, sans-serif; font-size: 40px; font-weight: 800; line-height: 1; letter-spacing: -.03em; opacity: .55; }
.sw-tb-ico { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 18px; border-radius: 16px; background: color-mix(in srgb, #2f6bd8 10%, #fff); color: #2f6bd8; }
.sw-tb-grid li:nth-child(2) .sw-tb-ico { background: color-mix(in srgb, #6a4df0 10%, #fff); color: #6a4df0; }
.sw-tb-grid li:nth-child(3) .sw-tb-ico { background: color-mix(in srgb, #0b9a84 10%, #fff); color: #0b9a84; }
.sw-tb-grid li:nth-child(4) .sw-tb-ico { background: color-mix(in srgb, #d6457c 10%, #fff); color: #d6457c; }
.sw-tb-grid b { display: block; min-height: 2.8em; color: #0b1f44; font-size: calc(1.12rem + 1pt); font-weight: 800; letter-spacing: -.01em; line-height: 1.4; word-break: keep-all; }
.sw-tb-grid ul { margin: 14px 0 0 !important; padding: 0 !important; list-style: none !important; }
.sw-tb-grid ul li { position: relative; padding: 5px 0 5px 24px; margin: 0; border: 0; background: none; box-shadow: none; color: #2b3547; font-size: calc(.96rem + 1pt); line-height: 1.5; word-break: keep-all; }
.sw-tb-grid ul li::before { content: ""; position: absolute; left: 0; top: .55em; width: 16px; height: 16px; border-radius: 50%; background: color-mix(in srgb, #2f6bd8 12%, #fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bd8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 10px no-repeat; font-size: 0; opacity: 1; }
.sw-tb-grid p { margin: auto 0 0 !important; padding-top: 16px; border-top: 1px solid #e3eaf5; color: #6b7a90; font-size: calc(.9rem + 1pt); line-height: 1.65; word-break: keep-all; }
.sw-tb-grid li:hover { transform: translateY(-5px); }
@media (max-width: 1000px) { .sw-mmcs { grid-template-columns: 1fr; } .sw-tb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .sw-mmcs-flow { grid-template-columns: 1fr; } .sw-mmcs-arrow { width: 30px; height: 30px; margin: 0 auto; transform: rotate(90deg); } .sw-tb-grid { grid-template-columns: 1fr; } .sw-mmcs-refs li { grid-template-columns: 1fr; gap: 2px; } }

/* 2026-10-14: 테스트베드 카드 번호 — 안쪽 체크 목록 li 가 counter 를 올리던 문제(01 · 06 · 011 …) 수정 */
.sw-tb-grid > li { counter-increment: tb; }
.sw-tb-grid ul li { counter-increment: none; }

/* 2026-10-14: 인사이트 글 날짜줄(.sw-dateline "날짜 | SKYWARE INSIGHT") 오른쪽 정렬(사용자 요청) */
.sw-post-body .sw-dateline, .sw-dateline { text-align: right !important; }

/* 2026-10-14: 현직자 인터뷰 3인(엔지니어 · PM · 기획자) — 3열 배치, 기획자 카드 보라 강조(.is-plan) */
.sw-rc-ivs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.sw-rc-iv { padding: 32px 30px 30px; gap: 24px; }
.sw-rc-iv-prof { gap: 16px; }
.sw-rc-iv .sw-rc-vc-av.is-img { width: 88px; height: 88px; }
.sw-rc-iv-prof h3 { font-size: calc(1.2rem + 1pt); }
.sw-rc-iv-role { font-size: calc(.92rem + 1pt); }
.sw-rc-iv-qa dt { gap: 12px; font-size: calc(1.02rem + 1pt); }
.sw-rc-iv-qa dt span { min-width: 40px; height: 28px; font-size: calc(.84rem + 1pt); }
.sw-rc-iv-qa dd { margin: 10px 0 0; font-size: calc(.98rem + 1pt); line-height: 1.8; }
.sw-rc-iv-qa dd + dt { margin-top: 20px; padding-top: 20px; }
.sw-rc-iv.is-plan .sw-rc-iv-role, .sw-rc-iv.is-plan .sw-rc-iv-qa dd strong { color: #6b4fd8; }
.sw-rc-iv.is-plan .sw-rc-iv-qa dt span { background: color-mix(in srgb, #6b4fd8 12%, #fff); color: #6b4fd8; }
@media (max-width: 1100px) { .sw-rc-ivs { grid-template-columns: 1fr; } .sw-rc-iv { padding: 30px 26px; } }

/* 2026-10-14: 현직자 인터뷰 3열 카드를 페이지 폭(1360)보다 넓게 — 최대 1680px, 좌우 24px 여백 */
.sw-rc-ivs.alignwide { max-width: min(1680px, calc(100vw - 48px)) !important; margin-left: auto !important; margin-right: auto !important; }
.sw-rc-ivs { gap: 26px; }
.sw-rc-iv { padding: 36px 36px 32px; }

/* 2026-10-14: OPEN POSITIONS 제목 다이아몬드 재디자인 — 마름모 회전(중간에 정사각형으로 보임) 대신 면이 나뉜 보석 SVG + 둥실 떠오르며 빛나는 글로우 + 작은 별 반짝임 */
.sw-positions .sw-section-heading h2 { padding: 0 64px; }
.sw-positions .sw-section-heading h2::before, .sw-positions .sw-section-heading h2::after { width: 48px; height: 48px; clip-path: none; opacity: 1; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 44'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23ffffff'/%3E%3Cstop offset='1' stop-color='%232f6bd8'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpolygon points='12,3 36,3 46,16 24,42 2,16' fill='url(%23g)'/%3E%3Cpolygon points='12,3 36,3 34,16 14,16' fill='%23e8f4ff'/%3E%3Cpolygon points='12,3 24,3 24,16 14,16' fill='%23ffffff' opacity='.85'/%3E%3Cpolygon points='2,16 12,3 14,16' fill='%238fd0ff'/%3E%3Cpolygon points='36,3 46,16 34,16' fill='%235aa9ff'/%3E%3Cpolygon points='14,16 34,16 24,42' fill='%235aa9ff'/%3E%3Cpolygon points='14,16 24,16 24,42' fill='%23a9dcff'/%3E%3Cpolygon points='2,16 14,16 24,42' fill='%232f6bd8'/%3E%3Cpolygon points='34,16 46,16 24,42' fill='%231f4fb0'/%3E%3Cpath d='M2,16H46M12,3L14,16M36,3L34,16M14,16L24,42M34,16L24,42M24,16L24,42' fill='none' stroke='%23ffffff' stroke-width='1' opacity='.75'/%3E%3Cpolygon points='12,3 36,3 46,16 24,42 2,16' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") center / 34px 31px no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpolygon points='5,0 6,4 10,5 6,6 5,10 4,6 0,5 4,4' fill='%23ffffff'/%3E%3C/svg%3E") 36px 2px / 11px 11px no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpolygon points='5,0 6,4 10,5 6,6 5,10 4,6 0,5 4,4' fill='%23cfe8ff'/%3E%3C/svg%3E") 1px 34px / 8px 8px no-repeat; transform: translateY(-50%); filter: drop-shadow(0 0 6px rgba(143, 208, 255, .7)); animation: sw-gem 3.4s ease-in-out infinite; }
.sw-positions .sw-section-heading h2::before { left: 8px; }
.sw-positions .sw-section-heading h2::after { right: 8px; animation-delay: 1.7s; }
@keyframes sw-gem { 0%, 100% { transform: translateY(-50%) translateY(3px) rotate(-7deg); filter: drop-shadow(0 0 4px rgba(143, 208, 255, .55)); background-size: 34px 31px, 0 0, 8px 8px; } 50% { transform: translateY(-50%) translateY(-4px) rotate(7deg); filter: drop-shadow(0 0 14px rgba(255, 255, 255, .95)) drop-shadow(0 0 22px rgba(143, 208, 255, .7)); background-size: 34px 31px, 11px 11px, 0 0; } }
@media (max-width: 781px) { .sw-positions .sw-section-heading h2 { padding: 0 40px; } .sw-positions .sw-section-heading h2::before, .sw-positions .sw-section-heading h2::after { width: 32px; height: 32px; background-size: 24px 22px, 8px 8px, 6px 6px; background-position: center, 24px 1px, 0 23px; animation: none; } .sw-positions .sw-section-heading h2::before { left: 2px; } .sw-positions .sw-section-heading h2::after { right: 2px; } }

/* 2026-10-14: THE PEOPLE WE LOOK FOR 목록(.sw-rc-pl) 스크롤 등장 애니메이션 — 번호가 블러에서 선명해지며 커지고, 줄이 왼쪽에서 오른쪽으로 그려지고, 항목이 차례로 미끄러져 들어온 뒤 핵심어 아래 형광 밑줄이 쓸려 나간다 */
.sw-rc-pl li { position: relative; }
.sw-rc-pl li:not(:first-child)::after { content: ""; position: absolute; top: -1px; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, #2f6bd8, #8fd0ff 28%, #d7e1f1 55%, #d7e1f1); pointer-events: none; }
.sw-rc-pl b strong { background: linear-gradient(transparent 60%, rgba(31, 111, 229, .18) 60%) left center / 100% 100% no-repeat; }
.sw-rc-pl.is-armed li { opacity: 0; transform: translateX(-30px); border-top-color: transparent; transition: opacity .7s ease, transform .8s cubic-bezier(.2, .7, .2, 1); }
.sw-rc-pl.is-armed li::before { opacity: 0; transform: translateY(10px) scale(.55); filter: blur(8px); transition: opacity .6s ease, transform .8s cubic-bezier(.2, .7, .2, 1), filter .7s ease; }
.sw-rc-pl.is-armed li::after { width: 0; transition: width 1s ease; }
.sw-rc-pl.is-armed b strong { background-size: 0 100%; transition: background-size .55s ease; }
.sw-rc-pl.is-in li, .sw-rc-pl.is-in li::before { opacity: 1; transform: none; filter: none; }
.sw-rc-pl.is-in li::after { width: 100%; }
.sw-rc-pl.is-in b strong { background-size: 100% 100%; }
.sw-rc-pl.is-armed li:nth-child(1) { transition-delay: 0s; } .sw-rc-pl.is-armed li:nth-child(1)::before { transition-delay: .1s; } .sw-rc-pl.is-armed li:nth-child(1) b strong { transition-delay: .6s; }
.sw-rc-pl.is-armed li:nth-child(2) { transition-delay: .18s; } .sw-rc-pl.is-armed li:nth-child(2)::before { transition-delay: .28s; } .sw-rc-pl.is-armed li:nth-child(2)::after { transition-delay: .18s; } .sw-rc-pl.is-armed li:nth-child(2) b strong { transition-delay: .78s; }
.sw-rc-pl.is-armed li:nth-child(3) { transition-delay: .36s; } .sw-rc-pl.is-armed li:nth-child(3)::before { transition-delay: .46s; } .sw-rc-pl.is-armed li:nth-child(3)::after { transition-delay: .36s; } .sw-rc-pl.is-armed li:nth-child(3) b strong { transition-delay: .96s; }
.sw-rc-pl.is-armed li:nth-child(4) { transition-delay: .54s; } .sw-rc-pl.is-armed li:nth-child(4)::before { transition-delay: .64s; } .sw-rc-pl.is-armed li:nth-child(4)::after { transition-delay: .54s; } .sw-rc-pl.is-armed li:nth-child(4) b strong { transition-delay: 1.14s; }
.sw-rc-pl.is-armed li:nth-child(5) { transition-delay: .72s; } .sw-rc-pl.is-armed li:nth-child(5)::before { transition-delay: .82s; } .sw-rc-pl.is-armed li:nth-child(5)::after { transition-delay: .72s; } .sw-rc-pl.is-armed li:nth-child(5) b strong { transition-delay: 1.32s; }
@media (prefers-reduced-motion: reduce) { .sw-rc-pl.is-armed li, .sw-rc-pl.is-armed li::before, .sw-rc-pl.is-armed li::after, .sw-rc-pl.is-armed b strong { transition: none; } }

/* 2026-10-14: 엔지니어링 문화 2×2 글래스 카드(.sw-rc-eng-grid) 스크롤 등장 애니메이션 — 카드가 아래에서 떠오르고, 번호가 블러에서 선명해지며 한 번 빛나고, 세로 구분선이 위에서 아래로 그려지고, 유리 표면을 빛이 한 번 쓸고 지나간다 */
.sw-rc-eng-grid li { position: relative; overflow: hidden; }
.sw-rc-eng-grid li::after { content: ""; position: absolute; top: -40%; bottom: -40%; left: -30%; width: 34%; background: linear-gradient(100deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .22) 50%, rgba(255, 255, 255, 0)); transform: translateX(-120%) skewX(-18deg); pointer-events: none; }
.sw-rc-eng-txt { position: relative; }
.sw-rc-eng-txt::before { content: ""; position: absolute; top: 0; left: -2px; width: 2px; height: 100%; background: linear-gradient(180deg, #7cd0ff, rgba(124, 208, 255, .35)); }
.sw-rc-eng-grid.is-armed li { opacity: 0; transform: translateY(32px) scale(.965); transition: opacity .75s ease, transform .85s cubic-bezier(.2, .7, .2, 1), border-color .25s ease, box-shadow .25s ease; }
.sw-rc-eng-grid.is-armed li::before { opacity: 0; transform: translateX(-14px); filter: blur(8px); transition: opacity .6s ease, transform .8s cubic-bezier(.2, .7, .2, 1), filter .7s ease; }
.sw-rc-eng-grid.is-armed .sw-rc-eng-txt { border-left-color: transparent; }
.sw-rc-eng-grid.is-armed .sw-rc-eng-txt::before { height: 0; transition: height .8s ease; }
.sw-rc-eng-grid.is-in li, .sw-rc-eng-grid.is-in li::before { opacity: 1; transform: none; filter: none; }
.sw-rc-eng-grid.is-in .sw-rc-eng-txt::before { height: 100%; }
.sw-rc-eng-grid.is-in li::after { animation: sw-eng-sheen 1.3s ease-out forwards; }
.sw-rc-eng-grid.is-in li::before { animation: sw-eng-glow 1.6s ease-out forwards; }
.sw-rc-eng-grid.is-in li:nth-child(1), .sw-rc-eng-grid.is-in li:nth-child(1)::before, .sw-rc-eng-grid.is-in li:nth-child(1) .sw-rc-eng-txt::before { transition-delay: 0s; } .sw-rc-eng-grid.is-in li:nth-child(1)::before { animation-delay: .5s; } .sw-rc-eng-grid.is-in li:nth-child(1)::after { animation-delay: .55s; }
.sw-rc-eng-grid.is-in li:nth-child(2), .sw-rc-eng-grid.is-in li:nth-child(2)::before, .sw-rc-eng-grid.is-in li:nth-child(2) .sw-rc-eng-txt::before { transition-delay: .18s; } .sw-rc-eng-grid.is-in li:nth-child(2)::before { animation-delay: .68s; } .sw-rc-eng-grid.is-in li:nth-child(2)::after { animation-delay: .73s; }
.sw-rc-eng-grid.is-in li:nth-child(3), .sw-rc-eng-grid.is-in li:nth-child(3)::before, .sw-rc-eng-grid.is-in li:nth-child(3) .sw-rc-eng-txt::before { transition-delay: .36s; } .sw-rc-eng-grid.is-in li:nth-child(3)::before { animation-delay: .86s; } .sw-rc-eng-grid.is-in li:nth-child(3)::after { animation-delay: .91s; }
.sw-rc-eng-grid.is-in li:nth-child(4), .sw-rc-eng-grid.is-in li:nth-child(4)::before, .sw-rc-eng-grid.is-in li:nth-child(4) .sw-rc-eng-txt::before { transition-delay: .54s; } .sw-rc-eng-grid.is-in li:nth-child(4)::before { animation-delay: 1.04s; } .sw-rc-eng-grid.is-in li:nth-child(4)::after { animation-delay: 1.09s; }
.sw-rc-eng-grid.is-done li { transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; transition-delay: 0s; }
.sw-rc-eng-grid.is-done li::before, .sw-rc-eng-grid.is-done .sw-rc-eng-txt::before { transition: none; }
.sw-rc-eng-grid.is-done li::after, .sw-rc-eng-grid.is-done li::before { animation: none; }
@keyframes sw-eng-sheen { 0% { transform: translateX(-120%) skewX(-18deg); } 100% { transform: translateX(420%) skewX(-18deg); } }
@keyframes sw-eng-glow { 0%, 100% { filter: drop-shadow(0 0 0 rgba(124, 208, 255, 0)); } 35% { filter: drop-shadow(0 0 14px rgba(124, 208, 255, .95)); } }
@media (prefers-reduced-motion: reduce) { .sw-rc-eng-grid.is-armed li, .sw-rc-eng-grid.is-armed li::before, .sw-rc-eng-grid.is-armed .sw-rc-eng-txt::before { transition: none; } .sw-rc-eng-grid.is-in li::after, .sw-rc-eng-grid.is-in li::before { animation: none; } }

/* 2026-10-14: 채용 CTA 제목 여러 줄 타자 효과(.sw-type-ml) — 흰 글자용 커서 */
.sw-type-ml { display: inline-block; }
.sw-type-ml.is-typing::after { content: ""; display: inline-block; width: 3px; height: 1em; margin-left: 5px; vertical-align: -0.1em; border-radius: 2px; background: currentColor; animation: sw-type-caret .9s steps(1) infinite; }

/* 2026-10-14: 대표인사말 오른쪽 열에 대표 일러스트(.sw-ceo-fig) — 배경 제거한 초상을 파란 그라데이션 아치 위에 올리고, 아래는 둥근 모서리로 자른다. 등장 시 살짝 떠오른다 */
.sw-ceo-visual .sw-ceo-fig { position: relative; width: min(440px, 100%); margin: 52px 0 0 auto !important; aspect-ratio: 1 / 1.18; overflow: hidden; border-radius: 0 0 34px 34px; }
.sw-ceo-fig::before { content: ""; position: absolute; left: 2%; right: 2%; top: 17%; bottom: 0; border-radius: 50% 50% 34px 34px / 44% 44% 34px 34px; background: linear-gradient(165deg, #edf3ff 0%, #d6e4ff 48%, #b8cffb 100%); box-shadow: inset 0 -40px 60px rgba(47, 107, 216, .08); }
.sw-ceo-fig::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 18%; background: linear-gradient(180deg, rgba(184, 207, 251, 0), rgba(160, 190, 245, .55)); pointer-events: none; }
.sw-ceo-fig img { position: absolute; left: 50%; bottom: -2%; width: 86%; height: auto; transform: translateX(-50%); filter: drop-shadow(0 18px 30px rgba(19, 48, 110, .22)); animation: sw-ceo-rise 1.1s cubic-bezier(.2, .7, .2, 1) .25s both; }
@keyframes sw-ceo-rise { from { opacity: 0; transform: translateX(-50%) translateY(26px); } to { opacity: 1; transform: translateX(-50%) translateY(0); } }
@media (max-width: 781px) { .sw-ceo-visual .sw-ceo-fig { width: min(360px, 100%); margin: 36px auto 0 !important; } }
@media (prefers-reduced-motion: reduce) { .sw-ceo-fig img { animation: none; } }

/* 2026-10-14: MRO 도식 — 화살표 4개 모두 흐름 애니메이션. 이전에는 .is-o/.is-n 에 남아 있던 animation:none !important(7103행)이 더 높은 특이성으로 이겨 운영사·납품 화살표가 멈춰 있었다 */
.sw-mm .sw-mm-flow, .sw-mm .sw-mm-flow.is-o, .sw-mm .sw-mm-flow.is-n, .sw-mm .sw-mm-flow.is-s { animation: sw-mm-dash 1.6s linear infinite !important; }
.sw-mm .sw-mm-flow.is-s { animation-duration: 1.8s !important; }
.sw-mm .sw-mm-flow.is-n { animation-duration: 2s !important; }
.sw-mm .sw-mm-flow.is-o { animation: sw-mm-dash-o 2.2s linear infinite !important; }
@keyframes sw-mm-dash-o { to { stroke-dashoffset: -24; } }
@media (prefers-reduced-motion: reduce) { .sw-mm .sw-mm-flow, .sw-mm .sw-mm-flow.is-o, .sw-mm .sw-mm-flow.is-n, .sw-mm .sw-mm-flow.is-s { animation: none !important; } }

/* 2026-10-14: SI·ITO 운영 범위 아이콘 깨짐 수정 — 7843행의 position:absolute; top:0 이 남아 아이콘 타일이 카드 윗변에 걸쳐 잘리던 문제. 일반 흐름으로 되돌린다 */
.sw-itos li::before { position: static; top: auto; left: auto; right: auto; width: 52px; height: 52px; border-radius: 14px; }

/* 2026-10-14: AX 준비도 도식 — 육각형 6개 색감을 영역별로 조금씩 다르게(파랑 · 청록 · 보라 · 민트 · 남색 · 하늘) */
.sw-ax-hexcore > i { --hex-a: #e3eefb; --hex-b: #cfe0fb; --hex-ic: #1f6fe5; background: linear-gradient(160deg, var(--hex-a), var(--hex-b)); }
.sw-ax-hexcore > i::after { background: var(--hex-ic); }
.sw-ax-hexcore > i.h1 { --hex-a: #e4edfc; --hex-b: #cbdcfa; --hex-ic: #1f6fe5; }
.sw-ax-hexcore > i.h2 { --hex-a: #e0f6fb; --hex-b: #c6ebf5; --hex-ic: #0e9fb3; }
.sw-ax-hexcore > i.h3 { --hex-a: #ede8fc; --hex-b: #dbd2f8; --hex-ic: #7a4ce6; }
.sw-ax-hexcore > i.h4 { --hex-a: #e2f6f1; --hex-b: #c9ede2; --hex-ic: #14a697; }
.sw-ax-hexcore > i.h5 { --hex-a: #e6e9fb; --hex-b: #d1d8f7; --hex-ic: #3f5fd9; }
.sw-ax-hexcore > i.h6 { --hex-a: #e1f1ff; --hex-b: #c4e2ff; --hex-ic: #2a8de0; }

/* 2026-10-14: e-커머스(60) 본문 버튼 재디자인 — SCOS(주): 파란 그라데이션 알약 + 원형 화살표 + 호버 광택, 라이브커머스(보조): 연파랑 테두리 알약 + 화살표, 호버 시 파랑으로 */
.page-id-60 .sw-section .wp-block-buttons { gap: 16px; }
.page-id-60 .sw-section .wp-block-button.is-style-outline > .wp-block-button__link { position: relative; display: inline-flex; align-items: center; gap: 14px; padding: 15px 18px 15px 30px; border: 2px solid transparent; border-radius: 999px; font-size: calc(1rem + 1pt); font-weight: 800; letter-spacing: -.01em; line-height: 1.2; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, border-color .25s ease, color .25s ease; }
.page-id-60 .sw-section .wp-block-button.is-style-outline > .wp-block-button__link::after { content: ""; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Ccircle cx='15' cy='15' r='15' fill='black' opacity='.18'/%3E%3Cpath d='M9.5 15h11M15.5 10l5 5-5 5' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 30px 30px no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Ccircle cx='15' cy='15' r='15' fill='black' opacity='.18'/%3E%3Cpath d='M9.5 15h11M15.5 10l5 5-5 5' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 30px 30px no-repeat; transition: transform .25s ease; }
.page-id-60 .sw-section .wp-block-button.is-style-outline > .wp-block-button__link:hover::after { transform: translateX(4px); }
.page-id-60 .sw-section .wp-block-button.is-style-outline--3 > .wp-block-button__link { background: linear-gradient(135deg, #3b7cf0 0%, #2f6bd8 55%, #1f4fc2 100%); color: #fff; box-shadow: 0 12px 28px rgba(47, 107, 216, .28); }
.page-id-60 .sw-section .wp-block-button.is-style-outline--3 > .wp-block-button__link::before { content: ""; position: absolute; top: -40%; bottom: -40%; left: -30%; width: 30%; background: linear-gradient(100deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .35) 50%, rgba(255, 255, 255, 0)); transform: translateX(-120%) skewX(-18deg); transition: transform .7s ease; pointer-events: none; }
.page-id-60 .sw-section .wp-block-button.is-style-outline--3 > .wp-block-button__link:hover { transform: translateY(-3px); box-shadow: 0 18px 36px rgba(47, 107, 216, .38); color: #fff; }
.page-id-60 .sw-section .wp-block-button.is-style-outline--3 > .wp-block-button__link:hover::before { transform: translateX(420%) skewX(-18deg); }
.page-id-60 .sw-section .wp-block-button.is-style-outline--4 > .wp-block-button__link { background: #fff; border-color: #cfe0ff; color: #13306e; box-shadow: 0 8px 20px rgba(16, 47, 103, .06); }
.page-id-60 .sw-section .wp-block-button.is-style-outline--4 > .wp-block-button__link:hover { transform: translateY(-3px); border-color: #2f6bd8; background: #f4f8ff; color: #1f6fe5; box-shadow: 0 16px 32px rgba(47, 107, 216, .16); }
@media (max-width: 560px) { .page-id-60 .sw-section .wp-block-button.is-style-outline > .wp-block-button__link { width: 100%; justify-content: space-between; padding-left: 22px; } }
@media (prefers-reduced-motion: reduce) { .page-id-60 .sw-section .wp-block-button.is-style-outline > .wp-block-button__link, .page-id-60 .sw-section .wp-block-button.is-style-outline > .wp-block-button__link::before, .page-id-60 .sw-section .wp-block-button.is-style-outline > .wp-block-button__link::after { transition: none; } }

/* 2026-10-14: SCOS 특장점 · 도입 효과 제목 앞 세로 바 제거(사용자: 바 모양 쓰지 말 것) */
.sw-ums-features.is-2 .sw-ums-feature-no::before { content: none !important; }
.sw-ums-features.is-2 .sw-ums-feature-no { gap: 0; }

/* 2026-10-14: 헤더 '서비스 문의' 버튼 — 윤곽선 알약 대신 파란 그라데이션 채움 + 그림자로 눈에 띄게(모든 폭) */
.sw-header-cta .wp-block-button__link { border: 0 !important; border-radius: 999px !important; background: linear-gradient(135deg, #3b7cf0, #2f6bd8 55%, #1f4fc2) !important; color: #fff !important; box-shadow: 0 8px 20px rgba(47, 107, 216, .3); transition: transform .2s ease, box-shadow .2s ease, filter .2s ease; }
.sw-header-cta .wp-block-button__link:hover { background: linear-gradient(135deg, #3b7cf0, #2f6bd8 55%, #1f4fc2) !important; color: #fff !important; transform: translateY(-1px); box-shadow: 0 12px 26px rgba(47, 107, 216, .4); filter: brightness(1.06); }
.sw-header-cta .wp-block-button__link::before { content: none !important; }

/* 2026-10-14: SI·ITO MMCS 구간 재디자인(사용자: 너무 AI 같다) — 흰 카드 3개·알약 칩·원형 화살표를 버리고, 센서 → 관제 서버 → 운영 화면을 세로 흐름(라벨 + 본문)으로 정리. 테스트베드 4영역은 카드 박스·아이콘 타일·큰 숫자 대신 윗줄 괘선 + 세로 구분선의 표 구성 */
.sw-mmcs-flow { display: flex; flex-direction: column; gap: 0; margin: 0; padding: 4px 0 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.sw-mmcs-col { display: grid; grid-template-columns: 118px minmax(0, 1fr); column-gap: 18px; align-items: start; padding: 18px 0; border-top: 1px solid #e3eaf5; border-radius: 0; background: none; box-shadow: none; text-align: left; }
.sw-mmcs-col:first-child { padding-top: 0; border-top: 0; }
.sw-mmcs-col small { margin: 0; padding-top: 3px; color: #6b7a90; font-size: calc(.9rem + 1pt); font-weight: 700; line-height: 1.5; word-break: keep-all; }
.sw-mmcs-col ul { display: block; margin: 0 !important; padding: 0 !important; line-height: 1.7; }
.sw-mmcs-col ul li { display: inline; padding: 0; border-radius: 0; background: none; color: #0b1f44; font-size: calc(1.02rem + 1pt); font-weight: 700; line-height: inherit; }
.sw-mmcs-col ul li:not(:last-child)::after { content: "·"; margin: 0 10px; color: #b7c3d8; font-weight: 400; }
.sw-mmcs-col.is-out ul li { background: none; color: #0b1f44; }
.sw-mmcs-col.is-core { margin: 4px 0; padding: 20px 22px; border-top: 0; border-radius: 14px; background: #10306f; color: #fff; box-shadow: none; }
.sw-mmcs-col.is-core small { color: rgba(255, 255, 255, .7); }
.sw-mmcs-col.is-core b { font-size: calc(1.1rem + 1pt); line-height: 1.4; }
.sw-mmcs-col.is-core p { margin: 6px 0 0; color: rgba(255, 255, 255, .82); font-size: calc(.94rem + 1pt); line-height: 1.65; }
.sw-mmcs-col.is-core b, .sw-mmcs-col.is-core p { grid-column: 2; }
.sw-mmcs-col.is-core small { grid-row: 1 / span 2; }
.sw-mmcs-arrow { width: 100%; height: 14px; margin: 0; border-radius: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b7c3d8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") 50px center / 14px no-repeat; box-shadow: none; }
.sw-tb { margin-top: 48px; }
.sw-tb-grid { gap: 0; margin-top: 22px !important; }
.sw-tb-grid > li { padding: 22px 26px 24px; border: 0; border-top: 2px solid #13306e; border-radius: 0; background: none; box-shadow: none; transform: none !important; transition: none; }
.sw-tb-grid > li:first-child { padding-left: 0; }
.sw-tb-grid > li + li { border-left: 1px solid #e3eaf5; }
.sw-tb-grid > li:hover { box-shadow: none; }
.sw-tb-grid > li::before { position: static; display: block; margin-bottom: 14px; background: none; -webkit-text-fill-color: #2f6bd8; color: #2f6bd8; font-size: 13px; font-weight: 800; letter-spacing: .14em; line-height: 1; }
.sw-tb-ico { display: none; }
.sw-tb-grid b { min-height: 0; font-size: calc(1.14rem + 1pt); }
.sw-tb-grid ul { margin-top: 12px !important; }
.sw-tb-grid ul li { padding: 4px 0 4px 14px; }
.sw-tb-grid ul li::before { top: .78em; width: 5px; height: 5px; border-radius: 50%; background: #2f6bd8; background-image: none; }
.sw-tb-grid p { padding-top: 14px; border-top: 1px dashed #dce4f0; }
@media (max-width: 900px) { .sw-tb-grid > li { padding-left: 0; padding-right: 0; } .sw-tb-grid > li + li { border-left: 0; } .sw-mmcs-col { grid-template-columns: 1fr; row-gap: 6px; } .sw-mmcs-col.is-core small { grid-row: auto; } .sw-mmcs-col.is-core b, .sw-mmcs-col.is-core p { grid-column: 1; } .sw-mmcs-arrow { background-position: 6px center; } }

/* 2026-10-14: MMCS 흐름 항목은 한 덩어리로 줄바꿈, 테스트베드 불릿은 인라인 점으로(글자 위로 뜨던 문제) */
.sw-mmcs-col ul li { display: inline-block; white-space: nowrap; }
.sw-mmcs-col ul li:not(:last-child)::after { display: inline; }
.sw-tb-grid ul li { padding-left: 0; }
.sw-tb-grid ul li::before { position: static; display: inline-block; width: 5px; height: 5px; margin: 0 9px 3px 0; vertical-align: middle; }

/* 2026-10-14: 테스트베드 목록 항목이 카드용 flex-column 규칙(10166행)을 상속해 불릿이 별도 행으로 밀리던 문제 — block으로 복구 */
.sw-tb-grid ul li { display: block; }

/* 2026-10-14: 대표 일러스트 figure(.sw-ceo-fig) 제거(사용자 요청) — 마크업은 삭제했고, 혹시 남는 경우를 대비해 숨김 */
.sw-ceo-visual .sw-ceo-fig, .sw-ceo-fig { display: none !important; }

/* 2026-10-14: 대표인사말 오른쪽 열 — '우리의 약속' 3항목(.sw-ceo-vows, 박스 없이 번호 + 괘선) + 열 sticky. #greeting의 overflow:hidden이 sticky를 막아 clip으로 교체 */
#greeting.sw-onepage { overflow: clip; }
.sw-ceo .sw-card-grid > .wp-block-column:last-child > .sw-ceo-visual { position: sticky; top: 112px; }
.sw-ceo-vows-k { margin: 52px 0 10px !important; color: #6b7a90; font-size: calc(.86rem + 1pt); font-weight: 800; letter-spacing: .18em; }
.sw-ceo-vows { max-width: 460px; margin: 0 !important; padding: 0 !important; list-style: none !important; counter-reset: none; }
.sw-ceo-vows li { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 12px; align-items: start; padding: 18px 0; border-top: 1px solid #e3eaf5; opacity: 0; transform: translateY(14px); animation: sw-vow-in .8s cubic-bezier(.2, .7, .2, 1) forwards; }
.sw-ceo-vows li:nth-child(1) { animation-delay: .25s; } .sw-ceo-vows li:nth-child(2) { animation-delay: .45s; } .sw-ceo-vows li:nth-child(3) { animation-delay: .65s; }
.sw-ceo-vows li:last-child { border-bottom: 1px solid #e3eaf5; }
.sw-ceo-vows b { padding-top: 4px; color: #2f6bd8; font-family: Montserrat, Roboto, sans-serif; font-size: calc(1rem + 1pt); font-weight: 800; letter-spacing: 0; }
.sw-ceo-vows strong { display: block; color: #0b1f44; font-size: calc(1.12rem + 1pt); font-weight: 800; line-height: 1.4; letter-spacing: -.01em; word-break: keep-all; }
.sw-ceo-vows span { display: block; margin-top: 6px; color: #5a6882; font-size: calc(.95rem + 1pt); line-height: 1.7; word-break: keep-all; }
@keyframes sw-vow-in { to { opacity: 1; transform: none; } }
@media (max-width: 781px) { .sw-ceo .sw-card-grid > .wp-block-column:last-child > .sw-ceo-visual { position: static; } .sw-ceo-vows { max-width: none; } .sw-ceo-vows-k { margin-top: 36px !important; } }
@media (prefers-reduced-motion: reduce) { .sw-ceo-vows li { opacity: 1; transform: none; animation: none; } }

/* 2026-10-14: '우리의 약속' 디자인 강화 — 영문 키커 + 그라데이션 라벨, 큰 그라데이션 번호, 괘선 대신 세로 레일(그라데이션 선 + 점), 제목 핵심어 파란 강조, 레일이 위에서 아래로 그려지는 등장 */
.sw-ceo-vows-k { display: flex; flex-direction: column; gap: 6px; margin: 56px 0 18px !important; color: transparent; font-size: calc(1.45rem + 1pt); font-weight: 900; letter-spacing: -.02em; line-height: 1.2; background: linear-gradient(100deg, #1e4fa3, #2f6bd8 50%, #22b8d8); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.sw-ceo-vows-k small { display: block; color: #6b7a90; -webkit-text-fill-color: #6b7a90; font-family: Montserrat, Roboto, sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .26em; line-height: 1; }
.sw-ceo-vows { position: relative; max-width: 470px; padding-left: 0 !important; }
.sw-ceo-vows::before { content: ""; position: absolute; left: 65px; top: 14px; bottom: 14px; width: 2px; border-radius: 2px; background: linear-gradient(180deg, #2f6bd8, #22b8d8 70%, rgba(34, 184, 216, .25)); transform-origin: top; animation: sw-vow-rail 1.1s cubic-bezier(.2, .7, .2, 1) .15s both; }
.sw-ceo-vows li { position: relative; grid-template-columns: 52px 26px minmax(0, 1fr); column-gap: 0; padding: 16px 0 18px; border: 0 !important; }
.sw-ceo-vows li::before { content: ""; grid-column: 2; align-self: start; width: 12px; height: 12px; margin: 10px 0 0 8px; border-radius: 50%; background: #fff; border: 3px solid #2f6bd8; box-shadow: 0 0 0 4px #e3edff, 0 0 14px rgba(47, 107, 216, .35); transform: scale(0); animation: sw-vow-dot .5s cubic-bezier(.2, .7, .2, 1) forwards; }
.sw-ceo-vows li:nth-child(1)::before { animation-delay: .45s; } .sw-ceo-vows li:nth-child(2)::before { animation-delay: .7s; } .sw-ceo-vows li:nth-child(3)::before { animation-delay: .95s; }
.sw-ceo-vows li > div { grid-column: 3; padding-left: 14px; }
.sw-ceo-vows b { grid-column: 1; padding-top: 0; margin-top: -4px; background: linear-gradient(135deg, #1e4fa3, #22b8d8); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; font-size: 38px; font-weight: 800; line-height: 1; letter-spacing: -.03em; }
.sw-ceo-vows strong { font-size: calc(1.16rem + 1pt); }
.sw-ceo-vows strong em { font-style: normal; color: #1f6fe5; -webkit-text-fill-color: #1f6fe5; }
.sw-ceo-vows span { margin-top: 7px; color: #4b5668; }
.sw-ceo-vows li:hover b { filter: drop-shadow(0 0 8px rgba(47, 107, 216, .45)); }
@keyframes sw-vow-rail { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes sw-vow-dot { to { transform: scale(1); } }
@media (max-width: 781px) { .sw-ceo-vows::before { left: 57px; } .sw-ceo-vows li { grid-template-columns: 44px 26px minmax(0, 1fr); } .sw-ceo-vows b { font-size: 32px; } }
@media (prefers-reduced-motion: reduce) { .sw-ceo-vows::before, .sw-ceo-vows li::before { animation: none; transform: none; } }

/* 2026-10-14: 영문 헤더(html lang=en-US) 메가메뉴 — 상위 메뉴가 4개뿐이라 간격이 좁아 Solutions 열(2단 목록)과 Support 열이 겹치던 문제. 메뉴 간격을 넓히고 열 폭을 내용에 맞춤 */
@media (min-width: 1100px) {
  html[lang^="en"] .sw-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container { gap: clamp(64px, 7.5vw, 132px); }
  html[lang^="en"] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { width: max-content !important; min-width: 140px !important; padding-left: 10px !important; padding-right: 10px !important; }
}

/* 2026-10-14: 영문 메가메뉴 간격 — 앞선 규칙이 다른 gap 규칙에 밀려 적용되지 않아 !important로 고정 */
@media (min-width: 1100px) {
  html[lang^="en"] .sw-site-header .sw-primary-nav .wp-block-navigation__container { gap: clamp(64px, 7.5vw, 132px) !important; }
}

/* 2026-10-14: 영문 메가메뉴 — Solutions 열(.sw-mega)을 라벨 중앙 정렬 1열 230px로 좁혀 Support 열과 겹치지 않게, 메뉴 간격은 96~140px */
@media (min-width: 1100px) {
  html[lang^="en"] .sw-site-header .sw-primary-nav .wp-block-navigation__container { gap: clamp(96px, 8vw, 140px) !important; }
  html[lang^="en"] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container { width: 230px !important; grid-template-columns: 1fr !important; transform: translateX(-50%) !important; column-gap: 0 !important; }
}

/* 2026-10-14: 채용 절차 영문 라벨(.sw-rc-flow small)을 위 원형과 같은 그라데이션 글자로 */
.sw-rc-flow li:nth-child(1) { --g1: #10306f; --g2: #2f6bd8; }
.sw-rc-flow li:nth-child(2) { --g1: #1e4fa3; --g2: #22b8d8; }
.sw-rc-flow li:nth-child(3) { --g1: #0f7f9c; --g2: #21a892; }
.sw-rc-flow li:nth-child(4) { --g1: #4a3fc9; --g2: #2f6bd8; }
.sw-rc-flow li small { display: inline-block; background: linear-gradient(100deg, var(--g1, #15357f), var(--g2, #2f6bd8)); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; font-weight: 800; }

/* 2026-10-14: 영문 메가메뉴 열 위치 보정 — Solutions 열 200px를 라벨 중앙 기준 -90px에, Support 열은 오른쪽으로 40px 밀어 서로 겹치지 않게 */
@media (min-width: 1100px) {
  html[lang^="en"] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container { width: 200px !important; padding-left: 0 !important; padding-right: 0 !important; transform: translateX(-90px) !important; }
  html[lang^="en"] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child:last-child > .wp-block-navigation__submenu-container { transform: translateX(calc(-50% + 44px)) !important; }
}

/* 2026-10-14: 영문 메가메뉴 열 위치 재보정 — Solutions 열(196px)을 Business 열 오른쪽에, Support 열은 더 오른쪽으로 */
@media (min-width: 1100px) {
  html[lang^="en"] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container { width: 196px !important; transform: translateX(-24px) !important; }
  html[lang^="en"] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child:last-child > .wp-block-navigation__submenu-container { transform: translateX(calc(-50% + 62px)) !important; }
}

/* 2026-10-14: AX 준비도 6개 영역 카드의 설명을 한 줄로(줄바꿈 금지) — 좌우 들여쓰기와 여백을 줄여 폭 확보 */
@media (min-width: 1101px) {
  .sw-ax-hexlist li { padding: 18px 18px; column-gap: 14px; }
  .sw-ax-hexlist li span { white-space: nowrap; font-size: calc(.9rem + 1pt); }
  .sw-ax-hexlist.is-left li:nth-child(2) { margin-right: 28px; }
  .sw-ax-hexlist.is-right li:nth-child(2) { margin-left: 28px; }
}

/* 2026-10-14: 포트폴리오 타일(.sw-tile) 전체를 클릭 가능하게 — 제목 링크를 타일 전체로 확장(사용자: 눌러도 내용이 안 나온다 → 제목 글자만 링크였음) */
.sw-tile { position: relative; }
.sw-tile .sw-tile-title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.sw-tile .sw-tile-tag a { position: relative; z-index: 3; }
.sw-tile:hover { cursor: pointer; }

/* 2026-10-14: '우리의 약속' 고도화 — 라벨 아래 그라데이션 짧은 선, 항목 뒤 연한 워터마크 번호, 레일 점이 차례로 맥동, 호버 시 제목이 살짝 밀리고 점이 채워짐 */
.sw-ceo-vows-k { position: relative; padding-bottom: 14px; }
.sw-ceo-vows-k::after { content: ""; position: absolute; left: 0; bottom: 0; width: 54px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, #2f6bd8, #22b8d8); }
.sw-ceo-vows li { overflow: visible; }
.sw-ceo-vows li::after { content: attr(data-no); position: absolute; right: -6px; top: -4px; z-index: -1; color: rgba(47, 107, 216, .06); font-family: Montserrat, Roboto, sans-serif; font-size: 96px; font-weight: 900; line-height: 1; letter-spacing: -.05em; pointer-events: none; }
.sw-ceo-vows li:nth-child(1)::after { content: "01"; } .sw-ceo-vows li:nth-child(2)::after { content: "02"; } .sw-ceo-vows li:nth-child(3)::after { content: "03"; }
.sw-ceo-vows li > div { transition: transform .3s cubic-bezier(.2, .7, .2, 1); }
.sw-ceo-vows li:hover > div { transform: translateX(6px); }
.sw-ceo-vows li::before { transition: background .25s ease, box-shadow .25s ease; }
.sw-ceo-vows li:hover::before { background: #2f6bd8; box-shadow: 0 0 0 4px #e3edff, 0 0 18px rgba(47, 107, 216, .6); }
.sw-ceo-vows li strong { transition: color .25s ease; }
.sw-ceo-vows li:hover strong { color: #1f4fa3; }
.sw-ceo-vows.is-live li:nth-child(1)::before { animation: sw-vow-dot .5s cubic-bezier(.2, .7, .2, 1) .45s forwards, sw-vow-pulse 5.4s ease-in-out 2s infinite; }
.sw-ceo-vows.is-live li:nth-child(2)::before { animation: sw-vow-dot .5s cubic-bezier(.2, .7, .2, 1) .7s forwards, sw-vow-pulse 5.4s ease-in-out 3.8s infinite; }
.sw-ceo-vows.is-live li:nth-child(3)::before { animation: sw-vow-dot .5s cubic-bezier(.2, .7, .2, 1) .95s forwards, sw-vow-pulse 5.4s ease-in-out 5.6s infinite; }
@keyframes sw-vow-pulse { 0%, 100% { box-shadow: 0 0 0 4px #e3edff, 0 0 14px rgba(47, 107, 216, .35); } 12% { box-shadow: 0 0 0 7px rgba(47, 107, 216, .18), 0 0 26px rgba(47, 107, 216, .75); } 24% { box-shadow: 0 0 0 4px #e3edff, 0 0 14px rgba(47, 107, 216, .35); } }
@media (prefers-reduced-motion: reduce) { .sw-ceo-vows.is-live li::before { animation: none; } }

/* 2026-10-14: OPEN POSITIONS 배경 별 — 격자형 점 패턴이 통째로 떠오르던 방식(::after)을 끄고, JS가 뿌린 별(.sw-sky span)이 각자 다른 크기·주기·위상으로 반짝이게 */
.sw-positions::after { background-image: none !important; animation: none !important; }
.sw-sky { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.sw-sky span { position: absolute; left: var(--x); top: var(--y); width: var(--s); height: var(--s); border-radius: 50%; background: var(--c, #fff); opacity: .2; transform: scale(.7); animation: sw-star-tw var(--d, 5s) ease-in-out var(--dl, 0s) infinite alternate; }
.sw-sky span.is-big { box-shadow: 0 0 6px 1px rgba(200, 220, 255, .55); }
.sw-sky span.is-big::before, .sw-sky span.is-big::after { content: ""; position: absolute; left: 50%; top: 50%; width: calc(var(--s) * 5); height: 1px; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .75), transparent); transform: translate(-50%, -50%); }
.sw-sky span.is-big::after { transform: translate(-50%, -50%) rotate(90deg); }
@keyframes sw-star-tw { 0% { opacity: .15; transform: scale(.7); } 100% { opacity: var(--o, .95); transform: scale(1.05); } }
@media (prefers-reduced-motion: reduce) { .sw-sky span { animation: none; opacity: .6; transform: none; } }

/* 2026-10-14: .sw-sky 가 constrained 레이아웃의 자식 폭 제한을 받아 가운데 띠로 보이던 문제 — 폭 제한·여백·배경 해제 */
.sw-positions > .sw-sky { max-width: none !important; width: 100% !important; margin: 0 !important; background: none !important; }

/* 2026-10-14: 뉴스룸 매거진 필터(.sw-mz-pills)를 세그먼트 컨트롤로 — 연회색 트랙 안에서 선택 배경(.sw-mz-ind)이 카테고리 색 그라데이션으로 미끄러지고, 카운트는 작은 원형 뱃지 */
.sw-filter.sw-mz-pills { position: relative; display: flex !important; flex-wrap: wrap; justify-content: center; gap: 2px; width: max-content !important; max-width: 100% !important; margin: 8px auto 36px !important; padding: 5px; border-radius: 999px; background: #eef2f8; box-shadow: inset 0 1px 2px rgba(16, 47, 103, .07), 0 1px 0 #fff; }
.sw-mz-pills a { position: relative; z-index: 1; padding: 10px 16px 10px 14px; border: 0 !important; background: transparent !important; color: #4b5668; box-shadow: none !important; transition: color .25s ease; }
.sw-mz-pills a::before { opacity: .9; transition: background .25s ease; }
.sw-mz-pills a small { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 7px; border-radius: 999px; background: rgba(16, 47, 103, .08); color: #64748b; font-family: Montserrat, Roboto, sans-serif; font-size: .74em; font-weight: 800; line-height: 1; transition: background .25s ease, color .25s ease; }
.sw-mz-pills a[data-cat=""] { --c: #10306f; }
.sw-mz-pills a[data-cat="mz-news"] { --c: #2f6bff; }
.sw-mz-pills a[data-cat="mz-insight"] { --c: #6a3df0; }
.sw-mz-pills a[data-cat="mz-academy"] { --c: #0e9f8a; }
.sw-mz-pills a[data-cat="mz-life"] { --c: #e0457b; }
.sw-mz-pills a:hover { color: var(--c); }
.sw-mz-pills a[aria-current="true"] { background: var(--c) !important; color: #fff; }
.sw-mz-pills.has-ind a[aria-current="true"] { background: transparent !important; color: #4b5668; }
.sw-mz-pills.has-ind a[aria-current="true"] small { background: rgba(16, 47, 103, .08); color: #64748b; }
.sw-mz-pills.has-ind a[aria-current="true"]::before { background: var(--c); }
.sw-mz-pills.has-ind a.is-on, .sw-mz-pills.has-ind a.is-on:hover { color: #fff; }
.sw-mz-pills.has-ind a.is-on::before { background: #fff !important; }
.sw-mz-pills.has-ind a.is-on small { background: rgba(255, 255, 255, .24) !important; color: #fff !important; }
.sw-mz-ind { position: absolute; z-index: 0; top: 5px; left: 5px; width: 0; height: 0; border-radius: 999px; background: linear-gradient(135deg, var(--c, #10306f), color-mix(in srgb, var(--c, #10306f) 72%, #fff)); box-shadow: 0 8px 20px color-mix(in srgb, var(--c, #10306f) 35%, transparent); transition: left .38s cubic-bezier(.2, .7, .2, 1), top .38s cubic-bezier(.2, .7, .2, 1), width .38s cubic-bezier(.2, .7, .2, 1), height .38s cubic-bezier(.2, .7, .2, 1), background .3s ease, box-shadow .3s ease; pointer-events: none; }
@media (max-width: 560px) { .sw-mz-pills a { padding: 9px 12px 9px 11px; font-size: calc(.86rem + 1pt); } }
@media (prefers-reduced-motion: reduce) { .sw-mz-ind { transition: none; } }

/* 2026-10-14: '우리의 약속' 정리(사용자: 워터마크 번호만 남기고 나머지는 촌스럽다) — 왼쪽 큰 번호·세로 레일·점 제거, 항목은 글 + 뒤의 연한 번호만 */
.sw-ceo-vows::before { display: none !important; }
.sw-ceo-vows li::before { display: none !important; }
.sw-ceo-vows b { display: none !important; }
.sw-ceo-vows li { grid-template-columns: minmax(0, 1fr); padding: 22px 0 24px; }
.sw-ceo-vows li > div { grid-column: 1; padding-left: 0; }
.sw-ceo-vows li + li { border-top: 1px solid #e9eef7 !important; }
.sw-ceo-vows li::after { right: 0; top: 6px; color: rgba(47, 107, 216, .085); font-size: 104px; }
.sw-ceo-vows li:hover > div { transform: translateX(4px); }
.sw-ceo-vows li:hover::after { color: rgba(47, 107, 216, .14); transition: color .3s ease; }

/* 2026-10-14: 별이 제자리 반짝임에 더해 아주 천천히 떠다니도록(각자 다른 방향·속도) + 간헐적 유성 */
.sw-sky span { animation: sw-star-tw var(--d, 5s) ease-in-out var(--dl, 0s) infinite alternate, sw-star-drift var(--dd, 60s) ease-in-out var(--ddl, 0s) infinite alternate; }
@keyframes sw-star-tw { 0% { opacity: .15; } 100% { opacity: var(--o, .95); } }
@keyframes sw-star-drift { 0% { transform: translate(0, 0) scale(.85); } 100% { transform: translate(var(--dx, 24px), var(--dy, -18px)) scale(1.05); } }
.sw-sky i { position: absolute; left: var(--x); top: var(--y); width: 140px; height: 1.5px; border-radius: 2px; background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .95)); transform: rotate(-32deg) translateX(0); opacity: 0; animation: sw-shoot var(--p, 11s) linear var(--pl, 0s) infinite; pointer-events: none; }
.sw-sky i::after { content: ""; position: absolute; right: -2px; top: -1.5px; width: 4px; height: 4px; border-radius: 50%; background: #fff; box-shadow: 0 0 8px 2px rgba(200, 225, 255, .9); }
@keyframes sw-shoot { 0% { opacity: 0; transform: rotate(-32deg) translateX(0); } 2% { opacity: 1; } 9% { opacity: 1; transform: rotate(-32deg) translateX(420px); } 10% { opacity: 0; transform: rotate(-32deg) translateX(440px); } 100% { opacity: 0; transform: rotate(-32deg) translateX(440px); } }
@media (prefers-reduced-motion: reduce) { .sw-sky span { animation: none; } .sw-sky i { display: none; } }

/* 2026-10-14: CLOUVI 런처 확대(assets/css/clouvi.css) — 버전 갱신용 */

/* 2026-10-14: CLOUVI 런처 88px 확대에 맞춰 서비스 문의 FAB를 위로(100 → 128px, 모바일 84 → 108px) */
.sw-fab { bottom: 128px; }
@media (max-width: 600px) { .sw-fab { bottom: 108px; } }

/* 2026-10-14: MMCS 앵커 — 고정 헤더에 가리지 않게 */
#mmcs { scroll-margin-top: 120px; }

/* 2026-10-14: 제품/솔루션 카탈로그 4열(IoT 관제 솔루션 추가) · 전체 메뉴 펼침에서 제품/솔루션 칸을 2열(AI 커머스 | 나머지 3그룹)로 나눠 높이를 줄임 */
@media (min-width: 1025px) { .sw-catalog { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
@media (min-width: 901px) and (max-width: 1024px) { .sw-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (min-width: 1280px) {
  html[lang^="ko"] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container { display: grid !important; grid-template-columns: 200px 200px; grid-auto-flow: row dense; column-gap: 12px; width: 412px !important; transform: translateX(-150px) !important; }
  html[lang^="ko"] .sw-site-header.is-mega-open .sw-mega > .sw-mega-col:nth-child(1) > * { grid-column: 1; }
  html[lang^="ko"] .sw-site-header.is-mega-open .sw-mega > .sw-mega-col:not(:nth-child(1)) > * { grid-column: 2; }
}

/* 2026-10-14: 전체 메뉴 펼침의 제품/솔루션 칸 2열 재구성 — 앞선 grid dense 규칙(선택자 오류·왼쪽 이동 과다)을 flex column-wrap으로 교체. 왼쪽 열: AI 커머스 솔루션(6개), 오른쪽 열: 메시지 마케팅 · AI/AX · IoT 관제 */
@media (min-width: 1280px) {
  html[lang^="ko"] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container { display: flex !important; flex-direction: column; flex-wrap: wrap; align-content: flex-start; column-gap: 22px; grid-template-columns: none; grid-auto-flow: initial; height: 320px !important; min-height: 0 !important; width: 372px !important; transform: translateX(-40px) !important; overflow: visible !important; }
  html[lang^="ko"] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container > .sw-mega-col > * { width: 175px; flex: 0 0 auto; grid-column: auto; }
  html[lang^="ko"] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container > .sw-mega-col:not(:first-child) > .wp-block-navigation-item__content { margin-top: 10px !important; }
  html[lang^="ko"] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container > .sw-mega-col:nth-child(2) > .wp-block-navigation-item__content { margin-top: 0 !important; }
}

/* 2026-10-14: 제품/솔루션 칸 2열 보정 — 높이를 420px로 늘려 3열로 넘치지 않게, 오른쪽으로 60px 옮겨 사업분야 칸과 겹치지 않게 */
@media (min-width: 1280px) {
  html[lang^="ko"] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container { height: 420px !important; transform: translateX(20px) !important; }
}

/* 2026-10-14: 제품/솔루션 칸 열 나눔 고정 — 높이 360px, 첫 그룹(AI 커머스) 아래 여백으로 두 번째 그룹부터 오른쪽 열로 넘어가게 */
@media (min-width: 1280px) {
  html[lang^="ko"] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container { height: 360px !important; }
  html[lang^="ko"] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega > .wp-block-navigation__submenu-container > .sw-mega-col:first-child > .wp-block-navigation__submenu-container { margin-bottom: 100px !important; }
}

/* 2026-10-15: 헤더 메뉴를 하나씩 펼침 — 전체 메뉴 대신 마우스를 올린 상위 메뉴(.is-current)의 하위 칸만 보인다. site.js 가 .is-current 를 붙인다 */
@media (min-width: 1280px) {
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .has-child:not(.is-current) > .wp-block-navigation__submenu-container { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }
  .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .is-current > .wp-block-navigation-item__content { color: var(--sw-blue) !important; }
}

/* 2026-10-15: 제품/솔루션 패널 — 펼쳤을 때 헤더 안쪽 폭(site.js 가 left/width 지정)에 4열 카드형:
   파란 분류 제목, 굵은 제품명 + 바깥링크 아이콘, 밑줄, 회색 설명. 전체 메뉴용 한 줄 압축 규칙(3881~)을 되돌린다 */
@media (min-width: 1280px) {
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container {
    display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: 36px; row-gap: 0; align-content: start;
    right: auto !important; height: auto !important; min-height: 0 !important; padding: 34px 0 44px !important;
    border: 0 !important; text-align: left !important; overflow: visible !important;
  }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col { display: block !important; min-width: 0; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > * { width: auto !important; flex: none !important; margin-bottom: 0; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content {
    display: block !important; margin: 0 0 26px !important; padding: 0 !important; border: 0 !important; background: none !important;
    color: #1f6fe5 !important; font-size: calc(.9rem + 1pt) !important; font-weight: 800 !important; text-align: left !important;
  }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content::before { display: none !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content .wp-block-navigation-item__label { padding: 0 !important; border: 0 !important; color: #1f6fe5 !important; font-size: inherit !important; font-weight: 800 !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation__submenu-container {
    position: static !important; display: grid !important; gap: 30px !important; margin: 0 !important; width: auto !important; height: auto !important; min-height: 0 !important;
    padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; visibility: visible !important; opacity: 1 !important; transform: none !important;
  }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-link { display: block !important; margin: 0 !important; padding: 0 !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content {
    position: relative; display: block !important; padding: 0 30px 0 0 !important; border-radius: 0 !important; background: none !important;
    color: var(--sw-ink) !important; font-size: inherit !important; font-weight: inherit !important; text-align: left !important; transform: none !important;
  }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content:hover { background: none !important; transform: none !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__label {
    display: block; padding: 0 0 12px !important; border: 0 !important; border-bottom: 1px solid #e3e9f2 !important;
    color: var(--sw-ink) !important; font-size: calc(1rem + 1pt) !important; font-weight: 800 !important; letter-spacing: -.01em; transition: color .2s ease;
  }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content:hover .wp-block-navigation-item__label { color: #1f6fe5 !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-item__description {
    display: block !important; margin-top: 12px; color: #6b7280 !important; font-size: calc(.8rem + 1pt) !important; font-weight: 500 !important; line-height: 1.6; white-space: normal;
  }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content::after { display: block !important; top: 3px; right: 0; width: 15px; height: 15px; background: #9aa6b8; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content:hover::after { background: #1f6fe5 !important; }
}

/* 2026-10-15: 푸터가 보이면 떠 있는 버튼 묶음을 푸터 위로 — site.js 가 html 에 --sw-fab-lift(푸터가 올라온 높이)를 넣는다.
   CLOUVI 는 채팅 패널이 열려 있으면(.is-open) 제자리에 둔다 */
body .sw-fab { bottom: calc(128px + var(--sw-fab-lift, 0px)); }
body .sw-clouvi:not(.is-open) { bottom: calc(24px + var(--sw-fab-lift, 0px)); }
@media (max-width: 600px) {
  body .sw-fab { bottom: calc(108px + var(--sw-fab-lift, 0px)); }
  body .sw-clouvi:not(.is-open) { bottom: calc(16px + var(--sw-fab-lift, 0px)); }
}

/* 2026-10-15: 제품/솔루션 분류 확정(5개) — 영문 분류명 + 설명 문장(.sw-mc-desc). 메가메뉴 열 제목과 카탈로그(65) 열 제목에 공통.
   SMRO 는 Enterprise Solutions 열로 이동 */
.sw-mc-desc { display: block; margin-top: 6px; white-space: normal !important; color: #6b7280 !important; font-size: calc(.76rem + 1pt) !important; font-weight: 500 !important; line-height: 1.55; letter-spacing: 0; word-break: keep-all; }
@media (min-width: 1280px) {
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content { min-height: 112px; white-space: normal !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content .wp-block-navigation-item__label { display: block; white-space: normal !important; line-height: 1.3; }
}
.sw-primary-nav .sw-mega-col:nth-child(5) { --mc: #0f766e; }
.sw-primary-nav .sw-mega > .wp-block-navigation__submenu-container { grid-template-columns: repeat(5, 200px); }
.sw-site-header .sw-mnav.is-menu-open .sw-mc-desc { display: none; }
/* 카탈로그(65): 5열, 섹션 폭 1400px */
.sw-catalog-sec > .sw-catalog { max-width: 1400px !important; }
@media (min-width: 1280px) { .sw-catalog { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 24px 32px; } }
@media (min-width: 1025px) and (max-width: 1279px) { .sw-catalog { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
.sw-catalog > .sw-catalog-col:nth-child(5) { --mc: #0f766e; }
.sw-catalog-title { margin-bottom: 18px !important; }
.sw-catalog-title { min-height: 140px; }

/* 2026-10-15: 사업분야 배너 v2 — 영상 대신 어두운 남색 데이터 스트림 사진(hero-business.jpg), 제목 · 굵은 부제 · 작은 설명(.sw-hero-desc),
   그 아래 남색 두 줄 탭 바(.sw-biz-tabs.is-v2: 작은 설명 + 굵은 영문 이름, 현재 탭은 파란 블록). 사업분야 하위 6개 페이지의 탭 바도 같은 모양 */
.sw-page-hero.is-video-business.is-photo-tech { --sw-hero-photo: url(assets/images/hero-business.jpg); --sw-hero-shade: 0; }
.sw-page-hero.is-video-business.is-photo-tech::before {
  background:
    linear-gradient(90deg, rgba(6, 14, 38, .72), rgba(6, 14, 38, .34) 46%, transparent 72%),
    var(--sw-hero-photo) center / cover no-repeat;
}
.sw-page-hero.is-video-business::after { background: linear-gradient(180deg, rgba(6, 14, 38, .1), rgba(6, 14, 38, .45)); }
.sw-page-hero.is-video-business { padding-block: clamp(84px, 9vw, 128px) !important; }
.sw-page-hero.is-video-business h1 { margin-bottom: 18px; font-size: clamp(36px, 3.3vw, 50px); letter-spacing: -.02em; }
.sw-page-hero.is-video-business p.has-large-font-size { margin: 0 0 14px; font-size: clamp(20px, 1.75vw, 27px) !important; font-weight: 700; line-height: 1.5; }
.sw-page-hero.is-video-business p.has-large-font-size strong { font-weight: 700; }
.sw-page-hero .sw-hero-desc { margin: 0; max-width: 44em; color: rgba(255, 255, 255, .88); font-size: calc(.95rem + 1pt); line-height: 1.75; word-break: keep-all; }
/* 탭 바 v2 */
.sw-page-hero:has(+ .sw-biz-tabs.is-v2) { padding-bottom: clamp(62px, 7vw, 92px); }
.sw-biz-tabs.is-v2 { justify-content: center; margin-top: 0 !important; border-radius: 0; background: #0f1b33; box-shadow: none; }
.sw-biz-tabs.is-v2 a { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-width: 206px; min-height: 108px; padding: 14px 20px; border-left: 0; color: #fff; font-size: inherit; white-space: normal; text-align: center; transition: background .2s ease; }
.sw-biz-tabs.is-v2 a small { color: rgba(255, 255, 255, .78); font-size: calc(.8rem + 1pt); font-weight: 500; line-height: 1.4; }
.sw-biz-tabs.is-v2 a b { font-size: calc(1.08rem + 1pt); font-weight: 800; line-height: 1.3; letter-spacing: -.01em; }
.sw-biz-tabs.is-v2 a:hover { color: #fff; background: rgba(255, 255, 255, .07); }
.sw-biz-tabs.is-v2 a[aria-current="page"] { background: #2f6bd8; color: #fff; }
.sw-biz-tabs.is-v2 a[aria-current="page"] small { color: rgba(255, 255, 255, .9); }
@media (max-width: 900px) {
  .sw-biz-tabs.is-v2 { justify-content: flex-start; }
  .sw-biz-tabs.is-v2 a { min-width: 150px; min-height: 84px; padding: 10px 14px; }
  .sw-biz-tabs.is-v2 a b { font-size: calc(.98rem + 1pt); }
  .sw-biz-tabs.is-v2 a small { font-size: calc(.72rem + 1pt); }
}
/* 2026-10-15: 배너 설명 문장은 제목과 같은 왼쪽 선에 (제한 레이아웃의 auto 마진 해제) */
.sw-page-hero .sw-hero-desc { margin-inline: 0 !important; }

/* 2026-10-15: 메가메뉴 분류명(.sw-mc-name) — 더 크게, 남색→파랑→청록 그라데이션 글씨. 설명 문장은 메뉴에서 뺌(카탈로그 65 에는 유지) */
@media (min-width: 1280px) {
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content { font-size: calc(1.3rem + 1pt) !important; min-height: 0; margin-bottom: 28px !important; }
}
.sw-primary-nav .sw-mega-col .sw-mc-name { display: inline-block; padding-bottom: 2px; background: linear-gradient(90deg, #1b4fc4, #2f6bd8 45%, #1ea9e0); -webkit-background-clip: text; background-clip: text; color: transparent !important; -webkit-text-fill-color: transparent; font-weight: 800; line-height: 1.2; letter-spacing: -.015em; }
/* 분류명 블록 높이를 두 줄 기준으로 맞춰 열마다 첫 항목 시작선을 같게 */
@media (min-width: 1280px) {
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content { min-height: 58px; }
}

/* 2026-10-15: 국문 메가메뉴 분류명 아래 한글명(.sw-mc-ko) 한 줄 — 영문 그라데이션 제목 밑에 짙은 회색 작은 글씨. 제목 블록 높이는 3줄(영문 2줄 + 한글 1줄) 기준 */
.sw-primary-nav .sw-mega-col .sw-mc-ko { display: block; margin-top: 3px; color: #4b5668; font-size: .95rem; font-weight: 600; line-height: 1.4; letter-spacing: 0; }
@media (min-width: 1280px) {
  html[lang^="ko"] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content { min-height: 84px; }
}

/* 2026-10-15: 제품/솔루션 메가메뉴 v3 — 왼쪽에 상위 메뉴 목록(.sw-mega-side, 세로 구분선, 현재 메뉴는 파란 글씨 + 꺾쇠),
   오른쪽에 분류별 간단 링크 목록(회색 작은 분류명 = 한글 + 영문, 제품명만 한 줄씩, 설명·밑줄·아이콘 없음). 카드형 규칙(10562~)을 덮어쓴다 */
.sw-primary-nav .sw-mega-side { display: none; }
@media (min-width: 1280px) {
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container {
    grid-template-columns: 300px repeat(3, minmax(0, 1fr)); column-gap: 0; row-gap: 0; padding: 36px 0 36px !important;
  }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side {
    display: block; grid-column: 1; grid-row: 1 / span 9; align-self: stretch; margin: 0; padding: 2px 40px 0 0; border-right: 1px solid #e3e7ee; list-style: none;
  }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side ul { display: grid; gap: 22px; margin: 0; padding: 0; list-style: none; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side li { margin: 0; padding: 0; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side a {
    display: inline-flex; align-items: center; gap: 6px; color: #1f2a3c; font-size: calc(.95rem + 1pt); font-weight: 700; line-height: 1.3; letter-spacing: -.01em; text-decoration: none; transition: color .2s ease;
  }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side a:hover,
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side li.is-current a { color: #1f6fe5; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side a svg { width: 14px; height: 14px; flex: none; }
  /* 분류 묶음 */
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col { padding: 0 24px 0 60px; margin: 0 0 40px !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content { min-height: 0 !important; margin: 0 0 16px !important; font-size: calc(.84rem + 1pt) !important; font-weight: 600 !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content .wp-block-navigation-item__label { display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; line-height: 1.4; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col .sw-mc-ko { order: -1; display: inline; margin: 0; color: #6b7585; font-size: inherit; font-weight: 700; line-height: inherit; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col .sw-mc-name { display: inline; padding: 0; background: none !important; color: #9aa3b2 !important; -webkit-text-fill-color: #9aa3b2; font-size: inherit; font-weight: 600; line-height: inherit; letter-spacing: 0; }
  /* 제품 링크: 한 줄 글자만 */
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation__submenu-container { gap: 16px !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content { padding: 0 !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__label { padding: 0 !important; border-bottom: 0 !important; color: #1f2a3c !important; font-size: calc(.98rem + 1pt) !important; font-weight: 500 !important; letter-spacing: -.01em; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content:hover .wp-block-navigation-item__label { color: #1f6fe5 !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content::after { display: none !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-item__description { display: none !important; }
}
@media (min-width: 1280px) {
  /* 분류명 블록을 두 줄 기준으로 맞춰 같은 줄의 첫 제품 시작선을 같게 (옴니채널 마케팅 · 메시징이 두 줄) */
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content { min-height: 50px !important; }
}

/* 2026-10-15: 제품/솔루션 메가메뉴 v4 — 왼쪽에 분류 5개 목록(영문 굵게 + 한글 작게, 올려 둔 분류는 파란 글씨 + 꺾쇠),
   오른쪽에 그 분류의 상세(그라데이션 영문 분류명 + 한글명, 제품명 · 설명 3열). v3 규칙을 덮어쓴다 */
@media (min-width: 1280px) {
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container {
    grid-template-columns: 340px minmax(0, 1fr); padding: 36px 0 40px !important;
  }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side { grid-row: 1; padding: 0 44px 0 0; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side ul { gap: 0; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side a {
    display: flex; align-items: baseline; gap: 10px; width: 100%; padding: 13px 14px; border-radius: 10px; transition: background .2s ease, color .2s ease;
  }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side a b { color: #1f2a3c; font-size: calc(1.02rem + 1pt); font-weight: 800; line-height: 1.3; letter-spacing: -.01em; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side a small { color: #8b94a5; font-size: calc(.78rem + 1pt); font-weight: 600; line-height: 1.3; white-space: nowrap; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side a svg { margin-left: auto; align-self: center; opacity: 0; transition: opacity .2s ease; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side li.is-current a { background: #f2f6fd; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side li.is-current a b,
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side li.is-current a svg { color: #1f6fe5; opacity: 1; }
  /* 오른쪽 상세: 올려 둔 분류만 보인다 */
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col { display: none !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col.is-active { display: block !important; grid-column: 2; grid-row: 1; padding: 6px 0 0 60px; margin: 0 !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content { min-height: 0 !important; margin: 0 0 30px !important; font-size: calc(1.45rem + 1pt) !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content .wp-block-navigation-item__label { display: flex !important; flex-direction: column; align-items: flex-start; gap: 6px; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col .sw-mc-name { order: 0; display: inline-block; padding-bottom: 2px; background: linear-gradient(90deg, #1b4fc4, #2f6bd8 45%, #1ea9e0) !important; -webkit-background-clip: text; background-clip: text; color: transparent !important; -webkit-text-fill-color: transparent; font-size: inherit; font-weight: 800; line-height: 1.2; letter-spacing: -.015em; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col .sw-mc-ko { order: 1; color: #6b7585; font-size: calc(.92rem + 1pt); font-weight: 600; }
  /* 제품 목록: 3열, 제품명 굵게 + 설명 */
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation__submenu-container { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 36px !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content { padding: 0 26px 0 0 !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__label { padding: 0 0 10px !important; border-bottom: 1px solid #e3e9f2 !important; font-size: calc(1.02rem + 1pt) !important; font-weight: 800 !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content::after { display: block !important; top: 2px; width: 14px; height: 14px; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-item__description { display: block !important; margin-top: 10px; }
}
@media (min-width: 1280px) {
  /* v4 보정: 분류명 그라데이션은 background-image 로(단축 속성이 clip 을 되돌리지 않게), 왼쪽 항목은 영문 위 · 한글 아래 두 줄, 꺾쇠는 오른쪽 가운데 */
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col .sw-mc-name { background: none !important; background-image: linear-gradient(90deg, #1b4fc4, #2f6bd8 45%, #1ea9e0) !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side a { position: relative; display: block; padding: 12px 40px 12px 14px; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side a b { display: block; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side a small { display: block; margin-top: 3px; white-space: normal; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side a svg { position: absolute; right: 14px; top: 50%; margin: 0; transform: translateY(-50%); }
}

/* 2026-10-15: 회사소개(54) · About(1308) 배너를 사업분야 배너와 같은 모양으로(.is-photo-stream) — 어두운 남색 데이터 스트림 사진(hero-business.jpg),
   제목 · 굵은 부제 · 작은 설명(.sw-hero-desc), 그 아래 남색 한 줄 탭 바(앵커 탭 .sw-anchor-nav.is-tabbar, 현재 탭은 파란 블록) */
.sw-page-hero.has-photo.is-photo-stream { --sw-hero-photo: url(assets/images/hero-business.jpg); --sw-hero-shade: 0; padding-block: clamp(84px, 9vw, 128px) !important; }
.sw-page-hero.has-photo.is-photo-stream::before {
  background:
    linear-gradient(90deg, rgba(6, 14, 38, .72), rgba(6, 14, 38, .34) 46%, transparent 72%),
    var(--sw-hero-photo) center / cover no-repeat;
}
.sw-page-hero.has-photo.is-photo-stream::after { background: linear-gradient(180deg, rgba(6, 14, 38, .1), rgba(6, 14, 38, .45)); }
.sw-page-hero.is-photo-stream h1 { margin-bottom: 18px; font-size: clamp(36px, 3.3vw, 50px); letter-spacing: -.02em; }
.sw-page-hero.is-photo-stream p.has-large-font-size { margin: 0 0 14px; font-size: clamp(20px, 1.75vw, 27px) !important; font-weight: 700; line-height: 1.5; }
.sw-page-hero.is-photo-stream p.has-large-font-size strong { font-weight: 700; }
.sw-page-hero.is-photo-stream:has(+ .sw-anchor-nav.is-tabbar) { padding-bottom: clamp(62px, 7vw, 92px) !important; }
.sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar { margin-top: 0 !important; }
.sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-buttons { justify-content: center; border-radius: 0 !important; background: #0f1b33; box-shadow: none; }
.sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button { flex: 0 0 auto; }
.sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button + .wp-block-button { border-left: 0; }
.sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link { min-width: 206px; min-height: 92px; padding: 0 24px; color: #fff; font-size: calc(1.08rem + 1pt); font-weight: 800; letter-spacing: -.01em; transition: background .2s ease; }
.sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link:hover { background: rgba(255, 255, 255, .07); color: #fff; }
.sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link.is-current { background: #2f6bd8; color: #fff; }
@media (max-width: 900px) {
  .sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-buttons { justify-content: flex-start; }
  .sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link { min-width: 150px; min-height: 64px; padding: 0 18px; font-size: calc(.98rem + 1pt); }
}

/* 2026-10-15: SI·ITO 운영 서비스 범위 1번(안정화 · 유지보수) 아이콘 — 어색한 드라이버 그림 대신 방패 + 체크(lucide shield-check) */
.sw-itos li:nth-child(1)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fd0ff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }

/* 2026-10-15: 메가메뉴 v4 보정 — 마우스를 올려도 제품명 · 분류명이 커지지 않게(옛 확대 규칙이 옆 열과 겹치게 함) */
@media (min-width: 1280px) {
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-item__content .wp-block-navigation-item__label { transform: none !important; animation: none !important; text-shadow: none !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content:hover .wp-block-navigation-item__label { font-size: calc(1.02rem + 1pt) !important; }
}

/* 2026-10-15: 모든 페이지 배너를 사업분야식(.is-photo-stream)으로 통일 — 페이지마다 다른 남색 광류 사진(assets/images/hero-stream-<key>.jpg).
   사업분야 하위 5개의 배너 영상(is-video-*)도 사진으로 바꿈(클래스 제거). 채용(207)은 전용 배너(.sw-rc-hero)라 사진만 교체 */
.sw-page-hero.is-photo-stream.is-hs-business { --sw-hero-photo: url(assets/images/hero-business.jpg); }
.sw-page-hero.is-photo-stream.is-hs-company { --sw-hero-photo: url(assets/images/hero-stream-company.jpg); }
.sw-page-hero.is-photo-stream.is-hs-ceo { --sw-hero-photo: url(assets/images/hero-stream-ceo.jpg); }
.sw-page-hero.is-photo-stream.is-hs-history { --sw-hero-photo: url(assets/images/hero-stream-history.jpg); }
.sw-page-hero.is-photo-stream.is-hs-vision { --sw-hero-photo: url(assets/images/hero-stream-vision.jpg); }
.sw-page-hero.is-photo-stream.is-hs-location { --sw-hero-photo: url(assets/images/hero-stream-location.jpg); }
.sw-page-hero.is-photo-stream.is-hs-commerce { --sw-hero-photo: url(assets/images/hero-stream-commerce.jpg); }
.sw-page-hero.is-photo-stream.is-hs-si-ito { --sw-hero-photo: url(assets/images/hero-stream-si-ito.jpg); }
.sw-page-hero.is-photo-stream.is-hs-ai-business { --sw-hero-photo: url(assets/images/hero-stream-ai-business.jpg); }
.sw-page-hero.is-photo-stream.is-hs-mro { --sw-hero-photo: url(assets/images/hero-stream-mro.jpg); }
.sw-page-hero.is-photo-stream.is-hs-messaging { --sw-hero-photo: url(assets/images/hero-stream-messaging.jpg); }
.sw-page-hero.is-photo-stream.is-hs-ax { --sw-hero-photo: url(assets/images/hero-stream-ax.jpg); }
.sw-page-hero.is-photo-stream.is-hs-solutions { --sw-hero-photo: url(assets/images/hero-stream-solutions.jpg); }
.sw-page-hero.is-photo-stream.is-hs-scos { --sw-hero-photo: url(assets/images/hero-stream-scos.jpg); }
.sw-page-hero.is-photo-stream.is-hs-ai-platform { --sw-hero-photo: url(assets/images/hero-stream-ai-platform.jpg); }
.sw-page-hero.is-photo-stream.is-hs-portfolio { --sw-hero-photo: url(assets/images/hero-stream-portfolio.jpg); }
.sw-page-hero.is-photo-stream.is-hs-faq { --sw-hero-photo: url(assets/images/hero-stream-faq.jpg); }
.sw-page-hero.is-photo-stream.is-hs-resources { --sw-hero-photo: url(assets/images/hero-stream-resources.jpg); }
.sw-page-hero.is-photo-stream.is-hs-support { --sw-hero-photo: url(assets/images/hero-stream-support.jpg); }
.sw-page-hero.is-photo-stream.is-hs-shop { --sw-hero-photo: url(assets/images/hero-stream-shop.jpg); }
.sw-page-hero.is-photo-stream.is-hs-home-en { --sw-hero-photo: url(assets/images/hero-stream-home-en.jpg); }
.sw-page-hero.is-photo-recruit { --sw-hero-photo: url(assets/images/hero-stream-recruit.jpg); --sw-hero-shade: 0; }
/* 사진 자체가 어두우니 채용 배너의 브랜드 그라디언트 덮개도 사업분야식 좌측 그늘만 */
.sw-page-hero.has-photo.is-photo-recruit::before {
  background:
    linear-gradient(90deg, rgba(6, 14, 38, .72), rgba(6, 14, 38, .34) 46%, transparent 72%),
    var(--sw-hero-photo) center / cover no-repeat;
}
.sw-page-hero.has-photo.is-photo-recruit::after { background: linear-gradient(180deg, rgba(6, 14, 38, .1), rgba(6, 14, 38, .45)); }
/* 사업분야 하위 페이지: 영상 클래스가 빠져도 탭 바 위 간격은 그대로 */
.sw-page-hero.is-photo-stream:has(+ .sw-biz-tabs.is-v2) { padding-bottom: clamp(62px, 7vw, 92px) !important; }

/* 2026-10-15: 배너 높이 통일 — 내용(버튼 유무 등)이 달라도 데스크톱에서는 같은 높이(500px), 글은 세로 가운데 */
@media (min-width: 1025px) {
  .sw-page-hero.is-photo-stream, .sw-page-hero.is-photo-recruit { display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; min-height: 500px; padding-block: 64px !important; }
  .sw-page-hero.is-photo-stream > *, .sw-page-hero.is-photo-recruit > * { width: 100%; }
}

/* 2026-10-15: 자료실(73) Sales Pack — 소개서 표지 카드 그리드(필터 + 3열 카드, 표지 · 분류 · 제목, 올리면 떠오름). SK AX 자료실 참고 */
.sw-sp-sec { padding-block: clamp(64px, 7vw, 104px) !important; background: #fff; }
.sw-sp-wrap { max-width: var(--wp--style--global--wide-size, 1200px); margin: 0 auto; padding: 0 24px; }
.sw-sp-head { margin-bottom: 40px; }
.sw-sp-head h2 { margin: 0 0 12px; color: #0f1b33; font-family: Montserrat, Roboto, sans-serif; font-size: clamp(34px, 3.2vw, 46px); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
.sw-sp-head p { margin: 0; color: #5b6676; font-size: calc(1rem + 1pt); line-height: 1.7; }
.sw-sp-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 10px; margin: 0 0 44px !important; padding: 0; list-style: none; }
.sw-sp-filter li { margin: 0; }
.sw-sp-filter button { appearance: none; padding: 9px 20px; border: 1.5px solid transparent; border-radius: 999px; background: none; color: #7a8595; font: inherit; font-size: calc(.98rem + 1pt); font-weight: 600; line-height: 1.2; cursor: pointer; transition: color .2s ease, border-color .2s ease; }
.sw-sp-filter button:hover { color: #0f1b33; }
.sw-sp-filter button.is-on { border-color: #0f1b33; color: #0f1b33; font-weight: 800; }
.sw-sp-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 0 !important; padding: 0; list-style: none; }
.sw-sp-card { margin: 0; }
.sw-sp-card.is-hidden { display: none; }
.sw-sp-card a { position: relative; display: block; overflow: hidden; border-radius: 6px; background: #f6f8fb; color: inherit; text-decoration: none; box-shadow: 0 1px 0 rgba(16, 47, 103, .06); transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s ease; }
.sw-sp-card a:hover { transform: translateY(-8px); box-shadow: 0 24px 48px rgba(16, 47, 103, .16); }
.sw-sp-cover { margin: 0; aspect-ratio: 16 / 9; overflow: hidden; background: #0f1b33; }
.sw-sp-cover img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.sw-sp-card a:hover .sw-sp-cover img { transform: scale(1.03); }
.sw-sp-body { position: relative; padding: 22px 26px 26px; }
.sw-sp-body small { display: block; margin-bottom: 8px; color: #6b7585; font-size: calc(.82rem + 1pt); font-weight: 600; letter-spacing: 0; }
.sw-sp-body h3 { margin: 0; padding-right: 36px; color: #0f1b33; font-size: calc(1.12rem + 1pt); font-weight: 800; letter-spacing: -.015em; line-height: 1.35; word-break: keep-all; }
.sw-sp-dl { position: absolute; right: 24px; bottom: 26px; width: 22px; height: 22px; background: #9aa6b8; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M4 21h16'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M4 21h16'/%3E%3C/svg%3E") center / contain no-repeat; transition: background .2s ease; }
.sw-sp-card a:hover .sw-sp-dl { background: #2f6bd8; }
@media (max-width: 1024px) { .sw-sp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }
@media (max-width: 640px) { .sw-sp-grid { grid-template-columns: 1fr; } .sw-sp-filter { justify-content: flex-start; } .sw-sp-filter button { padding: 8px 14px; font-size: calc(.9rem + 1pt); } }
/* 소개서 신청 폼은 Sales Pack 아래 보조 섹션으로 — 위쪽 여백만 줄임 */
.sw-sp-sec + .sw-brochure-sec { padding-top: 0 !important; }

/* 2026-10-15: 배너 바로 아래 앵커 탭(.sw-anchor-nav)도 회사소개와 같은 남색 한 줄 바로 — 채용(207) · SCOS(66) · AI 개인화(68) 등
   (사업분야 하위는 남색 사업 탭 바가 이미 있으므로 그 아래 흰 앵커 탭은 그대로) */
.sw-page-hero.is-photo-stream + .sw-anchor-nav:not(.is-tabbar), .sw-page-hero.is-photo-recruit + .sw-anchor-nav:not(.is-tabbar) {
  margin-top: 0 !important; padding: 0 !important; border-bottom: 0; background: #0f1b33; backdrop-filter: none;
}
.sw-page-hero.is-photo-stream + .sw-anchor-nav:not(.is-tabbar) .wp-block-buttons, .sw-page-hero.is-photo-recruit + .sw-anchor-nav:not(.is-tabbar) .wp-block-buttons {
  display: flex; flex-wrap: nowrap; justify-content: center; gap: 0 !important; width: 100% !important; max-width: none !important; margin: 0 !important; overflow-x: auto;
}
.sw-page-hero.is-photo-stream + .sw-anchor-nav:not(.is-tabbar) .wp-block-button, .sw-page-hero.is-photo-recruit + .sw-anchor-nav:not(.is-tabbar) .wp-block-button { flex: 0 0 auto; margin: 0; }
.sw-page-hero.is-photo-stream + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link, .sw-page-hero.is-photo-recruit + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link {
  display: grid; place-items: center; min-width: 206px; min-height: 92px; padding: 0 24px !important; border-radius: 0; background: transparent; color: #fff !important; font-size: calc(1.08rem + 1pt) !important; font-weight: 800 !important; letter-spacing: -.01em; white-space: nowrap; transition: background .2s ease;
}
.sw-page-hero.is-photo-stream + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link::before, .sw-page-hero.is-photo-recruit + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link::before,
.sw-page-hero.is-photo-stream + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link::after, .sw-page-hero.is-photo-recruit + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link::after { display: none !important; }
.sw-page-hero.is-photo-stream + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link:hover, .sw-page-hero.is-photo-recruit + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link:hover { background: rgba(255, 255, 255, .07); color: #fff !important; }
.sw-page-hero.is-photo-stream + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link.is-current, .sw-page-hero.is-photo-recruit + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link.is-current { background: #2f6bd8; color: #fff !important; box-shadow: none !important; }
@media (max-width: 900px) {
  .sw-page-hero.is-photo-stream + .sw-anchor-nav:not(.is-tabbar) .wp-block-buttons, .sw-page-hero.is-photo-recruit + .sw-anchor-nav:not(.is-tabbar) .wp-block-buttons { justify-content: flex-start; }
  .sw-page-hero.is-photo-stream + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link, .sw-page-hero.is-photo-recruit + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link { min-width: 140px; min-height: 60px; padding: 0 16px !important; font-size: calc(.95rem + 1pt) !important; }
}

/* 2026-10-15: MMCS 솔루션 페이지(/solutions/mmcs/) 배너 사진 · 섹션 여백. 자료실 카드는 제목 줄 수가 달라도 같은 높이 */
.sw-page-hero.is-photo-stream.is-hs-mmcs { --sw-hero-photo: url(assets/images/hero-stream-mmcs.jpg); }
.sw-mmcs-sec .sw-mmcs { margin-top: 8px; }
.sw-mmcs-tb-sec { padding-top: 0 !important; }
.sw-sp-grid { align-items: stretch; }
.sw-sp-card a { display: flex; flex-direction: column; height: 100%; }
.sw-sp-body { flex: 1 1 auto; }
/* 자료실 필터 알약: 참고안처럼 검은 2px 테두리 · 검은 굵은 글씨 · 넉넉한 여백 */
.sw-sp-filter { gap: 4px 6px; }
.sw-sp-filter button { padding: 11px 26px; border-width: 2px; color: #6b7280; font-size: calc(1.02rem + 1pt); font-weight: 500; }
.sw-sp-filter button:hover { color: #111; }
.sw-sp-filter button.is-on { border-color: #111; color: #111; font-weight: 700; }
/* 자료실 필터 알약 — 올리면 검은 테두리 + 연회색 채움, 누르는 동안은 조금 더 진한 회색(참고안) */
.sw-sp-filter button { transition: color .2s ease, border-color .2s ease, background .2s ease; }
.sw-sp-filter button:hover, .sw-sp-filter button:focus-visible { border-color: #111; background: #f1f3f6; color: #111; }
.sw-sp-filter button:active { background: #e3e6eb; }
.sw-sp-filter button.is-on { background: #fff; }
.sw-sp-filter button.is-on:hover { background: #f1f3f6; }

/* 2026-10-15: 제품/솔루션(65) 배너 아래 분류 탭 바(.sw-biz-tabs.is-catalog) — 사업분야 탭과 같은 남색 두 줄 탭. 누른 분류 열(.sw-catalog-col.is-current)은 연한 파란 판으로 강조 */
.sw-biz-tabs.is-catalog a { min-width: 0; flex: 1 1 0; max-width: 300px; }
.sw-biz-tabs.is-catalog a b { white-space: normal; line-height: 1.25; }
.sw-biz-tabs.is-catalog a[aria-current="true"] { background: #2f6bd8; color: #fff; }
.sw-biz-tabs.is-catalog a[aria-current="true"] small { color: rgba(255, 255, 255, .9); }
.sw-catalog-col { transition: background .3s ease, box-shadow .3s ease; border-radius: 6px; }
.sw-catalog-col.is-current { background: #f3f7fe; box-shadow: 0 0 0 14px #f3f7fe; }
html:has(.sw-biz-tabs.is-catalog) { scroll-padding-top: 120px; }
@media (max-width: 900px) { .sw-biz-tabs.is-catalog a { flex: 0 0 auto; min-width: 150px; max-width: none; } }
/* 카탈로그 알약 필터(.sw-cat-filter, 자료실과 같은 모양) + 분류 하나만 볼 때(.sw-catalog.is-filtered)는 그 열을 넓게 펼쳐 제품 3열 */
.sw-cat-filter { margin: 0 auto 44px !important; }
.sw-catalog.is-filtered { grid-template-columns: 1fr !important; }
.sw-catalog.is-filtered .sw-catalog-col { display: none; }
.sw-catalog.is-filtered .sw-catalog-col.is-on { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 36px; }
.sw-catalog.is-filtered .sw-catalog-col.is-on > .sw-catalog-title { grid-column: 1 / -1; min-height: 0 !important; }
@media (max-width: 1024px) { .sw-catalog.is-filtered .sw-catalog-col.is-on { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .sw-catalog.is-filtered .sw-catalog-col.is-on { grid-template-columns: 1fr; } }

/* 2026-10-15: 뉴스룸(70) v2 — SK AX 뉴스룸 참고. 주목 콘텐츠 캐러셀(.sw-nr-feat) · 알약 필터 + 정렬(.sw-nr-bar) · 4열 카드(.sw-nr-grid). 옛 .sw-mz 규칙은 더 이상 쓰이지 않음 */
.sw-nr { width: min(1200px, calc(100vw - 48px)); margin: 0 auto; }
.sw-nr-feat { margin: 0 0 72px; }
.sw-nr-feat-title { margin: 0 0 18px; color: #0f1b33; font-size: calc(1.08rem + 1pt); font-weight: 700; letter-spacing: -.01em; }
.sw-nr-slider { position: relative; }
.sw-nr-viewport { overflow: hidden; border: 1px solid #e6eaf0; background: #fff; box-shadow: 0 2px 10px rgba(16, 47, 103, .06); }
.sw-nr-track { display: flex; margin: 0 !important; padding: 0; list-style: none; transition: transform .55s cubic-bezier(.2, .8, .2, 1); }
.sw-nr-slide { flex: 0 0 100%; margin: 0; }
.sw-nr-slide a { display: grid; grid-template-columns: 1fr 1fr; min-height: 320px; color: inherit; text-decoration: none; }
.sw-nr-slide-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #0f1b33; }
.sw-nr-slide-img img, .sw-nr-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sw-nr-slide-text { display: flex; flex-direction: column; justify-content: center; padding: 40px 48px; }
.sw-nr-slide-text small { margin-bottom: 12px; color: #4b5668; font-size: calc(.84rem + 1pt); font-weight: 600; }
.sw-nr-slide-text b { margin-bottom: 14px; color: #0f1b33; font-size: calc(1.3rem + 1pt); font-weight: 800; line-height: 1.4; letter-spacing: -.015em; word-break: keep-all; }
.sw-nr-slide-text > span { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: #5b6676; font-size: calc(.95rem + 1pt); line-height: 1.7; }
.sw-nr-slide-text em { margin-top: 28px; color: #0f1b33; font-size: calc(.88rem + 1pt); font-style: normal; font-weight: 700; }
.sw-nr-slide a:hover em { color: #2f6bd8; }
.sw-nr-nav { position: absolute; top: 50%; z-index: 2; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; transform: translateY(-50%); }
.sw-nr-nav::before { content: ""; position: absolute; top: 50%; left: 50%; width: 14px; height: 14px; border-top: 2px solid #9aa3b2; border-left: 2px solid #9aa3b2; transition: border-color .2s ease; }
.sw-nr-nav.is-prev { left: -64px; } .sw-nr-nav.is-prev::before { transform: translate(-35%, -50%) rotate(-45deg); }
.sw-nr-nav.is-next { right: -64px; } .sw-nr-nav.is-next::before { transform: translate(-65%, -50%) rotate(135deg); }
.sw-nr-nav:hover::before { border-color: #0f1b33; }
.sw-nr-dots { display: flex; justify-content: center; gap: 10px; margin: 26px 0 0 !important; padding: 0; list-style: none; }
.sw-nr-dots li { width: 8px; height: 8px; border-radius: 50%; background: #d4d9e2; cursor: pointer; transition: background .2s ease, box-shadow .2s ease; }
.sw-nr-dots li.is-on { background: #fff; box-shadow: 0 0 0 2px #e4572e; }
.sw-nr-bar { position: relative; margin: 0 0 36px; padding: 30px 0 0; border-top: 1px solid #e6eaf0; }
.sw-nr-filter { margin: 0 !important; }
.sw-nr-filter a { display: inline-block; padding: 11px 26px; border: 2px solid transparent; border-radius: 999px; color: #6b7280; font-size: calc(1.02rem + 1pt); font-weight: 500; line-height: 1.2; text-decoration: none; transition: color .2s ease, border-color .2s ease, background .2s ease; }
.sw-nr-filter a:hover { border-color: #111; background: #f1f3f6; color: #111; }
.sw-nr-filter a.is-on { border-color: #111; background: #fff; color: #111; font-weight: 700; }
.sw-nr-sort { position: relative; display: flex; justify-content: flex-end; margin-top: 22px; }
.sw-nr-sort-btn { display: inline-flex; align-items: center; gap: 6px; padding: 6px 2px; border: 0; background: none; color: #0f1b33; font: inherit; font-size: calc(.92rem + 1pt); font-weight: 600; cursor: pointer; }
.sw-nr-sort-btn::after { content: ""; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s ease; }
.sw-nr-sort-btn[aria-expanded="true"]::after { transform: translateY(2px) rotate(-135deg); }
.sw-nr-sort-menu { position: absolute; top: 100%; right: 0; z-index: 5; display: none; min-width: 140px; margin: 6px 0 0 !important; padding: 6px 0; border: 1px solid #e3e7ee; border-radius: 10px; background: #fff; box-shadow: 0 12px 30px rgba(16, 47, 103, .12); list-style: none; }
.sw-nr-sort.is-open .sw-nr-sort-menu { display: block; }
.sw-nr-sort-menu a { display: block; padding: 10px 16px; color: #2b3547; font-size: calc(.9rem + 1pt); text-decoration: none; }
.sw-nr-sort-menu a:hover { background: #f3f6fb; }
.sw-nr-sort-menu a[aria-selected="true"] { color: #2f6bd8; font-weight: 700; }
.sw-nr-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; margin: 0 !important; padding: 0; list-style: none; }
.sw-nr-card { margin: 0; }
.sw-nr-card a { display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: 4px; background: #fff; color: inherit; text-decoration: none; box-shadow: 0 1px 0 rgba(16, 47, 103, .06), 0 2px 10px rgba(16, 47, 103, .06); transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s ease; }
.sw-nr-card a:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(16, 47, 103, .14); }
.sw-nr-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #0f1b33; }
.sw-nr-noimg { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #16243f, #1f4e8c 60%, #1ea9e0); }
.sw-nr-body { display: flex; flex: 1 1 auto; flex-direction: column; padding: 22px 22px 24px; }
.sw-nr-body small { margin-bottom: 10px; color: #6b7585; font-size: calc(.8rem + 1pt); font-weight: 600; }
.sw-nr-body b { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: #0f1b33; font-size: calc(1.02rem + 1pt); font-weight: 800; line-height: 1.5; letter-spacing: -.012em; word-break: keep-all; }
.sw-nr-body em { margin-top: auto; padding-top: 18px; color: #8a94a5; font-size: calc(.8rem + 1pt); font-style: normal; font-weight: 500; }
.sw-mz-sec .sw-mz-pages { margin-top: 48px; }
@media (max-width: 1320px) { .sw-nr-nav.is-prev { left: 8px; } .sw-nr-nav.is-next { right: 8px; } .sw-nr-nav { background: rgba(255, 255, 255, .9); box-shadow: 0 4px 14px rgba(16, 47, 103, .14); } }
@media (max-width: 1100px) { .sw-nr-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 860px) { .sw-nr-slide a { grid-template-columns: 1fr; } .sw-nr-slide-text { padding: 26px 24px 30px; } .sw-nr-slide-text b { font-size: calc(1.12rem + 1pt); } }
@media (max-width: 720px) { .sw-nr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; } .sw-nr-filter a { padding: 8px 14px; font-size: calc(.9rem + 1pt); } }
@media (max-width: 480px) { .sw-nr-grid { grid-template-columns: 1fr; } }
.sw-page-hero.is-photo-stream.is-hs-news { --sw-hero-photo: url(assets/images/hero-stream-news.jpg); }
/* 주목 콘텐츠 슬라이드: 왼쪽 사진이 글 상자와 같은 높이로 꽉 차게(사진은 칸을 채우고 높이를 결정하지 않음) */
.sw-nr-slide a { min-height: 340px; }
.sw-nr-slide-img { position: relative; aspect-ratio: auto; height: 100%; min-height: 340px; }
.sw-nr-slide-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 860px) { .sw-nr-slide-img { height: auto; min-height: 0; aspect-ratio: 16 / 10; } }
/* 뉴스룸 영역은 제한 레이아웃의 본문 폭(760px)에 갇히지 않게 — 1200px 까지 넓힘 */
.sw-mz-sec > .sw-nr, .sw-mz-sec .sw-nr { width: min(1200px, calc(100vw - 48px)) !important; max-width: none !important; margin-inline: auto !important; }
.sw-nr-slide a { min-height: 360px; }
.sw-nr-slide-img { min-height: 360px; }
/* 뉴스룸 사진 비율: 카드 썸네일 · 슬라이드 사진 모두 원본(16:9) 그대로, 잘리지 않게. 글 상자가 더 길면 사진이 그 높이만큼 늘어나 채움 */
.sw-nr-img { aspect-ratio: 16 / 9; }
.sw-nr-slide a { min-height: 0; }
.sw-nr-slide-img { position: relative; aspect-ratio: 16 / 9; height: auto; min-height: 0; align-self: stretch; }
.sw-nr-slide-img img { position: static; display: block; width: 100%; height: 100%; object-fit: cover; }
.sw-nr-slide-text { padding: 36px 44px; }
/* 2026-10-15: 뉴스룸을 참고 사이트(SK AX 인사이트)와 같은 비율 · 색 · 글꼴로 — Pretendard, 썸네일 3:2, 카드 바탕 #f9f9f9, 제목 #111 700 18px, 분류 #666 14px + 가는 구분선, 날짜 없음, 올리면 그림자 */
.sw-nr, .sw-nr * { font-family: Pretendard, "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
.sw-nr-feat-title { color: #111; font-size: 18px; font-weight: 700; letter-spacing: -.02em; }
.sw-nr-viewport { border-color: #e6e6e6; box-shadow: none; }
.sw-nr-slide-text small { color: #666; font-size: 14px; font-weight: 500; }
.sw-nr-slide-text b { color: #111; font-size: 24px; font-weight: 700; letter-spacing: -.02em; }
.sw-nr-slide-text > span { color: #555; font-size: 16px; line-height: 1.65; }
.sw-nr-slide-text em { color: #111; font-size: 15px; font-weight: 600; }
.sw-nr-bar { border-top-color: #e6e6e6; }
.sw-nr-filter a { color: #777; font-size: 16px; font-weight: 500; letter-spacing: -.01em; }
.sw-nr-filter a:hover, .sw-nr-filter a.is-on { color: #111; border-color: #111; }
.sw-nr-filter a.is-on { font-weight: 600; }
.sw-nr-sort-btn { color: #111; font-size: 15px; font-weight: 500; }
.sw-nr-grid { gap: 28px 24px; }
.sw-nr-card a { border-radius: 2px; background: #f9f9f9; box-shadow: none; }
.sw-nr-card a:hover { transform: translateY(-6px); box-shadow: 0 14px 30px rgba(0, 0, 0, .14); }
.sw-nr-img { aspect-ratio: 3 / 2; background: #111; }
.sw-nr-body { min-height: 190px; padding: 22px 24px 26px; }
.sw-nr-body small { display: flex; flex-wrap: wrap; align-items: center; gap: 0 12px; margin-bottom: 12px; color: #666; font-size: 14px; font-weight: 500; letter-spacing: -.01em; }
.sw-nr-body b { color: #111; font-size: 18px; font-weight: 700; line-height: 1.5; letter-spacing: -.02em; }
.sw-nr-body em { display: none; }
.sw-nr-dots li { background: #d9d9d9; }
.sw-nr-dots li.is-on { background: #fff; box-shadow: 0 0 0 2px #f5280b; }
@media (max-width: 720px) { .sw-nr-body { min-height: 0; padding: 18px 18px 22px; } .sw-nr-body b { font-size: 16px; } }

/* 2026-10-15: 사업분야 하위 페이지의 앵커 탭(남색 사업 탭 바 아래 .sw-anchor-nav)을 참고안처럼 — 검은 바(#111) · 흰 글씨 · 왼쪽 정렬, 현재 항목은 흰 알약(검은 글씨). 고정(sticky)은 그대로 */
.sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) { padding: 0 24px !important; border-bottom: 0 !important; background: #111 !important; backdrop-filter: none !important; }
.sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-buttons { justify-content: flex-start; gap: 6px 14px !important; width: 100%; max-width: var(--wp--style--global--wide-size, 1200px); margin: 0 auto !important; padding: 12px 0; }
.sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-button { margin: 0; isolation: auto; }
.sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link { padding: 10px 18px !important; border-radius: 999px !important; background: transparent !important; color: #fff !important; font-family: Pretendard, "Noto Sans KR", sans-serif; font-size: 15px !important; font-weight: 600 !important; letter-spacing: -.01em; transition: background .2s ease, color .2s ease; }
.sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link::before, .sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link::after { display: none !important; }
.sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link:hover { background: rgba(255, 255, 255, .14) !important; color: #fff !important; }
.sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link.is-current { background: #fff !important; color: #111 !important; font-weight: 700 !important; box-shadow: none !important; text-shadow: none !important; }
@media (max-width: 781px) { .sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-buttons { padding: 8px 0; } .sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link { padding: 8px 14px !important; font-size: 14px !important; } }
/* 뉴스룸 카드: 썸네일은 원본 16:9 그대로(잘리지 않게), 작성일자 표시 */
.sw-nr-img { aspect-ratio: 16 / 9; }
.sw-nr-img img { object-fit: cover; }
.sw-nr-body { min-height: 0; padding-bottom: 22px; }
.sw-nr-body em { display: block; margin-top: auto; padding-top: 22px; color: #888; font-size: 14px; font-weight: 500; }

/* 2026-10-15: 문의 상자(.sw-cta)를 참고안처럼 — 검은 띠(#111) + 은은한 빛 번짐, 왼쪽 두 줄 흰 제목, 오른쪽 흰 테두리 알약 버튼(자료 다운로드 · 문의하기). 남색 그라데이션 · 격자 · S 워터마크 · CONTACT US 라벨은 뺌 */
.sw-cta.sw-cta.sw-cta { border-radius: 4px; padding: clamp(40px, 5vw, 64px) clamp(32px, 5vw, 72px); background: #111 !important; box-shadow: none !important; column-gap: 40px; font-family: Pretendard, "Noto Sans KR", sans-serif; }
.sw-cta.sw-cta.sw-cta::before { background:
    radial-gradient(42% 120% at 24% 50%, rgba(190, 150, 105, .36), transparent 70%),
    radial-gradient(28% 110% at 78% 40%, rgba(205, 175, 140, .3), transparent 70%),
    radial-gradient(26% 90% at 58% 90%, rgba(80, 110, 160, .22), transparent 70%);
  filter: blur(14px); opacity: 1; }
.sw-cta.sw-cta.sw-cta::after { content: none !important; }
.sw-cta.sw-cta.sw-cta > h2 { color: #fff; font-size: clamp(20px, 1.6vw, 24px); font-weight: 700; line-height: 1.5; letter-spacing: -.02em; }
.sw-cta.sw-cta.sw-cta > h2::before { content: none !important; }
.sw-cta.sw-cta.sw-cta > p { margin-top: 8px !important; color: rgba(255, 255, 255, .62); font-size: 15px; }
.sw-cta.sw-cta.sw-cta > .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
.sw-cta.sw-cta.sw-cta .wp-block-button { margin: 0; }
.sw-cta.sw-cta.sw-cta .wp-block-button__link { gap: 0; min-width: 160px; justify-content: center; padding: 16px 34px !important; border: 1px solid rgba(255, 255, 255, .85); border-radius: 999px; background: transparent !important; color: #fff !important; font-size: 16px; font-weight: 600; letter-spacing: -.01em; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.sw-cta.sw-cta.sw-cta .wp-block-button__link::after { content: none !important; }
.sw-cta.sw-cta.sw-cta .wp-block-button__link:hover { background: #fff !important; color: #111 !important; border-color: #fff; transform: none; }
.sw-cta.sw-cta.sw-cta.is-careers > h2 { font-size: clamp(20px, 1.8vw, 26px); }
.sw-cta.sw-cta.sw-cta.is-careers > h2::before { content: none !important; }
.sw-cta.sw-cta.sw-cta.is-careers > .sw-rc-build { color: rgba(255, 255, 255, .85); }
@media (max-width: 781px) {
  .sw-cta.sw-cta.sw-cta { padding: 32px 24px; }
  .sw-cta.sw-cta.sw-cta > .wp-block-buttons { justify-content: flex-start; margin-top: 24px !important; }
  .sw-cta.sw-cta.sw-cta .wp-block-button__link { min-width: 0; padding: 13px 24px !important; font-size: 15px; }
}
.sw-cta.sw-cta.sw-cta .wp-block-button__link, .sw-cta.sw-cta.sw-cta .wp-block-button__link:hover { text-decoration: none !important; }
/* 문의 상자: 스카이웨어 심볼을 오른쪽에 은은하게(흰색, 9%) — 버튼 뒤 배경 장식 */
.sw-cta.sw-cta.sw-cta::after { content: "" !important; position: absolute; top: 50%; right: 2%; z-index: -1; width: clamp(220px, 24vw, 340px); aspect-ratio: 1; background: url(assets/images/skyware-symbol.svg) center / contain no-repeat; opacity: .09; filter: brightness(0) invert(1); transform: translateY(-50%) rotate(-10deg); pointer-events: none; }
@media (max-width: 781px) { .sw-cta.sw-cta.sw-cta::after { width: 200px; right: -30px; opacity: .07; } }

/* ============================================================================
   2026-10-15 톤앤매너 v2 (1단계: 공통 토큰) — SK AX 참고, 팔레트는 흰 바탕 + 파랑 + 보라. 콘텐츠 · 구성은 그대로.
   글꼴 Pretendard 하나, 글자 #111, 가는 선 #e6e6e6, 연회색 면 #f5f7fb, 포인트 파랑 #2f6bd8 · 보라 #6a3df0.
   그라데이션의 청록(--sw-cyan) 자리를 보라로 바꿔 '남색 → 파랑 → 보라' 가 되게 한다.
   ============================================================================ */
:root {
  --sw-navy: #0f1b33;
  --sw-blue: #2f6bd8;
  --sw-cyan: #6a3df0;
  --sw-mint: #7c5cf0;
  --sw-ink: #111111;
  --sw-muted: #6b7280;
  --sw-mist: #f5f7fb;
  --sw-line: #e6e6e6;
  --sw-shadow: 0 10px 30px rgba(17, 24, 39, .08);
  --sw-radius: 8px;
  --wp--preset--color--navy: #0f1b33;
  --wp--preset--color--blue: #2f6bd8;
  --wp--preset--color--cyan: #6a3df0;
  --wp--preset--color--mint: #7c5cf0;
  --wp--preset--color--ink: #111111;
  --wp--preset--color--muted: #6b7280;
  --wp--preset--color--mist: #f5f7fb;
  --wp--preset--gradient--skyware: linear-gradient(135deg, #0f1b33 0%, #2f6bd8 55%, #6a3df0 100%);
}
/* 글꼴: 사이트 전체 Pretendard (영문 전용 Montserrat · Roboto 폐지) */
body, body *:not(svg):not(path):not(code):not(pre):not(kbd) { font-family: Pretendard, "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; }
body { color: #111; -webkit-font-smoothing: antialiased; }
/* 대문자 소제목(eyebrow · kicker · label)의 넓은 자간을 참고안처럼 좁게 */
[class*="eyebrow"], [class*="kicker"], [class*="-label"], .sw-rc-no, .sw-ft-no, .sw-card-number { letter-spacing: .02em !important; }
/* 버튼: 알약, 파랑 단색. 아웃라인 변형은 검은 테두리 */
.wp-block-button__link { border-radius: 999px; background: #2f6bd8; color: #fff; font-weight: 600; letter-spacing: -.01em; box-shadow: none; }
.wp-block-button__link:hover { background: #2458b8; }
.is-style-outline .wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link { border: 1px solid #111; background: transparent; color: #111; }
/* 선 · 면 */
hr, .wp-block-separator { border-color: #e6e6e6; }
/* 그라데이션 글자(파랑 → 청록)를 파랑 → 보라로 */
.sw-primary-nav .sw-mega-col .sw-mc-name, .sw-grad-text, [class*="sw-grad"] { background-image: linear-gradient(90deg, #1b4fc4, #2f6bd8 45%, #6a3df0) !important; }
/* 강조 밑줄 · 하이라이트의 청록을 보라로 */
.sw-hl-m { color: #2f6bd8; }
.sw-hl-c, .sw-hl-cyan { color: #6a3df0; }

/* 2026-10-15 톤앤매너 v2: 14~32px 모서리를 쓰던 카드 · 상자 · 타일을 8px 로 (알약 · 원 제외) */

/* 알약 · 원형 복구 */
#greeting::before,
#history::after,
#talent .sw-card .sw-icon-badge,
#talent .sw-card::before,
.page-id-60 .sw-section .wp-block-button.is-style-outline > .wp-block-button__link::after,
.sw-arc-links i, .sw-vgrow-links i,
.sw-arc.is-v3 .sw-arc-cta i,
.sw-asis-after::before,
.sw-asis-before::after,
.sw-asis-before::before,
.sw-asis-label::before,
.sw-ax-hexcore::before,
.sw-ax-steps > li > i,
.sw-axf-no,
.sw-benefit-list li::before,
.sw-biz2-ico,
.sw-biz2-ico::before,
.sw-book-cover::after,
.sw-book2-brand::before,
.sw-book2-cover::after,
.sw-book2-cover::before,
.sw-book2-obj::after,
.sw-brochure-points li::before,
.sw-brochure-steps li::before,
.sw-card ul li::before,
.sw-case-more li::before,
.sw-case-q button,
.sw-ceo-fig::before,
.sw-ceo-vows li::before,
.sw-cert-stage button,
.sw-circle,
.sw-clouvi-hero .sw-cvw-bot,
.sw-clv-bar i,
.sw-clv-eff.is-cards > li > a,
.sw-clv-eff.is-cards > li > ul > li::before,
.sw-clv-side::after,
.sw-col-x,
.sw-contact-chip::before,
.sw-cvw-avatar,
.sw-cvw-avatar::after { border-radius: 50% !important; }
.sw-cvw-badge::before,
.sw-cvw-ctrl i,
.sw-cvw-heart,
.sw-cvw-input i,
.sw-cvw-typing i,
.sw-demo-bar i,
.sw-demo-play,
.sw-demo-stage .sw-cvw-bot,
.sw-dev-stepper .sw-dev-stepnum,
.sw-dg figcaption::before,
.sw-dg-db,
.sw-dg-db::before,
.sw-ecom-box li::before, .sw-ecom-platform li::before,
.sw-ecom-circle,
.sw-ecom-core,
.sw-ecom-pin::after,
.sw-fab-close,
.sw-feature-table .sw-ft-badge,
.sw-feature-table .sw-ft-list li::before,
.sw-filter button::before,
.sw-ft-cards > li > ul > li::before,
.sw-hc-banner::before, .sw-hc-banner::after,
.sw-htl-nav button,
.sw-htl-tabs button b::after,
.sw-htl-tabs button small::after,
.sw-htl-year > i::before,
.sw-htl-year li::before,
.sw-htl-year::before,
.sw-hub-core,
.sw-hub-core::before,
.sw-hub-dot,
.sw-hub-dot::before,
.sw-hub-label::after,
.sw-hub-ring,
.sw-hub-ring::after,
.sw-hub::after,
.sw-hub::before,
.sw-lang-switch,
.sw-mmcs-arrow,
.sw-mmcs-refs li::before { border-radius: 50% !important; }
.sw-mob-scope li::before,
.sw-mro-role > b::after,
.sw-mro-role li::before,
.sw-mth-loop::after,
.sw-mth-sec::after,
.sw-mth-steps li::before,
.sw-mth::before,
.sw-nr-dots li,
.sw-nr-nav,
.sw-opm-rows em::before,
.sw-org2-div::after,
.sw-org2-lab::after,
.sw-org2-node.is-coo::after, .sw-org2-node.is-advisor::after,
.sw-org2-node.is-lab.is-side::after,
.sw-org2-teams li::before,
.sw-org3-ceo::after,
.sw-org3-ceo::before,
.sw-org3-div::after,
.sw-org3-side::after,
.sw-org3-teams li::before,
.sw-ov-points li::before,
.sw-pa-avatar.is-main::after,
.sw-pa-avatar::before,
.sw-pdf-ico,
.sw-people-art span,
.sw-people-art::after,
.sw-people-art::before,
.sw-people::before,
.sw-pf-head > .wp-block-column:first-child::before, .sw-pf-head > .wp-block-column:first-child::after,
.sw-pf-tabs a::before,
.sw-pfs-arrow,
.sw-pfs-card .sw-pfs-text::before,
.sw-popup-card::before,
.sw-post-body .sw-aiax.is-v2 .sw-aiax-sec li::before,
.sw-post-body .sw-axf.is-v2 .sw-axf-steps li::after,
.sw-post-body .sw-cards-nav button,
.sw-post-body .sw-hn-core::before,
.sw-post-body .sw-hn-ctrl li::before,
.sw-post-body .sw-stack-list small,
.sw-post-body .sw-stack.is-v2 .sw-stack-blk small { border-radius: 50% !important; }
.sw-post-body .sw-stack.is-v3 .sw-stack-blk i,
.sw-post-body .sw-stack.is-v3 .sw-stack-note i,
.sw-post-body h3::before,
.sw-post-meta .sw-post-date::before,
.sw-primary-nav .sw-mega-col > .wp-block-navigation-item__content::before,
.sw-promo-bar i,
.sw-promo-x,
.sw-promo::before, .sw-promo::after,
.sw-rail-arrow,
.sw-rail-dots button,
.sw-rc-flow li::after,
.sw-rc-flow-c,
.sw-rc-iv .sw-rc-vc-av.is-img,
.sw-rc-vc-tips li::before,
.sw-section:not(.sw-dark):has(> .sw-circle-grid)::after,
.sw-section:not(.sw-dark):has(> .sw-circle-grid)::before,
.sw-sky i::after,
.sw-sky span,
.sw-sol-all a::after,
.sw-sol-card .sw-sol-go a::after,
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-go a::after, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-lg .sw-sol-go a::after, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-sm .sw-sol-go a::after,
.sw-step-arrow,
.sw-step-card .sw-value-icon::after,
.sw-step-card::after,
.sw-step-list li::before,
.sw-step::after,
.sw-steps.is-flow4 .sw-step .sw-step-no,
.sw-steps.is-flow4 .sw-step-ex::before,
.sw-tb-grid ul li::before,
.sw-timeline > .wp-block-group::before,
.sw-tl-rail::before,
.sw-tl2-era span,
.sw-tl2-year::after,
.sw-tl2-year::before,
.sw-ums-channel-go a,
.sw-ums-feature li::before,
.sw-value-grid:not(.sw-step-grid) .sw-value-no::after,
.sw-value-icon,
.sw-vgrow-play,
.sw-vhero-dots button { border-radius: 50% !important; }
.sw-vhero-dots button[aria-current="true"]::after,
.sw-wwd-no::before,
/* (≤1100px 에서도 점선 원 inset 은 22px 이라 --ring 동일) */ .sw-ax-hexcore::after,
/* --------------------------------------------------------------------------- 홈 영상 히어로 이전/다음 조작부 확대 + 장 전환을 부드럽게 - 화살표: 얇은 꺾쇠 → 64px 유리 원형 버튼(테두리·블러) 안의 굵은 꺾쇠 - 점: 4px 선 → 6px 막대, 현재 장은 84px 로 늘어나며 남은 시간이 채워짐 - 장 전환: 1초 크로스페이드 + 살짝 줌아웃 --------------------------------------------------------------------------- */ .sw-vhero-arrow,
/* 2026-10-14: 현직자 카드 — 얼굴 대신 사람 픽토그램 아바타(사용자 요청) */ .sw-rc-vc-av,
/* AI 플랫폼 서비스 구성도의 데이터 원통(회원 정보 · 상품 정보 · 구매 이력 · 검색 이력) 리디자인: 납작한 회색 통 대신 윗면 테가 또렷한 밝은 원통 + 아래 그림자, 남색 라벨, 작은 데이터 아이콘 */ .sw-dg-db,
/* ── 커스텀 포인터 ──────────────────────────────────────────────────── */ /* 손가락으로 쓰는 기기에는 포인터가 없다. 그런 곳에서는 아무것도 만들지 않는다. */ /* 기본 커서를 숨기고 그리는 방식이라, 떠 있는 어떤 요소보다도 위에 있어야 한다. 챗봇 위젯(9999) 아래에 깔리면 그 위에서는 포인터가 아예 보이지 않는다. */ .sw-cursor-dot, .sw-cursor-ring,
/* 바깥 테두리의 밝은 청록 링 */ .sw-dark .sw-circle::after,
/* 빛: 육각형 뒤에서 은은하게 숨 쉬듯 */ .sw-value-grid:not(.sw-step-grid) .sw-value-card::before,
/* 선 끝의 빛나는 점: 원 양옆에 하나씩 */ .sw-dark .sw-circle-grid .wp-block-column:not(:first-child)::before, .sw-dark .sw-circle-grid .wp-block-column:not(:last-child)::after,
/* 연결선과 동그라미 점 (번호 칸을 점으로 쓴다) */ .sw-value-grid:not(.sw-step-grid) .sw-value-no,
/* 원 뒤에 살짝 겹쳐 보이는 연한 원 */ .sw-section:not(.sw-dark) .sw-circle::before,
/* 원: 오른쪽 위 반은 색 실선, 왼쪽 아래 반은 회색 점선 */ .sw-process > .wp-block-column::after,
/* 원형 아이콘: 흰 링 + 그라데이션 + 밑으로 점과 점선 */ .sw-step-card .sw-value-icon,
/* 테두리 선을 따라 도는 파란 점: 원보다 16px 큰 투명 틀의 맨 위에 점을 그리고 틀을 돌린다. */ .sw-section:not(.sw-dark) .sw-circle::after,
/* 홈 Business 행성: 둘레를 반짝이는 별들이 감싸며 천천히 돈다 */ .sw-biz2-ico::after,
/* 홈 챗봇 장면: 파란 다람쥐 대신 CLOUVI 공식 마크(구름 속 다람쥐)를 흰 원 안에 */ .sw-cvw-bot[src*="clouvi-mark"],
a.sw-rail-go { border-radius: 50% !important; }
.page-id-60 .sw-section .wp-block-button.is-style-outline > .wp-block-button__link,
.sw-arc.is-v3 .sw-arc-cta a,
.sw-ax-deliv-grid > li::before,
.sw-ax-flow > li > em,
.sw-ax-note > em,
.sw-ax-steps > li em,
.sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link,
.sw-cta.sw-cta.sw-cta .wp-block-button__link,
.sw-dev-perm,
.sw-dev-ver,
.sw-ecom-note,
.sw-ft-cards .sw-ft-no,
.sw-hero-carousel::before, .sw-hero-carousel::after,
.sw-intro-skip,
.sw-mz-ind,
.sw-mz-pills a small,
.sw-nr-filter a,
.sw-pa-avatar.is-top::after, .sw-pa-avatar.is-left::after,
.sw-popup-cta a,
.sw-popup-tools button,
.sw-post-body .sw-chain span,
.sw-post-body .sw-sec3-sum strong,
.sw-post-body .sw-stack.is-v3 .sw-stack-note,
.sw-post-body h3 .sw-term,
.sw-post-cat a,
.sw-series-tag,
.sw-sp-filter button,
.sw-vhero-cta a,
/* 2026-10-13: 사업분야 페이지 떠 있는 소개서 버튼 (.sw-pdf-float: 왼쪽 아래 고정, 남색 알약) */ .sw-pdf-float,
/* 2026-10-14: 뉴스룸 매거진 필터(.sw-mz-pills)를 세그먼트 컨트롤로 — 연회색 트랙 안에서 선택 배경(.sw-mz-ind)이 카테고리 색 그라데이션으로 미끄러지고, 카운트는 작은 원형 뱃지 */ .sw-filter.sw-mz-pills,
/* 2026-10-14: 헤더 '서비스 문의' 버튼 — 윤곽선 알약 대신 파란 그라데이션 채움 + 그림자로 눈에 띄게(모든 폭) */ .sw-header-cta .wp-block-button__link,
/* 버튼: 알약, 파랑 단색. 아웃라인 변형은 검은 테두리 */ .wp-block-button__link,
/* 슬라이드 선택 */ /* 배너 전환 막대. PREV · 점 · NEXT 를 하나의 알약 안에 묶어 영상 위에서도 읽히게 한다. */ .sw-vhero-nav,
/* 오른쪽 위에서 들어오는 부드러운 빛. 홈 히어로의 원형 글로우와 결을 맞춘다. */ .sw-page-hero::after { border-radius: 999px !important; }
#talent .sw-card-grid .sw-card::after,
.sw-aio-tags span,
.sw-anchor-nav .wp-block-button__link::before,
.sw-asset .sw-asset-tags p,
.sw-asset-row.has-detail .sw-asset-more::after,
.sw-benefit-card .sw-benefit-list li,
.sw-book2-kw span,
.sw-brochure-btn .wp-block-button__link,
.sw-case-pages .page-numbers,
.sw-case-select select, .sw-case-q input,
.sw-clv-bar em,
.sw-clv-link,
.sw-clv-side.is-console .sw-clv-link,
.sw-clv.is-v2 .sw-clv-link,
.sw-contact-form .wpcf7-form input.sw-cf-submit,
.sw-contact-info .sw-contact-chip,
.sw-copy-addr,
.sw-cta.sw-cta .wp-block-button__link,
.sw-cvw-input,
.sw-cvw-tags em,
.sw-demo-tag,
.sw-dg-chips .sw-dg-node,
.sw-emp-toggle,
.sw-fab-button,
.sw-filter button,
.sw-hc-more a,
.sw-hero-controls button,
.sw-insight-all .wp-block-button__link,
.sw-mmcs-col ul li,
.sw-mob-phone i,
.sw-mods-bus,
.sw-mosaic .sw-tile-tag a,
.sw-mth-loop span,
.sw-mz-card small,
.sw-mz-cover-text small,
.sw-news-list .wp-block-post .sw-tag a,
.sw-org-node.is-lab,
.sw-org2-badge,
.sw-org2-hub,
.sw-org2-node.is-lab { border-radius: 99px !important; }
.sw-page-hero.sw-rc-hero .sw-rc-hero-actions .wp-block-button__link,
.sw-pf-tabs a,
.sw-pfs-dots button,
.sw-promo-cta,
.sw-rc-iv-qa dt span,
.sw-shr-core em,
.sw-sol-card .sw-sol-sub,
.sw-tag,
.sw-tl-more > summary,
.sw-tl2-era,
.sw-ums-actions .wp-block-button__link,
.sw-ums-industries p,
.sw-vhero-dots,
.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination-previous, .wp-block-query-pagination-next,
.wpcf7-form input[type="submit"],
/* 떠 있는 배지 */ .sw-cvw-badge,
/* 서비스 문의: 테두리만 있는 알약 버튼 */ .sw-header-cta .wp-block-button__link,
/* 협업체계 알약 */ .sw-org3-hub { border-radius: 99px !important; }
/* 2026-10-15: 검정(#111)으로 두었던 띠를 진한 파랑으로 — 문의 상자(.sw-cta), 사업분야 하위 앵커 탭 바. 빛 번짐은 파랑 · 보라 */
:root { --sw-deep: #0d2a6b; }
.sw-cta.sw-cta.sw-cta { background: var(--sw-deep) !important; }
.sw-cta.sw-cta.sw-cta::before { background:
    radial-gradient(42% 120% at 24% 50%, rgba(63, 120, 230, .45), transparent 70%),
    radial-gradient(28% 110% at 78% 40%, rgba(124, 92, 240, .42), transparent 70%),
    radial-gradient(26% 90% at 58% 90%, rgba(30, 169, 224, .28), transparent 70%); }
.sw-cta.sw-cta.sw-cta .wp-block-button__link:hover { background: #fff !important; color: var(--sw-deep) !important; }
.sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) { background: var(--sw-deep) !important; }
.sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link.is-current { color: var(--sw-deep) !important; }

/* 2026-10-15: 포트폴리오(69) Story — 큰 사진 카드 1 + 반폭 2, 어두운 사진 위 흰 제목 · 요약(SK AX Use Case 참고). Use Cases 필터는 자료실식 알약 */
.sw-story-sec { padding-block: clamp(56px, 6vw, 88px) 0 !important; background: #fff; }
.sw-story { width: min(1200px, calc(100vw - 48px)); max-width: none !important; margin: 0 auto !important; }
.sw-story-title { margin: 0 0 22px; color: #111; font-size: clamp(28px, 2.6vw, 36px); font-weight: 800; letter-spacing: -.02em; }
.sw-story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin: 0 !important; padding: 0; list-style: none; }
.sw-story-card { margin: 0; }
.sw-story-card.is-hero { grid-column: 1 / -1; }
.sw-story-card a { position: relative; display: block; overflow: hidden; border-radius: 4px; background: #0f1b33; color: #fff; text-decoration: none; aspect-ratio: 16 / 10; }
.sw-story-card.is-hero a { aspect-ratio: 3 / 1; }
.sw-story-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.62); transition: transform .7s cubic-bezier(.2, .8, .2, 1), filter .4s ease; }
.sw-story-card a::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .55) 100%); }
.sw-story-card a:hover img { transform: scale(1.04); filter: brightness(.7); }
.sw-story-text { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 0 40px 36px; }
.sw-story-text b { display: block; margin-bottom: 10px; font-size: clamp(20px, 1.9vw, 26px); font-weight: 800; line-height: 1.35; letter-spacing: -.02em; word-break: keep-all; }
.sw-story-text > span { display: block; color: rgba(255, 255, 255, .9); font-size: 16px; font-weight: 500; line-height: 1.5; word-break: keep-all; }
.sw-story-card.is-hero .sw-story-text b { font-size: clamp(22px, 2.1vw, 30px); }
/* Use Cases: 머리글 간소화, 알약 필터(아이콘 · 개수 숨김) */
.sw-pf-head h2 { font-size: clamp(28px, 2.6vw, 36px) !important; }
.sw-filter.sw-pf-tabs { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 4px 6px; margin: 0 0 40px !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
.sw-filter.sw-pf-tabs a { display: inline-block; padding: 11px 26px !important; border: 2px solid transparent !important; border-radius: 999px !important; background: none !important; color: #6b7280 !important; font-size: 16px !important; font-weight: 500 !important; box-shadow: none !important; transition: color .2s ease, border-color .2s ease, background .2s ease; }
.sw-filter.sw-pf-tabs a::before, .sw-filter.sw-pf-tabs a svg, .sw-filter.sw-pf-tabs a small, .sw-filter.sw-pf-tabs .sw-mz-ind { display: none !important; }
.sw-filter.sw-pf-tabs a:hover { border-color: #111 !important; background: #f1f3f6 !important; color: #111 !important; }
.sw-filter.sw-pf-tabs a[aria-current="true"] { border-color: #111 !important; background: #fff !important; color: #111 !important; font-weight: 700 !important; }
@media (max-width: 860px) {
  .sw-story-grid { grid-template-columns: 1fr; gap: 16px; }
  .sw-story-card.is-hero a { aspect-ratio: 16 / 9; }
  .sw-story-text { padding: 0 20px 20px; }
  .sw-story-text b { font-size: 18px; } .sw-story-text > span { font-size: 14px; }
}
/* 2026-10-15: 포트폴리오 사례 카드(.sw-tile)는 모서리 직선, 그림자 연하게 */
.sw-tile, .sw-tile .sw-tile-img, .sw-tile .sw-tile-img img, .sw-tile .sw-tile-cap { border-radius: 0 !important; }
.sw-tile { box-shadow: 0 2px 12px rgba(16, 47, 103, .08); }
/* 2026-10-15: 포트폴리오 사례 카드를 흰 상자로 — 회색 그라데이션 덮개 대신 이미지 아래 흰 캡션(파란 분류 칩 · 검은 제목 · 회색 날짜), 가는 테두리 */
.sw-tile { display: flex; flex-direction: column; background: #fff !important; border: 1px solid #e6e6e6; box-shadow: none !important; transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s ease; }
.sw-tile:hover { transform: translateY(-6px); box-shadow: 0 16px 36px rgba(16, 47, 103, .12) !important; }
.sw-tile-img, .sw-tile-img a { height: auto !important; }
.sw-tile-img { aspect-ratio: 16 / 10; overflow: hidden; background: #fff; border-bottom: 1px solid #eef0f3; }
.sw-tile-img img { height: 100% !important; object-fit: cover; }
.sw-tile-cap, .sw-mosaic .sw-tile-cap, .sw-mosaic .wp-block-post-template > li.wp-block-post .sw-tile-cap, .sw-mosaic .wp-block-post-template > li:nth-child(8n+1) .sw-tile-cap, .sw-mosaic .wp-block-post-template > li:nth-child(15n+1) .sw-tile-cap { position: static !important; padding: 18px 20px 20px !important; background: none !important; }
.sw-tile-tag a, .sw-mosaic .sw-tile-tag a, .sw-mosaic [class*="category-"] .sw-tile-tag a { background: #e8f0ff !important; color: #2f6bd8 !important; font-weight: 600; }
.sw-tile-title, .sw-mosaic .sw-tile-title, .sw-mosaic .wp-block-post-template > li:nth-child(8n+1) .sw-tile-title { font-size: 17px !important; letter-spacing: -.015em; }
.sw-tile-title a { color: #111 !important; }
.sw-tile-date { color: #8a94a5 !important; }
/* 사례 카드 이미지: 자르지 않고(contain) 16:10 상자 안에 여백을 두고 맞춤 — 로고 · 화면 캡처 모두 온전히 보이게 */
.sw-tile-img { aspect-ratio: auto; }
.sw-tile-img img { display: block; width: 100%; height: auto !important; aspect-ratio: 16 / 10; object-fit: contain !important; padding: 8%; box-sizing: border-box; background: #fff; }
.sw-tile:hover .sw-tile-img img { transform: none; }
/* 사례 카드: 그리드 행 · 카드 높이를 자동으로 풀어 이미지 영역(16:10)이 눌리지 않게 */
.sw-mosaic .wp-block-post-template, .wp-block-post-template:has(> li .sw-tile) { grid-auto-rows: auto !important; align-items: stretch; }
.sw-mosaic .wp-block-post-template > li, .wp-block-post-template > li:has(.sw-tile) { aspect-ratio: auto !important; height: auto !important; min-height: 0 !important; grid-row: auto !important; grid-column: auto !important; }
.sw-tile { height: 100%; min-height: 0; }
.sw-tile-img { flex: 0 0 auto; }
.sw-tile-cap { flex: 1 1 auto; }
.sw-tile-img img { aspect-ratio: 16 / 9; padding: 6%; }
.sw-tile-cap { padding-bottom: 22px !important; }
/* 사례 카드 이미지: 축소(contain) 대신 16:9 상자를 원본 배율로 채움(cover, 여백 없음) — 대표 이미지가 16:9 라 잘리지 않음 */
.sw-tile-img img { aspect-ratio: 16 / 9; padding: 0 !important; object-fit: cover !important; }
.sw-tile:hover .sw-tile-img img { transform: scale(1.03); }
/* 사례 카드 이미지 최종: 16:9 연회색 액자(#f5f7fb)에 5% 여백으로 온전히(contain) — 로고는 잘리지 않고, 화면 캡처는 상자를 채움 */
.sw-tile-img { background: #f5f7fb; }
.sw-tile-img img { aspect-ratio: 16 / 9; padding: 5% !important; object-fit: contain !important; background: #f5f7fb; }
.sw-tile:hover .sw-tile-img img { transform: none; }
/* 2026-10-15: 포트폴리오 사례 그리드 한 줄 4개(≥1100px), 3개(≤1100), 2개(≤720), 1개(≤480) */
.sw-mosaic .wp-block-post-template { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 24px !important; }
.sw-tile-title, .sw-mosaic .sw-tile-title { font-size: 16px !important; }
.sw-tile-cap { padding: 16px 18px 20px !important; }
@media (max-width: 1100px) { .sw-mosaic .wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 720px) { .sw-mosaic .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 16px !important; } }
@media (max-width: 480px) { .sw-mosaic .wp-block-post-template { grid-template-columns: 1fr !important; } }
/* 사례 카드 이미지 여백 14% — 로고가 상자를 꽉 채우지 않게 */
.sw-tile-img img { padding: 14% 16% !important; }
/* 2026-10-15: 사례 카드 이미지 자동 구분 — 로고(.is-logo)는 여백 두고 축소, 사진 · 캡처(.is-photo)는 16:9 상자를 배율 유지하며 꽉 채움(site.js 가 가장자리 색으로 판별) */
.sw-tile-img img.is-photo { padding: 0 !important; object-fit: cover !important; }
.sw-tile:hover .sw-tile-img img.is-photo { transform: scale(1.03); }

/* 2026-10-15: 홈 Our Expertise — Ackerton SLOGAN 참고: 가운데 큰 제목 + 한 줄 설명(핵심어 굵게), 아래 화면 가득 사진 패널 3개(어두운 사진, 흰 제목 · 설명) */
.sw-company-sec { padding-bottom: 0 !important; }
.sw-company-sec > .sw-section-heading { max-width: 900px !important; margin: 0 auto 48px !important; text-align: center; }
.sw-company-sec > .sw-section-heading h2 { font-size: clamp(34px, 3.4vw, 48px) !important; font-weight: 800; letter-spacing: -.02em; }
.sw-company-sec > .sw-section-heading .sw-lead { max-width: none; margin: 16px auto 0; color: #333; font-size: 17px; }
.sw-company-sec > .sw-section-heading .sw-lead strong { color: #111; font-weight: 800; }
.sw-slogan { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; width: 100vw; max-width: none !important; margin: 0 0 0 calc(50% - 50vw) !important; padding: 0; list-style: none; }
.sw-slogan-panel { position: relative; margin: 0; height: clamp(420px, 44vw, 660px); overflow: hidden; background: #0f1b33; }
.sw-slogan-panel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.55); transition: transform .8s cubic-bezier(.2, .8, .2, 1), filter .4s ease; }
.sw-slogan-panel:hover img { transform: scale(1.04); filter: brightness(.65); }
.sw-slogan-text { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: 22% 28px 0; text-align: center; color: #fff; }
.sw-slogan-text b { display: block; font-size: clamp(24px, 2.2vw, 34px); font-weight: 800; letter-spacing: -.02em; line-height: 1.3; text-shadow: 0 2px 12px rgba(0, 0, 0, .35); }
.sw-slogan-text > span { display: block; max-width: 24em; margin-top: 14px; color: rgba(255, 255, 255, .88); font-size: 16px; line-height: 1.65; word-break: keep-all; text-shadow: 0 1px 8px rgba(0, 0, 0, .35); }
.sw-company-sec .sw-marquee { margin-top: 0; }
@media (max-width: 900px) {
  .sw-slogan { grid-template-columns: 1fr; }
  .sw-slogan-panel { height: 300px; }
  .sw-slogan-text { justify-content: center; padding: 0 24px; }
  .sw-slogan-text b { font-size: 24px; }
}
/* 사례 카드: 제목 크기 통일(16px), 로고 보정용 transform 기준, 이미지 없는 카드는 연한 바탕 자리 표시 */
.sw-mosaic .wp-block-post-template > li.wp-block-post .sw-tile-title, .sw-mosaic .wp-block-post-template > li:nth-child(n) .sw-tile-title, .sw-tile-title { font-size: 16px !important; line-height: 1.5 !important; }
.sw-tile-img img.is-logo { transform-origin: center; transition: none; }
.sw-tile-img:empty, .sw-tile-img:not(:has(img)) { display: block; aspect-ratio: 16 / 9; height: auto !important; background: linear-gradient(140deg, #e3eaf5, #f5f7fb); }
.sw-tile-img:empty::after { content: none; }

/* 2026-10-15: 홈 Expertise 사진 패널 아코디언(Ackerton 참고) — 올리거나 누른 패널이 넓어지고(flex 3.2) 나머지는 좁아짐, 넓어진 패널은 제목이 왼쪽 위로 가고 설명이 보인다 */
.sw-slogan { display: flex; }
.sw-slogan-panel { flex: 1 1 0; min-width: 0; transition: flex .75s cubic-bezier(.2, .8, .2, 1); cursor: pointer; }
.sw-slogan-panel.is-open { flex: 3.2 1 0; }
.sw-slogan-text { transition: align-items .4s ease, padding .6s cubic-bezier(.2, .8, .2, 1); }
.sw-slogan-text > span { max-height: 0; opacity: 0; overflow: hidden; transition: max-height .6s ease, opacity .4s ease .15s; }
.sw-slogan-panel.is-open .sw-slogan-text { align-items: flex-start; padding: clamp(48px, 7vw, 110px) clamp(32px, 5vw, 80px) 0; text-align: left; }
.sw-slogan-panel.is-open .sw-slogan-text b { white-space: nowrap; }
.sw-slogan-panel.is-open .sw-slogan-text > span { max-height: 6em; opacity: 1; }
.sw-slogan-panel:not(.is-open) .sw-slogan-text b { font-size: clamp(20px, 1.6vw, 26px); }
.sw-slogan-panel:not(.is-open):hover img { filter: brightness(.62); }
@media (max-width: 900px) {
  .sw-slogan { flex-direction: column; }
  .sw-slogan-panel, .sw-slogan-panel.is-open { flex: none; height: 240px; }
  .sw-slogan-panel.is-open { height: 340px; }
  .sw-slogan-panel.is-open .sw-slogan-text { padding: 36px 24px 0; }
}
/* 2026-10-15: 사업분야(59) 카탈로그 — 분류 열이 3개뿐일 때 5열 그리드가 아닌 3열 가득(열마다 가로로 긴 상자) */
.sw-catalog-sec .sw-catalog:has(> .sw-catalog-col:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 40px 48px !important; }
.sw-catalog-sec .sw-catalog:has(> .sw-catalog-col:nth-child(3):last-child) .sw-catalog-item { padding: 22px 24px; border: 1px solid #e6e6e6; border-radius: 4px; background: #fff; }
.sw-catalog-sec .sw-catalog:has(> .sw-catalog-col:nth-child(3):last-child) .sw-catalog-item + .sw-catalog-item { margin-top: 16px; }
/* 2026-10-15: 배너 아래 남색 탭 바(회사소개 · 채용 · 솔루션 · MMCS)의 탭은 사업분야 탭처럼 네모(전체 알약 규칙에 밀리지 않게) */
.sw-page-hero.is-photo-stream + .sw-anchor-nav .wp-block-button__link, .sw-page-hero.is-photo-recruit + .sw-anchor-nav .wp-block-button__link,
.sw-page-hero.is-photo-stream + .sw-anchor-nav .wp-block-button__link.is-current, .sw-page-hero.is-photo-recruit + .sw-anchor-nav .wp-block-button__link.is-current { border-radius: 0 !important; }
.sw-page-hero.is-photo-stream + .sw-anchor-nav .wp-block-buttons, .sw-page-hero.is-photo-recruit + .sw-anchor-nav .wp-block-buttons { border-radius: 0 !important; }
/* 2026-10-15: 사례 카드 이미지 — 로고(.is-client-logo, 대표 이미지 파일명 client-* )는 연회색 액자에 여백 두고 축소, 그 밖(사진 · 화면 캡처)은 16:9 상자를 배율 유지하며 꽉 채움. 캔버스 자동 판별은 폐기 */
.sw-tile-img img { transform: none !important; }
.sw-tile-img.is-client-logo img { padding: 14% 16% !important; object-fit: contain !important; }
.sw-tile-img:not(.is-client-logo) { background: #fff; }
.sw-tile-img:not(.is-client-logo) img { padding: 0 !important; object-fit: cover !important; }
.sw-tile:hover .sw-tile-img:not(.is-client-logo) img { transform: scale(1.03) !important; }
/* 홈 Expertise 패널 글씨 크게(참고안 수준): 제목 44px, 설명 22px */
.sw-slogan-text b, .sw-slogan-panel:not(.is-open) .sw-slogan-text b, .sw-slogan-card.is-hero .sw-slogan-text b { font-size: clamp(26px, 2.8vw, 44px) !important; }
.sw-slogan-text > span { font-size: clamp(16px, 1.4vw, 22px); line-height: 1.5; max-width: 30em; }
.sw-slogan-panel.is-open .sw-slogan-text b { font-size: clamp(28px, 3vw, 46px) !important; }
@media (max-width: 900px) { .sw-slogan-text b, .sw-slogan-panel.is-open .sw-slogan-text b { font-size: 26px !important; } .sw-slogan-text > span { font-size: 16px; } }
/* 대표 이미지가 로고 파일(client-*.png)인 사례도 로고로 취급 — 연회색 액자에 여백 두고 축소 */
.sw-tile-img:has(> img[src*="/client-"]), .sw-tile-img:has(> a > img[src*="/client-"]) { background: #f5f7fb; }
.sw-tile-img img[src*="/client-"] { padding: 14% 16% !important; object-fit: contain !important; }
.sw-tile:hover .sw-tile-img img[src*="/client-"] { transform: none !important; }

/* 2026-10-15: 모서리 전부 네모 — 3~40px 모서리를 쓰던 상자 · 카드 · 타일 · 칩을 0 으로 (알약 버튼 · 원형 · 입력창 · 필터 알약 · 떠 있는 버튼 제외) */
#talent .sw-card,
#talent .sw-card .sw-icon-badge,
#talent .sw-card h3::after,
#talent .sw-card-grid .sw-card,
#talent .sw-card-grid .sw-card .sw-icon-badge,
.sw-aif-steps > li,
.sw-aif-steps > li.is-split div,
.sw-aio li,
.sw-anchor-nav .wp-block-button__link.is-current::after,
.sw-anchor-nav.is-tabbar .wp-block-buttons,
.sw-arc-list a,
.sw-asis-after,
.sw-asis-after::before,
.sw-asis-before,
.sw-asset,
.sw-asset-row.has-detail:focus-visible,
.sw-asset-shot,
.sw-asset-shot img,
.sw-assets-sec .sw-lc-shots img,
.sw-ax-deliv-grid > li,
.sw-ax-flow > li,
.sw-ax-flow > li > i,
.sw-ax-hexlist li,
.sw-ax-hexlist li b,
.sw-ax-note,
.sw-ax-ready,
.sw-ax-ready-intro > i,
.sw-ax-steps > li,
.sw-benefit-card,
.sw-benefit-card .sw-benefit-icon,
.sw-benefit-icon,
.sw-biz-tabs,
.sw-book-cover,
.sw-book2-spine,
.sw-brochure-box,
.sw-brochure-contact,
.sw-brochure-steps li,
.sw-brochure-steps li::before,
.sw-card-label::before,
.sw-card:has(.sw-brochure-btn) .sw-icon-badge { border-radius: 0 !important; }
.sw-case-card a,
.sw-case-empty,
.sw-case-form,
.sw-catalog-col,
.sw-catalog-item,
.sw-catalog-sec .sw-catalog:has(> .sw-catalog-col:nth-child(3):last-child) .sw-catalog-item,
.sw-ceo-panel,
.sw-ceo-touch em,
.sw-ceo-touch li,
.sw-ceo-vows-k::after,
.sw-ceo3-hero,
.sw-cert,
.sw-cert-shot,
.sw-cf-docs .wpcf7-list-item label,
.sw-cf-notice,
.sw-clients .sw-logo-roll figure,
.sw-clv-eff.is-cards > li,
.sw-clv-eff.is-cards > li > i,
.sw-clv-eff.is-tiles li,
.sw-clv-side,
.sw-clv.is-v2 .sw-clv-shot img,
.sw-code,
.sw-col-collage,
.sw-col-cta,
.sw-col-pages,
.sw-col-pages img,
.sw-concept-fig,
.sw-concept-fig img,
.sw-contact-form .wpcf7-form,
.sw-contact-form .wpcf7-response-output,
.sw-cta,
.sw-cta.sw-cta,
.sw-cvw-a,
.sw-cvw-best,
.sw-cvw-item,
.sw-cvw-q,
.sw-cvw-thumb,
.sw-dev-body a.sw-dev-card,
.sw-dev-body code,
.sw-dev-body h2 > span { border-radius: 0 !important; }
.sw-dev-fig img,
.sw-dev-nav,
.sw-dev-nav a,
.sw-dev-table,
.sw-dg,
.sw-dg figcaption,
.sw-dg-bar,
.sw-dg-canvas,
.sw-dg-group,
.sw-dg-gt,
.sw-dg-lane > b, .sw-dg-layer > b,
.sw-dg-lane, .sw-dg-layer,
.sw-dg-node,
.sw-ecom-box,
.sw-ecom-platform,
.sw-ecom-platform > .sw-ecom-platform-head,
.sw-ecom-platform-head > svg,
.sw-footer-certs li,
.sw-ft-cards > li,
.sw-gt-ch,
.sw-hc-card,
.sw-htl-panel,
.sw-htl-tabs button,
.sw-htl-year > i::after,
.sw-icon-badge,
.sw-insight-card,
.sw-insights .sw-insight-card .sw-insight-thumb img,
.sw-insights .sw-insight-thumb,
.sw-itos,
.sw-itos li,
.sw-loc-map,
.sw-mini-thumb img,
.sw-mmcs-col,
.sw-mmcs-col.is-core,
.sw-mmcs-flow,
.sw-mob-app-logo,
.sw-mob-apps a,
.sw-mob-apps a::before,
.sw-mob-phone,
.sw-mob-scope li { border-radius: 0 !important; }
.sw-mob-scope span,
.sw-mod,
.sw-mod::before,
.sw-move::after,
.sw-mro-feat li,
.sw-mro-fn li,
.sw-mro-fn span,
.sw-mro-role,
.sw-mro-role > b::before,
.sw-mro-roles span,
.sw-msg-plus span,
.sw-msg-stats,
.sw-mz-card:nth-child(3n+2) .sw-mz-img,
.sw-mz-cover,
.sw-mz-img,
.sw-news-pages a, .sw-news-pages .current,
.sw-news-thumb img,
.sw-note,
.sw-nr-card a,
.sw-opm-ico,
.sw-ops-card,
.sw-ops-card::before,
.sw-org-node,
.sw-org-node.is-ceo,
.sw-org-teams li,
.sw-org2-coo .sw-org2-node.is-lab,
.sw-org2-dhead,
.sw-org2-lab,
.sw-org2-node,
.sw-org2-node.is-ceo,
.sw-org2-teams li,
.sw-org3-ceo,
.sw-org3-dhead,
.sw-org3-side,
.sw-org3-teams li,
.sw-org3-teams li > i,
.sw-ov-logo,
.sw-ov-logo img,
.sw-ov-points li,
.sw-pdf-strip .sw-pdf-row { border-radius: 0 !important; }
.sw-people .sw-people-title::after,
.sw-pfs-card,
.sw-pfs-shot img,
.sw-photo-card,
.sw-photo-card h3::after,
.sw-positions .sw-card,
.sw-post-body .sw-aiax-card,
.sw-post-body .sw-aiax-chips span,
.sw-post-body .sw-aiax-flow,
.sw-post-body .sw-aiax-legend i,
.sw-post-body .sw-aiax-meta,
.sw-post-body .sw-aiax-steps li,
.sw-post-body .sw-aiax.is-v2 .sw-aiax-chips span,
.sw-post-body .sw-aiax.is-v2 .sw-aiax-flow,
.sw-post-body .sw-aiax.is-v2 .sw-aiax-flow > small,
.sw-post-body .sw-aiax.is-v2 .sw-aiax-matrix td i,
.sw-post-body .sw-aiax.is-v2 .sw-aiax-panel,
.sw-post-body .sw-aiax.is-v2 .sw-aiax-sec:first-child,
.sw-post-body .sw-ax-tasks li strong,
.sw-post-body .sw-axf,
.sw-post-body .sw-axf-areas li,
.sw-post-body .sw-axf-areas li > i,
.sw-post-body .sw-axf-steps li,
.sw-post-body .sw-card,
.sw-post-body .sw-card-vs,
.sw-post-body .sw-glossary,
.sw-post-body .sw-hn-core,
.sw-post-body .sw-hn-ctrl,
.sw-post-body .sw-hn-key,
.sw-post-body .sw-hn-llm,
.sw-post-body .sw-hn-sys li,
.sw-post-body .sw-hn-user,
.sw-post-body .sw-lead + .sw-table-wrap tr,
.sw-post-body .sw-lead + .sw-table-wrap tr::before,
.sw-post-body .sw-news-close,
.sw-post-body .sw-news-solution,
.sw-post-body .sw-note.is-series,
.sw-post-body .sw-pull,
.sw-post-body .sw-sec3-cols,
.sw-post-body .sw-sec3-sum { border-radius: 0 !important; }
.sw-post-body .sw-stack-list li,
.sw-post-body .sw-stack.is-v2 .sw-stack-blk,
.sw-post-body .sw-stack.is-v3 .sw-stack-blk,
.sw-post-body .sw-team,
.sw-post-body .sw-team small,
.sw-post-body .sw-team-top > div, .sw-post-body .sw-team-bottom > div, .sw-post-body .sw-team-subs li,
.sw-post-body .sw-vflow li,
.sw-post-body .wp-block-image.sw-fig img,
.sw-post-body img,
.sw-post-card,
.sw-primary-nav .sw-mega > .wp-block-navigation__submenu-container,
.sw-primary-nav .sw-mega-col .wp-block-navigation-link .wp-block-navigation-item__content,
.sw-primary-nav .wp-block-navigation__submenu-container,
.sw-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.sw-promo-items i,
.sw-promo-q, .sw-promo-a,
.sw-promo-screen,
.sw-promo-today::before,
.sw-rail-slide,
.sw-rc-eng-grid li,
.sw-rc-eng-grid li, .sw-rc-eng-grid li:nth-child(-n+2),
.sw-rc-eng-ico,
.sw-rc-fields li,
.sw-rc-ico,
.sw-rc-iv,
.sw-rc-iv-pull,
.sw-rc-pp-note,
.sw-rc-vc,
.sw-sample,
.sw-sample-btn,
.sw-shr-core,
.sw-shr-ring span,
.sw-shr-ring::before,
.sw-sm-base,
.sw-sm-ch, .sw-sm-ext,
.sw-sm-chip,
.sw-sm-col > b,
.sw-sm-grid span,
.sw-sm-node i,
.sw-sm-pill { border-radius: 0 !important; }
.sw-sm-users,
.sw-sol-card,
.sw-sol-card .sw-sol-name::before,
.sw-sol-card .sw-sol-shot img,
.sw-sol-card.is-sm .sw-sol-shot,
.sw-sol-grid > .sw-sol-card .sw-sol-name::before,
.sw-sol-grid > .sw-sol-card::after,
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-name::before,
.sw-sol-grid.sw-sol-grid > .sw-sol-card, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-lg, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-sm,
.sw-sp-card a,
.sw-step-card,
.sw-step-card .sw-value-icon,
.sw-step-card .sw-value-no,
.sw-step-icon,
.sw-steps.is-flow4 .sw-step,
.sw-steps.is-flow4 .sw-step-ex,
.sw-story-card a,
.sw-sums-mark,
.sw-table-wrap,
.sw-tb-grid li,
.sw-tb-ico,
.sw-tile,
.sw-ums-case,
.sw-ums-cert,
.sw-ums-cert::before,
.sw-ums-channel,
.sw-ums-feature,
.sw-ums-features.is-2 .sw-ums-feature-no::before,
.sw-ums-global-item,
.sw-ums-msg,
.sw-ums-msg.is-push,
.sw-ums-perf-item,
.sw-ums-phone .sw-ums-msg, .sw-ums-phone .sw-ums-msg.is-push, .sw-ums-phone .sw-ums-msg.is-kakao,
.sw-ums-phone .sw-ums-msg::before,
.sw-ums-q,
.sw-ums-screen,
.sw-ums-sec .sw-lc-shots img,
.sw-ums-stat,
.sw-ums-why .sw-ums-feature .sw-ums-feature-no::before,
.sw-value-card { border-radius: 0 !important; }
.sw-value-grid:not(.sw-step-grid) .sw-value-card > h3,
.sw-vgrow-frame,
.sw-vhero-dots button,
.sw-wwd-ico,
.sw-wwd-no::after,
.woocommerce ul.products li.product, .wc-block-grid__product,
/* --------------------------------------------------------------------------- AI 비즈니스 'CLOUVI AI CX Console' 카드 v2: 콘솔 창처럼 — 상단 창 막대, 큰 제목, 기대 효과는 아이콘 타일 3개, 그라데이션 버튼. --------------------------------------------------------------------------- */ .sw-clv-side.is-console,
/* --------------------------------------------------------------------------- 채용 '스카이웨어가 함께하고 싶은 사람' 카드 v3: 진한 그라데이션 블록 대신 밝은 카드 — 위쪽 짧은 색 띠, 오른쪽 위 번호 칩(01), 색 아이콘 타일, 남색 제목, 회색 본문. 마우스를 올리면 띠가 길어지고 살짝 뜬다. --------------------------------------------------------------------------- */ #talent .sw-card-grid .sw-card,
/* 2026-10-13: "AI와 AX" 도식을 HTML로 (.sw-aiax: 두 카드 + DX 단계 + 회의록 예시 흐름) */ .sw-post-body .sw-aiax,
/* 2026-10-13: AI Agent (2) — 다섯 층 스택(.sw-stack), 에이전트 팀 도식(.sw-team) */ .sw-post-body .sw-stack,
/* 2026-10-13: AI Agent Harness 도식 (.sw-hn: LLM ↔ 하네스 ↔ 업무 시스템, 담당자 승인, 통제 5요소) */ .sw-post-body .sw-hn,
/* 2026-10-13: 뉴스 기사 솔루션 카드(.sw-sums-card: 제품 마크 + 채널 4종)와 기사 끝 솔루션 소개 상자(.sw-news-solution) */ .sw-post-body .sw-sums-card,
/* 2026-10-13: 인사이트 글 요소 — 비교 표(.sw-cmp-table), 세로 흐름도(.sw-vflow), 한 줄 흐름(.sw-chain), 출처(.sw-source) */ .sw-post-body .sw-cmp, .sw-post-body .sw-vflow,
/* 2026-10-14: SI·ITO 운영 범위 아이콘 깨짐 수정 — 7843행의 position:absolute; top:0 이 남아 아이콘 타일이 카드 윗변에 걸쳐 잘리던 문제. 일반 흐름으로 되돌린다 */ .sw-itos li::before,
/* 2026-10-14: SI·ITO 운영 서비스 범위 4카드 — 제목 앞 아이콘 타일(옅은 흰 배경 + 하늘색 선 아이콘) */ .sw-itos li::before,
/* 2026-10-15: 문의 상자(.sw-cta)를 참고안처럼 — 검은 띠(#111) + 은은한 빛 번짐, 왼쪽 두 줄 흰 제목, 오른쪽 흰 테두리 알약 버튼(자료 다운로드 · 문의하기). 남색 그라데이션 · 격자 · S 워터마크 · CONTACT US 라벨은 뺌 */ .sw-cta.sw-cta.sw-cta,
/* ===== AI 페이지 CLOUVI 블록 v2: 어두운 남색 히어로(큰 문구 + 콘솔 화면) · 유리질 효과 카드 3장(아이콘 · 체크 목록 · 화살표) · 그라데이션 CTA · 아래 서비스 범위 (2026-10-12) ===== */ .sw-clv.is-v2,
/* ===== SI·ITO 운영 서비스 범위: 흰 카드 4장을 걷어내고 원래의 남색 한 덩어리 띠로 복원 (2026-10-12) ===== */ .sw-itos,
/* ===== SI·ITO 운영 표 '고객 맞춤 포인트' 강조: 왼쪽 막대 대신 연한 파란 카드 + 체크 아이콘, 진한 남색 굵은 글씨 (2026-10-12) ===== */ .sw-opm-rows em,
/* ===== 연혁 시대 사진 카드: 더 크게 (높이 · 여백 · 글씨) (2026-10-12) ===== */ .sw-htl-tabs button,
/* ===== 연혁 시대 칸: 시대 라벨과 배경 사진을 한 덩어리로 — 버튼 전체가 사진 카드가 되고 라벨 · 제목이 그 안에, 타임라인 점 · 선은 카드 위 (2026-10-12) ===== */ .sw-htl-tabs button,
/* ===== 연혁 타임라인: 시간이 흐르는 느낌 — 레일을 따라 지나가는 빛 + 순서대로 켜지는 점 ===== */ .sw-htl-track::after,
/* ===== 카드 작은 번호(01 · 02 · 03): 작은 글자 대신 그라데이션 둥근 배지 (2026-10-12) ===== */ .sw-card .sw-card-number, .sw-ums-feature > .sw-ums-feature-no,
/* ===== 핵심가치 제목: 항목마다 다른 색(각 항목 색 --c 의 연한 톤)의 둥근 배경을 제목 뒤에 깐다 (2026-10-12) ===== */ .sw-value-grid:not(.sw-step-grid) .sw-value-card h3,
/* UMS '선택하는 이유' 카드: 색 타일 아이콘, 큰 워터마크 번호, 윗면 색 띠, 호버 시 빛 */ .sw-ums-why .sw-ums-feature,
/* UMS 사례 카드 맨 위 고객사 로고 칸 (로고 파일이 없는 곳은 이름을 로고처럼) */ .sw-ums-case .sw-ums-case-logo,
/* ── 뉴스 오른쪽 레일 ───────────────────────────────────────────────── */ a.sw-news-more,
/* 뉴스 글 대표 사진: 원본(약 660px)을 화면 가득 늘리지 않고, 비율 그대로 가운데에 둥글게 */ .sw-post .sw-post-cover,
/* 다이내믹 아일랜드 */ .sw-ums-screen::before,
/* 대표인사말: 얼굴 사진 대신 메시지 카드 (도용 방지) */ .sw-ceo-card,
/* 모니터 목업 */ .sw-promo-device,
/* 서비스 개념도(직접 그린 도식): 묶음 상자 · 노드 · 화살표 · DB 원통 */ .sw-dg,
/* 스캔본을 원본 크기로 두면 작게 뜬다. 높이를 화면에 맞추고 폭은 따라가게 한다. */ .sw-cert-figure img,
/* 알림 레일 */ .sw-notice-card,
/* 알림 슬라이더 — 대표 이미지를 배경으로 쓰는 코어 커버 블록 */ .sw-rail-slider,
/* 알림 카드 */ .sw-ums-phone .sw-ums-msg, .sw-ums-phone .sw-ums-msg.is-push, .sw-ums-phone .sw-ums-msg.is-kakao,
/* 입력 중 점 */ .sw-cvw-typing,
/* 자동 전환 진행 막대는 카드 아래 안쪽에 */ .sw-htl-tabs button::after, .sw-htl.is-auto .sw-htl-tabs button::before,
/* 조직도: COO 대신 대표이사 왼쪽에 기업부설연구소 (고문/법률과 같은 흰 카드) */ .sw-org2-node.is-lab.is-side,
/* 창: 은은하게 빛나는 테두리 */ .sw-cvw-window { border-radius: 0 !important; }
/* 카드 라벨(.sw-card-label: "WeChat Payment" 등) 앞의 세로 막대를 없애고, 라벨 색을 따르는 그라디언트 배지 + 흰색 스파클 아이콘으로 교체 */ .sw-card-label::before,
/* 커머스 사례 카드: 사례당 사진 한 장을 같은 비율로 꽉 채우고, 로고는 흰 바탕 가운데에 */ .sw-portfolio-card .wp-block-image,
/* 타임라인: 각 칸 title 카드 위에 선 · 점 */ .sw-htl-tabs button small,
/* 페이지 맨 아래 상담 박스: 깊은 남색 + 빛 번짐 + 옅은 격자 + 스카이웨어 심볼 워터마크, 문구 왼쪽 · 버튼 오른쪽 */ .sw-cta.sw-cta,
/* 푸터 인증 마크: 흰 반전 대신 원본 컬러 — 작은 흰 바탕 위에 */ .sw-footer-certs li.has-mark img,
/* 허브 이름표: 파란 고리 위에 겹쳐도 읽히게 흰 반투명 받침, e-Commerce 이름표는 고리 바깥 위쪽으로 */ .sw-hub-label,
/* 홈 What We Do: 3열 패널 — 외곽선 큰 번호 · 그라데이션 아이콘 · 영문 제목 + 한글 · 설명. 마우스를 올리면 패널이 색으로 채워짐 */ .sw-wwd,
/* 홈 솔루션 카드 v3: 흰 카드 + 위 글 · 아래 사진(색 제목 · 색 아이콘 칸)이 촌스럽다 → 사진이 카드 전체를 채우고, 아래쪽 어두운 그라데이션 위에 흰 글씨 · 유리 아이콘 · 유리 화살표 */ .sw-sol-grid > .sw-sol-card, .sw-sol-grid > .sw-sol-card.is-lg, .sw-sol-grid > .sw-sol-card.is-sm,
body .wp-block-group.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-name::after,
html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side a { border-radius: 0 !important; }

/* 알약 · 원형 복구 */
#greeting::before,
#history::after,
#talent .sw-card .sw-icon-badge,
#talent .sw-card::before,
.page-id-60 .sw-section .wp-block-button.is-style-outline > .wp-block-button__link::after,
.sw-arc-links i, .sw-vgrow-links i,
.sw-arc.is-v3 .sw-arc-cta i,
.sw-asis-after::before,
.sw-asis-before::after,
.sw-asis-before::before,
.sw-asis-label::before,
.sw-ax-hexcore::before,
.sw-ax-steps > li > i,
.sw-axf-no,
.sw-benefit-list li::before,
.sw-biz2-ico,
.sw-biz2-ico::before,
.sw-book-cover::after,
.sw-book2-brand::before,
.sw-book2-cover::after,
.sw-book2-cover::before,
.sw-book2-obj::after,
.sw-brochure-points li::before,
.sw-brochure-steps li::before,
.sw-card ul li::before,
.sw-case-more li::before,
.sw-case-q button,
.sw-ceo-fig::before,
.sw-ceo-vows li::before,
.sw-cert-stage button,
.sw-circle,
.sw-clouvi-hero .sw-cvw-bot,
.sw-clv-bar i,
.sw-clv-eff.is-cards > li > a,
.sw-clv-eff.is-cards > li > ul > li::before,
.sw-clv-side::after,
.sw-col-x,
.sw-contact-chip::before,
.sw-cvw-avatar,
.sw-cvw-avatar::after { border-radius: 50% !important; }
.sw-cvw-badge::before,
.sw-cvw-badge::before, .sw-cvw-ctrl i, .sw-cvw-heart, .sw-cvw-input i, .sw-cvw-typing i, .sw-demo-bar i, .sw-demo-play, .sw-demo-stage .sw-cvw-bot, .sw-dev-stepper .sw-dev-stepnum, .sw-dg figcaption::before, .sw-dg-db, .sw-dg-db::before, .sw-ecom-box li::before, .sw-ecom-platform li::before, .sw-ecom-circle, .sw-ecom-core, .sw-ecom-pin::after, .sw-fab-close, .sw-feature-table .sw-ft-badge, .sw-feature-table .sw-ft-list li::before, .sw-filter button::before, .sw-ft-cards > li > ul > li::before, .sw-hc-banner::before, .sw-hc-banner::after, .sw-htl-nav button, .sw-htl-tabs button b::after, .sw-htl-tabs button small::after, .sw-htl-year > i::before, .sw-htl-year li::before, .sw-htl-year::before, .sw-hub-core, .sw-hub-core::before, .sw-hub-dot, .sw-hub-dot::before, .sw-hub-label::after, .sw-hub-ring, .sw-hub-ring::after, .sw-hub::after, .sw-hub::before, .sw-lang-switch, .sw-mmcs-arrow, .sw-mmcs-refs li::before,
.sw-cvw-ctrl i,
.sw-cvw-heart,
.sw-cvw-input i,
.sw-cvw-typing i,
.sw-demo-bar i,
.sw-demo-play,
.sw-demo-stage .sw-cvw-bot,
.sw-dev-stepper .sw-dev-stepnum,
.sw-dg figcaption::before,
.sw-dg-db,
.sw-dg-db::before,
.sw-ecom-box li::before, .sw-ecom-platform li::before,
.sw-ecom-circle,
.sw-ecom-core,
.sw-ecom-pin::after,
.sw-fab-close,
.sw-feature-table .sw-ft-badge,
.sw-feature-table .sw-ft-list li::before,
.sw-filter button::before,
.sw-ft-cards > li > ul > li::before,
.sw-hc-banner::before, .sw-hc-banner::after,
.sw-htl-nav button,
.sw-htl-tabs button b::after,
.sw-htl-tabs button small::after,
.sw-htl-year > i::before,
.sw-htl-year li::before,
.sw-htl-year::before,
.sw-hub-core,
.sw-hub-core::before,
.sw-hub-dot,
.sw-hub-dot::before,
.sw-hub-label::after,
.sw-hub-ring,
.sw-hub-ring::after,
.sw-hub::after,
.sw-hub::before,
.sw-lang-switch,
.sw-mmcs-arrow { border-radius: 50% !important; }
.sw-mmcs-refs li::before,
.sw-mob-scope li::before,
.sw-mob-scope li::before, .sw-mro-role > b::after, .sw-mro-role li::before, .sw-mth-loop::after, .sw-mth-sec::after, .sw-mth-steps li::before, .sw-mth::before, .sw-nr-dots li, .sw-nr-nav, .sw-opm-rows em::before, .sw-org2-div::after, .sw-org2-lab::after, .sw-org2-node.is-coo::after, .sw-org2-node.is-advisor::after, .sw-org2-node.is-lab.is-side::after, .sw-org2-teams li::before, .sw-org3-ceo::after, .sw-org3-ceo::before, .sw-org3-div::after, .sw-org3-side::after, .sw-org3-teams li::before, .sw-ov-points li::before, .sw-pa-avatar.is-main::after, .sw-pa-avatar::before, .sw-pdf-ico, .sw-people-art span, .sw-people-art::after, .sw-people-art::before, .sw-people::before, .sw-pf-head > .wp-block-column:first-child::before, .sw-pf-head > .wp-block-column:first-child::after, .sw-pf-tabs a::before, .sw-pfs-arrow, .sw-pfs-card .sw-pfs-text::before, .sw-popup-card::before, .sw-post-body .sw-aiax.is-v2 .sw-aiax-sec li::before, .sw-post-body .sw-axf.is-v2 .sw-axf-steps li::after, .sw-post-body .sw-cards-nav button, .sw-post-body .sw-hn-core::before, .sw-post-body .sw-hn-ctrl li::before, .sw-post-body .sw-stack-list small, .sw-post-body .sw-stack.is-v2 .sw-stack-blk small,
.sw-mro-role > b::after,
.sw-mro-role li::before,
.sw-mth-loop::after,
.sw-mth-sec::after,
.sw-mth-steps li::before,
.sw-mth::before,
.sw-nr-dots li,
.sw-nr-nav,
.sw-opm-rows em::before,
.sw-org2-div::after,
.sw-org2-lab::after,
.sw-org2-node.is-coo::after, .sw-org2-node.is-advisor::after,
.sw-org2-node.is-lab.is-side::after,
.sw-org2-teams li::before,
.sw-org3-ceo::after,
.sw-org3-ceo::before,
.sw-org3-div::after,
.sw-org3-side::after,
.sw-org3-teams li::before,
.sw-ov-points li::before,
.sw-pa-avatar.is-main::after,
.sw-pa-avatar::before,
.sw-pdf-ico,
.sw-people-art span,
.sw-people-art::after,
.sw-people-art::before,
.sw-people::before,
.sw-pf-head > .wp-block-column:first-child::before, .sw-pf-head > .wp-block-column:first-child::after,
.sw-pf-tabs a::before,
.sw-pfs-arrow,
.sw-pfs-card .sw-pfs-text::before,
.sw-popup-card::before,
.sw-post-body .sw-aiax.is-v2 .sw-aiax-sec li::before,
.sw-post-body .sw-axf.is-v2 .sw-axf-steps li::after,
.sw-post-body .sw-cards-nav button,
.sw-post-body .sw-hn-core::before,
.sw-post-body .sw-hn-ctrl li::before { border-radius: 50% !important; }
.sw-post-body .sw-stack-list small,
.sw-post-body .sw-stack.is-v2 .sw-stack-blk small,
.sw-post-body .sw-stack.is-v3 .sw-stack-blk i,
.sw-post-body .sw-stack.is-v3 .sw-stack-blk i, .sw-post-body .sw-stack.is-v3 .sw-stack-note i, .sw-post-body h3::before, .sw-post-meta .sw-post-date::before, .sw-primary-nav .sw-mega-col > .wp-block-navigation-item__content::before, .sw-promo-bar i, .sw-promo-x, .sw-promo::before, .sw-promo::after, .sw-rail-arrow, .sw-rail-dots button, .sw-rc-flow li::after, .sw-rc-flow-c, .sw-rc-iv .sw-rc-vc-av.is-img, .sw-rc-vc-tips li::before, .sw-section:not(.sw-dark):has(> .sw-circle-grid)::after, .sw-section:not(.sw-dark):has(> .sw-circle-grid)::before, .sw-sky i::after, .sw-sky span, .sw-sol-all a::after, .sw-sol-card .sw-sol-go a::after, .sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-go a::after, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-lg .sw-sol-go a::after, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-sm .sw-sol-go a::after, .sw-step-arrow, .sw-step-card .sw-value-icon::after, .sw-step-card::after, .sw-step-list li::before, .sw-step::after, .sw-steps.is-flow4 .sw-step .sw-step-no, .sw-steps.is-flow4 .sw-step-ex::before, .sw-tb-grid ul li::before, .sw-timeline > .wp-block-group::before, .sw-tl-rail::before, .sw-tl2-era span, .sw-tl2-year::after, .sw-tl2-year::before, .sw-ums-channel-go a, .sw-ums-feature li::before, .sw-value-grid:not(.sw-step-grid) .sw-value-no::after, .sw-value-icon, .sw-vgrow-play, .sw-vhero-dots button,
.sw-post-body .sw-stack.is-v3 .sw-stack-note i,
.sw-post-body h3::before,
.sw-post-meta .sw-post-date::before,
.sw-primary-nav .sw-mega-col > .wp-block-navigation-item__content::before,
.sw-promo-bar i,
.sw-promo-x,
.sw-promo::before, .sw-promo::after,
.sw-rail-arrow,
.sw-rail-dots button,
.sw-rc-flow li::after,
.sw-rc-flow-c,
.sw-rc-iv .sw-rc-vc-av.is-img,
.sw-rc-vc-tips li::before,
.sw-section:not(.sw-dark):has(> .sw-circle-grid)::after,
.sw-section:not(.sw-dark):has(> .sw-circle-grid)::before,
.sw-sky i::after,
.sw-sky span,
.sw-sol-all a::after,
.sw-sol-card .sw-sol-go a::after,
.sw-sol-grid.sw-sol-grid > .sw-sol-card .sw-sol-go a::after, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-lg .sw-sol-go a::after, .sw-sol-grid.sw-sol-grid > .sw-sol-card.is-sm .sw-sol-go a::after,
.sw-step-arrow,
.sw-step-card .sw-value-icon::after,
.sw-step-card::after,
.sw-step-list li::before,
.sw-step::after,
.sw-steps.is-flow4 .sw-step .sw-step-no,
.sw-steps.is-flow4 .sw-step-ex::before,
.sw-tb-grid ul li::before,
.sw-timeline > .wp-block-group::before,
.sw-tl-rail::before,
.sw-tl2-era span,
.sw-tl2-year::after,
.sw-tl2-year::before,
.sw-ums-channel-go a,
.sw-ums-feature li::before,
.sw-value-grid:not(.sw-step-grid) .sw-value-no::after { border-radius: 50% !important; }
.sw-value-icon,
.sw-vgrow-play,
.sw-vhero-dots button,
.sw-vhero-dots button[aria-current="true"]::after,
.sw-vhero-dots button[aria-current="true"]::after, .sw-wwd-no::before, /* (≤1100px 에서도 점선 원 inset 은 22px 이라 --ring 동일) */ .sw-ax-hexcore::after, /* --------------------------------------------------------------------------- 홈 영상 히어로 이전/다음 조작부 확대 + 장 전환을 부드럽게 - 화살표: 얇은 꺾쇠 → 64px 유리 원형 버튼(테두리·블러) 안의 굵은 꺾쇠 - 점: 4px 선 → 6px 막대, 현재 장은 84px 로 늘어나며 남은 시간이 채워짐 - 장 전환: 1초 크로스페이드 + 살짝 줌아웃 --------------------------------------------------------------------------- */ .sw-vhero-arrow, /* 2026-10-14: 현직자 카드 — 얼굴 대신 사람 픽토그램 아바타(사용자 요청) */ .sw-rc-vc-av, /* AI 플랫폼 서비스 구성도의 데이터 원통(회원 정보 · 상품 정보 · 구매 이력 · 검색 이력) 리디자인: 납작한 회색 통 대신 윗면 테가 또렷한 밝은 원통 + 아래 그림자, 남색 라벨, 작은 데이터 아이콘 */ .sw-dg-db, /* ── 커스텀 포인터 ──────────────────────────────────────────────────── */ /* 손가락으로 쓰는 기기에는 포인터가 없다. 그런 곳에서는 아무것도 만들지 않는다. */ /* 기본 커서를 숨기고 그리는 방식이라, 떠 있는 어떤 요소보다도 위에 있어야 한다. 챗봇 위젯(9999) 아래에 깔리면 그 위에서는 포인터가 아예 보이지 않는다. */ .sw-cursor-dot, .sw-cursor-ring, /* 바깥 테두리의 밝은 청록 링 */ .sw-dark .sw-circle::after, /* 빛: 육각형 뒤에서 은은하게 숨 쉬듯 */ .sw-value-grid:not(.sw-step-grid) .sw-value-card::before, /* 선 끝의 빛나는 점: 원 양옆에 하나씩 */ .sw-dark .sw-circle-grid .wp-block-column:not(:first-child)::before, .sw-dark .sw-circle-grid .wp-block-column:not(:last-child)::after, /* 연결선과 동그라미 점 (번호 칸을 점으로 쓴다) */ .sw-value-grid:not(.sw-step-grid) .sw-value-no, /* 원 뒤에 살짝 겹쳐 보이는 연한 원 */ .sw-section:not(.sw-dark) .sw-circle::before, /* 원: 오른쪽 위 반은 색 실선, 왼쪽 아래 반은 회색 점선 */ .sw-process > .wp-block-column::after, /* 원형 아이콘: 흰 링 + 그라데이션 + 밑으로 점과 점선 */ .sw-step-card .sw-value-icon, /* 테두리 선을 따라 도는 파란 점: 원보다 16px 큰 투명 틀의 맨 위에 점을 그리고 틀을 돌린다. */ .sw-section:not(.sw-dark) .sw-circle::after, /* 홈 Business 행성: 둘레를 반짝이는 별들이 감싸며 천천히 돈다 */ .sw-biz2-ico::after, /* 홈 챗봇 장면: 파란 다람쥐 대신 CLOUVI 공식 마크(구름 속 다람쥐)를 흰 원 안에 */ .sw-cvw-bot[src*="clouvi-mark"], a.sw-rail-go,
.sw-wwd-no::before,
/* (≤1100px 에서도 점선 원 inset 은 22px 이라 --ring 동일) */ .sw-ax-hexcore::after,
/* --------------------------------------------------------------------------- 홈 영상 히어로 이전/다음 조작부 확대 + 장 전환을 부드럽게 - 화살표: 얇은 꺾쇠 → 64px 유리 원형 버튼(테두리·블러) 안의 굵은 꺾쇠 - 점: 4px 선 → 6px 막대, 현재 장은 84px 로 늘어나며 남은 시간이 채워짐 - 장 전환: 1초 크로스페이드 + 살짝 줌아웃 --------------------------------------------------------------------------- */ .sw-vhero-arrow,
/* 2026-10-14: 현직자 카드 — 얼굴 대신 사람 픽토그램 아바타(사용자 요청) */ .sw-rc-vc-av,
/* 2026-10-15 톤앤매너 v2: 14~32px 모서리를 쓰던 카드 · 상자 · 타일을 8px 로 (알약 · 원 제외) */ /* 알약 · 원형 복구 */ #greeting::before, #history::after, #talent .sw-card .sw-icon-badge, #talent .sw-card::before, .page-id-60 .sw-section .wp-block-button.is-style-outline > .wp-block-button__link::after, .sw-arc-links i, .sw-vgrow-links i, .sw-arc.is-v3 .sw-arc-cta i, .sw-asis-after::before, .sw-asis-before::after, .sw-asis-before::before, .sw-asis-label::before, .sw-ax-hexcore::before, .sw-ax-steps > li > i, .sw-axf-no, .sw-benefit-list li::before, .sw-biz2-ico, .sw-biz2-ico::before, .sw-book-cover::after, .sw-book2-brand::before, .sw-book2-cover::after, .sw-book2-cover::before, .sw-book2-obj::after, .sw-brochure-points li::before, .sw-brochure-steps li::before, .sw-card ul li::before, .sw-case-more li::before, .sw-case-q button, .sw-ceo-fig::before, .sw-ceo-vows li::before, .sw-cert-stage button, .sw-circle, .sw-clouvi-hero .sw-cvw-bot, .sw-clv-bar i, .sw-clv-eff.is-cards > li > a, .sw-clv-eff.is-cards > li > ul > li::before, .sw-clv-side::after, .sw-col-x, .sw-contact-chip::before, .sw-cvw-avatar, .sw-cvw-avatar::after,
/* AI 플랫폼 서비스 구성도의 데이터 원통(회원 정보 · 상품 정보 · 구매 이력 · 검색 이력) 리디자인: 납작한 회색 통 대신 윗면 테가 또렷한 밝은 원통 + 아래 그림자, 남색 라벨, 작은 데이터 아이콘 */ .sw-dg-db,
/* ── 커스텀 포인터 ──────────────────────────────────────────────────── */ /* 손가락으로 쓰는 기기에는 포인터가 없다. 그런 곳에서는 아무것도 만들지 않는다. */ /* 기본 커서를 숨기고 그리는 방식이라, 떠 있는 어떤 요소보다도 위에 있어야 한다. 챗봇 위젯(9999) 아래에 깔리면 그 위에서는 포인터가 아예 보이지 않는다. */ .sw-cursor-dot, .sw-cursor-ring,
/* 바깥 테두리의 밝은 청록 링 */ .sw-dark .sw-circle::after,
/* 빛: 육각형 뒤에서 은은하게 숨 쉬듯 */ .sw-value-grid:not(.sw-step-grid) .sw-value-card::before,
/* 선 끝의 빛나는 점: 원 양옆에 하나씩 */ .sw-dark .sw-circle-grid .wp-block-column:not(:first-child)::before, .sw-dark .sw-circle-grid .wp-block-column:not(:last-child)::after,
/* 연결선과 동그라미 점 (번호 칸을 점으로 쓴다) */ .sw-value-grid:not(.sw-step-grid) .sw-value-no,
/* 원 뒤에 살짝 겹쳐 보이는 연한 원 */ .sw-section:not(.sw-dark) .sw-circle::before,
/* 원: 오른쪽 위 반은 색 실선, 왼쪽 아래 반은 회색 점선 */ .sw-process > .wp-block-column::after,
/* 원형 아이콘: 흰 링 + 그라데이션 + 밑으로 점과 점선 */ .sw-step-card .sw-value-icon,
/* 테두리 선을 따라 도는 파란 점: 원보다 16px 큰 투명 틀의 맨 위에 점을 그리고 틀을 돌린다. */ .sw-section:not(.sw-dark) .sw-circle::after,
/* 홈 Business 행성: 둘레를 반짝이는 별들이 감싸며 천천히 돈다 */ .sw-biz2-ico::after,
/* 홈 챗봇 장면: 파란 다람쥐 대신 CLOUVI 공식 마크(구름 속 다람쥐)를 흰 원 안에 */ .sw-cvw-bot[src*="clouvi-mark"],
a.sw-rail-go { border-radius: 50% !important; }
.page-id-60 .sw-section .wp-block-button.is-style-outline > .wp-block-button__link,
.page-id-60 .sw-section .wp-block-button.is-style-outline > .wp-block-button__link, .sw-arc.is-v3 .sw-arc-cta a, .sw-ax-deliv-grid > li::before, .sw-ax-flow > li > em, .sw-ax-note > em, .sw-ax-steps > li em, .sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link, .sw-cta.sw-cta.sw-cta .wp-block-button__link, .sw-dev-perm, .sw-dev-ver, .sw-ecom-note, .sw-ft-cards .sw-ft-no, .sw-hero-carousel::before, .sw-hero-carousel::after, .sw-intro-skip, .sw-mz-ind, .sw-mz-pills a small, .sw-nr-filter a, .sw-pa-avatar.is-top::after, .sw-pa-avatar.is-left::after, .sw-popup-cta a, .sw-popup-tools button, .sw-post-body .sw-chain span, .sw-post-body .sw-sec3-sum strong, .sw-post-body .sw-stack.is-v3 .sw-stack-note, .sw-post-body h3 .sw-term, .sw-post-cat a, .sw-series-tag, .sw-sp-filter button, .sw-vhero-cta a, /* 2026-10-13: 사업분야 페이지 떠 있는 소개서 버튼 (.sw-pdf-float: 왼쪽 아래 고정, 남색 알약) */ .sw-pdf-float, /* 2026-10-14: 뉴스룸 매거진 필터(.sw-mz-pills)를 세그먼트 컨트롤로 — 연회색 트랙 안에서 선택 배경(.sw-mz-ind)이 카테고리 색 그라데이션으로 미끄러지고, 카운트는 작은 원형 뱃지 */ .sw-filter.sw-mz-pills, /* 2026-10-14: 헤더 '서비스 문의' 버튼 — 윤곽선 알약 대신 파란 그라데이션 채움 + 그림자로 눈에 띄게(모든 폭) */ .sw-header-cta .wp-block-button__link, /* 버튼: 알약, 파랑 단색. 아웃라인 변형은 검은 테두리 */ .wp-block-button__link, /* 슬라이드 선택 */ /* 배너 전환 막대. PREV · 점 · NEXT 를 하나의 알약 안에 묶어 영상 위에서도 읽히게 한다. */ .sw-vhero-nav, /* 오른쪽 위에서 들어오는 부드러운 빛. 홈 히어로의 원형 글로우와 결을 맞춘다. */ .sw-page-hero::after,
.sw-arc.is-v3 .sw-arc-cta a,
.sw-ax-deliv-grid > li::before,
.sw-ax-flow > li > em,
.sw-ax-note > em,
.sw-ax-steps > li em,
.sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link,
.sw-cta.sw-cta.sw-cta .wp-block-button__link,
.sw-dev-perm,
.sw-dev-ver,
.sw-ecom-note,
.sw-filter.sw-pf-tabs a,
.sw-ft-cards .sw-ft-no,
.sw-hero-carousel::before, .sw-hero-carousel::after,
.sw-intro-skip,
.sw-mz-ind,
.sw-mz-pills a small,
.sw-nr-filter a,
.sw-pa-avatar.is-top::after, .sw-pa-avatar.is-left::after,
.sw-popup-cta a,
.sw-popup-tools button,
.sw-post-body .sw-chain span,
.sw-post-body .sw-sec3-sum strong,
.sw-post-body .sw-stack.is-v3 .sw-stack-note,
.sw-post-body h3 .sw-term,
.sw-post-cat a,
.sw-series-tag,
.sw-sp-filter button,
.sw-vhero-cta a,
/* 2026-10-13: 사업분야 페이지 떠 있는 소개서 버튼 (.sw-pdf-float: 왼쪽 아래 고정, 남색 알약) */ .sw-pdf-float,
/* 2026-10-14: 뉴스룸 매거진 필터(.sw-mz-pills)를 세그먼트 컨트롤로 — 연회색 트랙 안에서 선택 배경(.sw-mz-ind)이 카테고리 색 그라데이션으로 미끄러지고, 카운트는 작은 원형 뱃지 */ .sw-filter.sw-mz-pills,
/* 2026-10-14: 헤더 '서비스 문의' 버튼 — 윤곽선 알약 대신 파란 그라데이션 채움 + 그림자로 눈에 띄게(모든 폭) */ .sw-header-cta .wp-block-button__link,
/* 버튼: 알약, 파랑 단색. 아웃라인 변형은 검은 테두리 */ .wp-block-button__link,
/* 슬라이드 선택 */ /* 배너 전환 막대. PREV · 점 · NEXT 를 하나의 알약 안에 묶어 영상 위에서도 읽히게 한다. */ .sw-vhero-nav,
/* 오른쪽 위에서 들어오는 부드러운 빛. 홈 히어로의 원형 글로우와 결을 맞춘다. */ .sw-page-hero::after { border-radius: 999px !important; }
#talent .sw-card-grid .sw-card::after,
#talent .sw-card-grid .sw-card::after, .sw-aio-tags span, .sw-anchor-nav .wp-block-button__link::before, .sw-asset .sw-asset-tags p, .sw-asset-row.has-detail .sw-asset-more::after, .sw-benefit-card .sw-benefit-list li, .sw-book2-kw span, .sw-brochure-btn .wp-block-button__link, .sw-case-pages .page-numbers, .sw-case-select select, .sw-case-q input, .sw-clv-bar em, .sw-clv-link, .sw-clv-side.is-console .sw-clv-link, .sw-clv.is-v2 .sw-clv-link, .sw-contact-form .wpcf7-form input.sw-cf-submit, .sw-contact-info .sw-contact-chip, .sw-copy-addr, .sw-cta.sw-cta .wp-block-button__link, .sw-cvw-input, .sw-cvw-tags em, .sw-demo-tag, .sw-dg-chips .sw-dg-node, .sw-emp-toggle, .sw-fab-button, .sw-filter button, .sw-hc-more a, .sw-hero-controls button, .sw-insight-all .wp-block-button__link, .sw-mmcs-col ul li, .sw-mob-phone i, .sw-mods-bus, .sw-mosaic .sw-tile-tag a, .sw-mth-loop span, .sw-mz-card small, .sw-mz-cover-text small, .sw-news-list .wp-block-post .sw-tag a, .sw-org-node.is-lab, .sw-org2-badge, .sw-org2-hub, .sw-org2-node.is-lab,
.sw-aio-tags span,
.sw-anchor-nav .wp-block-button__link::before,
.sw-asset .sw-asset-tags p,
.sw-asset-row.has-detail .sw-asset-more::after,
.sw-benefit-card .sw-benefit-list li,
.sw-book2-kw span,
.sw-brochure-btn .wp-block-button__link,
.sw-case-pages .page-numbers,
.sw-case-select select, .sw-case-q input,
.sw-clv-bar em,
.sw-clv-link,
.sw-clv-side.is-console .sw-clv-link,
.sw-clv.is-v2 .sw-clv-link,
.sw-contact-form .wpcf7-form input.sw-cf-submit,
.sw-contact-info .sw-contact-chip,
.sw-copy-addr,
.sw-cta.sw-cta .wp-block-button__link,
.sw-cvw-input,
.sw-cvw-tags em,
.sw-demo-tag,
.sw-dg-chips .sw-dg-node,
.sw-emp-toggle,
.sw-fab-button,
.sw-filter button,
.sw-hc-more a,
.sw-hero-controls button,
.sw-insight-all .wp-block-button__link,
.sw-mmcs-col ul li,
.sw-mob-phone i,
.sw-mods-bus,
.sw-mosaic .sw-tile-tag a,
.sw-mth-loop span,
.sw-mz-card small,
.sw-mz-cover-text small,
.sw-news-list .wp-block-post .sw-tag a,
.sw-org-node.is-lab,
.sw-org2-badge,
.sw-org2-hub { border-radius: 99px !important; }
.sw-org2-node.is-lab,
.sw-page-hero.sw-rc-hero .sw-rc-hero-actions .wp-block-button__link,
.sw-page-hero.sw-rc-hero .sw-rc-hero-actions .wp-block-button__link, .sw-pf-tabs a, .sw-pfs-dots button, .sw-promo-cta, .sw-rc-iv-qa dt span, .sw-shr-core em, .sw-sol-card .sw-sol-sub, .sw-tag, .sw-tl-more > summary, .sw-tl2-era, .sw-ums-actions .wp-block-button__link, .sw-ums-industries p, .sw-vhero-dots, .wp-block-query-pagination .page-numbers, .wp-block-query-pagination-previous, .wp-block-query-pagination-next, .wpcf7-form input[type="submit"], /* 떠 있는 배지 */ .sw-cvw-badge, /* 서비스 문의: 테두리만 있는 알약 버튼 */ .sw-header-cta .wp-block-button__link, /* 협업체계 알약 */ .sw-org3-hub,
.sw-pf-tabs a,
.sw-pfs-dots button,
.sw-promo-cta,
.sw-rc-iv-qa dt span,
.sw-shr-core em,
.sw-sol-card .sw-sol-sub,
.sw-tag,
.sw-tl-more > summary,
.sw-tl2-era,
.sw-ums-actions .wp-block-button__link,
.sw-ums-industries p,
.sw-vhero-dots,
.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination-previous, .wp-block-query-pagination-next,
.wpcf7-form input[type="submit"],
/* 떠 있는 배지 */ .sw-cvw-badge,
/* 서비스 문의: 테두리만 있는 알약 버튼 */ .sw-header-cta .wp-block-button__link,
/* 협업체계 알약 */ .sw-org3-hub { border-radius: 99px !important; }
/* 통계 띠 · 카드 그리드 · 섹션 상자 등 공통 */
.sw-metric-strip, .sw-card, .sw-tile, .sw-brochure-box, .sw-cta.sw-cta.sw-cta, .sw-sp-card a, .sw-nr-card a, .sw-story-card a, .sw-catalog-item, .sw-mega-side a, .sw-catalog-col, .sw-nr-viewport, img.wp-image, .wp-block-image img, figure img { border-radius: 0 !important; }

/* 2026-10-15: 사업분야 MAIN SERVICE OFFERINGS (.sw-offer) — Ackerton 홈 참고. 왼쪽 큰 제목 + 사업 설명(전환), 오른쪽 계단형 사진 띠 6개. 올리면 사진 한 장이 띠 전체에 펼쳐짐. 뒤에 워드마크가 흘러감 */
.sw-offer { position: relative; overflow: hidden; width: 100vw; max-width: none !important; margin: 0 0 0 calc(50% - 50vw) !important; padding: clamp(72px, 8vw, 120px) 0; background: #fff; }
.sw-offer-logo { position: absolute; left: 0; right: 0; top: 50%; z-index: 0; height: 160px; overflow: hidden; transform: translateY(-50%); opacity: .07; pointer-events: none; }
.sw-offer-logo-inner { position: absolute; top: 0; left: 0; height: 100%; display: flex; gap: 160px; white-space: nowrap; animation: sw-offer-marquee 28s linear infinite; }
.sw-offer-logo-inner img { height: 100%; width: auto; filter: grayscale(1); }
@keyframes sw-offer-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.sw-offer-inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(300px, 420px) minmax(0, 1fr); gap: 48px; width: min(1400px, calc(100vw - 48px)); margin: 0 auto; align-items: stretch; }
.sw-offer-title { margin: 0; color: #111; font-size: clamp(36px, 3.6vw, 56px); font-weight: 800; line-height: 1.15; letter-spacing: -.02em; text-transform: uppercase; }
.sw-offer-left { position: relative; min-height: 560px; }
.sw-offer-texts { position: absolute; left: 0; right: 0; bottom: 0; }
.sw-offer-text { position: absolute; left: 0; right: 0; bottom: 0; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .35s ease, transform .35s ease, visibility .35s; }
.sw-offer-text.is-on { opacity: 1; visibility: visible; transform: none; }
.sw-offer-text h3 { position: relative; margin: 0 0 22px; padding-left: 20px; color: #111; font-size: 24px; font-weight: 800; letter-spacing: -.02em; }
.sw-offer-text h3::before { content: ""; position: absolute; left: 0; top: 10px; width: 10px; height: 10px; background: linear-gradient(135deg, #2f6bd8, #6a3df0); clip-path: polygon(0 0, 100% 0, 100% 60%, 60% 100%, 0 100%); }
.sw-offer-text h3 small { display: block; margin-bottom: 6px; color: #6b7280; font-size: 14px; font-weight: 600; }
.sw-offer-text p { margin: 0; max-width: 30em; color: #333; font-size: 16px; line-height: 1.8; word-break: keep-all; }
.sw-offer-more { display: inline-block; margin-top: 22px; color: #111; font-size: 15px; font-weight: 700; text-decoration: none; }
.sw-offer-more:hover { color: #2f6bd8; }
/* 띠 */
.sw-offer-tabs { position: relative; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; margin: 0 !important; padding: 0; list-style: none; --h: 96px; }
.sw-offer-strip { position: relative; margin: 0; width: calc(100% - var(--i) * 7%); height: var(--h); overflow: hidden; background: #0f1b33; transition: filter .3s ease; }
.sw-offer-strip a { display: block; position: relative; width: 100%; height: 100%; color: #fff; text-decoration: none; }
.sw-offer-strip img { position: absolute; left: 0; right: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.72); transition: transform .6s ease, filter .3s ease; }
.sw-offer-strip b { position: absolute; left: 36px; bottom: 18px; font-size: 22px; font-weight: 700; letter-spacing: -.01em; text-shadow: 0 2px 10px rgba(0, 0, 0, .4); transition: opacity .3s ease; }
/* 올린 사업 사진 한 장을 계단 모양으로 띠 전체에 */
.sw-offer-active { position: absolute; inset: 0; z-index: 2; margin: 0; background: center / cover no-repeat; opacity: 0; transition: opacity .45s ease; pointer-events: none; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
.sw-offer-tabs.is-on .sw-offer-active { opacity: 1; }
.sw-offer-tabs.is-on .sw-offer-strip b { opacity: 0; }
.sw-offer-tabs.is-on .sw-offer-strip img { filter: brightness(.72); }
/* 스크롤 등장 */
.sw-offer-strip { opacity: 0; transform: translateX(40px); transition: opacity .6s ease, transform .6s ease; transition-delay: calc(var(--i) * 80ms); }
.sw-offer.is-inview .sw-offer-strip { opacity: 1; transform: none; }
.sw-offer-mobile { display: none; }
@media (max-width: 1024px) {
  .sw-offer-inner { grid-template-columns: 1fr; gap: 28px; }
  .sw-offer-left { min-height: 0; }
  .sw-offer-texts, .sw-offer-tabs { display: none; }
  .sw-offer-mobile { display: block; margin: 0 !important; padding: 0; list-style: none; }
  .sw-offer-mob { margin: 0 0 8px; }
  .sw-offer-mob button { position: relative; display: flex; flex-direction: column; justify-content: flex-end; width: 100%; min-height: 120px; padding: 16px 20px; border: 0; background-position: center; background-size: cover; color: #fff; text-align: left; cursor: pointer; }
  .sw-offer-mob button::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .1), rgba(0, 0, 0, .6)); }
  .sw-offer-mob button b, .sw-offer-mob button small { position: relative; }
  .sw-offer-mob button b { font-size: 20px; font-weight: 800; }
  .sw-offer-mob button small { margin-top: 4px; font-size: 13px; opacity: .85; }
  .sw-offer-mob-body { height: 0; overflow: hidden; transition: height .35s ease; }
  .sw-offer-mob-body > * { margin: 0; padding: 16px 20px 0; }
  .sw-offer-mob-body p { color: #333; font-size: 15px; line-height: 1.7; }
  .sw-offer-mob-body a { display: inline-block; padding-bottom: 18px; color: #2f6bd8; font-weight: 700; text-decoration: none; }
}
/* 커머스(60) 구축 유형: 상자 · 벤 · 플랫폼 행이 스크롤 등장(아래서 떠오름), 올리면 살짝 떠오름 */
.sw-ecom-map > * { opacity: 0; transform: translateY(28px); transition: opacity .6s ease, transform .6s ease; }
.sw-ecom-map > :nth-child(2) { transition-delay: .12s; } .sw-ecom-map > :nth-child(3) { transition-delay: .24s; } .sw-ecom-map > :nth-child(4) { transition-delay: .36s; } .sw-ecom-map > :nth-child(5) { transition-delay: .48s; }
.sw-ecom-map.is-in > * { opacity: 1; transform: none; }
.sw-ecom-box, .sw-ecom-platform { transition: opacity .6s ease, transform .6s ease, box-shadow .3s ease; }
.sw-ecom-map.is-in .sw-ecom-box:hover, .sw-ecom-map.is-in .sw-ecom-platform:hover { transform: translateY(-6px); box-shadow: 0 18px 36px rgba(16, 47, 103, .12); }

/* 2026-10-15: 홈 슬로건 "Best Partner with Creative Solution" — 글자 속으로 영상이 비치는 큰 문구(SK AX 'We Do Technology' 참고).
   .sw-svid-mask: 흰 바탕 + 검은 글자를 screen 블렌드로 영상 위에 → 검은 글자 부분만 영상이 보임. .sw-svid-top: 앞 단어(Best Partner)만 파랑 그라데이션 글자로 덮음 */
.sw-svid { position: relative; overflow: hidden; width: 100vw; max-width: none !important; margin: 0 0 0 calc(50% - 50vw) !important; height: clamp(180px, 22vw, 340px); background: #fff; }
.sw-svid-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(1.1); }
.sw-svid-mask, .sw-svid-top { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 0 24px; white-space: nowrap; font-size: clamp(44px, 7.2vw, 128px); font-weight: 800; letter-spacing: -.035em; line-height: 1; }
.sw-svid-mask { background: #fff; color: #000; mix-blend-mode: screen; }
.sw-svid-mask .is-brand { color: #fff; }
.sw-svid-top { pointer-events: none; }
.sw-svid-top .is-video { color: transparent; }
.sw-svid-top .is-brand { background: linear-gradient(90deg, #0d2a6b, #2f6bd8 60%, #6a3df0); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
@media (max-width: 720px) { .sw-svid-mask, .sw-svid-top { flex-direction: column; gap: .05em; white-space: normal; text-align: center; font-size: clamp(34px, 9vw, 60px); } .sw-svid { height: 240px; } }
@media (prefers-reduced-motion: reduce) { .sw-svid-video { display: none; } .sw-svid { background: linear-gradient(135deg, #0f1b33, #2f6bd8 60%, #6a3df0); } .sw-svid-mask .is-video { color: #000; } }

/* 2026-10-15: 홈 슬로건 v2 — 스크롤에 따라 글자가 커지며 열리고(--p 0→1) 그 뒤에서 사진 패널 2개(회사소개 · 사업분야)가 나타난다. SK hynix 'We Do Technology' 참고 */
.sw-svid-wrap { position: relative; width: 100vw; max-width: none !important; margin: 0 0 0 calc(50% - 50vw) !important; height: 240vh; }
.sw-svid { position: sticky; top: 0; height: 100vh; overflow: hidden; background: #fff; --p: 0; }
.sw-svid-stage { position: absolute; inset: 0; z-index: 2; transform: scale(calc(1 + var(--p) * 14)); transform-origin: 50% 50%; opacity: calc(1 - max(0, var(--p) - .55) / .25); will-change: transform, opacity; pointer-events: none; }
.sw-svid.is-open .sw-svid-stage { visibility: hidden; }
.sw-svid-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sw-svid-mask, .sw-svid-top { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: .22em; padding: 0 24px; white-space: nowrap; font-size: clamp(40px, 6.4vw, 104px); font-weight: 800; letter-spacing: -.035em; line-height: 1; }
.sw-svid-mask { background: #fff; color: #000; mix-blend-mode: screen; }
.sw-svid-mask .is-brand { color: #fff; }
.sw-svid-top .is-video { color: transparent; }
.sw-svid-top .is-brand { background: linear-gradient(90deg, #0d2a6b, #2f6bd8 60%, #6a3df0); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
/* 패널 */
.sw-svid-panels { position: absolute; inset: 0; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 12px; background: #fff; opacity: calc(min(1, max(0, var(--p) - .35) / .35)); transform: scale(calc(.94 + min(1, max(0, var(--p) - .35) / .35) * .06)); }
.sw-svid-panel { position: relative; display: block; overflow: hidden; background: #0f1b33 var(--img) center / cover no-repeat; color: #fff; text-decoration: none; }
.sw-svid-panel::before { content: ""; position: absolute; inset: 0; background: rgba(6, 14, 38, .45); transition: background .3s ease; }
.sw-svid-panel:hover::before { background: rgba(6, 14, 38, .32); }
.sw-svid-panel-in { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px; text-align: center; }
.sw-svid-panel b { font-size: clamp(36px, 3.6vw, 56px); font-weight: 800; letter-spacing: -.02em; }
.sw-svid-panel small { margin-top: 18px; max-width: 30em; font-size: 16px; line-height: 1.7; opacity: .92; word-break: keep-all; }
.sw-svid-links { display: flex; flex-direction: column; gap: 12px; margin-top: 44px; width: min(320px, 100%); }
.sw-svid-links > span { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px; border: 1px solid rgba(255, 255, 255, .8); font-size: 15px; font-weight: 600; transition: background .2s ease, color .2s ease; }
.sw-svid-links > span i { font-style: normal; font-size: 18px; }
.sw-svid-panel:hover .sw-svid-links > span { background: rgba(255, 255, 255, .1); }
@media (max-width: 900px) {
  .sw-svid-wrap { height: 200vh; }
  .sw-svid-mask, .sw-svid-top { flex-direction: column; gap: .1em; white-space: normal; text-align: center; font-size: clamp(34px, 9vw, 60px); }
  .sw-svid-panels { grid-template-columns: 1fr; }
  .sw-svid-panel b { font-size: 30px; } .sw-svid-links { margin-top: 24px; }
}
@media (prefers-reduced-motion: reduce) { .sw-svid-wrap { height: auto; } .sw-svid { position: static; height: auto; } .sw-svid-stage { position: relative; height: 240px; transform: none !important; opacity: 1 !important; } .sw-svid-panels { position: relative; height: 70vh; opacity: 1 !important; transform: none !important; } }
/* 슬로건 v2 보정: 글자 확대 → 패널 전환을 겹치게(패널은 0.25 부터 서서히, 글자는 0.5~0.85 에 서서히 사라짐, 확대는 완만한 곡선) · 패널 영문 라벨 */
.sw-svid-stage { transform: scale(calc(1 + var(--p) * var(--p) * 18)); opacity: calc(1 - min(1, max(0, var(--p) - .5) / .35)); }
.sw-svid-panels { opacity: calc(min(1, max(0, var(--p) - .25) / .45)); transform: scale(calc(.92 + min(1, max(0, var(--p) - .25) / .45) * .08)); filter: blur(calc((1 - min(1, max(0, var(--p) - .25) / .45)) * 12px)); }
.sw-svid-panel em { display: block; margin-bottom: 10px; font-size: 15px; font-style: normal; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; opacity: .85; }
/* 사업 띠(.sw-offer): 올렸을 때 사진을 띠마다 잘라 보여 줘 경계 · 간격이 원래 띠와 정확히 일치 */
.sw-offer-active { display: none; }
.sw-offer-strip .sw-offer-ov { position: absolute; top: calc(-1 * var(--oy, 0px)); left: calc(-1 * var(--ox, 0px)); width: var(--ow, 100%); height: var(--oh, 100%); object-fit: cover; opacity: 0; transition: opacity .45s ease; pointer-events: none; z-index: 1; }
.sw-offer-tabs.is-on .sw-offer-strip .sw-offer-ov { opacity: 1; }
.sw-offer-strip b { z-index: 2; }
/* 슬로건 v2 전환 매끄럽게: 글자가 커지는 동안 영상 · 그라데이션 글자는 먼저 사라지고(0.15~0.4), 글자 창으로 뒤의 패널이 비치다가 창이 화면을 다 덮으면(0.75~) 흰 판이 걷힌다 */
.sw-svid-video { opacity: calc(1 - min(1, max(0, var(--p) - .15) / .25)); }
.sw-svid-top { opacity: calc(1 - min(1, max(0, var(--p) - .12) / .2)); }
.sw-svid-stage { opacity: calc(1 - min(1, max(0, var(--p) - .72) / .18)); }
.sw-svid-panels { opacity: calc(min(1, max(0, var(--p) - .18) / .4)); filter: blur(calc((1 - min(1, max(0, var(--p) - .18) / .4)) * 10px)); transform: scale(calc(.94 + min(1, max(0, var(--p) - .18) / .4) * .06)); }
/* 슬로건 글씨 살짝 크게 */
.sw-svid-mask, .sw-svid-top { font-size: clamp(44px, 7.4vw, 124px); }
/* 슬로건 v2 블렌드 수정: stage 에 transform · opacity · z-index 를 두지 않고(스태킹 컨텍스트 금지) 글자 층(.sw-svid-mask · .sw-svid-top)을 각각 확대 · 페이드 → screen 블렌드가 뒤의 패널까지 닿아 글자 창으로 패널이 비친다 */
.sw-svid-stage { z-index: auto !important; transform: none !important; opacity: 1 !important; visibility: visible !important; }
.sw-svid-panels { z-index: auto !important; }
.sw-svid-mask, .sw-svid-top { transform: scale(calc(1 + var(--p) * var(--p) * 18)); transform-origin: 50% 50%; will-change: transform, opacity; }
.sw-svid-mask { opacity: calc(1 - min(1, max(0, var(--p) - .74) / .16)); }
.sw-svid-top { opacity: calc(1 - min(1, max(0, var(--p) - .12) / .2)); }
.sw-svid.is-open .sw-svid-mask, .sw-svid.is-open .sw-svid-top, .sw-svid.is-open .sw-svid-video { visibility: hidden; }
/* 슬로건 v2 — screen 블렌드 대신 SVG 마스크 덮개: 흰 판(.sw-svid-cover)에 글자 모양 구멍, 구멍으로 영상(처음) → 패널(스크롤 뒤)이 보인다. 확대는 덮개 · 그라데이션 글자 층에 같이 */
.sw-svid-mask { display: none !important; }
.sw-svid-cover { position: absolute; inset: 0; background: #fff; -webkit-mask: url(#sw-svid-m); mask: url(#sw-svid-m); transform: scale(calc(1 + var(--p) * var(--p) * 18)); transform-origin: 50% 50%; opacity: calc(1 - min(1, max(0, var(--p) - .74) / .16)); will-change: transform, opacity; }
.sw-svid-t, .sw-svid-top { font-family: Pretendard, "Noto Sans KR", sans-serif; font-weight: 800; font-size: clamp(44px, 7.4vw, 124px); letter-spacing: -.035em; }
.sw-svid-top { display: block; padding: 0; text-align: center; line-height: 100vh; white-space: nowrap; }
.sw-svid-top .is-brand, .sw-svid-top .is-video { display: inline; }
.sw-svid.is-open .sw-svid-cover { visibility: hidden; }
@media (max-width: 900px) { .sw-svid-top { line-height: 100vh; white-space: nowrap; font-size: clamp(22px, 5.6vw, 44px); } .sw-svid-t { font-size: clamp(22px, 5.6vw, 44px); } }
/* 덮개 = inline SVG(흰 사각형에 글자 구멍 마스크). 앞서 둔 CSS mask 는 해제 */
.sw-svid-cover { display: block; width: 100%; height: 100%; background: none !important; -webkit-mask: none !important; mask: none !important; }
.sw-svid-t { font-family: Pretendard, "Noto Sans KR", sans-serif; font-weight: 800; }
/* 슬로건 최종: linearGradient 는 글자 상자 기준(objectBoundingBox) 이라 'Best Partner' 구간에 걸치게 x2 를 .36 로. 그라데이션 글자는 스크롤 초반에 사라짐 */
#sw-svid-g { } .sw-svid-brand { opacity: calc(1 - min(1, max(0, var(--p) - .12) / .2)); }
.sw-svid-top { display: none !important; }
/* 2026-10-15: '다음 장으로' 긴 가는 화살표(.sw-la) — 가로선 + 오른쪽 위 짧은 사선(참고안). 흰색은 currentColor */
.sw-la { display: inline-block; width: 44px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 14' fill='none' stroke='%23000' stroke-width='1.3'%3E%3Cpath d='M0 12.5H43M33 2.5l10 10'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 14' fill='none' stroke='%23000' stroke-width='1.3'%3E%3Cpath d='M0 12.5H43M33 2.5l10 10'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .25s ease; }
a:hover .sw-la, .sw-svid-panel:hover .sw-la { transform: translateX(6px); }
.sw-svid-links > span { align-items: flex-end; }
.sw-offer-more > span { display: none; } .sw-offer-more::after { content: ""; display: inline-block; vertical-align: -2px; margin-left: 10px; width: 44px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 14' fill='none' stroke='%23000' stroke-width='1.3'%3E%3Cpath d='M0 12.5H43M33 2.5l10 10'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 14' fill='none' stroke='%23000' stroke-width='1.3'%3E%3Cpath d='M0 12.5H43M33 2.5l10 10'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .25s ease; }
.sw-offer-more:hover::after { transform: translateX(6px); }
/* 슬로건 글자가 화면 폭에 들어가게(SVG 글자는 자간 축소가 px 로만 먹음) */
.sw-svid-t { font-size: clamp(36px, 6.3vw, 108px); letter-spacing: -3px; }
@media (max-width: 900px) { .sw-svid-t { font-size: clamp(20px, 5.4vw, 44px); letter-spacing: -1px; } }
/* 2026-10-15: 홈 인사이트 섹션을 뉴스룸 카드 톤으로 — 왼쪽 'Insight' 큰 제목 + 오른쪽 설명, 카드는 16:9 썸네일 · 회색 분류 · 검은 제목 · 회색 날짜, 네모 · 올리면 떠오름 */
.sw-insights .sw-ins-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 40px; align-items: end; margin-bottom: 44px !important; }
.sw-insights .sw-ins-title { margin: 0; color: #111; font-size: clamp(40px, 4.2vw, 64px); font-weight: 800; letter-spacing: -.02em; line-height: 1.05; }
.sw-insights .sw-ins-lead { margin: 0; color: #555; font-size: 16px; line-height: 1.75; }
.sw-insights .sw-ins-lead b { display: block; margin-bottom: 8px; color: #111; font-size: 20px; font-weight: 700; }
.sw-insights .sw-insight-grid { gap: 24px !important; }
.sw-insights .sw-insight-card { display: flex; flex-direction: column; height: 100%; padding: 0 !important; border: 1px solid #e6e6e6; border-radius: 0 !important; background: #fff; box-shadow: none; transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s ease; }
.sw-insights .sw-insight-card:hover { transform: translateY(-6px); box-shadow: 0 16px 36px rgba(16, 47, 103, .12); }
.sw-insights .sw-insight-thumb { margin: 0 !important; aspect-ratio: 16 / 9; overflow: hidden; background: #0f1b33; }
.sw-insights .sw-insight-thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; box-shadow: none !important; transform: none !important; }
.sw-insights .sw-insight-cat { margin: 18px 20px 0 !important; color: #666; font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.sw-insights .sw-insight-card h3 { margin: 8px 20px 0 !important; font-size: 18px; font-weight: 700; line-height: 1.5; letter-spacing: -.015em; }
.sw-insights .sw-insight-card h3 a { color: #111 !important; text-decoration: none; }
.sw-insights .sw-insight-summary { margin: 10px 20px 0 !important; color: #555; font-size: 14px; line-height: 1.65; }
.sw-insights .sw-insight-date { margin: auto 20px 0 !important; padding-top: 18px; color: #888; font-size: 13px; font-weight: 500; }
.sw-insights .sw-insight-date::before { content: none; }
.sw-insights .sw-insight-more { margin: 0 20px 20px !important; }
.sw-insights .sw-insight-more a { color: #111; font-size: 14px; font-weight: 700; text-decoration: none; }
.sw-insights .sw-insight-more .sw-la { width: 36px; height: 12px; vertical-align: -1px; margin-left: 8px; }
.sw-insights .sw-insight-all .wp-block-button__link { border: 1px solid #111; border-radius: 999px; background: transparent; color: #111; font-weight: 600; }
.sw-insights .sw-insight-all .wp-block-button__link:hover { background: #111; color: #fff; }
.sw-insights .sw-wave, .sw-insights .sw-type::after { display: none !important; }
@media (max-width: 900px) { .sw-insights .sw-ins-head { grid-template-columns: 1fr; gap: 16px; } }
/* 인사이트 카드 READ MORE 뒤에 긴 화살표 */
.sw-insights .sw-insight-more a::after { content: ""; display: inline-block; vertical-align: -1px; margin-left: 10px; width: 36px; height: 12px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 14' fill='none' stroke='%23000' stroke-width='1.3'%3E%3Cpath d='M0 12.5H43M33 2.5l10 10'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 14' fill='none' stroke='%23000' stroke-width='1.3'%3E%3Cpath d='M0 12.5H43M33 2.5l10 10'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .25s ease; }
.sw-insights .sw-insight-more a:hover::after { transform: translateX(6px); }

/* 2026-10-15: 홈 BUSINESS 블록(.sw-bg) — SK이노베이션 참고. 어두운 바탕, 그라데이션 제목, 왼쪽 큰 카드 + 오른쪽 2×3 사진 카드. 반원 맵(.sw-biz-space)은 이걸로 대체 */
.sw-bg { width: 100vw; max-width: none !important; margin: 0 0 0 calc(50% - 50vw) !important; padding: clamp(72px, 8vw, 120px) 24px; background: #0b0f17; color: #fff; }
.sw-bg-inner { width: min(1300px, 100%); margin: 0 auto; }
.sw-bg-title { margin: 0; text-align: center; font-size: clamp(36px, 3.6vw, 52px); font-weight: 800; letter-spacing: .02em; text-transform: uppercase; background: linear-gradient(90deg, #2f6bd8, #6a3df0); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.sw-bg-sub { margin: 10px 0 40px; text-align: center; color: rgba(255, 255, 255, .85); font-size: 18px; }
.sw-bg-grid { display: grid; grid-template-columns: 1.33fr 1fr 1fr; grid-template-rows: repeat(3, 230px); gap: 26px; }
.sw-bg-card { position: relative; display: block; overflow: hidden; background: #111827; color: #fff; text-decoration: none; }
.sw-bg-card.is-main { grid-row: 1 / span 3; }
.sw-bg-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.55); transition: transform .8s cubic-bezier(.2, .8, .2, 1), filter .4s ease; }
.sw-bg-card:hover img { transform: scale(1.05); filter: brightness(.7); }
.sw-bg-text { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px; text-align: center; }
.sw-bg-text b { font-size: clamp(20px, 1.6vw, 24px); font-weight: 700; letter-spacing: -.01em; text-shadow: 0 2px 12px rgba(0, 0, 0, .4); transition: transform .4s ease; }
.sw-bg-text small { max-height: 0; margin-top: 0; overflow: hidden; opacity: 0; font-size: 13px; font-weight: 500; letter-spacing: 0; transition: max-height .4s ease, opacity .3s ease, margin .4s ease; }
.sw-bg-arrow { display: block; width: 34px; height: 34px; margin-top: 0; max-height: 0; overflow: hidden; border: 1px solid rgba(255, 255, 255, .8); border-radius: 50%; opacity: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h10M9 4l4 4-4 4'/%3E%3C/svg%3E") center / 16px no-repeat; transition: max-height .4s ease, opacity .3s ease, margin .4s ease; }
.sw-bg-card:hover .sw-bg-text b, .sw-bg-card.is-main .sw-bg-text b { transform: translateY(-4px); }
.sw-bg-card:hover .sw-bg-text small, .sw-bg-card.is-main .sw-bg-text small { max-height: 3em; margin-top: 10px; opacity: 1; }
.sw-bg-card:hover .sw-bg-arrow, .sw-bg-card.is-main .sw-bg-arrow { max-height: 34px; margin-top: 18px; opacity: 1; }
.sw-bg-card.is-main .sw-bg-text { justify-content: flex-start; padding-top: 72px; }
.sw-bg-card.is-main .sw-bg-text b { font-size: clamp(24px, 2vw, 30px); }
.sw-bg-card.is-main img { filter: brightness(.75); }
@media (max-width: 1024px) { .sw-bg-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; } .sw-bg-card { aspect-ratio: 4 / 3; } .sw-bg-card.is-main { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 16 / 9; } }
@media (max-width: 600px) { .sw-bg-grid { grid-template-columns: 1fr; gap: 14px; } .sw-bg { padding: 56px 16px; } }
/* 인사이트 섹션 — 옛 규칙(4188~, 4193~, 4198, 8279) 덮기 */
body .sw-insights .sw-ins-title { font-weight: 800 !important; font-size: clamp(40px, 4.2vw, 64px) !important; line-height: 1.05 !important; }
body .sw-insights .sw-insight-card { border: 1px solid #e6e6e6 !important; background: #fff !important; }
body .sw-insights .sw-insight-card:hover { border-color: #e6e6e6 !important; box-shadow: 0 16px 36px rgba(16, 47, 103, .12) !important; }
body .sw-insights .sw-insight-cat, body .sw-insights .sw-insight-more { display: block !important; }
body .sw-insights .sw-insight-card .sw-insight-thumb img { aspect-ratio: 16 / 9 !important; height: 100% !important; border-radius: 0 !important; }
body .sw-insights .sw-insight-card .sw-insight-more a::before { content: none !important; }
body .sw-insights .sw-insight-date { color: #888 !important; }
body .sw-insights .sw-ins-head { align-items: end; }

/* 2026-10-15 홈 슬로건 v3 — 글자 창이 열리면 솔루션 박스 5장(SK hynix ESG 박스 참고: 어두운 사진 + 가운데 흰 제목(바깥링크 아이콘) + 한 줄 설명 + 흰 테두리 링크 버튼). 옛 .sw-solutions 섹션은 홈에서 제거됨 */
.sw-svid-panels.is-sol { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; padding: 10px; background: #fff; }
.sw-sbox { position: relative; overflow: hidden; background: #0f1b33 var(--img) center / cover no-repeat; color: #fff; }
.sw-sbox::before { content: ""; position: absolute; inset: 0; background: rgba(5, 12, 32, .6); transition: background .35s ease; }
.sw-sbox:hover::before { background: rgba(5, 12, 32, .45); }
.sw-sbox-in { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; padding: 36px 24px; text-align: center; }
.sw-sbox-t { display: inline-flex; align-items: flex-start; gap: 6px; color: #fff; font-family: Pretendard, "Noto Sans KR", sans-serif; font-size: clamp(26px, 2.3vw, 40px); font-weight: 800; letter-spacing: -.03em; line-height: 1.1; text-decoration: none; word-break: keep-all; }
.sw-sbox-t:hover { color: #fff; text-decoration: none; }
.sw-sbox-t .sw-s { color: #ff9a4d; }
.sw-sbox-ext { flex: 0 0 auto; width: 14px; height: 14px; margin-top: 3px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-sbox-d { margin: 16px 0 0; max-width: 22em; color: rgba(255, 255, 255, .88); font-size: 15px; line-height: 1.7; word-break: keep-all; }
.sw-sbox-links { list-style: none; display: flex; flex-direction: column; gap: 10px; width: 100%; max-width: 280px; margin: 34px 0 0; padding: 0; }
.sw-sbox-links li { margin: 0; padding: 0; }
.sw-sbox-links a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 15px 18px; border: 1px solid rgba(255, 255, 255, .75); color: #fff; font-size: 15px; font-weight: 600; text-decoration: none; transition: background .25s ease, border-color .25s ease; }
.sw-sbox-links a:hover { background: rgba(255, 255, 255, .14); border-color: #fff; color: #fff; }
.sw-sbox-links a .sw-la { flex: 0 0 auto; transition: transform .25s ease; }
.sw-sbox-links a:hover .sw-la { transform: translateX(5px); }
@media (max-width: 1400px) { .sw-sbox-in { padding: 28px 16px; } .sw-sbox-links { max-width: 240px; } .sw-sbox-links a { padding: 12px 14px; font-size: 14px; } .sw-sbox-d { font-size: 14px; } }
@media (max-width: 1024px) {
  .sw-svid-wrap { height: auto; }
  .sw-svid { position: static; height: auto; }
  .sw-svid-stage { position: relative; height: 240px; }
  .sw-svid-cover { transform: none !important; opacity: 1 !important; visibility: visible !important; }
  .sw-svid-panels.is-sol { position: relative; inset: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); opacity: 1 !important; transform: none !important; filter: none !important; }
  .sw-sbox { min-height: 380px; }
  .sw-sbox:last-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) { .sw-svid-panels.is-sol { grid-template-columns: 1fr; } .sw-sbox { min-height: 340px; } }
/* 슬로건 v3 제목: 워드마크 첫 글자(.sw-s)가 flex gap 으로 떨어지던 것 → gap 0, 아이콘만 margin */
.sw-sbox-t { gap: 0; }
.sw-sbox-ext { margin-left: 7px; }
/* 2026-10-15 슬로건 덮개 깨짐 수정: 마스크 건 SVG 전체를 CSS scale 하면 Chrome 이 거대한 레이어를 타일로 그리다 흰 조각만 남는다 → 덮개는 고정(transform 없음), 글자 확대는 site.js 가 text 의 SVG transform 속성으로 */
.sw-svid-cover { transform: none !important; will-change: auto !important; }
/* 2026-10-15 슬로건 v3: 정적 2열 배치는 760px 이하(폰)만. 761~1024px(태블릿 · 브라우저 확대 상태)는 스크롤 전환을 유지하고 박스를 3열(3+2)로 */
@media (min-width: 761px) and (max-width: 1024px) {
  .sw-svid-wrap { height: 240vh; }
  .sw-svid { position: sticky; height: 100vh; }
  .sw-svid-stage { position: absolute; height: auto; }
  .sw-svid-panels.is-sol { position: absolute; inset: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: minmax(0, 1fr); opacity: calc(min(1, max(0, var(--p) - .18) / .4)) !important; filter: blur(calc((1 - min(1, max(0, var(--p) - .18) / .4)) * 10px)) !important; transform: scale(calc(.94 + min(1, max(0, var(--p) - .18) / .4) * .06)) !important; }
  .sw-sbox { min-height: 0; }
  .sw-sbox:last-child { grid-column: auto; }
  .sw-sbox-in { padding: 18px 14px; }
  .sw-sbox-t { font-size: 24px; }
  .sw-sbox-d { margin-top: 10px; font-size: 13px; line-height: 1.55; }
  .sw-sbox-links { max-width: 220px; margin-top: 16px; gap: 7px; }
  .sw-sbox-links a { padding: 9px 12px; font-size: 13px; }
}
/* 2026-10-15 슬로건 v3 반응형 점검: 761~1024px 은 열린 뒤 덮개가 남던 것(앞 블록의 opacity·visibility !important) 수정, 760px 이하는 슬로건 글자(stage)를 박스 위로, 박스 높이는 내용에 맞춤 */
@media (min-width: 761px) and (max-width: 1024px) {
  .sw-svid-cover { opacity: calc(1 - min(1, max(0, var(--p) - .74) / .16)) !important; }
  .sw-svid.is-open .sw-svid-cover { visibility: hidden !important; }
}
@media (max-width: 760px) {
  .sw-svid { display: flex; flex-direction: column; }
  .sw-svid-stage { order: -1; height: 220px; }
  .sw-svid-panels.is-sol { order: 1; }
  .sw-sbox { min-height: 0; }
  .sw-sbox-in { height: auto; padding: 40px 24px 36px; }
  .sw-sbox-links { max-width: 300px; }
}
/* 761~1024px: 3+2 배치의 아랫줄 두 박스를 가운데로(6열 그리드, 각 박스 2칸) */
@media (min-width: 761px) and (max-width: 1024px) {
  .sw-svid-panels.is-sol { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .sw-sbox { grid-column: span 2; }
  .sw-sbox:nth-child(4) { grid-column: 2 / span 2; }
}

/* 2026-10-15 밤 홈 BUSINESS 블록 v2: 사업 6개(IoT 카드 제거) — 왼쪽 큰 카드(2열×2행) + 오른쪽 2장 + 아랫줄 3장, 카드 배경은 영상(.sw-bg-video, 보일 때만 로드·재생) */
.sw-bg-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(3, 240px); }
.sw-bg-card.is-main { grid-column: 1 / span 2; grid-row: 1 / span 2; }
.sw-bg-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.55); transition: transform .8s cubic-bezier(.2, .8, .2, 1), filter .4s ease; }
.sw-bg-card:hover .sw-bg-video { transform: scale(1.05); filter: brightness(.7); }
.sw-bg-card.is-main .sw-bg-video { filter: brightness(.72); }
.sw-bg-card.is-main .sw-bg-text { justify-content: center; padding-top: 24px; }
@media (max-width: 1024px) { .sw-bg-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; } .sw-bg-card.is-main { grid-column: 1 / -1; grid-row: auto; } }
@media (max-width: 600px) { .sw-bg-grid { grid-template-columns: 1fr; } }

/* 2026-10-15 밤 채용(207) 인재상 ∞ 리본 도식(.sw-inf) — 참고안의 무한 리본을 남색→파랑→보라 한 계열로. 5조각 = '우리는 이런 동료와' 5항목. 스크롤 등장 시 조각이 순서대로 그려짐 */
.sw-inf { margin: 0 auto clamp(48px, 5vw, 72px); text-align: center; }
.sw-inf-k { margin: 0 0 10px; color: #2f6bd8; font-size: 15px; font-weight: 700; letter-spacing: 0; }
.sw-inf-title { margin: 0 0 8px; font-family: Pretendard, "Noto Sans KR", sans-serif; font-size: clamp(28px, 3.4vw, 46px); font-weight: 800; letter-spacing: -.03em; line-height: 1.25; color: #111; word-break: keep-all; }
.sw-inf-title em { font-style: normal; background-image: linear-gradient(90deg, #0d2a6b, #2f6bd8 55%, #6a3df0); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.sw-inf-svg { display: block; width: min(1000px, 100%); height: auto; margin: 0 auto; overflow: visible; }
.sw-inf-shadow { fill: none; stroke: rgba(13, 42, 107, .14); stroke-width: 96px; filter: blur(14px); transform: translateY(14px); }
.sw-inf-rib, .sw-inf-gloss { fill: none; stroke-width: 88px; stroke-linecap: butt; stroke-linejoin: round; }
.sw-inf-t { fill: #fff; font-family: Pretendard, "Noto Sans KR", sans-serif; font-size: 19px; font-weight: 800; letter-spacing: -.02em; paint-order: stroke; stroke: rgba(8, 20, 50, .18); stroke-width: 3px; stroke-linejoin: round; }
.sw-inf.is-armed .sw-inf-rib, .sw-inf.is-armed .sw-inf-gloss { stroke-dasharray: 0 100; }
.sw-inf.is-armed .sw-inf-t, .sw-inf.is-armed .sw-inf-shadow { opacity: 0; }
.sw-inf.is-in .sw-inf-rib, .sw-inf.is-in .sw-inf-gloss { animation: sw-inf-draw 1.1s cubic-bezier(.2, .8, .2, 1) both; animation-delay: calc(var(--i) * .22s); }
.sw-inf.is-in .sw-inf-t { animation: sw-inf-fade .6s ease both; animation-delay: calc(var(--i, 0) * .22s + .7s); }
.sw-inf.is-in .sw-inf-shadow { animation: sw-inf-fade 1.2s ease both .9s; }
.sw-inf-t.is-0 { --i: 0; } .sw-inf-t.is-1 { --i: 1; } .sw-inf-t.is-2 { --i: 2; } .sw-inf-t.is-3 { --i: 3; } .sw-inf-t.is-4 { --i: 4; }
@keyframes sw-inf-draw { from { stroke-dasharray: 0 100; } to { stroke-dasharray: 19.1 100; } }
@keyframes sw-inf-fade { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 760px) { .sw-inf-t { font-size: 26px; } .sw-inf-rib, .sw-inf-gloss { stroke-width: 110px; } .sw-inf-shadow { stroke-width: 118px; } }
@media (prefers-reduced-motion: reduce) { .sw-inf.is-armed .sw-inf-rib, .sw-inf.is-armed .sw-inf-gloss { stroke-dasharray: 19.1 100; } .sw-inf.is-armed .sw-inf-t, .sw-inf.is-armed .sw-inf-shadow { opacity: 1; } .sw-inf .sw-inf-rib, .sw-inf .sw-inf-gloss, .sw-inf .sw-inf-t, .sw-inf .sw-inf-shadow { animation: none !important; } }

/* 2026-10-15 밤 홈 BUSINESS v3(SK이노베이션 참고): 열 구조 — 왼쪽 큰 카드 | 가운데 3장 | 오른쪽 2장. 열 안에서 올린 카드가 세로로 커지고 형제가 줄어든다 */
.sw-bg-grid.is-cols { display: grid; grid-template-columns: 1.33fr 1fr 1fr; grid-template-rows: none; height: 760px; gap: 26px; }
.sw-bg-col { display: flex; flex-direction: column; gap: 26px; min-height: 0; }
.sw-bg-col .sw-bg-card { flex: 1 1 0; min-height: 0; transition: flex-grow .7s cubic-bezier(.2, .8, .2, 1); }
.sw-bg-col.is-main .sw-bg-card { flex: 1 1 auto; height: 100%; }
.sw-bg-col:not(.is-main) .sw-bg-card:hover { flex-grow: 2.4; }
.sw-bg-grid.is-cols .sw-bg-card.is-main { grid-column: auto; grid-row: auto; }
@media (max-width: 1024px) { .sw-bg-grid.is-cols { grid-template-columns: 1fr 1fr; height: auto; } .sw-bg-col.is-main { grid-column: 1 / -1; } .sw-bg-col .sw-bg-card, .sw-bg-col:not(.is-main) .sw-bg-card:hover { flex: none; aspect-ratio: 4 / 3; } .sw-bg-col.is-main .sw-bg-card { height: auto; aspect-ratio: 16 / 9; } }
@media (max-width: 600px) { .sw-bg-grid.is-cols { grid-template-columns: 1fr; } }

/* 사업분야 MAIN SERVICE OFFERINGS: 큰 제목이 선택한 사업명으로 바뀐다. 왼쪽 설명의 h3 는 분류 문구(small)만 남김 */
.sw-offer-title.is-dyn { text-transform: none; letter-spacing: -.03em; }
.sw-offer-title.is-swap { animation: sw-offer-swap .45s cubic-bezier(.2, .8, .2, 1); }
@keyframes sw-offer-swap { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.sw-offer-text .sw-offer-name { display: none; }
.sw-offer-text h3 { margin-bottom: 14px; }
.sw-offer-text h3 small { margin-bottom: 0; }

/* 채용 인재상 도식 v2(.sw-inf.is-v2): 스카이웨어 로고 심볼(W 리본 + 화살표 삼각형) 모양. 리본 5조각 + 글 칩 */
.sw-inf-base { fill: none; stroke-width: 96px; stroke-linecap: round; stroke-linejoin: round; }
.sw-inf.is-v2 .sw-inf-rib, .sw-inf.is-v2 .sw-inf-gloss { stroke-width: 96px; stroke-linecap: butt; }
.sw-inf.is-v2 .sw-inf-shadow { stroke-width: 100px; stroke-linecap: round; stroke: rgba(13, 42, 107, .16); filter: blur(16px); transform: translateY(18px); }
.sw-inf-tri { fill: url(#sw-inf-g2); }
.sw-inf-chip rect { fill: rgba(10, 22, 52, .9); }
.sw-inf-chip text { fill: #fff; font-family: Pretendard, "Noto Sans KR", sans-serif; font-size: 18px; font-weight: 700; letter-spacing: -.02em; }
.sw-inf.is-armed .sw-inf-chip, .sw-inf.is-armed .sw-inf-tri, .sw-inf.is-armed .sw-inf-base { opacity: 0; }
.sw-inf.is-in .sw-inf-base { animation: sw-inf-fade .4s ease both; }
.sw-inf.is-in .sw-inf-chip { animation: sw-inf-fade .5s ease both; animation-delay: calc(var(--i, 0) * .22s + .6s); }
.sw-inf.is-in .sw-inf-tri { animation: sw-inf-fade .6s ease both 1.25s; }
.sw-inf.is-v2 .sw-inf-svg { width: min(900px, 100%); }
@media (max-width: 760px) { .sw-inf-chip text { font-size: 24px; } .sw-inf-chip rect { transform: scale(1.25); transform-box: fill-box; transform-origin: center; } }
@media (prefers-reduced-motion: reduce) { .sw-inf.is-armed .sw-inf-chip, .sw-inf.is-armed .sw-inf-tri, .sw-inf.is-armed .sw-inf-base { opacity: 1; } .sw-inf .sw-inf-chip, .sw-inf .sw-inf-tri, .sw-inf .sw-inf-base { animation: none !important; } }

/* 홈 Our Expertise: 3패널 → 핵심 역량 5패널(Planning · Design · Development · Operation · AI & Data). 닫힌 패널 제목은 조금 작게, 한글 분류 라벨 .sw-slogan-cap */
.sw-slogan-cap { display: block; margin-top: 10px; color: #8fc8ff; font-style: normal; font-size: 15px; font-weight: 700; }
.sw-slogan-panel:not(.is-open) .sw-slogan-text b { font-size: clamp(20px, 1.8vw, 30px) !important; }
.sw-slogan-panel:not(.is-open) .sw-slogan-cap { font-size: 13px; }
.sw-slogan-panel.is-open .sw-slogan-cap { font-size: 16px; }
@media (max-width: 900px) { .sw-slogan-panel:not(.is-open) .sw-slogan-text b { font-size: 24px !important; } }

/* 홈 솔루션 박스: 사진이 너무 어둡다 → 덮개를 옅게(사진 교체 전 임시) */
.sw-sbox::before { background: linear-gradient(180deg, rgba(5, 12, 32, .22), rgba(5, 12, 32, .5)); }
.sw-sbox:hover::before { background: linear-gradient(180deg, rgba(5, 12, 32, .15), rgba(5, 12, 32, .42)); }
/* 인재상 도식 v2 보정: 리본을 로고 비율(가늘게)로, 글 칩은 바깥 여백 + 가는 연결선 · 점 */
.sw-inf.is-v2 .sw-inf-rib, .sw-inf.is-v2 .sw-inf-gloss, .sw-inf-base { stroke-width: 54px; }
.sw-inf.is-v2 .sw-inf-shadow { stroke-width: 58px; }
.sw-inf-lead { fill: none; stroke: #a9b9dc; stroke-width: 1.5px; }
.sw-inf-dot { fill: #fff; stroke: #2f6bd8; stroke-width: 3px; }
.sw-inf.is-v2 .sw-inf-svg { width: min(960px, 100%); }
/* 홈 Expertise 패널: 핵심 역량 세부 항목(.sw-slogan-list) — 열린 패널에서만 체크 목록으로 */
.sw-slogan-list { list-style: none; width: 100%; max-width: 30em; margin: 0; padding: 0; max-height: 0; opacity: 0; overflow: hidden; text-align: left; transition: max-height .6s ease, opacity .4s ease .15s, margin .4s ease; }
.sw-slogan-panel.is-open .sw-slogan-list { max-height: 14em; margin-top: 22px; opacity: 1; }
.sw-slogan-list li { position: relative; margin: 0 0 8px; padding-left: 28px; color: rgba(255, 255, 255, .92); font-size: 15px; line-height: 1.55; word-break: keep-all; }
.sw-slogan-list li::before { content: ""; position: absolute; left: 0; top: .2em; width: 18px; height: 18px; border-radius: 50%; background: rgba(255, 255, 255, .18); -webkit-mask: none; }
.sw-slogan-list li::after { content: ""; position: absolute; left: 4px; top: calc(.2em + 4px); width: 10px; height: 10px; background: #8fc8ff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-slogan-panel.is-open .sw-slogan-text > span { max-height: 8em; }
@media (max-width: 900px) { .sw-slogan-panel.is-open { height: 420px; } .sw-slogan-list li { font-size: 14px; } }
/* 2026-10-15 밤 채용 '우리가 일하는 방식'(#way): 애니메이션 전부 제거(사용자 요청) — 타자 커서, 흐르는 그라데이션 라벨, 항목 등장 효과 */
#way .sw-type::after, #way .sw-type.is-typing::after { display: none !important; animation: none !important; }
#way .sw-ten-eyebrow, .sw-ten-sec .sw-ten-eyebrow, #way .sw-rc-no { animation: none !important; background: none !important; -webkit-text-fill-color: #2f6bd8 !important; color: #2f6bd8 !important; }
#way .sw-ten.is-armed li, #way .sw-ten.is-armed li::before, #way .sw-ten.is-armed li::after, #way .sw-ten.is-in li, #way .sw-ten.is-in li::before, #way .sw-ten.is-in li::after { opacity: 1 !important; transform: none !important; animation: none !important; }
#way .sw-ten li b { animation: none !important; }

/* 인재상 도식 v4: 처음의 ∞ 리본으로 복귀(사용자: "무제한 인피니티 로고처럼 해줘도 좋은데", "검정 바탕이 이상해") — 글자는 리본 조각 안에 흰 글씨, 칩 없음 */
.sw-inf.is-v4 .sw-inf-rib, .sw-inf.is-v4 .sw-inf-gloss { stroke-width: 104px; stroke-linecap: butt; }
.sw-inf.is-v4 .sw-inf-shadow { stroke-width: 110px; stroke: rgba(13, 42, 107, .14); filter: blur(14px); transform: translateY(16px); }
.sw-inf.is-v4 .sw-inf-t { font-size: 17.5px; font-weight: 800; fill: #fff; paint-order: stroke; stroke: rgba(8, 20, 50, .22); stroke-width: 3px; }
.sw-inf.is-v4 .sw-inf-svg { width: min(960px, 100%); overflow: visible; }
.sw-inf.is-v4 .sw-inf-title { margin-bottom: 18px; }
@media (max-width: 760px) { .sw-inf.is-v4 .sw-inf-rib, .sw-inf.is-v4 .sw-inf-gloss { stroke-width: 118px; } .sw-inf.is-v4 .sw-inf-t { font-size: 24px; } }

/* 홈 BUSINESS: 배경을 밝게(사용자 요청) — 연한 회청 바탕, 어두운 부제, 그리드 폭 1440 */
.sw-bg { background: #f3f5f9; color: #111; }
.sw-bg-sub { color: #444; }
.sw-bg-inner { width: min(1440px, 100%); }
.sw-bg-card { background: #dfe5ef; }
.sw-bg-video { filter: brightness(.64); }
.sw-bg-card.is-main .sw-bg-video { filter: brightness(.78); }
/* 2026-10-15 밤 채용(207): 타자 효과 전부 제거 — 커서 숨김(JS 도 207 에서는 건너뜀). WHO WE ARE 궤도 그래픽은 본문에서 삭제 */
body.page-id-207 .sw-type::after, body.page-id-207 .sw-type.is-typing::after, body.page-id-207 .sw-typeonce-caret, body.page-id-207 .sw-type-cursor { display: none !important; }
body.page-id-207 .sw-people-grid { justify-content: flex-start; }

/* 홈 첫 화면 로고 애니메이션(.sw-vhero-logo): 스카이웨어 심볼(W 리본 + 화살표)을 흰 선으로 그렸다 지우기를 반복. 오른쪽 아래, 글과 겹치지 않게 */
.sw-vhero-logo { position: absolute; right: 4vw; bottom: 9vh; z-index: 2; width: clamp(220px, 24vw, 460px); pointer-events: none; opacity: .92; }
.sw-vlogo { display: block; width: 100%; height: auto; overflow: visible; }
.sw-vlogo-rib { stroke: url(#sw-vlogo-g); stroke-width: 26; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; animation: sw-vlogo-draw 7s cubic-bezier(.4, 0, .2, 1) infinite; }
.sw-vlogo-glow { stroke: #7cc0f2; stroke-width: 34; stroke-linecap: round; stroke-linejoin: round; opacity: .55; stroke-dasharray: 1; stroke-dashoffset: 1; animation: sw-vlogo-draw 7s cubic-bezier(.4, 0, .2, 1) infinite; }
.sw-vlogo-tri { fill: url(#sw-vlogo-g); opacity: 0; transform-origin: 764px 240px; animation: sw-vlogo-tri 7s ease infinite; }
@keyframes sw-vlogo-draw { 0% { stroke-dashoffset: 1; } 38% { stroke-dashoffset: 0; } 72% { stroke-dashoffset: 0; } 92% { stroke-dashoffset: -1; } 100% { stroke-dashoffset: -1; } }
@keyframes sw-vlogo-tri { 0%, 30% { opacity: 0; transform: scale(.6); } 42% { opacity: 1; transform: scale(1); } 72% { opacity: 1; transform: scale(1); } 86%, 100% { opacity: 0; transform: scale(.9); } }
@media (max-width: 1024px) { .sw-vhero-logo { right: 16px; bottom: 96px; width: 160px; opacity: .8; } }
@media (max-width: 640px) { .sw-vhero-logo { display: none; } }
@media (prefers-reduced-motion: reduce) { .sw-vlogo-rib, .sw-vlogo-glow { animation: none; stroke-dashoffset: 0; } .sw-vlogo-tri { animation: none; opacity: 1; transform: none; } }
/* 인재상 ∞ 글씨 크게(사용자 요청) · 홈 첫 화면 로고 선 두께 보강 */
.sw-inf.is-v4 .sw-inf-rib, .sw-inf.is-v4 .sw-inf-gloss { stroke-width: 114px; }
.sw-inf.is-v4 .sw-inf-shadow { stroke-width: 120px; }
.sw-inf.is-v4 .sw-inf-t { font-size: 21.5px; }
@media (max-width: 760px) { .sw-inf.is-v4 .sw-inf-rib, .sw-inf.is-v4 .sw-inf-gloss { stroke-width: 126px; } .sw-inf.is-v4 .sw-inf-t { font-size: 27px; } }
.sw-vlogo-rib { stroke-width: 40; }
.sw-vlogo-glow { stroke-width: 54; }
/* 2026-10-15 밤 푸터 SOLUTION SITE 드롭다운이 떠 있는 버튼(.sw-fab · 클로비)에 가려짐 → 열리면 드롭다운을 위로 올리고, 떠 있는 버튼은 잠시 숨김 */
.sw-foot2-family[open] { position: relative; z-index: 120; }
body:has(.sw-foot2-family[open]) .sw-fab, body:has(.sw-foot2-family[open]) .sw-clouvi { opacity: 0; pointer-events: none; transition: opacity .2s ease; }
/* 홈 첫 화면 로고 애니메이션 크게 */
.sw-vhero-logo { width: clamp(280px, 34vw, 660px); right: 3vw; bottom: 7vh; }
@media (max-width: 1024px) { .sw-vhero-logo { width: 220px; } }
/* 2026-10-15 밤 대표인사말(54 · 1308): '우리의 약속' 삭제 후 오른쪽이 비어 → 인용 카드를 위로, 본문은 옆 여백 없이 전체 폭 + 글씨 크게(사용자: "넓게, 옆에 여백 없이", "글씨 크게") */
.wp-block-columns:has(.sw-ceo-body) { flex-wrap: wrap !important; gap: 0 !important; }
.wp-block-columns:has(.sw-ceo-body) > .wp-block-column { flex-basis: 100% !important; width: 100% !important; }
.wp-block-columns:has(.sw-ceo-body) > .wp-block-column:has(.sw-ceo-visual) { order: -1; margin-bottom: 40px; }
.sw-ceo-visual { position: static !important; top: auto !important; }
.sw-ceo-body { max-width: none !important; }
.sw-ceo-body p { font-size: calc(20px + 1pt) !important; line-height: 1.95 !important; }
.sw-ceo-body p.sw-ceo-sign { font-size: calc(17px + 1pt) !important; }
.sw-ceo-body p.sw-ceo-sign strong { font-size: calc(22px + 1pt) !important; }
@media (max-width: 781px) { .sw-ceo-body p { font-size: calc(17px + 1pt) !important; line-height: 1.85 !important; } }
/* 2026-10-15 밤 뉴스룸 조회수 · 좋아요(.sw-stats): 눈 · 따봉 아이콘 + 숫자. 글 상세 메타의 따봉은 버튼(.sw-like-btn), 누르면 파랑 채움 */
.sw-stats { display: inline-flex; align-items: center; gap: 14px; margin-top: 10px; color: #8a8f99; font-size: 13px; font-weight: 600; letter-spacing: 0; }
.sw-stat { display: inline-flex; align-items: center; gap: 5px; line-height: 1; }
.sw-stat i { display: inline-block; width: 15px; height: 15px; background: currentColor; }
.sw-stat-views i { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-stat-like i { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10v12'/%3E%3Cpath d='M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10v12'/%3E%3Cpath d='M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-nr-slide-text .sw-stats { margin-top: 14px; }
.sw-nr-body .sw-stats { margin-top: 8px; }
.sw-like-btn { padding: 7px 12px; border: 1px solid #d9dde5; background: #fff; color: #555; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; transition: border-color .2s ease, background .2s ease, color .2s ease; }
.sw-like-btn:hover { border-color: #111; color: #111; }
.sw-like-btn.is-liked { border-color: #2f6bd8; background: #2f6bd8; color: #fff; cursor: default; }
.sw-like-btn.is-pop i { animation: sw-like-pop .45s cubic-bezier(.3, 1.6, .5, 1); }
@keyframes sw-like-pop { 0% { transform: scale(1); } 40% { transform: scale(1.45) rotate(-12deg); } 100% { transform: scale(1); } }
.sw-post-meta .sw-stats { margin: 0 0 0 10px; font-size: 14px; }
.sw-post-meta .sw-stat-views { padding: 7px 0; }
/* 홈 Expertise: 연 패널 제목이 확 커짐(사용자 요청) */
.sw-slogan-text b { transition: font-size .55s cubic-bezier(.2, .8, .2, 1), transform .4s ease; }
.sw-slogan-panel.is-open .sw-slogan-text b { font-size: clamp(40px, 4.8vw, 76px) !important; line-height: 1.1; }
@media (max-width: 900px) { .sw-slogan-panel.is-open .sw-slogan-text b { font-size: 36px !important; } }
/* 2026-10-15 밤 홈 BUSINESS 섹션이 100vw + 좌우 padding 으로 화면보다 48px 넓어 오른쪽 열이 잘리던 것 → border-box. 좁은 폭에서 카드 높이도 정리 */
.sw-bg { box-sizing: border-box; }
@media (max-width: 1024px) { .sw-bg-grid.is-cols { gap: 16px; } .sw-bg-col { gap: 16px; } .sw-bg-col .sw-bg-card, .sw-bg-col:not(.is-main) .sw-bg-card:hover { aspect-ratio: 16 / 10; } }
@media (max-width: 600px) { .sw-bg-col .sw-bg-card, .sw-bg-col:not(.is-main) .sw-bg-card:hover, .sw-bg-col.is-main .sw-bg-card { aspect-ratio: 16 / 9; } }
/* 홈 BUSINESS 1024px 이하: 열 구조를 풀어 작은 카드 5장을 2열로(3+2 열이면 한쪽이 비던 것), 마지막 카드는 전폭 */
@media (max-width: 1024px) {
  .sw-bg-col:not(.is-main) { display: contents; }
  .sw-bg-grid.is-cols { grid-template-columns: 1fr 1fr; }
  .sw-bg-col:last-child .sw-bg-card:last-child { grid-column: 1 / -1; aspect-ratio: 16 / 7; }
}
@media (max-width: 600px) {
  .sw-bg-grid.is-cols { grid-template-columns: 1fr; }
  .sw-bg-col:last-child .sw-bg-card:last-child { aspect-ratio: 16 / 9; }
}
/* 조회수 · 따봉 간격: 뉴스룸 카드/슬라이드의 span 공통 규칙이 덮어써 붙어 보이던 것 → 표시 방식과 간격을 강제 */
.sw-nr-slide-text .sw-stats, .sw-nr-body .sw-stats, .sw-post-meta .sw-stats { display: inline-flex !important; align-items: center !important; gap: 0 !important; max-height: none !important; opacity: 1 !important; font-size: 13px !important; line-height: 1 !important; color: #8a8f99 !important; }
.sw-nr-slide-text .sw-stat, .sw-nr-body .sw-stat, .sw-post-meta .sw-stat { display: inline-flex !important; align-items: center !important; gap: 5px !important; margin: 0 !important; padding: 0 !important; max-height: none !important; opacity: 1 !important; }
.sw-stat + .sw-stat { margin-left: 16px !important; }
.sw-post-meta .sw-like-btn { padding: 7px 12px !important; }
.sw-nr-slide-text .sw-stat i, .sw-nr-body .sw-stat i { width: 15px !important; height: 15px !important; margin: 0 !important; }
/* 사업분야 OFFERINGS 왼쪽 분류 문구(h3 small)를 큰 소제목으로(사용자: "글씨 크기 10배로") */
.sw-offer-text h3 { padding-left: 34px; margin-bottom: 18px; }
.sw-offer-text h3::before { top: .35em; width: 18px; height: 18px; }
.sw-offer-text h3 small { font-size: clamp(24px, 2.1vw, 32px); font-weight: 800; color: #111; letter-spacing: -.02em; line-height: 1.3; }
.sw-offer-text p { font-size: 17px; }
@media (max-width: 900px) { .sw-offer-text h3 small { font-size: 22px; } }
/* 2026-10-15 밤 솔루션 박스 사진을 밝은 사진으로 교체(사용자: "너무 시커먼데 밝은 이미지로") → 글자 · 버튼을 짙은 남색으로, 덮개는 옅은 흰 베일 */
.sw-sbox::before, .sw-sbox:hover::before { background: linear-gradient(180deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, .42) 55%, rgba(255, 255, 255, .3)); }
.sw-sbox:hover::before { background: linear-gradient(180deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .34) 55%, rgba(255, 255, 255, .22)); }
.sw-sbox, .sw-sbox-t, .sw-sbox-t:hover { color: #0f1b33; }
.sw-sbox-t { text-shadow: 0 1px 0 rgba(255, 255, 255, .6); }
.sw-sbox-d { color: #243047; font-weight: 500; text-shadow: 0 1px 0 rgba(255, 255, 255, .5); }
.sw-sbox-links a { border-color: rgba(15, 27, 51, .55); background: rgba(255, 255, 255, .55); color: #0f1b33; }
.sw-sbox-links a:hover { border-color: #0f1b33; background: #0f1b33; color: #fff; }
.sw-sbox.is-ai .sw-sbox-d, .sw-sbox.is-ai .sw-sbox-t { color: #1a1f4d; }
/* 로고 없는 사례 카드의 글자 로고(.sw-text-logo): 색 네모 안 첫 글자 + 고객사 이름 워드마크. 포트폴리오 타일 · 사례 검색 카드 공통 */
.sw-tile-img.is-text-logo { display: flex; align-items: center; justify-content: center; background: #f5f7fb; }
.sw-text-logo { display: inline-flex; align-items: center; gap: 12px; max-width: 86%; padding: 0 8px; color: var(--c, #1f4f9f); font-family: Pretendard, "Noto Sans KR", sans-serif; letter-spacing: -.02em; }
.sw-text-logo i { flex: 0 0 auto; display: grid; place-items: center; width: 44px; height: 44px; background: var(--c, #1f4f9f); color: #fff; font-style: normal; font-size: 22px; font-weight: 800; }
.sw-text-logo b { font-size: clamp(18px, 1.5vw, 24px); font-weight: 800; line-height: 1.2; word-break: keep-all; }
.sw-case-card .sw-case-mono { color: #0f1b33; font-size: 1.25rem; font-weight: 800; letter-spacing: -.02em; }
@media (max-width: 640px) { .sw-text-logo i { width: 36px; height: 36px; font-size: 18px; } .sw-text-logo b { font-size: 17px; } }
/* 채용(207) 여러 줄 타자 효과(.sw-type-ml)도 제거 — 커서 숨김 */
body.page-id-207 .sw-type-ml::after, body.page-id-207 .sw-type-ml .sw-type-cursor, body.page-id-207 .sw-type-ml.is-typing::after { display: none !important; }
/* 솔루션 박스: 올리면 색감이 바뀜(사용자: "누르면 색감이 변해야지") — 흰 베일 → 파랑·보라 틴트, 글자 · 버튼 흰색 */
.sw-sbox::before { transition: background .45s ease; }
.sw-sbox:hover::before { background: linear-gradient(180deg, rgba(47, 107, 216, .62), rgba(106, 61, 240, .7)) !important; }
.sw-sbox, .sw-sbox-t, .sw-sbox-d, .sw-sbox-links a { transition: color .35s ease, border-color .35s ease, background .35s ease; }
.sw-sbox:hover, .sw-sbox:hover .sw-sbox-t, .sw-sbox:hover .sw-sbox-d, .sw-sbox.is-ai:hover .sw-sbox-t, .sw-sbox.is-ai:hover .sw-sbox-d { color: #fff; text-shadow: none; }
.sw-sbox:hover .sw-sbox-links a { border-color: rgba(255, 255, 255, .8); background: rgba(255, 255, 255, .12); color: #fff; }
.sw-sbox:hover .sw-sbox-links a:hover { background: #fff; color: #2f3fb0; border-color: #fff; }
.sw-sbox:hover .sw-s { color: #ffb270; }
/* 솔루션 박스 올렸을 때 틴트를 더 어둡게(사용자: "누르면 좀 명도 어두운 색으로") */
.sw-sbox:hover::before { background: linear-gradient(180deg, rgba(20, 44, 120, .72), rgba(58, 30, 150, .8)) !important; }
.sw-sbox:hover .sw-sbox-links a { background: rgba(255, 255, 255, .08); }
/* 2026-10-15 밤 홈 포트폴리오 캐러셀(.sw-pfs-card) 폰 폭: 2열 규칙(.is-photo 등)이 이겨 글이 잘리던 것 → 781px 이하는 1열(사진 위 · 글 아래), 카드 폭은 화면 맞춤 */
@media (max-width: 781px) {
  .sw-pfs-track { gap: 16px; padding-inline: 16px; }
  .sw-pfs-card, .sw-pfs-card.is-photo, .sw-pfs-card.is-logo, .sw-pfs-card.is-dark, .sw-pfs-card.is-light { flex: 0 0 calc(100vw - 32px) !important; display: flex !important; flex-direction: column !important; min-height: 0 !important; }
  .sw-pfs-card .sw-pfs-shot, .sw-pfs-card.is-photo .sw-pfs-shot { order: -1; width: 100% !important; height: 220px !important; padding: 0 !important; }
  .sw-pfs-card.is-logo .sw-pfs-shot { height: 160px !important; padding: 24px !important; }
  .sw-pfs-card .sw-pfs-text { width: 100% !important; padding: 24px 22px 26px !important; }
  .sw-pfs-card .sw-pfs-title { font-size: 22px !important; }
}


/* 2026-10-16: 회사소개(54) 배너 아래 탭 바 — 사업분야 탭처럼 두 줄(위 작은 영문명, 아래 굵은 한글). */
.sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-height: 108px; padding: 14px 24px; line-height: 1.3; }
.sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link small { color: rgba(255, 255, 255, .78); font-size: calc(.8rem + 1pt); font-weight: 500; line-height: 1.4; letter-spacing: 0; }
.sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link b { font-size: calc(1.08rem + 1pt); font-weight: 800; line-height: 1.3; letter-spacing: -.01em; }
.sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link.is-current small { color: rgba(255, 255, 255, .88); }
@media (max-width: 1024px) {
  .sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link { min-height: 84px; padding: 10px 16px; }
  .sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link b { font-size: calc(.98rem + 1pt); }
  .sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link small { font-size: calc(.72rem + 1pt); }
}


/* 2026-10-16: 홈 솔루션 박스 링크 버튼 — 올리면 흰색이 왼쪽부터 서서히 차오른다(SK hynix 참고). 배경색 즉시 전환은 끄고 ::before 가 채운다. */
.sw-sbox .sw-sbox-links a { position: relative; overflow: hidden; isolation: isolate; }
.sw-sbox .sw-sbox-links a::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #fff; transform: scaleX(0); transform-origin: left center; transition: transform .5s cubic-bezier(.22, .61, .36, 1); }
.sw-sbox .sw-sbox-links a:hover::before, .sw-sbox .sw-sbox-links a:focus-visible::before, .sw-sbox .sw-sbox-links a:active::before { transform: scaleX(1); }
.sw-sbox:hover .sw-sbox-links a:hover, .sw-sbox .sw-sbox-links a:hover, .sw-sbox .sw-sbox-links a:focus-visible { background: rgba(255, 255, 255, .08); border-color: #fff; color: #2f3fb0; transition: color .3s ease .12s, border-color .3s ease, background .3s ease; }
.sw-sbox .sw-sbox-links a .sw-la { transition: transform .4s cubic-bezier(.22, .61, .36, 1); }


/* 2026-10-16: 채용(207) 인재상 ∞ 리본 입체감 — 조각마다 떨어지는 그림자(교차부에서 위 조각이 아래 조각에 그림자를 드리움) + 짙어진 바닥 그림자 + 글자 그림자. 광택 그라데이션(#sw-inf-sh)은 본문에서 대비를 올림. */
.sw-inf.is-v4 .sw-inf-seg { filter: drop-shadow(0 16px 14px rgba(13, 42, 107, .30)) drop-shadow(0 3px 3px rgba(5, 15, 40, .24)); }
.sw-inf.is-v4 .sw-inf-shadow { stroke: rgba(13, 42, 107, .22); filter: blur(22px); transform: translateY(34px) scaleY(.96); transform-origin: center; }
.sw-inf.is-v4 .sw-inf-t { filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .35)); }
.sw-inf.is-v4 .sw-inf-gloss { stroke-width: 108px; }
@media (max-width: 760px) { .sw-inf.is-v4 .sw-inf-gloss { stroke-width: 120px; } .sw-inf.is-v4 .sw-inf-seg { filter: drop-shadow(0 10px 10px rgba(13, 42, 107, .28)); } }


/* 2026-10-16: AX(831) · AI(62) 'AX Services / AI Services' 서비스 목록 — SK AX 참고안처럼 분류 소제목(회색) + 불릿 목록, 가로선으로 묶음 구분. 상자 없음. */
.sw-axs-sec { padding-top: clamp(40px, 5vw, 72px) !important; padding-bottom: clamp(32px, 4vw, 56px) !important; background: #fff; }
.sw-axs { font-family: Pretendard, "Noto Sans KR", sans-serif; }
.sw-axs-title { margin: 0 0 8px; font-size: clamp(24px, 2.2vw, 32px); font-weight: 800; letter-spacing: -.02em; color: #111; }
.sw-axs-title a { display: inline-flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
.sw-axs-title a .sw-la { width: 22px; height: 22px; }
.sw-axs-title a:hover { color: #2f6bd8; }
.sw-axs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 48px; padding: 28px 0 36px; border-bottom: 1px solid #e3e7ee; }
.sw-axs-grid.is-wide { grid-template-columns: 1fr; border-bottom: 0; padding-bottom: 8px; }
.sw-axs-col h3 { margin: 0 0 14px; color: #8a93a3; font-size: 15px; font-weight: 600; letter-spacing: 0; }
.sw-axs-col ul { list-style: none; margin: 0; padding: 0; }
.sw-axs-grid.is-wide .sw-axs-col ul { columns: 3; column-gap: 48px; }
.sw-axs-col li { position: relative; margin: 0 0 14px; padding-left: 18px; color: #1b1f27; font-size: 17px; line-height: 1.45; break-inside: avoid; word-break: keep-all; }
.sw-axs-col li::before { content: ""; position: absolute; left: 0; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: #1b1f27; }
@media (max-width: 1024px) { .sw-axs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sw-axs-grid.is-wide .sw-axs-col ul { columns: 2; } }
@media (max-width: 640px) { .sw-axs-grid, .sw-axs-grid.is-wide .sw-axs-col ul { grid-template-columns: 1fr; columns: 1; } .sw-axs-col li { font-size: 16px; } }


/* 2026-10-16: 홈 Expertise 패널 — 열린 패널을 더 넓게(닫힌 패널은 좁은 띠로), 닫힌 패널의 제목(AI & Data 등)은 띠의 세로 가운데에. 참고안(SK AX 디지털 컨설팅 패널)처럼 열린 사진이 화면 대부분을 차지. */
.sw-slogan-panel.is-open { flex: 5.4 1 0; }
.sw-slogan-panel:not(.is-open) .sw-slogan-text { justify-content: center; padding: 0 14px; }
.sw-slogan-panel:not(.is-open) .sw-slogan-text b { font-size: clamp(17px, 1.45vw, 26px) !important; white-space: normal; line-height: 1.2; }
.sw-slogan-panel:not(.is-open) .sw-slogan-cap { font-size: 12.5px; margin-top: 6px; }
.sw-slogan-panel.is-open .sw-slogan-text { padding: clamp(48px, 7vw, 110px) clamp(32px, 5vw, 80px) 0; }
@media (max-width: 900px) { .sw-slogan-panel:not(.is-open) .sw-slogan-text { justify-content: center; } }


/* 2026-10-16: 영어 헤더 — 영문 메뉴 라벨이 길어 1500px 에서 두 줄로 꺾이던 것을 간격 · 글자 크기를 줄여 한 줄로. */
html[lang^="en"] .sw-site-header .sw-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container { gap: clamp(14px, 1.4vw, 34px); flex-wrap: nowrap; }
html[lang^="en"] .sw-site-header .sw-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-size: clamp(15px, calc(.9vw + 4px), 19px); white-space: nowrap; }
html[lang^="en"] .sw-site-header .sw-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .sw-nav-support > .wp-block-navigation-item__content { white-space: nowrap; }
html[lang^="en"] .sw-site-header .sw-header-cta .wp-block-button__link { white-space: nowrap; }


/* 2026-10-16: 홈 히어로 점 아래 번호 목록(.sw-vhero-list) — 01 제목 · 02 제목 …, 현재 장 밑줄이 넘김 간격 동안 왼쪽부터 차오름, 끝에 일시정지 · 재생 (SK AX 참고). 점 알약은 위로 올림. */
.sw-vhero-dots { bottom: 96px !important; }
.sw-vhero-list { position: absolute; left: 50%; bottom: 34px; z-index: 5; display: flex; align-items: center; gap: 36px; margin: 0; padding: 0; list-style: none; transform: translateX(-50%); pointer-events: auto; font-family: Pretendard, "Noto Sans KR", sans-serif; }
.sw-vhero-list li { margin: 0; padding: 0; }
.sw-vhero-list button { position: relative; display: flex; align-items: baseline; gap: 10px; padding: 0 2px 12px; border: 0; background: none; color: rgba(255, 255, 255, .5); font-size: 16px; font-weight: 700; letter-spacing: -.01em; white-space: nowrap; cursor: pointer; transition: color .3s ease; }
.sw-vhero-list button small { font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, .38); transition: color .3s ease; }
.sw-vhero-list button:hover { color: rgba(255, 255, 255, .85); }
.sw-vhero-list li.is-current button { color: #fff; }
.sw-vhero-list li.is-current button small { color: rgba(255, 255, 255, .8); }
.sw-vhero-list li:not(.sw-vhero-pause) button::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: rgba(255, 255, 255, .16); }
.sw-vhero-list li:not(.sw-vhero-pause) button::before { content: ""; position: absolute; left: 0; bottom: 0; z-index: 1; width: 100%; height: 2px; background: #fff; transform: scaleX(0); transform-origin: left center; }
.sw-vhero-list li.is-current.is-live button::before { animation: sw-vhero-line var(--sw-ring-time, 6000ms) linear forwards; }
.sw-vhero.is-held .sw-vhero-list li.is-live button::before { animation-play-state: paused; }
@keyframes sw-vhero-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.sw-vhero-pause button { display: flex; align-items: center; gap: 4px; padding: 4px 6px 16px; opacity: .75; }
.sw-vhero-pause button:hover { opacity: 1; }
.sw-vhero-pause button i { display: block; width: 3px; height: 14px; border-radius: 1px; background: #fff; }
.sw-vhero-pause button[aria-pressed="true"] i:first-child { width: 0; height: 0; border-radius: 0; border-left: 12px solid #fff; border-top: 7px solid transparent; border-bottom: 7px solid transparent; background: none; }
.sw-vhero-pause button[aria-pressed="true"] i:last-child { display: none; }
@media (max-width: 900px) { .sw-vhero-list { display: none; } .sw-vhero-dots { bottom: 44px !important; } }
@media (prefers-reduced-motion: reduce) { .sw-vhero-list li.is-current button::before { transform: scaleX(1); animation: none !important; } }


/* 2026-10-16: 문의 상자(.sw-cta) — 검은 띠 대신 진남색 띠 + 오른쪽에 개기월식처럼 어두운 원과 밝은 테두리 빛(코로나), 푸른 빛 번짐. 참고안의 검정 · 황동색 빛을 블루 계열로. */
.sw-cta.sw-cta.sw-cta.sw-cta { position: relative; overflow: hidden; isolation: isolate; background: #050d22 !important; }
.sw-cta.sw-cta.sw-cta.sw-cta::before { content: "" !important; position: absolute; top: 50%; right: 26%; left: auto; bottom: auto; z-index: -1; width: clamp(260px, 30vw, 420px); height: auto; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 50% 50%, #050d22 0 45.5%, rgba(150, 196, 255, .98) 46.5%, rgba(110, 150, 255, .62) 49%, rgba(70, 110, 240, .26) 54%, rgba(50, 90, 220, .08) 62%, transparent 70%) !important; opacity: 1 !important; transform: translateY(-50%) !important; filter: none !important; }
.sw-cta.sw-cta.sw-cta.sw-cta::after { content: "" !important; position: absolute; inset: -20% !important; top: -20% !important; right: -20% !important; z-index: -2; width: auto !important; height: auto !important; aspect-ratio: auto !important; background: linear-gradient(104deg, transparent 18%, rgba(56, 108, 255, .28) 30%, transparent 42%), linear-gradient(104deg, transparent 58%, rgba(120, 90, 255, .22) 70%, transparent 82%), radial-gradient(60% 120% at 74% 50%, rgba(60, 110, 255, .20), transparent 70%) !important; opacity: 1 !important; filter: blur(34px) !important; transform: none !important; }
@media (max-width: 781px) { .sw-cta.sw-cta.sw-cta.sw-cta::before { right: -10%; width: 240px; opacity: .8 !important; } }


/* 2026-10-16 (2차): 히어로 점 알약은 숨기고 번호 목록이 그 자리로. 참고안 디테일 — 번호는 흐리게 · 제목은 밝게, 현재 장에만 밑줄(진행), 비활성에는 선 없음, 가는 두 줄 일시정지 아이콘. */
.sw-vhero-dots { display: none !important; }
.sw-vhero-list { bottom: 46px; gap: 52px; }
.sw-vhero-list button { gap: 9px; padding: 0 0 10px; color: rgba(255, 255, 255, .72); font-size: 15px; letter-spacing: 0; }
.sw-vhero-list button small { font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, .32); }
.sw-vhero-list button:hover { color: #fff; }
.sw-vhero-list li.is-current button { color: #fff; }
.sw-vhero-list li.is-current button small { color: rgba(255, 255, 255, .85); }
.sw-vhero-list li:not(.sw-vhero-pause) button::after { display: none; }
.sw-vhero-list li:not(.sw-vhero-pause) button::before { height: 2px; background: #fff; opacity: 0; }
.sw-vhero-list li.is-current button::before { opacity: 1; }
.sw-vhero-pause button { padding: 2px 4px 12px; gap: 5px; opacity: .8; }
.sw-vhero-pause button i { width: 2px; height: 13px; background: rgba(255, 255, 255, .9); }
.sw-vhero-pause button[aria-pressed="true"] i:first-child { border-left: 11px solid rgba(255, 255, 255, .9); border-top: 6.5px solid transparent; border-bottom: 6.5px solid transparent; }


/* 2026-10-16: 영어 제품 헤더(header-*-en) — 영문 라벨이 길어 1500px 에서 잘리던 것을 간격 · 글자 크기를 줄여 한 줄로. */
html[lang^="en"] .sw-product-header .sw-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container { gap: clamp(12px, 1.3vw, 30px); flex-wrap: nowrap; }
html[lang^="en"] .sw-product-header .sw-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-size: clamp(14px, calc(.8vw + 4px), 17px); white-space: nowrap; }


/* 2026-10-16: 홈 Expertise 닫힌 패널 제목 1.8배(17~26px → 30~46px). 설명 글자도 비율에 맞춰 조금 키움. */
.sw-slogan-panel:not(.is-open) .sw-slogan-text b { font-size: clamp(30px, 2.6vw, 46px) !important; line-height: 1.15; letter-spacing: -.02em; }
.sw-slogan-panel:not(.is-open) .sw-slogan-cap { font-size: 15px; margin-top: 8px; }
@media (max-width: 900px) { .sw-slogan-panel:not(.is-open) .sw-slogan-text b { font-size: 30px !important; } }


/* 2026-10-16: 홈 슬로건(.sw-svid) 자동 진행에 맞춰 스크롤 고정 구간을 240vh → 150vh 로 줄임(자동으로 끝까지 가므로 긴 빈 스크롤 불필요). */
.sw-svid-wrap { height: 150vh !important; }


/* 2026-10-16: 홈 사진 패널 2장(.sw-duo, Company · Business) — SK hynix DBL/ESG 참고: 사진 위 어두운 막, 가운데 큰 제목 + 설명 + 흰 테두리 화살표 버튼 3개(올리면 흰색이 왼쪽부터 차오름). */
.sw-duo-sec { padding-top: clamp(40px, 5vw, 80px) !important; padding-bottom: clamp(40px, 5vw, 80px) !important; background: #fff; }
.sw-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 2.6vw, 40px); width: min(1560px, 100%); margin: 0 auto; }
.sw-duo-panel { position: relative; margin: 0; aspect-ratio: 1000 / 640; min-height: 420px; overflow: hidden; background: #0f1b33; font-family: Pretendard, "Noto Sans KR", sans-serif; }
.sw-duo-panel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2, .8, .2, 1); }
.sw-duo-panel:hover img { transform: scale(1.04); }
.sw-duo-panel::before { content: ""; position: absolute; inset: 0; background: rgba(6, 14, 32, .42); }
.sw-duo-in { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px; text-align: center; color: #fff; }
.sw-duo-title { margin: 0; font-size: clamp(44px, 4.2vw, 68px); font-weight: 800; letter-spacing: -.02em; line-height: 1.05; color: #fff; }
.sw-duo-desc { max-width: 34em; margin: 18px 0 0; font-size: clamp(15px, 1.1vw, 17px); line-height: 1.6; color: rgba(255, 255, 255, .92); word-break: keep-all; }
.sw-duo-links { list-style: none; width: 230px; margin: clamp(32px, 3.6vw, 56px) 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.sw-duo-links li { margin: 0; padding: 0; }
.sw-duo-links a { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border: 1px solid rgba(255, 255, 255, .82); color: #fff; font-size: 15px; font-weight: 600; text-decoration: none; overflow: hidden; isolation: isolate; transition: color .3s ease .1s, border-color .3s ease; }
.sw-duo-links a::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #fff; transform: scaleX(0); transform-origin: left center; transition: transform .5s cubic-bezier(.22, .61, .36, 1); }
.sw-duo-links a:hover::before, .sw-duo-links a:focus-visible::before { transform: scaleX(1); }
.sw-duo-links a:hover, .sw-duo-links a:focus-visible { color: #0f1b33; border-color: #fff; }
.sw-duo-links a .sw-la { width: 30px; height: 11px; flex: 0 0 auto; }
@media (max-width: 900px) { .sw-duo { grid-template-columns: 1fr; } .sw-duo-panel { aspect-ratio: 4 / 3; min-height: 360px; } .sw-duo-title { font-size: 40px; } }


/* 2026-10-16: .sw-duo 보정 — 홈 공통 규칙(alignwide 1100px 고정)을 같은 특정도로 덮어 1560px 2열 + 간격, 어두운 막을 사진 위로(z-index). */
body.home .wp-block-post-content > .wp-block-group.alignfull.sw-section.is-layout-constrained > .alignwide.sw-duo, .sw-duo-sec > .sw-duo { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 2.6vw, 40px) !important; width: min(1560px, calc(100% - 48px)) !important; max-width: 1560px !important; margin: 0 auto !important; }
.sw-duo-panel::before { z-index: 1; }
.sw-duo-in { z-index: 2; }
@media (max-width: 900px) { body.home .wp-block-post-content > .wp-block-group.alignfull.sw-section.is-layout-constrained > .alignwide.sw-duo, .sw-duo-sec > .sw-duo { grid-template-columns: 1fr; } }


/* 2026-10-16: 솔루션 박스 호버 틴트를 두 가지로 — 홀수 박스(SCOS · AI · SMRO)는 남색, 짝수 박스(sOMP · SI·ITO)는 보라. (전부 보라로 보이던 것을 번갈아) */
.sw-sbox:nth-child(odd):hover::before { background: linear-gradient(180deg, rgba(10, 30, 92, .74), rgba(18, 42, 118, .84)) !important; }
.sw-sbox:nth-child(even):hover::before { background: linear-gradient(180deg, rgba(76, 44, 178, .72), rgba(58, 30, 150, .84)) !important; }
.sw-sbox:nth-child(odd):hover .sw-sbox-links a:hover, .sw-sbox:nth-child(odd) .sw-sbox-links a:hover { color: #122a76; }
.sw-sbox:nth-child(even):hover .sw-sbox-links a:hover, .sw-sbox:nth-child(even) .sw-sbox-links a:hover { color: #3a1e96; }


/* 2026-10-16: 대표인사말 헤드라인을 한 줄로 — 줄바꿈 금지, 한 줄에 들어가도록 글자 크기 조정(62% 열 기준). 좁은 화면에서는 다시 줄바꿈 허용. */
.sw-ceo .sw-ceo-headline:not(.sw-ceo-sub) { white-space: nowrap; font-size: clamp(1.5rem, 2.35vw, 2.35rem) !important; letter-spacing: -.04em; }
@media (max-width: 900px) { .sw-ceo .sw-ceo-headline:not(.sw-ceo-sub) { white-space: normal; font-size: clamp(1.6rem, 5vw, 2.2rem) !important; } }


/* 2026-10-16: 문의 상자 개기월식 원을 더 크게(260~420px → 400~680px). 띠 높이보다 커서 위아래가 잘리며 큰 호와 테두리 빛이 보인다. */
.sw-cta.sw-cta.sw-cta.sw-cta::before { width: clamp(400px, 46vw, 680px); right: 24%; }
@media (max-width: 781px) { .sw-cta.sw-cta.sw-cta.sw-cta::before { width: 360px; right: -12%; } }


/* 2026-10-16: 배너 h1 약어 표기(.sw-mark: UMS · AICC · AX · SI · ITO · MRO · MMCS) — B2B2C 표기와 같은 주황(#ffb23f) 글자, 글자가 좌우에서 날아와 모이는 애니메이션. */
.sw-mark { display: inline-block; white-space: nowrap; }
.sw-mark b { display: inline-block; color: #ffb23f; -webkit-text-fill-color: #ffb23f; font-weight: inherit; opacity: 0; animation: sw-mark-in 1.6s cubic-bezier(.4, 0, .2, 1) forwards; animation-delay: calc(var(--i, 0) * .14s + .25s); }
.sw-mark b:nth-child(odd) { --dir: -1; }
.sw-mark b:nth-child(even) { --dir: 1; }
@keyframes sw-mark-in { 0% { opacity: 0; transform: translateX(calc(var(--dir, -1) * 60%)) scale(.9); filter: blur(4px); } 60% { opacity: 1; transform: translateX(0) scale(1.06); filter: blur(0); } 100% { opacity: 1; transform: none; filter: none; } }
@media (prefers-reduced-motion: reduce) { .sw-mark b { animation: none; opacity: 1; } }


/* 2026-10-16: 홈 브랜드 섹션(.sw-brand, Apple 커리어 참고) — 검은 화면 가운데 스카이웨어 심볼(마스크) 안에 콜라주 일러스트가 천천히 흐르고, 바깥의 조각(.sw-brand-bit)들이 날아와 떠다닌다. 심볼 모양 · 비율은 assets/images/skyware-symbol.svg 그대로(마스크). */
.sw-brand-sec { padding: 0 !important; background: #000; }
.sw-brand { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: clamp(24px, 4vw, 80px); width: min(1500px, calc(100% - 48px)); min-height: 100vh; margin: 0 auto; padding: clamp(60px, 8vw, 120px) 0; color: #fff; font-family: Pretendard, "Noto Sans KR", sans-serif; }
.sw-brand-stage { position: relative; width: min(100%, 640px); aspect-ratio: 185 / 120; margin: 0 auto; }
.sw-brand-mark { position: absolute; inset: 0; -webkit-mask: url(assets/images/skyware-symbol.svg) center / contain no-repeat; mask: url(assets/images/skyware-symbol.svg) center / contain no-repeat; opacity: 0; transform: scale(.92); transition: opacity 1.2s ease, transform 1.4s cubic-bezier(.2, .8, .2, 1); }
.sw-brand.is-in .sw-brand-mark { opacity: 1; transform: none; }
.sw-brand-fill { position: absolute; inset: -12%; background: url(assets/images/brand/brand-collage.jpg) center / cover no-repeat; animation: sw-brand-drift 22s ease-in-out infinite alternate; }
@keyframes sw-brand-drift { from { transform: translate(-3%, -2%) scale(1.04) rotate(-1.5deg); } to { transform: translate(3%, 3%) scale(1.12) rotate(1.5deg); } }
.sw-brand-bit { position: absolute; display: block; width: var(--s, 84px); height: var(--s, 84px); border-radius: var(--r, 18px); background: url(assets/images/brand/brand-collage.jpg) var(--bp, 50% 50%) / 520% auto no-repeat; box-shadow: 0 18px 40px rgba(0, 0, 0, .5); opacity: 0; transform: translate(var(--fx, 0), var(--fy, 0)) rotate(var(--fr, 0deg)) scale(.4); transition: opacity .9s ease, transform 1.4s cubic-bezier(.2, .8, .2, 1); }
.sw-brand.is-in .sw-brand-bit { opacity: 1; transform: none; animation: sw-brand-float var(--d, 7s) ease-in-out calc(var(--i, 0) * -1.3s) infinite alternate; transition-delay: calc(var(--i, 0) * .08s); }
@keyframes sw-brand-float { from { transform: translateY(-10px) rotate(var(--tr, -4deg)); } to { transform: translateY(12px) rotate(calc(var(--tr, -4deg) * -1)); } }
.sw-brand-bit.is-1 { --i: 0; top: -6%; left: 12%; --s: 92px; --bp: 12% 18%; --fx: -160px; --fy: -120px; --fr: -40deg; --tr: -5deg; --d: 7s; border-radius: 50%; }
.sw-brand-bit.is-2 { --i: 1; top: 8%; right: -4%; --s: 120px; --bp: 78% 22%; --fx: 180px; --fy: -100px; --fr: 30deg; --tr: 4deg; --d: 8s; --r: 26px; }
.sw-brand-bit.is-3 { --i: 2; bottom: 4%; left: -6%; --s: 110px; --bp: 20% 76%; --fx: -200px; --fy: 120px; --fr: 25deg; --tr: 3deg; --d: 9s; --r: 30px; }
.sw-brand-bit.is-4 { --i: 3; bottom: -8%; right: 18%; --s: 76px; --bp: 64% 84%; --fx: 120px; --fy: 160px; --fr: -30deg; --tr: -6deg; --d: 6.5s; border-radius: 50%; }
.sw-brand-bit.is-5 { --i: 4; top: 40%; left: -10%; --s: 60px; --bp: 40% 48%; --fx: -220px; --fy: 0; --fr: 60deg; --tr: 8deg; --d: 7.5s; --r: 14px; }
.sw-brand-bit.is-6 { --i: 5; top: 52%; right: -12%; --s: 68px; --bp: 90% 60%; --fx: 220px; --fy: 20px; --fr: -50deg; --tr: -7deg; --d: 8.5s; --r: 16px; }
.sw-brand-bit.is-7 { --i: 6; top: -14%; left: 52%; --s: 54px; --bp: 52% 8%; --fx: 0; --fy: -200px; --fr: 20deg; --tr: 5deg; --d: 6s; border-radius: 50%; }
.sw-brand-text { max-width: 560px; }
.sw-brand-title { margin: 0; font-size: clamp(32px, 3.6vw, 56px); font-weight: 800; letter-spacing: -.03em; line-height: 1.18; color: #fff; word-break: keep-all; opacity: 0; transform: translateY(24px); transition: opacity .9s ease .3s, transform .9s cubic-bezier(.2, .8, .2, 1) .3s; }
.sw-brand-desc { margin: 22px 0 0; color: rgba(255, 255, 255, .72); font-size: clamp(15px, 1.15vw, 18px); line-height: 1.7; word-break: keep-all; opacity: 0; transform: translateY(24px); transition: opacity .9s ease .5s, transform .9s cubic-bezier(.2, .8, .2, 1) .5s; }
.sw-brand-cta { display: inline-flex; align-items: center; gap: 12px; margin-top: 34px; color: #fff; font-size: 16px; font-weight: 700; text-decoration: none; opacity: 0; transform: translateY(24px); transition: opacity .9s ease .7s, transform .9s cubic-bezier(.2, .8, .2, 1) .7s, color .3s ease; }
.sw-brand-cta:hover { color: #8fc8ff; }
.sw-brand-cta .sw-la { width: 40px; height: 13px; }
.sw-brand.is-in .sw-brand-title, .sw-brand.is-in .sw-brand-desc, .sw-brand.is-in .sw-brand-cta { opacity: 1; transform: none; }
@media (max-width: 900px) { .sw-brand { grid-template-columns: 1fr; min-height: 0; text-align: center; } .sw-brand-stage { width: min(100%, 380px); } .sw-brand-bit { --s: 48px !important; } .sw-brand-text { margin: 0 auto; } }
@media (prefers-reduced-motion: reduce) { .sw-brand-fill, .sw-brand.is-in .sw-brand-bit { animation: none; } .sw-brand-mark, .sw-brand-bit, .sw-brand-title, .sw-brand-desc, .sw-brand-cta { opacity: 1 !important; transform: none !important; transition: none; } }


/* 2026-10-16: 인재상 리본 v5 — 3D 광택 리본 사진(.sw-inf-art img) 위에 글 라벨 5개(.sw-inf-lab, --x/--y 로 위치). 화면에 들어오면 리본이 떠오르고 라벨이 순서대로 나타난다. */
.sw-inf.is-v5 .sw-inf-art { position: relative; width: min(1120px, 100%); margin: 0 auto; }
.sw-inf.is-v5 .sw-inf-art img { display: block; width: 100%; height: auto; opacity: 0; transform: scale(.96) translateY(14px); transition: opacity 1s ease, transform 1.2s cubic-bezier(.2, .8, .2, 1); }
.sw-inf.is-v5.is-in .sw-inf-art img, .sw-inf.is-v5:not(.is-armed) .sw-inf-art img { opacity: 1; transform: none; }
.sw-inf.is-v5 .sw-inf-lab { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, -50%); font-family: Pretendard, "Noto Sans KR", sans-serif; font-size: clamp(14px, 1.65vw, 23px); font-weight: 800; line-height: 1.25; letter-spacing: -.02em; color: #fff; text-align: center; text-shadow: 0 2px 10px rgba(8, 20, 60, .55), 0 0 2px rgba(8, 20, 60, .6); white-space: nowrap; opacity: 0; transition: opacity .6s ease calc(var(--i, 0) * .18s + .5s); }
.sw-inf.is-v5.is-in .sw-inf-lab, .sw-inf.is-v5:not(.is-armed) .sw-inf-lab { opacity: 1; }
@media (max-width: 760px) { .sw-inf.is-v5 .sw-inf-lab { font-size: 11px; } }
@media (prefers-reduced-motion: reduce) { .sw-inf.is-v5 .sw-inf-art img, .sw-inf.is-v5 .sw-inf-lab { opacity: 1 !important; transform: none !important; transition: none; } }


/* 2026-10-16: 인재상 리본 모션(CSS) — 리본 위로 빛 띠가 왼쪽에서 오른쪽으로 흐르고(screen 블렌드라 흰 배경은 그대로, 파란 띠만 밝아짐), 리본과 라벨이 한 덩어리로 천천히 숨 쉬듯 커졌다 작아진다. */
.sw-inf.is-v5 .sw-inf-art { overflow: hidden; }
.sw-inf.is-v5.is-in .sw-inf-art, .sw-inf.is-v5:not(.is-armed) .sw-inf-art { animation: sw-inf-breathe 7s ease-in-out infinite alternate; }
.sw-inf.is-v5 .sw-inf-art::after { content: ""; position: absolute; top: -20%; bottom: -20%; left: -40%; width: 34%; background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .55) 45%, rgba(190, 220, 255, .75) 50%, rgba(255, 255, 255, .55) 55%, rgba(255, 255, 255, 0) 100%); mix-blend-mode: screen; pointer-events: none; opacity: 0; }
.sw-inf.is-v5.is-in .sw-inf-art::after, .sw-inf.is-v5:not(.is-armed) .sw-inf-art::after { animation: sw-inf-sweep 4.8s cubic-bezier(.4, 0, .2, 1) 1.2s infinite; }
@keyframes sw-inf-sweep { 0% { left: -40%; opacity: 0; } 8% { opacity: 1; } 60% { left: 110%; opacity: 1; } 61% { opacity: 0; } 100% { left: 110%; opacity: 0; } }
@keyframes sw-inf-breathe { from { transform: scale(1) translateY(0); } to { transform: scale(1.025) translateY(-6px); } }
@media (prefers-reduced-motion: reduce) { .sw-inf.is-v5 .sw-inf-art, .sw-inf.is-v5 .sw-inf-art::after { animation: none !important; } }


/* 2026-10-16: 문의 상자 — 월식(Apple 느낌) 대신 스카이웨어 심볼. 진남색 띠에 빛 방향(왼쪽 위 → 오른쪽 아래) 음영, 오른쪽에 심볼(그라데이션 채움 + 아래 그림자 + 위 테두리 빛으로 입체감). 심볼은 skyware-symbol.svg 마스크 그대로. */
.sw-cta.sw-cta.sw-cta.sw-cta { background: linear-gradient(118deg, #0d1f4a 0%, #071537 42%, #040c22 100%) !important; }
.sw-cta.sw-cta.sw-cta.sw-cta::before { content: "" !important; position: absolute; top: 50%; right: 5%; left: auto; bottom: auto; z-index: -1; width: clamp(220px, 24vw, 380px); height: auto; aspect-ratio: 185 / 120; border-radius: 0; background: linear-gradient(135deg, #7fb0ff 0%, #2f6bd8 48%, #6a3df0 100%) !important; -webkit-mask: url(assets/images/skyware-symbol.svg) center / contain no-repeat; mask: url(assets/images/skyware-symbol.svg) center / contain no-repeat; opacity: .92 !important; transform: translateY(-50%) rotate(-6deg) !important; filter: drop-shadow(0 22px 28px rgba(0, 0, 0, .6)) drop-shadow(0 -1px 0 rgba(255, 255, 255, .35)) !important; }
.sw-cta.sw-cta.sw-cta.sw-cta::after { content: "" !important; position: absolute; inset: 0 !important; top: 0 !important; right: 0 !important; z-index: -2; width: auto !important; height: auto !important; aspect-ratio: auto !important; background: radial-gradient(42% 120% at 84% 50%, rgba(64, 110, 240, .34), transparent 72%), linear-gradient(180deg, rgba(255, 255, 255, .07) 0%, rgba(255, 255, 255, 0) 38%, rgba(0, 0, 0, .38) 100%), linear-gradient(90deg, rgba(0, 0, 0, .25), transparent 40%) !important; opacity: 1 !important; filter: none !important; transform: none !important; }
@media (max-width: 781px) { .sw-cta.sw-cta.sw-cta.sw-cta::before { right: -6%; width: 200px; opacity: .55 !important; } }


/* 2026-10-16: 브랜드 섹션 2단계 — 심볼 조립 뒤 검은 화면이 흐르는 컬러 그라데이션(주황 → 마젠타 → 보라 → 파랑 → 청록)으로 바뀌고(is-flow), 심볼 · 조각은 사라지며 문구가 가운데로 온다(is-flow-text). Apple 커리어 참고. */
.sw-brand-sec { position: relative; overflow: hidden; }
.sw-brand-sec::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(115deg, #ff7a1a 0%, #ff2d55 22%, #8a2be2 48%, #3a5bff 74%, #27c5c0 100%); background-size: 320% 320%; opacity: 0; transition: opacity 1.8s ease; animation: sw-brand-flow 16s ease-in-out infinite alternate; pointer-events: none; }
.sw-brand-sec.is-flow::before { opacity: 1; }
@keyframes sw-brand-flow { 0% { background-position: 0% 30%; } 50% { background-position: 100% 70%; } 100% { background-position: 40% 100%; } }
.sw-brand-sec .sw-brand { position: relative; z-index: 1; }
.sw-brand-sec.is-flow .sw-brand-stage { opacity: 0; transform: scale(.86); transition: opacity 1s ease, transform 1.4s cubic-bezier(.4, 0, .2, 1); pointer-events: none; }
.sw-brand-sec.is-flow .sw-brand-text { opacity: 0; transition: opacity .6s ease; }
.sw-brand-sec.is-flow-text .sw-brand-text { position: absolute; left: 50%; top: 50%; width: min(100%, 860px); max-width: none; transform: translate(-50%, -50%); text-align: center; opacity: 1; transition: opacity 1.2s ease .2s; }
.sw-brand-sec.is-flow-text .sw-brand-title { font-size: clamp(30px, 3.2vw, 50px); text-shadow: 0 2px 24px rgba(0, 0, 0, .18); }
.sw-brand-sec.is-flow-text .sw-brand-desc { color: rgba(255, 255, 255, .92); font-size: clamp(16px, 1.3vw, 20px); }
.sw-brand-sec.is-flow-text .sw-brand-cta { color: #fff; }
.sw-brand-sec.is-flow-text .sw-brand-cta:hover { color: #ffe9d6; }
@media (max-width: 900px) { .sw-brand-sec.is-flow-text .sw-brand-text { width: calc(100% - 48px); } }
@media (prefers-reduced-motion: reduce) { .sw-brand-sec::before { animation: none; } }


/* 2026-10-16: 브랜드 섹션 3 · 4단계 — 그라데이션이 걷히고 어두운 배경 영상 위에 아이브로우 + 그라데이션 글자 제목 + 흰 알약 버튼. 3단계(is-video)는 청록→보라 글자 + 영상 A, 4단계(is-video2)는 주황→코랄 글자 + 영상 B + 아래 인용문. 섹션은 홈 첫 화면. */
.sw-brand-bg { position: absolute; inset: 0; z-index: 0; opacity: 0; transition: opacity 1.8s ease; pointer-events: none; }
.sw-brand-bg video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; filter: brightness(.5) saturate(.9); opacity: 0; transition: opacity 1.4s ease; }
.sw-brand-sec .sw-brand-stage, .sw-brand-sec .sw-brand-text { position: relative; z-index: 1; }
.sw-brand-sec.is-video .sw-brand-bg { opacity: 1; }
.sw-brand-sec.is-video .sw-brand-video.is-a { opacity: 1; }
.sw-brand-sec.is-video2 .sw-brand-video.is-a { opacity: 0; }
.sw-brand-sec.is-video2 .sw-brand-video.is-b { opacity: 1; }
.sw-brand-sec.is-video::before { opacity: 0; transition: opacity 1.8s ease; }
.sw-brand-text.is-b { display: none; }
.sw-brand-sec.is-flow-text .sw-brand-text { z-index: 2; }
.sw-brand-eyebrow { margin: 0 0 14px; font-size: 16px; font-weight: 700; color: #fff; opacity: 0; max-height: 0; overflow: hidden; transition: opacity .8s ease .4s, max-height .6s ease; }
.sw-brand-sec.is-video .sw-brand-eyebrow { opacity: 1; max-height: 40px; }
.sw-brand-sec.is-video .sw-brand-title { font-size: clamp(34px, 3.8vw, 60px); line-height: 1.12; background-image: linear-gradient(90deg, #6ee7ff 0%, #7aa2ff 45%, #c26bff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; text-shadow: none; }
.sw-brand-sec.is-video .sw-brand-desc { color: rgba(255, 255, 255, .9); }
.sw-brand-sec.is-video .sw-brand-cta { display: inline-flex; margin-top: 30px; padding: 12px 24px; border-radius: 999px; background: #fff; color: #111 !important; font-size: 15px; font-weight: 600; transition: background .3s ease, transform .3s ease; }
.sw-brand-sec.is-video .sw-brand-cta:hover { background: #f2f2f7; transform: translateY(-1px); }
.sw-brand-sec.is-video .sw-brand-cta .sw-la { display: none; }
/* 4단계: 문구 블록 B 로 교체 */
.sw-brand-sec.is-video2 .sw-brand-text.is-a { display: none; }
.sw-brand-sec.is-video2 .sw-brand-text.is-b { display: block; position: absolute; left: 50%; top: 50%; width: min(100%, 860px); transform: translate(-50%, -50%); text-align: center; z-index: 2; animation: sw-brand-fadein 1.2s ease both; }
.sw-brand-sec.is-video2 .sw-brand-text.is-b .sw-brand-title { background-image: linear-gradient(90deg, #ff9a3c 0%, #ff6a3d 45%, #ff3d6e 100%); }
.sw-brand-sec.is-video2 .sw-brand-text.is-b .sw-brand-eyebrow { opacity: 1; max-height: 40px; }
.sw-brand-quote { position: fixed; left: 50%; bottom: 4vh; width: min(92%, 720px); margin: 0; transform: translateX(-50%); color: rgba(255, 255, 255, .62); font-size: clamp(18px, 2vw, 34px); font-weight: 800; line-height: 1.2; letter-spacing: -.02em; text-align: center; word-break: keep-all; opacity: 0; }
.sw-brand-sec.is-video2 .sw-brand-quote { position: absolute; top: calc(100% + 10vh); bottom: auto; animation: sw-brand-fadein 1.4s ease 1.2s both; }
@keyframes sw-brand-fadein { from { opacity: 0; transform: translate(-50%, -50%) translateY(16px); } to { opacity: 1; transform: translate(-50%, -50%); } }
.sw-brand-sec.is-video2 .sw-brand-quote { transform: translateX(-50%); }
@keyframes sw-brand-quote-in { from { opacity: 0; } to { opacity: 1; } }
.sw-brand-sec.is-video2 .sw-brand-quote { animation: sw-brand-quote-in 1.4s ease 1.2s both; }
@media (prefers-reduced-motion: reduce) { .sw-brand-bg, .sw-brand-bg video { transition: none; } }


/* 2026-10-16: 문의 상자 — 심볼은 옅은 워터마크로 낮추고(.14), 그 위로 별 입자 캔버스(.sw-cta-stars)가 심볼 모양으로 모여든다. */
.sw-cta.sw-cta.sw-cta.sw-cta::before { opacity: .14 !important; filter: drop-shadow(0 16px 24px rgba(0, 0, 0, .5)) !important; }
.sw-cta .sw-cta-stars { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.sw-cta.sw-cta.sw-cta.sw-cta > * { position: relative; z-index: 1; }
.sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-stars { z-index: 0; }


/* 2026-10-16: 보정 — 별 캔버스를 띠 전체에 깔기(앞의 `> *` 규칙보다 높은 특정도), 브랜드 섹션 배경 영상이 가운데 컨테이너가 아니라 화면 전체를 덮도록(.sw-brand 는 static), 그라데이션 색이 더 다양하게 보이도록 크기 축소. */
.sw-cta.sw-cta.sw-cta.sw-cta > canvas.sw-cta-stars { position: absolute !important; inset: 0 !important; z-index: 0 !important; width: 100% !important; height: 100% !important; }
.sw-brand-sec .sw-brand { position: static; }
.sw-brand-sec::before { background-size: 220% 220%; }


/* 2026-10-16: Apple 커리어 구조 — 시간 루프 대신 스크롤로 이어지는 섹션. (1) 검은 심볼 조립(.sw-brand-sec, 기존) (2) 흐르는 그라데이션 화면 + 가운데 문단(.sw-flow-sec) (3·4) 전체화면 영상 + 아이브로우 · 그라데이션 제목 · 문단 · 알약 버튼, 아래 인용 + 서명(.sw-fsv-sec). 글은 스크롤보다 느리게 움직인다(패럴랙스 --py). */
.sw-brand-sec::before { display: none; }
.sw-flow-sec { position: relative; padding: 0 !important; min-height: 100vh; display: grid; place-items: center; overflow: hidden; background: linear-gradient(115deg, #ff7a1a 0%, #ff2d55 22%, #8a2be2 48%, #3a5bff 74%, #27c5c0 100%); background-size: 220% 220%; animation: sw-brand-flow 16s ease-in-out infinite alternate; }
.sw-flow { width: min(100%, 820px); padding: 0 24px; text-align: center; }
.sw-flow-text { margin: 0; color: #fff; font-family: Pretendard, "Noto Sans KR", sans-serif; font-size: clamp(22px, 2.3vw, 36px); font-weight: 700; line-height: 1.45; letter-spacing: -.02em; word-break: keep-all; opacity: 0; transform: translateY(26px); transition: opacity 1s ease, transform 1s cubic-bezier(.2, .8, .2, 1); }
.sw-flow-sec.is-in .sw-flow-text { opacity: 1; transform: none; }
.sw-fsv-sec { position: relative; padding: 0 !important; min-height: 100vh; overflow: hidden; background: #0a0f1f; color: #fff; font-family: Pretendard, "Noto Sans KR", sans-serif; }
.sw-fsv { position: relative; min-height: 100vh; display: grid; place-items: center; }
.sw-fsv-bg { position: absolute; inset: 0; z-index: 0; }
.sw-fsv-bg video { display: block; width: 100%; height: 100%; object-fit: cover; filter: brightness(.48) saturate(.9); opacity: 0; transition: opacity 1.2s ease; }
.sw-fsv-sec.is-in .sw-fsv-bg video { opacity: 1; }
.sw-fsv-text { position: relative; z-index: 1; width: min(100%, 860px); padding: 0 24px; text-align: center; transform: translateY(var(--py, 0px)); will-change: transform; }
.sw-fsv-eyebrow { margin: 0 0 14px; font-size: 16px; font-weight: 700; color: #fff; }
.sw-fsv-title { margin: 0; font-size: clamp(34px, 3.8vw, 60px); font-weight: 800; line-height: 1.12; letter-spacing: -.03em; word-break: keep-all; background-image: linear-gradient(90deg, #6ee7ff 0%, #7aa2ff 45%, #c26bff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.sw-fsv-sec.is-b .sw-fsv-title { background-image: linear-gradient(90deg, #ff9a3c 0%, #ff6a3d 45%, #ff3d6e 100%); }
.sw-fsv-desc { max-width: 760px; margin: 22px auto 0; color: rgba(255, 255, 255, .9); font-size: clamp(16px, 1.3vw, 20px); line-height: 1.6; word-break: keep-all; }
.sw-fsv-cta { display: inline-flex; align-items: center; margin-top: 30px; padding: 12px 24px; border-radius: 999px; background: #fff; color: #111; font-size: 15px; font-weight: 600; text-decoration: none; transition: background .3s ease, transform .3s ease; }
.sw-fsv-cta:hover { background: #f2f2f7; color: #111; transform: translateY(-1px); }
.sw-fsv-eyebrow, .sw-fsv-title, .sw-fsv-desc, .sw-fsv-cta { opacity: 0; transform: translateY(22px); transition: opacity .9s ease, transform .9s cubic-bezier(.2, .8, .2, 1); }
.sw-fsv-sec.is-in .sw-fsv-eyebrow { opacity: 1; transform: none; transition-delay: .1s; }
.sw-fsv-sec.is-in .sw-fsv-title { opacity: 1; transform: none; transition-delay: .25s; }
.sw-fsv-sec.is-in .sw-fsv-desc { opacity: 1; transform: none; transition-delay: .4s; }
.sw-fsv-sec.is-in .sw-fsv-cta { opacity: 1; transform: none; transition-delay: .55s; }
.sw-fsv-quote { position: absolute; left: 50%; bottom: 5vh; z-index: 1; width: min(92%, 760px); transform: translateX(-50%) translateY(calc(var(--py, 0px) * -.6)); text-align: center; opacity: 0; transition: opacity 1.2s ease .8s; }
.sw-fsv-sec.is-in .sw-fsv-quote { opacity: 1; }
.sw-fsv-quote blockquote { margin: 0; padding: 0; border: 0; color: rgba(255, 255, 255, .68); font-size: clamp(18px, 1.9vw, 32px); font-weight: 800; line-height: 1.22; letter-spacing: -.02em; word-break: keep-all; }
.sw-fsv-sig { display: block; margin-top: 12px; color: rgba(255, 255, 255, .55); font-size: 14px; font-weight: 600; }
@media (max-width: 900px) { .sw-fsv-quote { display: none; } .sw-fsv-title { font-size: 32px; } }
@media (prefers-reduced-motion: reduce) { .sw-flow-sec { animation: none; } .sw-fsv-text, .sw-fsv-quote { transform: none !important; } .sw-fsv-eyebrow, .sw-fsv-title, .sw-fsv-desc, .sw-fsv-cta, .sw-flow-text { opacity: 1 !important; transform: none !important; transition: none; } }

/* 2026-10-16: 전체화면 영상 섹션 — 제한폭(constrained) 그룹 안이라 안쪽 래퍼를 전폭으로. 영상은 섹션 자체에 깔리도록 */
.sw-fsv-sec > .sw-fsv, .sw-flow-sec > .sw-flow { max-width: none; }
.sw-fsv-sec > .sw-fsv { width: 100%; }

/* 2026-10-16: 섹션 이음새 — 검은 심볼 화면 → 그라데이션 → 영상 A → 영상 B 가 끊기지 않고 서로 번지도록 위·아래에 긴 페이드 */
.sw-flow-sec::before, .sw-flow-sec::after { content: ""; position: absolute; left: 0; right: 0; height: 34vh; pointer-events: none; z-index: 0; }
.sw-flow-sec::before { top: 0; background: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, 0) 100%); }
.sw-flow-sec::after { bottom: 0; background: linear-gradient(to bottom, rgba(10, 15, 31, 0) 0%, #0a0f1f 100%); }
.sw-flow-sec > .sw-flow { position: relative; z-index: 1; }
.sw-fsv-bg::before, .sw-fsv-bg::after { content: ""; position: absolute; left: 0; right: 0; height: 24vh; pointer-events: none; }
.sw-fsv-bg::before { top: 0; background: linear-gradient(to bottom, #0a0f1f 0%, rgba(10, 15, 31, 0) 100%); }
.sw-fsv-bg::after { bottom: 0; background: linear-gradient(to bottom, rgba(10, 15, 31, 0) 0%, #0a0f1f 100%); }

/* 2026-10-16: 이음새 — 연속 섹션 사이 블록 간격(흰 띠) 제거, 영상 위·아래 페이드가 영상 위에 그려지도록 z-index */
.sw-brand-sec, .sw-flow-sec, .sw-fsv-sec { margin-top: 0 !important; margin-bottom: 0 !important; margin-block: 0 !important; }
.sw-fsv-bg::before, .sw-fsv-bg::after { z-index: 1; }


/* 2026-10-16: 홈 솔루션 모음(.sw-sol-sec) — FlexOS 식 라인업. 깊은 남색 별 하늘 배경, 왼쪽 큰 제목(둘째 줄 그라데이션), 오른쪽 8개 솔루션 로고(마크 SVG + 워드마크 + 한 줄 설명). 화면에 들어오면 순차 등장. */
.sw-sol-sec { position: relative; padding: 0 !important; margin-block: 0 !important; overflow: hidden; background: #040b1f; color: #fff; font-family: Pretendard, "Noto Sans KR", sans-serif; }
.sw-sol-sec > .sw-sol { max-width: none; }
.sw-sol-sec::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .75;
  background-image:
    radial-gradient(1.2px 1.2px at 12% 18%, rgba(255,255,255,.9) 50%, transparent 55%),
    radial-gradient(1px 1px at 64% 72%, rgba(255,255,255,.75) 50%, transparent 55%),
    radial-gradient(1.6px 1.6px at 83% 22%, rgba(255,255,255,.95) 50%, transparent 55%),
    radial-gradient(1px 1px at 36% 86%, rgba(255,255,255,.7) 50%, transparent 55%),
    radial-gradient(1px 1px at 48% 40%, rgba(255,255,255,.6) 50%, transparent 55%),
    radial-gradient(1.4px 1.4px at 90% 60%, rgba(200,220,255,.8) 50%, transparent 55%),
    radial-gradient(1px 1px at 24% 60%, rgba(255,255,255,.55) 50%, transparent 55%);
  background-size: 540px 420px, 620px 480px, 760px 560px, 480px 380px, 700px 520px, 820px 640px, 560px 440px; }
.sw-sol-sec::after { content: ""; position: absolute; left: 50%; bottom: -46%; width: 150%; height: 90%; transform: translateX(-50%); pointer-events: none; background: radial-gradient(ellipse at center, rgba(38, 92, 210, .42) 0%, rgba(38, 92, 210, .12) 42%, rgba(38, 92, 210, 0) 68%); }
.sw-sol { position: relative; z-index: 1; width: min(100%, 1360px); margin: 0 auto; padding: clamp(80px, 9vw, 130px) 24px; display: grid; grid-template-columns: minmax(300px, 1.05fr) minmax(0, 1.6fr); gap: clamp(36px, 5vw, 80px); align-items: center; }
.sw-sol-brand { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 22px; font-size: 20px; font-weight: 800; letter-spacing: -.01em; color: #fff; }
.sw-sol-brand .sw-sol-sym { display: inline-block; width: 30px; height: 30px; background: linear-gradient(135deg, #5aa8ff, #ff8a2a); -webkit-mask: url(assets/images/skyware-symbol.svg) center / contain no-repeat; mask: url(assets/images/skyware-symbol.svg) center / contain no-repeat; }
.sw-sol-title { margin: 0; font-size: clamp(34px, 3.6vw, 56px); font-weight: 800; line-height: 1.12; letter-spacing: -.03em; word-break: keep-all; color: #fff; }
.sw-sol-title span { display: block; background-image: linear-gradient(90deg, #5fd3ff 0%, #8da2ff 40%, #d99cff 70%, #ffb86b 100%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.sw-sol-sub { margin: 22px 0 0; max-width: 520px; color: rgba(255, 255, 255, .78); font-size: clamp(15px, 1.15vw, 18px); line-height: 1.65; word-break: keep-all; }
.sw-sol-more { display: inline-flex; align-items: center; gap: 8px; margin-top: 30px; padding: 11px 20px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 999px; color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; transition: background .3s ease, border-color .3s ease; }
.sw-sol-more:hover { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .6); color: #fff; }
.sw-sol-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(22px, 3vw, 44px) clamp(10px, 1.6vw, 24px); }
.sw-sol-list li { opacity: 0; transform: translateY(18px); transition: opacity .8s ease, transform .8s cubic-bezier(.2, .8, .2, 1); }
.sw-sol-sec.is-in .sw-sol-list li { opacity: 1; transform: none; }
.sw-sol-list li:nth-child(1) { transition-delay: .05s; } .sw-sol-list li:nth-child(2) { transition-delay: .15s; } .sw-sol-list li:nth-child(3) { transition-delay: .25s; } .sw-sol-list li:nth-child(4) { transition-delay: .35s; }
.sw-sol-list li:nth-child(5) { transition-delay: .45s; } .sw-sol-list li:nth-child(6) { transition-delay: .55s; } .sw-sol-list li:nth-child(7) { transition-delay: .65s; } .sw-sol-list li:nth-child(8) { transition-delay: .75s; }
.sw-sol-list a { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 14px 6px 12px; border-radius: 18px; color: #fff; text-decoration: none; text-align: center; transition: background .3s ease, transform .3s ease; }
.sw-sol-list a:hover { background: rgba(255, 255, 255, .06); transform: translateY(-4px); color: #fff; }
.sw-sol-mark { display: block; width: clamp(56px, 5.4vw, 80px); height: clamp(56px, 5.4vw, 80px); object-fit: contain; filter: drop-shadow(0 10px 24px rgba(0, 0, 0, .45)); }
.sw-sol-name { display: block; font-size: clamp(18px, 1.5vw, 24px); font-weight: 800; letter-spacing: -.02em; line-height: 1.1; white-space: nowrap; }
.sw-sol-name .sw-s { font-weight: 800; }
.sw-sol-desc { display: block; margin-top: -2px; color: rgba(255, 255, 255, .72); font-size: 13px; font-weight: 500; letter-spacing: -.01em; word-break: keep-all; }
@media (max-width: 1100px) { .sw-sol { grid-template-columns: 1fr; } .sw-sol-sub { max-width: 640px; } }
@media (max-width: 700px) { .sw-sol-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 8px; } .sw-sol-name { font-size: 19px; } }
@media (prefers-reduced-motion: reduce) { .sw-sol-list li { opacity: 1 !important; transform: none !important; transition: none; } }

/* 2026-10-16: 솔루션 마크 — 그림자 필터가 사각 번짐으로 보여 제거 */
.sw-sol-mark { filter: none; }


/* 2026-10-16: 솔루션 목록(65/카탈로그) 카드에 솔루션 로고 마크. 이름 위에 44px 마크, 클릭 영역(a::before)도 마크 높이만큼 위로 확장. */
.sw-catalog-mark { display: block; width: 44px; height: 44px; margin: 0 0 14px; object-fit: contain; }
.sw-catalog-name:has(.sw-catalog-mark) a::before { top: -76px; }
@media (max-width: 700px) { .sw-catalog-mark { width: 38px; height: 38px; margin-bottom: 10px; } }


/* 2026-10-16: 홈 솔루션 모음(.sw-sol-sec) 바로 뒤 영상 섹션(.sw-vgrow-sec) 사이 블록 간격(흰 띠) 제거 */
.sw-sol-sec + .sw-vgrow-sec { margin-top: 0 !important; }


/* 2026-10-16: 솔루션 모음 하단을 다음 영상 섹션 색(#070b14)으로 페이드 — 글로우(::after) 위, 텍스트 아래에 깔림 */
.sw-sol-sec .sw-sol::after { content: ""; position: absolute; left: 50%; bottom: 0; z-index: -1; width: 100vw; height: 170px; transform: translateX(-50%); pointer-events: none; background: linear-gradient(180deg, rgba(7, 11, 20, 0) 0%, rgba(7, 11, 20, .75) 65%, #070b14 100%); }


/* 2026-10-16: 홈 인사이트 카드 READ MORE 를 날짜와 같은 줄(카드 하단 22px)로 내림 */
body .sw-insights .sw-insight-more { margin: 0 20px 0 !important; bottom: 21px; }


/* 2026-10-16: 홈 슬로건 솔루션 박스 5장(.sw-sbox) 제목 위에 솔루션 로고 마크 */
.sw-sbox-mark { display: block; width: clamp(44px, 3.6vw, 60px); height: clamp(44px, 3.6vw, 60px); margin: 0 0 14px; object-fit: contain; }
@media (max-width: 1400px) { .sw-sbox-mark { margin-bottom: 10px; } }


/* 2026-10-16: 슬로건 패널(접힌 상태) 제목이 패널 폭보다 커서 잘리던 문제(Development) — 패널 폭 기준(cqw)으로 글자 크기를 정해 항상 한 줄에 들어오게 */
.sw-slogan-panel { container-type: inline-size; }
.sw-slogan-panel:not(.is-open) .sw-slogan-text b { font-size: clamp(18px, 10.5cqw, 44px) !important; white-space: nowrap; }


/* 2026-10-16: 문의 상자 v3 — 별 입자 캔버스(벌레가 기어가는 느낌) 제거. 심볼은 움직임 없는 빛 그라데이션으로 또렷하게, 둥근 상자 테두리 경계를 없애고 화면 폭 전체 띠로 편다. */
body .sw-cta.sw-cta.sw-cta.sw-cta > canvas.sw-cta-stars { display: none !important; }
body .sw-cta.sw-cta.sw-cta.sw-cta::before { opacity: .96 !important; background: linear-gradient(135deg, #b4d3ff 0%, #4f8dff 46%, #8a6bff 100%) !important; filter: drop-shadow(0 0 26px rgba(96, 146, 255, .5)) drop-shadow(0 18px 30px rgba(0, 0, 0, .45)) !important; }
body .sw-cta.sw-cta.sw-cta.sw-cta { width: 100vw; max-width: none !important; margin-left: calc(50% - 50vw) !important; margin-right: 0 !important; border-radius: 0 !important; padding-left: max(28px, calc(50vw - 640px)) !important; padding-right: max(28px, calc(50vw - 640px)) !important; }


/* 2026-10-16: 홈 AI 개인화 플랫폼 데모 + 진행 단계 섹션(.sw-pfs-sec) 배경을 구름 위를 나는 하늘 영상으로(항공사 사이트 느낌). 흰 베일을 얹어 글이 읽히게 */
.sw-pfs-sec { position: relative; }
.sw-pfs-sec > .sw-pfs-bg { position: absolute; inset: 0; z-index: 0; max-width: none !important; margin: 0 !important; overflow: hidden; pointer-events: none; }
.sw-pfs-sec > .sw-pfs-bg video { display: block; width: 100%; height: 100%; object-fit: cover; }
.sw-pfs-sec > .sw-pfs-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255, 255, 255, .62) 0%, rgba(255, 255, 255, .28) 40%, rgba(255, 255, 255, .34) 70%, rgba(255, 255, 255, .72) 100%); }
.sw-pfs-sec > :not(.sw-pfs-bg) { position: relative; z-index: 1; }
/* 문의 상자 심볼을 버튼과 겹치지 않게 글과 버튼 사이로 */
body .sw-cta.sw-cta.sw-cta.sw-cta::before { right: 31% !important; opacity: .9 !important; }
@media (max-width: 900px) { body .sw-cta.sw-cta.sw-cta.sw-cta::before { right: 4% !important; opacity: .35 !important; } }


/* 2026-10-16: 정정 — 하늘 영상 배경은 포트폴리오가 아니라 CLOUVI 데모 + 진행 단계 섹션(.sw-cv-split). 클래스 .sw-sky-bg */
.sw-pfs-sec { position: static; }
.sw-cv-split.sw-cv-split { position: relative; background: transparent !important; }
.sw-cv-split > .sw-sky-bg { position: absolute; inset: 0; z-index: 0; max-width: none !important; margin: 0 !important; overflow: hidden; pointer-events: none; }
.sw-cv-split > .sw-sky-bg video { display: block; width: 100%; height: 100%; object-fit: cover; }
.sw-cv-split > .sw-sky-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, .22) 40%, rgba(255, 255, 255, .3) 70%, rgba(255, 255, 255, .7) 100%); }
.sw-cv-split > :not(.sw-sky-bg) { position: relative; z-index: 1; }


/* 2026-10-16: 헤더 메가메뉴 제품 항목에 솔루션 로고 마크(label 안 .sw-mc-mark) — 이름 위 34px */
.sw-mega .wp-block-navigation-item__label .sw-mc-mark { display: block; width: 34px; height: 34px; margin: 0 0 10px; object-fit: contain; }


/* 2026-10-16: 섹션 사이 흰 띠 금지(사용자 규칙) — CLOUVI 데모 섹션과 '함께하는 고객사' 섹션 사이 블록 간격 제거 */
.sw-cv-split { margin-bottom: 0 !important; }
.sw-clients, .sw-section-tight.sw-clients { margin-top: 0 !important; }


/* 2026-10-16: 메가메뉴 왼쪽 분류 목록 — 패널 세로 길이에 맞춰 늘리고 항목 간격을 넓힘(균등 배분) */
html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side { display: flex !important; flex-direction: column; align-self: stretch; }
html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side > ul { display: flex !important; flex-direction: column; flex: 1 1 auto; justify-content: space-evenly; gap: 0 !important; margin: 0; padding: 0; }
html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side a { padding: 18px 40px 18px 16px !important; }


/* 2026-10-16: 사업분야 페이지 — 히어로와 Business 그리드 사이 흰 띠 제거(섹션 경계 금지 규칙) */
.sw-page-hero + .sw-bg-sec { margin-top: 0 !important; }
.sw-page-hero:has(+ .sw-bg-sec) { margin-bottom: 0 !important; }


/* 2026-10-16: 하늘 배경을 밤 비행으로 — 흰 베일 대신 짙은 남색 베일, 아래 진행 단계 글은 흰색으로 */
.sw-cv-split > .sw-sky-bg::after { background: linear-gradient(180deg, rgba(4, 8, 24, .35) 0%, rgba(4, 8, 24, .18) 40%, rgba(4, 8, 24, .3) 70%, rgba(4, 8, 24, .6) 100%); }
.sw-cv-split .sw-process h3, .sw-cv-split .sw-process h3 a { color: #fff !important; }
.sw-cv-split .sw-process p { color: rgba(255, 255, 255, .82) !important; }


/* 2026-10-16: 페이지 히어로 아래 · Business 그리드 위 블록 간격 제거(흰 띠 금지) */
.sw-page-hero { margin-bottom: 0 !important; }
.sw-bg-sec { margin-top: 0 !important; }


/* 2026-10-16: 브랜드 섹션(.sw-brand) 로고 채움 아트 10종 순환 모션 — 채움 두 겹(.sw-brand-fill / .is-b)을 교차 페이드하고, 조각(.sw-brand-bit)은 아트가 바뀔 때 튀어오른다(scale 은 float 의 transform 과 합성). 아트: assets/images/brand/art-01~10.jpg */
.sw-brand-fill { background-image: var(--brand-art, url(assets/images/brand/brand-collage.jpg)); }
.sw-brand-fill.is-b { background-image: var(--brand-art-b, url(assets/images/brand/brand-collage.jpg)); opacity: 0; transition: opacity 1.4s ease; }
.sw-brand.is-art-b .sw-brand-fill.is-b { opacity: 1; }
.sw-brand-bit { background-image: var(--brand-art, url(assets/images/brand/brand-collage.jpg)); }
.sw-brand.is-art-b .sw-brand-bit { background-image: var(--brand-art-b, url(assets/images/brand/brand-collage.jpg)); }
.sw-brand.is-in .sw-brand-bit.is-pop { animation: sw-brand-float var(--d, 7s) ease-in-out calc(var(--i, 0) * -1.3s) infinite alternate, sw-brand-pop .85s cubic-bezier(.2, .8, .2, 1) calc(var(--i, 0) * .06s); }
@keyframes sw-brand-pop { 0% { scale: .35; opacity: 0; } 100% { scale: 1; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .sw-brand-fill.is-b { transition: none; } .sw-brand.is-in .sw-brand-bit.is-pop { animation: none; } }


/* 2026-10-16: 오퍼링 띠 높이를 참고안(SK 컨설팅 MAIN SERVICE OFFERINGS) 수준으로 — 96px → 화면 폭 7.4vw(최대 150px) */
.sw-offer-tabs { --h: clamp(100px, 7.4vw, 150px); }


/* 2026-10-16: 문의 상자 심볼 v4 — 그라데이션 대신 작은 별표 수천 개로 심볼을 이룸(캔버스 .sw-cta-stars2, 정적). 그라데이션 ::before 는 숨김 */
body .sw-cta.sw-cta.sw-cta.sw-cta::before { opacity: 0 !important; }
body .sw-cta.sw-cta.sw-cta.sw-cta > canvas.sw-cta-stars2 { position: absolute !important; inset: 0 !important; z-index: 0 !important; display: block; width: 100% !important; height: 100% !important; pointer-events: none; }


/* 2026-10-16: 오퍼링 띠를 영상으로 — 띠마다 자기 영상(.sw-offer-vid)이 돌고, 올리면 그 사업 영상 한 편이 계단 모양(.sw-offer-active clip-path)으로 띠 전체에 펼쳐진다. 사진 겹침(.sw-offer-ov)은 영상 모드에서 숨김 */
.sw-offer-strip video.sw-offer-vid { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; filter: brightness(.72); transition: filter .3s ease; }
.sw-offer.has-video .sw-offer-active { display: block !important; overflow: hidden; background: none !important; }
.sw-offer.has-video .sw-offer-active video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.sw-offer.has-video .sw-offer-strip .sw-offer-ov { display: none !important; }
/* 화면 꽉 차게(사용자: 양옆 여백 없이) — 안쪽 컨테이너 폭 제한 해제, 왼쪽 글만 약간 들여쓰기, 띠는 오른쪽 끝까지 */
.sw-offer .sw-offer-inner { width: 100% !important; max-width: none !important; margin: 0 !important; padding-left: clamp(24px, 4vw, 80px) !important; padding-right: 0 !important; box-sizing: border-box; }
/* 큰 제목을 Business 로 고정한 홈에서는 글 블록 맨 위에 사업 영문명(.sw-offer-name)을 보인다 */
.sw-offer.has-title .sw-offer-text h3 { display: flex; flex-direction: column; }
.sw-offer.has-title .sw-offer-text h3 .sw-offer-name { display: block !important; order: -1; margin: 0 0 12px; color: #111; font-size: clamp(24px, 2.2vw, 34px); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }


/* 2026-10-16: NEWSROOM 팝업(.sw-popup.is-newsroom) — 넓은 어두운 반투명 패널, 제목 NEWSROOM + 오늘 하루 열지 않음 · ✕, 뉴스 카드 3장(썸네일 + 제목) + 다음 화살표. SK하이닉스 홈 팝업 참고 */
.sw-popup.is-newsroom { padding: 24px; }
.sw-popup.is-newsroom .sw-popup-dim { background: rgba(0, 0, 0, .38); backdrop-filter: none; }
.sw-popup.is-newsroom .sw-popup-panel { width: min(1280px, 100%); max-height: calc(100vh - 48px); overflow: auto; border-radius: 0; background: rgba(10, 12, 20, .8); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: #fff; padding: clamp(26px, 3.6vw, 52px) clamp(24px, 5vw, 80px); box-shadow: 0 30px 80px rgba(0, 0, 0, .5); font-family: Pretendard, "Noto Sans KR", sans-serif; }
.sw-nrp-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid rgba(255, 255, 255, .4); }
.sw-nrp-title { margin: 0; color: #fff; font-size: clamp(26px, 2.6vw, 40px); font-weight: 800; letter-spacing: .02em; line-height: 1.1; }
.sw-nrp-tools { display: flex; gap: 10px; flex: 0 0 auto; }
.sw-nrp-today, .sw-nrp-x { display: inline-flex; align-items: center; height: 34px; padding: 0 12px; border: 1px solid rgba(255, 255, 255, .75); border-radius: 0; background: transparent; color: #fff; font: inherit; font-size: 13px; font-weight: 600; letter-spacing: -.01em; cursor: pointer; transition: background .2s ease; }
.sw-nrp-today:hover, .sw-nrp-x:hover { background: rgba(255, 255, 255, .14); }
.sw-nrp-today i { display: inline-block; width: 11px; height: 11px; margin-right: 8px; background: #fff; }
.sw-nrp-x { width: 34px; padding: 0; justify-content: center; font-size: 15px; }
.sw-nrp-body { position: relative; display: flex; align-items: center; gap: 16px; padding: clamp(24px, 3vw, 40px) 0; border-bottom: 1px solid rgba(255, 255, 255, .3); }
.sw-nrp-list { display: flex; flex: 1 1 auto; gap: 22px; margin: 0; padding: 0; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.sw-nrp-list::-webkit-scrollbar { display: none; }
.sw-nrp-list li { flex: 0 0 calc((100% - 44px) / 3); margin: 0; scroll-snap-align: start; }
.sw-nrp-list a { display: block; height: 100%; border: 2px solid transparent; background: rgba(22, 24, 32, .92); color: #fff; text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.sw-nrp-list a:hover { border-color: #7c7cff; color: #fff; }
.sw-nrp-img { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #1c1f28; }
.sw-nrp-img img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; }
.sw-nrp-list b { display: block; min-height: 4.4em; padding: 16px 18px 18px; font-size: 15px; font-weight: 600; line-height: 1.5; letter-spacing: -.01em; word-break: keep-all; }
.sw-nrp-next { flex: 0 0 auto; width: 44px; height: 56px; border: 0; background: transparent; color: #fff; font-size: 48px; line-height: 1; cursor: pointer; opacity: .9; transition: opacity .2s ease, transform .2s ease; }
.sw-nrp-next:hover { opacity: 1; transform: translateX(3px); }
.sw-nrp-more { margin: 18px 0 0; text-align: right; }
.sw-nrp-more a { color: rgba(255, 255, 255, .85); font-size: 14px; font-weight: 600; text-decoration: none; }
.sw-nrp-more a:hover { color: #fff; text-decoration: underline; }
@media (max-width: 760px) { .sw-nrp-list li { flex-basis: 78%; } .sw-nrp-next { display: none; } .sw-nrp-today { font-size: 12px; padding: 0 9px; } .sw-nrp-list b { min-height: 0; } }


/* 2026-10-16: Business 그리드 섹션(.sw-bg-sec)의 바깥 흰 여백 제거 — 안쪽 .sw-bg 가 자기 여백과 바탕색을 가지므로 섹션 패딩은 0 (히어로와 바로 이어짐) */
.sw-bg-sec { padding-block: 0 !important; }


/* 2026-10-16: 오퍼링 띠 — 평소엔 정지 사진(포스터)만 보이고, 올렸을 때만 그 사업 영상이 띠 전체(계단 모양)에 흐른다. 겹침 영상은 완전 불투명 */
.sw-offer.has-video .sw-offer-tabs.is-on .sw-offer-active { opacity: 1 !important; }
.sw-offer.has-video .sw-offer-tabs.is-on .sw-offer-strip video.sw-offer-vid { filter: brightness(.72); }


/* 2026-10-16: 홈 오퍼링 — 고정 제목(Business) 위 작은 안내 문구 MAIN SERVICE OFFERINGS (절충안) */
.sw-offer-eyebrow { margin: 0 0 12px; color: #2f6bd8; font-size: 13px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }


/* 2026-10-16: 브랜드 섹션 조각(.sw-brand-bit) — 로고를 가리던 큰 사각형 대신, 로고 바깥을 떠다니는 작은 비누방울. 속은 거의 투명, 가장자리에 무지갯빛 테두리와 왼쪽 위 하이라이트. 아트 이미지는 로고 채움(.sw-brand-fill)에만 쓴다 */
.sw-brand-bit, .sw-brand.is-art-b .sw-brand-bit {
  border-radius: 50% !important;
  background-image:
    radial-gradient(circle at 30% 27%, rgba(255, 255, 255, .85) 0, rgba(255, 255, 255, .35) 7%, rgba(255, 255, 255, 0) 22%),
    radial-gradient(circle at 72% 78%, rgba(255, 255, 255, .22) 0, rgba(255, 255, 255, 0) 24%),
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .03) 0 60%, rgba(255, 255, 255, .14) 70%, rgba(150, 215, 255, .55) 84%, rgba(255, 170, 230, .62) 91%, rgba(255, 240, 180, .5) 96%, rgba(255, 255, 255, 0) 100%) !important;
  background-size: 100% 100% !important; background-position: 0 0 !important;
  box-shadow: inset 0 0 14px rgba(255, 255, 255, .18), 0 14px 30px rgba(0, 0, 0, .35);
  mix-blend-mode: screen;
}
.sw-brand-bit.is-1 { top: -10%; left: 6%; --s: 70px; }
.sw-brand-bit.is-2 { top: -6%; right: -10%; --s: 96px; }
.sw-brand-bit.is-3 { bottom: -4%; left: -13%; --s: 84px; }
.sw-brand-bit.is-4 { bottom: -16%; right: 22%; --s: 56px; }
.sw-brand-bit.is-5 { top: 44%; left: -17%; --s: 48px; }
.sw-brand-bit.is-6 { top: 52%; right: -18%; --s: 62px; }
.sw-brand-bit.is-7 { top: -19%; left: 52%; --s: 44px; }
@media (max-width: 900px) { .sw-brand-bit { --s: 36px !important; } .sw-brand-bit.is-2, .sw-brand-bit.is-3 { --s: 48px !important; } }


/* 2026-10-16: 비누방울 보정 — 테두리 링이 원 밖(farthest-corner 기준)에 그려져 회색 공처럼 보이던 것을 closest-side 기준으로 고쳐 무지갯빛 테두리가 보이게 */
.sw-brand-bit, .sw-brand.is-art-b .sw-brand-bit {
  background-image:
    radial-gradient(circle closest-side at 30% 27%, rgba(255, 255, 255, .9) 0, rgba(255, 255, 255, .4) 18%, rgba(255, 255, 255, 0) 48%),
    radial-gradient(circle closest-side at 72% 78%, rgba(255, 255, 255, .25) 0, rgba(255, 255, 255, 0) 50%),
    radial-gradient(circle closest-side at 50% 50%, rgba(255, 255, 255, .02) 0 70%, rgba(255, 255, 255, .12) 80%, rgba(150, 215, 255, .6) 89%, rgba(255, 170, 230, .7) 95%, rgba(255, 240, 180, .55) 98%, rgba(255, 255, 255, .25) 100%) !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .35);
}
/* 오퍼링 안내 문구(MAIN SERVICE OFFERINGS)는 파란색 대신 검은 부제목으로 */
.sw-offer-eyebrow { color: #111; font-size: 15px; font-weight: 700; letter-spacing: .12em; }


/* 2026-10-16: 홈 오퍼링 왼쪽 글 블록 글자 1.3배(사업 영문명 · 한글 제목 · 설명 · 자세히 보기) */
.sw-offer.has-title .sw-offer-text h3 .sw-offer-name { font-size: clamp(31px, 2.9vw, 44px) !important; margin-bottom: 14px; }
.sw-offer.has-title .sw-offer-text h3 small { font-size: clamp(31px, 2.7vw, 42px) !important; }
.sw-offer.has-title .sw-offer-text p { font-size: 22px !important; line-height: 1.7; }
.sw-offer.has-title .sw-offer-more { font-size: 18px !important; }
@media (max-width: 900px) { .sw-offer.has-title .sw-offer-text h3 .sw-offer-name, .sw-offer.has-title .sw-offer-text h3 small { font-size: 28px !important; } .sw-offer.has-title .sw-offer-text p { font-size: 18px !important; } }


/* 2026-10-16: CLOUVI 데모 섹션 — 두 칸의 자체 바탕(왼쪽 하늘색 그라데이션 · 오른쪽 베이지 사선)을 없애고 밤하늘 영상 위에 바로 올린다. 글은 흰색, 데모 창(.sw-cvw)은 그대로 */
.sw-cv-split .sw-cv-grid > .wp-block-column:first-child, .sw-cv-split .sw-cv-grid > .wp-block-column:last-child { background: none !important; box-shadow: none !important; }
.sw-cv-split .sw-cv-grid > .wp-block-column::before, .sw-cv-split .sw-cv-grid > .wp-block-column::after { display: none !important; }
.sw-cv-split .sw-cv-eyebrow { color: rgba(255, 255, 255, .75) !important; }
.sw-cv-split h2 { color: #fff !important; }
.sw-cv-split h2 .sw-hl { background: linear-gradient(90deg, #9cc8ff, #6fb3ff 55%, #7ee0ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sw-cv-split .sw-lead, .sw-cv-split .wp-block-column p { color: rgba(255, 255, 255, .85) !important; }
.sw-cv-split .wp-block-column p a { color: #9cc8ff !important; }
.sw-cv-split .sw-open-clouvi .wp-block-button__link { background: #fff !important; border-color: #fff !important; color: #0f1b33 !important; }
.sw-cv-split .sw-open-clouvi .wp-block-button__link:hover { background: #dbe8ff !important; border-color: #dbe8ff !important; color: #0f1b33 !important; }
.sw-cv-split .is-style-outline .wp-block-button__link { border-color: rgba(255, 255, 255, .8) !important; color: #fff !important; }
.sw-cv-split .is-style-outline .wp-block-button__link:hover { background: rgba(255, 255, 255, .16) !important; color: #fff !important; }
.sw-cv-split .sw-cvw { box-shadow: 0 30px 70px rgba(0, 0, 0, .45); }
.sw-cv-split > .sw-sky-bg::after { background: linear-gradient(180deg, rgba(4, 8, 24, .42) 0%, rgba(4, 8, 24, .3) 45%, rgba(4, 8, 24, .38) 75%, rgba(4, 8, 24, .62) 100%); }


/* 2026-10-16: 보정 — 제목의 타자 효과 글자(span)도 흰색으로(강조 .sw-hl 만 그라데이션) */
.sw-cv-split h2, .sw-cv-split h2 *:not(.sw-hl) { color: #fff !important; }
.sw-cv-split h2 .sw-hl { color: transparent !important; }


/* 2026-10-16: 브랜드 섹션 보정 — (1) 로고 마스크를 블러+알파 임계(SVG 필터)로 부드럽게 한 skyware-symbol-smooth.svg 로(같은 경로, 그리기만 매끄럽게) (2) 비누방울 안에도 아트 채움(유리 너머 보이듯) + 무지갯빛 테두리 (3) 방울 크기 25% 축소 */
.sw-brand-mark { -webkit-mask-image: url(assets/images/skyware-symbol-smooth.svg); mask-image: url(assets/images/skyware-symbol-smooth.svg); }
.sw-brand-bit {
  background-image:
    radial-gradient(circle closest-side at 30% 27%, rgba(255, 255, 255, .9) 0, rgba(255, 255, 255, .4) 18%, rgba(255, 255, 255, 0) 48%),
    radial-gradient(circle closest-side at 72% 78%, rgba(255, 255, 255, .25) 0, rgba(255, 255, 255, 0) 50%),
    radial-gradient(circle closest-side at 50% 50%, rgba(255, 255, 255, 0) 0 72%, rgba(255, 255, 255, .1) 82%, rgba(150, 215, 255, .6) 90%, rgba(255, 170, 230, .7) 95%, rgba(255, 240, 180, .55) 98%, rgba(255, 255, 255, .3) 100%),
    var(--brand-art, url(assets/images/brand/brand-collage.jpg)) !important;
  background-size: 100% 100%, 100% 100%, 100% 100%, 520% auto !important;
  background-position: 0 0, 0 0, 0 0, var(--bp, 50% 50%) !important;
  background-repeat: no-repeat !important;
  mix-blend-mode: normal; opacity: .92;
  box-shadow: inset 0 0 18px rgba(255, 255, 255, .22), 0 14px 30px rgba(0, 0, 0, .4);
}
.sw-brand.is-art-b .sw-brand-bit {
  background-image:
    radial-gradient(circle closest-side at 30% 27%, rgba(255, 255, 255, .9) 0, rgba(255, 255, 255, .4) 18%, rgba(255, 255, 255, 0) 48%),
    radial-gradient(circle closest-side at 72% 78%, rgba(255, 255, 255, .25) 0, rgba(255, 255, 255, 0) 50%),
    radial-gradient(circle closest-side at 50% 50%, rgba(255, 255, 255, 0) 0 72%, rgba(255, 255, 255, .1) 82%, rgba(150, 215, 255, .6) 90%, rgba(255, 170, 230, .7) 95%, rgba(255, 240, 180, .55) 98%, rgba(255, 255, 255, .3) 100%),
    var(--brand-art-b, url(assets/images/brand/brand-collage.jpg)) !important;
}
.sw-brand-bit.is-1 { --s: 52px; }
.sw-brand-bit.is-2 { --s: 72px; }
.sw-brand-bit.is-3 { --s: 64px; }
.sw-brand-bit.is-4 { --s: 42px; }
.sw-brand-bit.is-5 { --s: 36px; }
.sw-brand-bit.is-6 { --s: 46px; }
.sw-brand-bit.is-7 { --s: 34px; }


/* 2026-10-16: 문의 상자 심볼 v5 — 별빛 영상을 심볼 모양으로 마스킹(.sw-cta-sky), 아래에 옅은 흰 워터마크 심볼(::before). 정적 별표 캔버스(v4)는 숨김 */
body .sw-cta.sw-cta.sw-cta.sw-cta > canvas.sw-cta-stars2 { display: none !important; }
body .sw-cta.sw-cta.sw-cta.sw-cta::before { opacity: .13 !important; background: #fff !important; filter: none !important; }
body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky { position: absolute; top: 50%; right: 31%; z-index: 0; width: clamp(220px, 24vw, 380px); aspect-ratio: 185 / 120; overflow: hidden; transform: translateY(-50%) rotate(-6deg); -webkit-mask: url(assets/images/skyware-symbol.svg) center / contain no-repeat; mask: url(assets/images/skyware-symbol.svg) center / contain no-repeat; pointer-events: none; }
body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky video { position: absolute; inset: -8%; display: block; width: 116%; height: 116%; object-fit: cover; filter: brightness(1.3) contrast(1.12) saturate(1.1); }
@media (max-width: 900px) { body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky { right: 4%; opacity: .55; } }


/* 2026-10-16: 홈 오퍼링 왼쪽 글 칸을 넓혀 설명이 2~3줄에 들어가게(사용자: 줄바꿈 없이 2-3줄) */
.sw-offer.has-title .sw-offer-inner { grid-template-columns: minmax(360px, 36%) minmax(0, 1fr) !important; gap: clamp(32px, 4vw, 72px) !important; }
.sw-offer.has-title .sw-offer-text p { max-width: 30em; word-break: keep-all; }
@media (max-width: 1100px) { .sw-offer.has-title .sw-offer-inner { grid-template-columns: minmax(300px, 42%) minmax(0, 1fr) !important; } }


/* 2026-10-16: 비누방울 자연스럽게 — 가장자리를 마스크로 부드럽게 흐리고(feather), 테두리 링은 넓고 옅게, 아트는 screen 합성으로 빛이 비치듯. 크기 20% 더 축소 */
.sw-brand-bit, .sw-brand.is-art-b .sw-brand-bit {
  -webkit-mask-image: radial-gradient(circle closest-side, #000 0 84%, rgba(0, 0, 0, .55) 94%, rgba(0, 0, 0, 0) 100%);
  mask-image: radial-gradient(circle closest-side, #000 0 84%, rgba(0, 0, 0, .55) 94%, rgba(0, 0, 0, 0) 100%);
  mix-blend-mode: screen; opacity: .88;
  box-shadow: none;
}
.sw-brand-bit {
  background-image:
    radial-gradient(circle closest-side at 32% 28%, rgba(255, 255, 255, .8) 0, rgba(255, 255, 255, .25) 22%, rgba(255, 255, 255, 0) 52%),
    radial-gradient(circle closest-side at 70% 76%, rgba(255, 255, 255, .18) 0, rgba(255, 255, 255, 0) 55%),
    radial-gradient(circle closest-side at 50% 50%, rgba(255, 255, 255, 0) 0 58%, rgba(255, 255, 255, .05) 72%, rgba(160, 220, 255, .32) 86%, rgba(255, 190, 235, .4) 93%, rgba(255, 255, 255, .16) 98%, rgba(255, 255, 255, 0) 100%),
    var(--brand-art, url(assets/images/brand/brand-collage.jpg)) !important;
}
.sw-brand.is-art-b .sw-brand-bit {
  background-image:
    radial-gradient(circle closest-side at 32% 28%, rgba(255, 255, 255, .8) 0, rgba(255, 255, 255, .25) 22%, rgba(255, 255, 255, 0) 52%),
    radial-gradient(circle closest-side at 70% 76%, rgba(255, 255, 255, .18) 0, rgba(255, 255, 255, 0) 55%),
    radial-gradient(circle closest-side at 50% 50%, rgba(255, 255, 255, 0) 0 58%, rgba(255, 255, 255, .05) 72%, rgba(160, 220, 255, .32) 86%, rgba(255, 190, 235, .4) 93%, rgba(255, 255, 255, .16) 98%, rgba(255, 255, 255, 0) 100%),
    var(--brand-art-b, url(assets/images/brand/brand-collage.jpg)) !important;
}
.sw-brand-bit.is-1 { --s: 42px; }
.sw-brand-bit.is-2 { --s: 56px; }
.sw-brand-bit.is-3 { --s: 50px; }
.sw-brand-bit.is-4 { --s: 34px; }
.sw-brand-bit.is-5 { --s: 28px; }
.sw-brand-bit.is-6 { --s: 36px; }
.sw-brand-bit.is-7 { --s: 28px; }


/* 2026-10-16: 브랜드 로고 채움 기본값을 회사 로고 색(파랑)으로 — 아트 순환 사이에 원래 색으로 돌아온다(JS 'brand' 항목) */
.sw-brand-fill, .sw-brand-bit { --brand-art: linear-gradient(135deg, #5b93e6 0%, #4779c9 55%, #3a68bd 100%); }


/* 2026-10-16: 브랜드 로고 채움 '흐르는' 느낌 — 채움 이미지를 170% 로 키워 배경 위치를 계속 흘려보내고(pan), 기존 드리프트(이동·확대·회전)는 더 빠르게. 로고 색 상태도 여러 단계 파랑 그라데이션이 액체처럼 흐른다 */
.sw-brand-fill, .sw-brand-fill.is-b {
  background-size: 170% auto !important; background-position: 0% 50%; background-repeat: no-repeat;
  animation: sw-brand-drift 14s ease-in-out infinite alternate, sw-brand-pan 18s ease-in-out infinite alternate;
}
.sw-brand-fill.is-b { animation-delay: -7s, -9s; }
@keyframes sw-brand-pan { 0% { background-position: 0% 40%; } 50% { background-position: 60% 60%; } 100% { background-position: 100% 45%; } }
.sw-brand-fill, .sw-brand-bit { --brand-art: linear-gradient(115deg, #2f5fb3 0%, #4779c9 22%, #7fb3ff 42%, #4a82d6 60%, #3a68bd 78%, #6aa0ee 100%); }
@media (prefers-reduced-motion: reduce) { .sw-brand-fill, .sw-brand-fill.is-b { animation: none; } }


/* 2026-10-16: 서브페이지 스크롤 등장(.sw-rv) — 베스핀글로벌 DX 페이지 참고. 아래에서 떠오름(기본), 좌/우에서(.sw-rv-left/.sw-rv-right), 순서대로(--rv-i × 90ms). html.sw-rv-on 일 때만 숨겨 두므로 JS 가 없으면 그대로 보인다 */
.sw-rv-on .sw-rv { opacity: 0; transform: translateY(30px); transition: opacity .75s ease, transform .85s cubic-bezier(.2, .8, .2, 1); transition-delay: calc(var(--rv-i, 0) * 90ms); will-change: opacity, transform; }
.sw-rv-on .sw-rv.sw-rv-left { transform: translateX(-48px); }
.sw-rv-on .sw-rv.sw-rv-right { transform: translateX(48px); }
.sw-rv-on .sw-rv.is-in { opacity: 1; transform: none; }
/* 참고안의 둥실 떠 있는 아이콘(float) */
.sw-rv-on .sw-aif-steps li > img, .sw-rv-on .sw-aif-steps li > svg, .sw-rv-on .sw-aif-steps li > i, .sw-rv-on .sw-msg-stats li > i, .sw-rv-on .sw-aio li > i, .sw-rv-on .sw-aio li > img { animation: sw-rv-float 4.5s ease-in-out infinite alternate; }
@keyframes sw-rv-float { from { transform: translateY(-4px); } to { transform: translateY(5px); } }
@media (prefers-reduced-motion: reduce) { .sw-rv-on .sw-rv { opacity: 1; transform: none; transition: none; } .sw-rv-on .sw-aif-steps li > img, .sw-rv-on .sw-aif-steps li > svg, .sw-rv-on .sw-aif-steps li > i, .sw-rv-on .sw-msg-stats li > i, .sw-rv-on .sw-aio li > i, .sw-rv-on .sw-aio li > img { animation: none; } }


/* 2026-10-16: 761~1024px 에서 솔루션 박스 5장(3+2)의 마지막 박스가 1칸만 차지해 좁게 찌그러지던 것 수정 — 6열 그리드에서 모든 박스 2칸, 아랫줄 둘은 2·4열에서 시작해 가운데 정렬 */
@media (min-width: 761px) and (max-width: 1024px) {
  .sw-svid-panels.is-sol { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; grid-auto-rows: minmax(0, 1fr); }
  .sw-svid-panels.is-sol > .sw-sbox { grid-column: span 2 !important; min-width: 0; }
  .sw-svid-panels.is-sol > .sw-sbox:nth-child(4) { grid-column: 2 / span 2 !important; }
  .sw-svid-panels.is-sol > .sw-sbox:nth-child(5) { grid-column: 4 / span 2 !important; }
}
@media (max-width: 760px) {
  .sw-svid-panels.is-sol { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .sw-svid-panels.is-sol > .sw-sbox { grid-column: auto !important; min-width: 0; }
  .sw-svid-panels.is-sol > .sw-sbox:last-child { grid-column: 1 / -1 !important; }
}
@media (max-width: 480px) {
  .sw-svid-panels.is-sol { grid-template-columns: 1fr !important; }
  .sw-svid-panels.is-sol > .sw-sbox:last-child { grid-column: auto !important; }
}


/* 2026-10-16: 슬로건(Best Partner…) 글자 창이 열리면 위에 솔루션 모음(.sw-svid-sol = .sw-sol-sec 를 슬로건 상자 안으로), 아래에 솔루션 박스 5장. 둘 다 패널과 같은 --p 등장. 모음은 위 42vh 를 차지하고 박스는 그 아래 */
.sw-svid { --svid-sol-h: 42vh; }
.sw-svid-sol.sw-sol-sec { position: absolute; left: 0; right: 0; top: 0; height: var(--svid-sol-h); z-index: auto !important; margin: 0 !important; padding: 0 !important; overflow: hidden;
  opacity: calc(min(1, max(0, var(--p) - .18) / .4)); filter: blur(calc((1 - min(1, max(0, var(--p) - .18) / .4)) * 10px)); transform: scale(calc(.94 + min(1, max(0, var(--p) - .18) / .4) * .06)); }
.sw-svid-sol .sw-sol { height: 100%; box-sizing: border-box; padding: 24px clamp(24px, 3vw, 48px); gap: clamp(24px, 3vw, 56px); align-items: center; }
.sw-svid-sol .sw-sol::after { display: none; }
.sw-svid-sol .sw-sol-brand { margin-bottom: 10px; font-size: 16px; }
.sw-svid-sol .sw-sol-title { font-size: clamp(24px, 2.4vw, 38px); }
.sw-svid-sol .sw-sol-sub { margin-top: 12px; font-size: clamp(13px, .95vw, 15px); line-height: 1.55; }
.sw-svid-sol .sw-sol-more { margin-top: 16px; padding: 8px 16px; font-size: 13px; }
.sw-svid-sol .sw-sol-list { gap: clamp(10px, 1.6vw, 22px) clamp(8px, 1.2vw, 18px); }
.sw-svid-sol .sw-sol-list a { padding: 8px 4px 6px; gap: 6px; }
.sw-svid-sol .sw-sol-mark { width: clamp(38px, 3.4vw, 52px); height: clamp(38px, 3.4vw, 52px); }
.sw-svid-sol .sw-sol-name { font-size: clamp(14px, 1.15vw, 18px); }
.sw-svid-sol .sw-sol-desc { font-size: 11.5px; }
.sw-svid-panels.is-sol { top: var(--svid-sol-h); background: #040b1f; padding: 0; gap: 6px; }
@media (min-width: 761px) and (max-width: 1024px) { .sw-svid { --svid-sol-h: 38vh; } .sw-svid-sol .sw-sol { grid-template-columns: 1fr; gap: 14px; padding: 18px 24px; } .sw-svid-sol .sw-sol-sub, .sw-svid-sol .sw-sol-more { display: none; } .sw-svid-sol .sw-sol-list { grid-template-columns: repeat(8, minmax(0, 1fr)); } .sw-svid-sol .sw-sol-desc { display: none; } }
@media (max-width: 760px) { .sw-svid-sol.sw-sol-sec { position: relative; height: auto; order: 0; opacity: 1 !important; filter: none !important; transform: none !important; } .sw-svid-sol .sw-sol { height: auto; padding: 40px 24px; } .sw-svid-panels.is-sol { top: auto; } }
@media (prefers-reduced-motion: reduce) { .sw-svid-sol.sw-sol-sec { position: relative; height: auto; opacity: 1 !important; filter: none !important; transform: none !important; } }


/* 2026-10-16: 흰 띠 금지 — 슬로건 블록 → 영상 데모 → CLOUVI(밤하늘) 사이 블록 간격 제거 */
.sw-svid-wrap, .sw-vgrow-sec, .sw-cv-split, .sw-pfs-sec { margin-block: 0 !important; }
.sw-vgrow-sec + .sw-cv-split, .sw-cv-split + .sw-pfs-sec, .sw-svid-wrap + .sw-vgrow-sec { margin-top: 0 !important; }
/* 태블릿(761~1024px): 슬로건 안 박스 5장이 3+2 두 줄로 들어가도록 설명 숨기고 링크 간격 축소 */
@media (min-width: 761px) and (max-width: 1024px) { .sw-svid-panels.is-sol .sw-sbox-d { display: none; } .sw-svid-panels.is-sol .sw-sbox-links { margin-top: 10px; gap: 5px; } .sw-svid-panels.is-sol .sw-sbox-links a { padding: 7px 12px; font-size: 12.5px; } .sw-svid-panels.is-sol .sw-sbox-mark { width: 36px; height: 36px; margin-bottom: 6px; } .sw-svid-panels.is-sol .sw-sbox-t { font-size: 20px; } }


/* 2026-10-16: 태블릿(761~1024px) — 슬로건 창 안에 모음(30vh) + 박스 5장(3+2, 70vh)이 한 화면에 다 들어가게 */
@media (min-width: 761px) and (max-width: 1024px) {
  .sw-svid { --svid-sol-h: 30vh; }
  .sw-svid-sol .sw-sol { grid-template-columns: 1fr; gap: 8px; padding: 14px 20px 10px; align-content: center; }
  .sw-svid-sol .sw-sol-brand { margin-bottom: 4px; font-size: 14px; }
  .sw-svid-sol .sw-sol-brand .sw-sol-sym { width: 22px; height: 22px; }
  .sw-svid-sol .sw-sol-title { font-size: clamp(18px, 2.6vw, 24px); line-height: 1.15; }
  .sw-svid-sol .sw-sol-title span { display: inline; margin-left: .35em; }
  .sw-svid-sol .sw-sol-list { gap: 4px; }
  .sw-svid-sol .sw-sol-list a { padding: 4px 2px; gap: 3px; }
  .sw-svid-sol .sw-sol-mark { width: 30px; height: 30px; }
  .sw-svid-sol .sw-sol-name { font-size: 12px; }
  .sw-svid-panels.is-sol { gap: 4px; }
  .sw-svid-panels.is-sol .sw-sbox-in { padding: 12px 12px; justify-content: center; }
  .sw-svid-panels.is-sol .sw-sbox-mark { width: 30px; height: 30px; margin-bottom: 4px; }
  .sw-svid-panels.is-sol .sw-sbox-t { font-size: 18px; }
  .sw-svid-panels.is-sol .sw-sbox-links { margin-top: 8px; gap: 4px; max-width: 200px; }
  .sw-svid-panels.is-sol .sw-sbox-links a { padding: 6px 10px; font-size: 12px; }
  .sw-svid-panels.is-sol .sw-sbox-links a .sw-la { width: 26px; }
}


/* 2026-10-16: 홈 오퍼링(has-title) 2열 강제 규칙이 모바일 1열 전환(원래 max-width: 1024px)을 덮던 것 수정 — 모바일에선 1열 + 아코디언, 좌우 여백 복원. 푸터 패밀리 메뉴 폭 넘침도 막음 */
@media (max-width: 1024px) {
  .sw-offer.has-title .sw-offer-inner { grid-template-columns: 1fr !important; padding-right: clamp(24px, 4vw, 80px) !important; }
  .sw-offer.has-title .sw-offer-text h3 .sw-offer-name, .sw-offer.has-title .sw-offer-text h3 small { font-size: 24px !important; }
  .sw-offer.has-title .sw-offer-text p { font-size: 16px !important; }
}
.sw-foot2-family { max-width: 100%; }
.sw-foot2-family ul { max-width: 100%; box-sizing: border-box; }


/* 2026-10-16: 사이트 전체 — 전폭 섹션 사이 블록 간격(24px 흰 띠) 제거(사용자 규칙 "경계 없이"). 각 섹션은 자기 패딩으로 간격을 가진다 */
.sw-section, .sw-section-tight, .sw-page-hero, .sw-anchor-nav, .sw-ums-hero, .sw-ums-sec, .sw-home-contact, .sw-logo-roll, .sw-svid-wrap, .sw-vhero, .sw-onepage, .sw-biz-tabs, .sw-catalog-tabs, .sw-site-footer { margin-block: 0 !important; }
.wp-site-blocks .alignfull + .alignfull { margin-block-start: 0 !important; }
/* 문의 상자 심볼 — 매끄러운 마스크(블러+알파 임계)로, 별빛 영상은 가장자리를 살짝 흐려 자연스럽게 */
body .sw-cta.sw-cta.sw-cta.sw-cta::before { -webkit-mask-image: url(assets/images/skyware-symbol-smooth.svg) !important; mask-image: url(assets/images/skyware-symbol-smooth.svg) !important; opacity: .1 !important; }
body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky { -webkit-mask-image: url(assets/images/skyware-symbol-smooth.svg); mask-image: url(assets/images/skyware-symbol-smooth.svg); }
body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky video { filter: brightness(1.15) contrast(1.05) saturate(1.05) blur(.4px); }
/* 홈 Insight 머리글 — 제목과 오른쪽 설명의 위아래 기준을 맞춤(둘 다 위 정렬, 설명 첫 줄 여백 제거) */
body .sw-insights .sw-ins-head { align-items: start; }
body .sw-insights .sw-ins-head > * { margin-top: 0 !important; }
body .sw-insights .sw-ins-head .sw-ins-lead { padding-top: .35em; }


/* 2026-10-16: 채용 인재상 ∞ 도식 v6 — 배경 사진 없이 SVG 리본(남색→파랑→보라), 위에 빛 줄기 두 가닥이 리본을 따라 끝없이 흐른다(사용자: "인피니티 무제한 흐르는 느낌"). 글자 5개는 그대로 */
.sw-inf.is-v5 .sw-inf-art { position: relative; width: min(1000px, 100%); margin: 0 auto; background: none !important; box-shadow: none !important; border-radius: 0 !important; overflow: visible !important; }
.sw-inf6 { display: block; width: 100%; height: auto; overflow: visible; }
.sw-inf6 path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.sw-inf6-shadow { stroke: rgba(13, 42, 107, .22); stroke-width: 92; transform: translateY(22px); }
.sw-inf6-base { stroke: url(#sw-inf6-g); stroke-width: 84; }
.sw-inf6-hl { stroke: url(#sw-inf6-h); stroke-width: 84; }
.sw-inf6-flow { stroke: rgba(255, 255, 255, .55); stroke-width: 10; stroke-dasharray: 90 2260; stroke-dashoffset: 0; animation: sw-inf6-run 6s linear infinite; }
.sw-inf6-flow.is-glow { stroke: rgba(170, 215, 255, .9); stroke-width: 26; }
.sw-inf6-flow.is-2 { stroke: rgba(255, 255, 255, .35); stroke-width: 6; stroke-dasharray: 50 2300; animation-duration: 6s; animation-delay: -3s; }
@keyframes sw-inf6-run { to { stroke-dashoffset: -2350; } }
.sw-inf.is-v5 .sw-inf-lab { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, -50%); margin: 0; color: #fff; font-family: Pretendard, "Noto Sans KR", sans-serif; font-size: clamp(13px, 1.7vw, 19px); font-weight: 800; line-height: 1.25; letter-spacing: -.02em; text-align: center; text-shadow: 0 1px 10px rgba(8, 20, 50, .5); white-space: nowrap; pointer-events: none; }
.sw-inf.is-v5.is-armed .sw-inf-lab { opacity: 0; transform: translate(-50%, -40%); transition: opacity .6s ease, transform .6s ease; transition-delay: calc(var(--i, 0) * .15s + .3s); }
.sw-inf.is-v5.is-in .sw-inf-lab { opacity: 1; transform: translate(-50%, -50%); }
@media (prefers-reduced-motion: reduce) { .sw-inf6-flow { animation: none; stroke-dasharray: none; opacity: .25; } .sw-inf.is-v5.is-armed .sw-inf-lab { opacity: 1; transform: translate(-50%, -50%); } }


/* 2026-10-16: 사업분야 Business 그리드 — 올린 카드가 확 커지고 나머지는 확 작아진다(열·카드 모두 flex-grow 전환, :has 로 형제 축소). 데스크톱(1025px~)만 */
@media (min-width: 1025px) {
  .sw-bg-grid.is-cols { display: flex; align-items: stretch; }
  .sw-bg-col { flex: 1 1 0; min-width: 0; transition: flex-grow .75s cubic-bezier(.2, .8, .2, 1); }
  .sw-bg-col.is-main { flex-grow: 1.33; }
  .sw-bg-col .sw-bg-card { transition: flex-grow .75s cubic-bezier(.2, .8, .2, 1); }
  .sw-bg-grid.is-cols:has(.sw-bg-card:hover) .sw-bg-col { flex-grow: .55; }
  .sw-bg-grid.is-cols .sw-bg-col:has(.sw-bg-card:hover) { flex-grow: 2.8; }
  .sw-bg-col:has(.sw-bg-card:hover) .sw-bg-card { flex-grow: .4; }
  .sw-bg-col .sw-bg-card:hover, .sw-bg-col.is-main .sw-bg-card:hover { flex-grow: 3.4; }
  .sw-bg-card .sw-bg-text { transition: transform .75s cubic-bezier(.2, .8, .2, 1), opacity .4s ease; }
  .sw-bg-grid.is-cols:has(.sw-bg-card:hover) .sw-bg-card:not(:hover) .sw-bg-text { transform: scale(.78); opacity: .75; }
  .sw-bg-card:hover .sw-bg-text { transform: scale(1.12); }
  .sw-bg-card:hover .sw-bg-video { transform: scale(1.1); filter: brightness(.82); }
  .sw-bg-grid.is-cols:has(.sw-bg-card:hover) .sw-bg-card:not(:hover) .sw-bg-video { filter: brightness(.45); }
}


/* 2026-10-16: 브랜드 스테이지 — 심볼 아래 워드마크(skyware) 추가. 흰 로고 HD PNG(2400×463)의 글자 부분(x 673~2389)만 알파 마스크로 잘라 쓰고, 심볼과 같은 아트/로고 색으로 채운다 */
.sw-brand-stage { aspect-ratio: 185 / 158; }
.sw-brand-mark { inset: 0 0 auto 0; height: 76%; }
.sw-brand-word { position: absolute; left: 50%; bottom: 0; width: 68%; aspect-ratio: 1716 / 463; transform: translateX(-50%); opacity: 0; transition: opacity 1.2s ease .3s;
  -webkit-mask: url(assets/images/skyware-logo-white-hd.png) 100% 50% / 139.86% 100% no-repeat; mask: url(assets/images/skyware-logo-white-hd.png) 100% 50% / 139.86% 100% no-repeat;
  background: var(--brand-art, linear-gradient(135deg, #5b93e6, #4779c9 55%, #3a68bd)); background-size: 220% auto; background-position: 50% 50%; animation: sw-brand-pan 18s ease-in-out infinite alternate; }
.sw-brand.is-in .sw-brand-word { opacity: 1; }
.sw-brand.is-art-b .sw-brand-word { background-image: var(--brand-art-b, linear-gradient(135deg, #5b93e6, #4779c9 55%, #3a68bd)); }
@media (max-width: 900px) { .sw-brand-word { width: 78%; } }
@media (prefers-reduced-motion: reduce) { .sw-brand-word { animation: none; opacity: 1; } }


/* 2026-10-16: 제품 페이지 운영 카드(.sw-ops: 안정 운영 · 전담 지원 · 지속 개선) — 어두운 초록 바탕 + 민트 네모 아이콘(사용자: "이런 디자인은 절대 하면 안 되는데") 폐기. 밝은 바탕, 흰 카드, 남색 선 아이콘(원형 테두리), 검은 글 */
.sw-ums-sec:has(.sw-ops) { background: #f5f7fb !important; color: #111 !important; }
.sw-ums-sec:has(.sw-ops)::before, .sw-ums-sec:has(.sw-ops)::after { display: none !important; }
.sw-ums-sec:has(.sw-ops) h2, .sw-ums-sec:has(.sw-ops) .sw-ums-lead, .sw-ums-sec:has(.sw-ops) .sw-ums-eyebrow, .sw-ums-sec:has(.sw-ops) p { color: #111; }
.sw-ums-sec:has(.sw-ops) .sw-ums-lead, .sw-ums-sec:has(.sw-ops) > p { color: #555; }
.sw-ops { gap: 24px; }
.sw-ops-card { padding: 34px 30px 32px; border: 1px solid #e3e8f0 !important; border-radius: 0 !important; background: #fff !important; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none; transition: transform .3s ease, box-shadow .3s ease; }
.sw-ops-card:hover { transform: translateY(-6px); border-color: #c9d6ea !important; box-shadow: 0 18px 40px rgba(16, 47, 103, .1); }
.sw-ops-card::before { width: 56px; height: 56px; margin-bottom: 22px; border: 1.5px solid #2f6bd8; border-radius: 50%; background: var(--oi) center / 26px no-repeat !important; box-shadow: none !important; filter: invert(31%) sepia(73%) saturate(1800%) hue-rotate(208deg) brightness(92%) contrast(95%); }
.sw-ops-card h3 { color: #111 !important; font-weight: 800; }
.sw-ops-card .sw-ops-desc { color: #555 !important; }


/* 2026-10-16: AI 플랫폼 구성도 데이터 원통(.sw-dg-db) — 원형 복구 그룹이 border-radius 50% 를 강제해 접시처럼 찌그러진 것 수정. 몸통은 좌우 반원/세로 12px 타원, 윗면 캡은 같은 타원으로 몸통 윗선에 정확히 맞춤 */
.sw-dg-db { border-radius: 50% / 12px !important; height: 70px; padding: 0 8px 10px; background: linear-gradient(90deg, #c9d7ee 0%, #edf2fb 42%, #e3eaf6 70%, #bfcfe9 100%) !important; box-shadow: 0 10px 18px rgba(31, 63, 143, .14), inset 0 -4px 0 rgba(31, 63, 143, .12) !important; }
.sw-dg-db::before { top: -12px !important; left: 0; right: 0; height: 24px; border-radius: 50% !important; background: linear-gradient(180deg, #ffffff, #dfe7f5) !important; box-shadow: 0 1px 0 #afc1dd, inset 0 -3px 5px rgba(31, 63, 143, .12) !important; }
.sw-dg-db::after { top: 18px; }
.sw-dg-dbs { padding-top: 16px; }
/* 운영 카드 아이콘을 남색 계열로(보라 기운 제거) */
.sw-ops-card::before { border-color: #2f6bd8; filter: invert(38%) sepia(62%) saturate(1400%) hue-rotate(198deg) brightness(95%) contrast(96%); }


/* 2026-10-16: SOMP 히어로 폰 — 화면(.sw-ums-screen)이 테두리 림(2px) 위로 삐져나오던 것 수정: 화면 모서리를 테두리보다 작게, 패딩 포함 높이 100% 로 고정 */
.sw-ums-phone { overflow: visible; isolation: isolate; }
.sw-ums-phone .sw-ums-screen { box-sizing: border-box; height: 100% !important; max-height: 100%; border-radius: 36px !important; }
.sw-ums-phone .sw-ums-screen::before { top: 12px !important; }


/* 2026-10-16: SOMP 폰 보정 2 — 틀을 고정 비율(9/17)로 묶지 않고 화면 내용 높이에 맞춰 늘려 알림 5개가 홈 바와 겹치지 않게. 화면은 틀 안에만 그려진다 */
.sw-ums-phone { aspect-ratio: auto !important; height: auto !important; }
.sw-ums-phone .sw-ums-screen { height: auto !important; min-height: 660px; max-height: none; padding-bottom: 96px !important; }


/* 2026-10-16: 브랜드 스테이지 — 심볼 + 워드마크를 한 장의 마스크(skyware-lockup-mask.svg)로 합쳐 같은 채움층이 덮는다 → 아트 교차 페이드 중에도 둘의 배경이 항상 일치(사용자: "로고와 skyware 배경이 일치했으면"). 별도 워드마크 층은 숨김 */
.sw-brand-mark { inset: 0 !important; height: 100% !important; -webkit-mask-image: url(assets/images/skyware-lockup-mask.svg) !important; mask-image: url(assets/images/skyware-lockup-mask.svg) !important; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-position: center; mask-position: center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
.sw-brand-word { display: none !important; }


/* 2026-10-16: 비누방울을 실사로 — AI 생성 투명 PNG 3종(assets/images/brand/bubble-1~3.png)을 screen 합성으로 얹고, 가운데는 마스크로 더 투명하게. 크기·배치 재구성: 큰 것 2개 + 중간 2개 + 작은 것 3개, 멀리 있는 것은 살짝 흐림 */
.sw-brand .sw-brand-bit, .sw-brand.is-art-b .sw-brand-bit {
  background: url(assets/images/brand/bubble-1.png) center / 100% 100% no-repeat !important;
  mix-blend-mode: screen; opacity: .95; box-shadow: none !important; border-radius: 50% !important;
  -webkit-mask-image: radial-gradient(circle closest-side, rgba(0, 0, 0, .35) 0 55%, rgba(0, 0, 0, .8) 82%, #000 92%, rgba(0, 0, 0, .9) 100%);
  mask-image: radial-gradient(circle closest-side, rgba(0, 0, 0, .35) 0 55%, rgba(0, 0, 0, .8) 82%, #000 92%, rgba(0, 0, 0, .9) 100%);
}
.sw-brand .sw-brand-bit.is-2, .sw-brand .sw-brand-bit.is-5 { background-image: url(assets/images/brand/bubble-2.png) !important; }
.sw-brand .sw-brand-bit.is-3, .sw-brand .sw-brand-bit.is-6 { background-image: url(assets/images/brand/bubble-3.png) !important; }
.sw-brand-bit.is-1 { top: -6%; left: 2%; --s: 66px; }
.sw-brand-bit.is-2 { top: 6%; right: -13%; --s: 104px; }
.sw-brand-bit.is-3 { bottom: -4%; left: -15%; --s: 84px; }
.sw-brand-bit.is-4 { bottom: -16%; right: 24%; --s: 44px; }
.sw-brand-bit.is-5 { top: 44%; left: -6%; --s: 26px; filter: blur(.6px); opacity: .8; }
.sw-brand-bit.is-6 { top: 64%; right: -4%; --s: 36px; filter: blur(.4px); }
.sw-brand-bit.is-7 { top: -20%; left: 60%; --s: 22px; filter: blur(.8px); opacity: .75; }
@media (max-width: 900px) { .sw-brand-bit.is-2 { --s: 70px !important; } .sw-brand-bit.is-3 { --s: 56px !important; } .sw-brand-bit.is-1 { --s: 44px !important; } }


/* 2026-10-16: 실사 비누방울 보정 — PNG 안쪽 회색 막을 마스크로 비워 투명하게(가장자리 무지개 테와 왼쪽 위 하이라이트만 남김), 색은 조금 진하게 */
.sw-brand .sw-brand-bit, .sw-brand.is-art-b .sw-brand-bit {
  -webkit-mask-image: radial-gradient(circle closest-side, rgba(0, 0, 0, 0) 0 60%, rgba(0, 0, 0, .3) 76%, #000 88%, #000 100%), radial-gradient(circle at 31% 28%, #000 0 7%, rgba(0, 0, 0, 0) 19%);
  mask-image: radial-gradient(circle closest-side, rgba(0, 0, 0, 0) 0 60%, rgba(0, 0, 0, .3) 76%, #000 88%, #000 100%), radial-gradient(circle at 31% 28%, #000 0 7%, rgba(0, 0, 0, 0) 19%);
  -webkit-mask-composite: source-over; mask-composite: add;
  filter: saturate(1.7) brightness(1.12) contrast(1.05);
}
.sw-brand-bit.is-5 { filter: saturate(1.7) brightness(1.1) blur(.6px); }
.sw-brand-bit.is-6 { filter: saturate(1.7) brightness(1.1) blur(.4px); }
.sw-brand-bit.is-7 { filter: saturate(1.7) brightness(1.1) blur(.8px); }


/* 2026-10-16: 비누방울 — 로고(심볼 + 워드마크) 바깥에만, 최대 58px (사용자: "로고를 가리면 안 돼, 크기가 너무 커도 안 돼") */
.sw-brand-bit.is-1 { top: -18%; left: 8%; --s: 34px; }
.sw-brand-bit.is-2 { top: 2%; right: -19%; --s: 58px; }
.sw-brand-bit.is-3 { bottom: 4%; left: -20%; --s: 48px; }
.sw-brand-bit.is-4 { bottom: -18%; right: 30%; --s: 30px; }
.sw-brand-bit.is-5 { top: 46%; left: -16%; --s: 22px; }
.sw-brand-bit.is-6 { top: 72%; right: -16%; --s: 28px; }
.sw-brand-bit.is-7 { top: -24%; left: 64%; --s: 18px; }
@keyframes sw-brand-float { from { transform: translateY(-6px) rotate(var(--tr, -4deg)); } to { transform: translateY(8px) rotate(calc(var(--tr, -4deg) * -1)); } }
@media (max-width: 900px) { .sw-brand-bit.is-2 { --s: 44px !important; } .sw-brand-bit.is-3 { --s: 36px !important; } .sw-brand-bit.is-1 { --s: 28px !important; } }


/* 2026-10-16: 비누방울 삭제(사용자: "그냥 비누방울 지우자") — 로고와 흐르는 아트만 남긴다 */
.sw-brand-bit { display: none !important; }


/* 2026-10-16: 브랜드 로고 안에서 회사 영상 재생(.sw-brand-vid) — 아트 층 위에 겹쳐 교차 페이드, 마스크(로고+워드마크)로 잘린다 */
.sw-brand-vid { position: absolute; inset: -6%; width: 112%; height: 112%; object-fit: cover; opacity: 0; transition: opacity 1.4s ease; pointer-events: none; }
.sw-brand.is-video .sw-brand-vid { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .sw-brand-vid { display: none; } }


/* 2026-10-16: 홈 오퍼링 왼쪽 글 — 사업 영문명 · 한글 제목을 보라→파랑 그라데이션 글자로(사용자: "한 가지 색이 아니고 그라데이션") */
.sw-offer.has-title .sw-offer-text h3 .sw-offer-name, .sw-offer.has-title .sw-offer-text h3 small { background-image: linear-gradient(90deg, #6a3df0 0%, #4f7cff 45%, #2f6bd8 75%, #1ea9e0 100%); -webkit-background-clip: text; background-clip: text; color: transparent !important; -webkit-text-fill-color: transparent; display: inline-block; width: fit-content; }
.sw-offer.has-title .sw-offer-text h3 { display: flex; flex-direction: column; align-items: flex-start; }


/* 2026-10-16: 포트폴리오 머리글을 Insight 머리글과 동일하게 — 같은 그리드(1fr/1.4fr, 위 정렬), 제목 800/clamp(40~64px)/1.05, 오른쪽 굵은 첫 줄(20px 검정) + 회색 설명 16px */
body .sw-pfs-sec .sw-ins-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 40px; align-items: start; max-width: min(calc(100vw - 48px), 1800px) !important; margin-inline: auto !important; margin-bottom: 44px !important; }
body .sw-pfs-sec .sw-ins-head > * { margin-top: 0 !important; }
body .sw-pfs-sec .sw-ins-title { margin: 0; color: #111; font-family: Pretendard, "Noto Sans KR", sans-serif; font-weight: 800 !important; font-size: clamp(40px, 4.2vw, 64px) !important; line-height: 1.05 !important; letter-spacing: -.03em; }
body .sw-pfs-sec .sw-ins-title strong, body .sw-pfs-sec .sw-ins-title span { font-weight: 800 !important; color: #111 !important; }
body .sw-pfs-sec .sw-ins-lead { margin: 0; padding-top: .35em; color: #555; font-size: 16px; line-height: 1.75; letter-spacing: 0; text-transform: none; }
body .sw-pfs-sec .sw-ins-lead strong { display: block; margin-bottom: 8px; color: #111; font-size: 20px; font-weight: 700; letter-spacing: 0; }
@media (max-width: 900px) { body .sw-pfs-sec .sw-ins-head { grid-template-columns: 1fr; gap: 16px; } }


/* 2026-10-16: 브랜드 로고 아트 교체 3배속 — 교차 페이드 1.4s → .45s, 흐름(pan · drift)도 3배 */
.sw-brand-fill.is-b, .sw-brand-vid { transition-duration: .45s; }
.sw-brand-fill, .sw-brand-fill.is-b { animation-duration: 4.7s, 6s; }
.sw-brand-word { animation-duration: 6s; }


/* 2026-10-16: 첫 화면 채움도 단색 대신 자연 사진(모래사장)으로 — 단색으로 돌아오지 않게 */
.sw-brand-fill, .sw-brand-bit, .sw-brand-word { --brand-art: url(assets/images/brand/art-23.jpg); }


/* 2026-10-16: 순환 1.5배 느리게(사진 1.75s · 영상 3.6s), 페이드 .7s, 흐름도 그에 맞춰. 첫 화면은 파도 사진 */
.sw-brand-fill.is-b, .sw-brand-vid { transition-duration: .7s; }
.sw-brand-fill, .sw-brand-fill.is-b { animation-duration: 7s, 9s; }
.sw-brand-word { animation-duration: 9s; }
.sw-brand-fill, .sw-brand-bit, .sw-brand-word { --brand-art: url(assets/images/brand/art-17.jpg); }


/* 2026-10-16: 첫 화면 채움은 동트는 바다 여명(art-28) */
.sw-brand-fill, .sw-brand-bit, .sw-brand-word { --brand-art: url(assets/images/brand/art-28.jpg); }


/* 2026-10-16: 캐시 갱신용 — 브랜드 순환에 기하 아트 6장 삽입 */


/* 2026-10-16: 캐시 갱신 — 브랜드 순환에서 호피처럼 보이는 마블 아트 제외 */


/* 2026-10-16: 캐시 갱신 — 브랜드 순환에 색 그라데이션 6종 삽입 */


/* 2026-10-16: 홈 Insight 카드 등장 — 베스핀글로벌 홈처럼 카드 전체가 아래에서 위로 한 번에 떠오른다(시차 없음, .9s). JS 가 .sw-insights 에 is-in 을 붙인다 */
html.sw-insrv .sw-insights .sw-insight-grid, html.sw-insrv .sw-insights .sw-insight-all { opacity: 0; transform: translateY(70px); transition: opacity .9s ease, transform .9s cubic-bezier(.2, .8, .2, 1); will-change: opacity, transform; }
html.sw-insrv .sw-insights.is-in .sw-insight-grid, html.sw-insrv .sw-insights.is-in .sw-insight-all { opacity: 1; transform: none; }
html.sw-insrv .sw-insights.is-in .sw-insight-all { transition-delay: .25s; }
@media (prefers-reduced-motion: reduce) { html.sw-insrv .sw-insights .sw-insight-grid, html.sw-insrv .sw-insights .sw-insight-all { opacity: 1; transform: none; transition: none; } }


/* 2026-10-16: Insight — 기존 카드별 시차 등장(2026-10-13) 해제. 카드는 묶음으로 한 번에, 제목·소개 글도 시차 없이 */
html.sw-insrv .sw-insights.is-armed .sw-insight-grid > .wp-block-column, html.sw-insrv .sw-insights.is-in .sw-insight-grid > .wp-block-column { opacity: 1 !important; transform: none !important; transition: none !important; transition-delay: 0s !important; }
html.sw-insrv .sw-insights.is-in .sw-ins-lead, html.sw-insrv .sw-insights.is-in .sw-ins-title { transition-delay: 0s !important; }


/* 2026-10-16: 캐시 갱신 — 그라데이션 색 5개 이상으로 */


/* 2026-10-16: 캐시 갱신 — 그라데이션 팔레트 2회 반복 배치 */


/* 2026-10-16: 브랜드 로고에 마우스를 올리면 1.08배로 부드럽게 커지고(0.6s), 안쪽 아트 흐름이 2배 빨라진다. 마스크는 .sw-brand-mark 에 있으므로 stage 전체를 키운다 */
.sw-brand-stage { transition: transform .6s cubic-bezier(.2, .8, .2, 1); cursor: default; will-change: transform; }
.sw-brand-stage:hover { transform: scale(1.08); }
.sw-brand-stage:hover .sw-brand-fill, .sw-brand-stage:hover .sw-brand-fill.is-b { animation-duration: 3.5s, 4.5s; }
@media (hover: none), (prefers-reduced-motion: reduce) { .sw-brand-stage:hover { transform: none; } }


/* 2026-10-16: SI·ITO 운영 서비스 범위(.sw-itos) — 남색 한 덩어리 띠 대신 이전 버전(2026-10-12 카드화: 흰 카드 4장 · 색 윗줄 · 번호)으로 복귀(사용자: "이전 버전으로"). 아이콘 타일은 남색 바탕으로 유지 */
.sw-itos { gap: 18px; border-radius: 0; background: none; overflow: visible; }
.sw-itos li { position: relative; padding: 34px 26px 30px; border: 1px solid #e3eaf4; border-left: 1px solid #e3eaf4 !important; border-radius: 0; background: #fff; box-shadow: 0 14px 34px rgba(16, 47, 103, .07); transition: transform .3s, box-shadow .3s; transform: none; }
.sw-itos li:hover { transform: translateY(-4px); box-shadow: 0 22px 46px rgba(16, 47, 103, .12); }
.sw-itos li::after { content: ""; position: absolute; top: 0; left: 26px; right: 26px; height: 4px; background: var(--ic, #2f6bd8); }
.sw-itos li::before { display: block; background-color: #13306e; box-shadow: none; }
.sw-itos b { color: #13306e; }
.sw-itos b::before { counter-increment: sw-itos; content: "0" counter(sw-itos); display: block; margin-bottom: 12px; color: var(--ic, #2f6bd8); font-size: 13px; font-weight: 800; letter-spacing: .14em; }
.sw-itos span { color: #4b5563; }
@media (max-width: 900px) { .sw-itos li + li { border-left: 1px solid #e3eaf4 !important; } }
@media (prefers-reduced-motion: reduce) { .sw-itos li { transition: none; } .sw-itos li:hover { transform: none; } }


/* 2026-10-16: 수행 사례 그리드 등장 — 카드 묶음이 한 번에 아래에서 위로(.9s, 시차 없음) */
.sw-rv-on .sw-case-grid.sw-rv { transform: translateY(70px); transition-duration: .9s, .9s; transition-delay: 0s !important; }
.sw-rv-on .sw-case-grid.sw-rv.is-in { transform: none; }


/* 2026-10-16: FAQ 질문(details) — 펼쳤을 때 질문 글자를 파란색으로, 세모 화살표도 같은 색 */
.wp-block-details summary { transition: color .25s ease; }
.wp-block-details[open] > summary { color: #2f6bd8; }
.wp-block-details[open] > summary::marker, .wp-block-details[open] > summary::-webkit-details-marker { color: #2f6bd8; }
.wp-block-details > summary:hover { color: #2f6bd8; }


/* 2026-10-16: 캐시 갱신 — 등장 시차를 줄 단위로 */


/* 2026-10-16: 뉴스룸 캐러셀 현재 점 — 자동 넘김 경과를 원형 진행 링으로(conic-gradient, --p 는 site.js 가 매 프레임 갱신). 가운데는 흰 점 */
.sw-nr-dots li { position: relative; }
.sw-nr-dots li.is-on { width: 16px; height: 16px; margin: -4px; box-shadow: none !important; background: conic-gradient(#f5280b calc(var(--p, 0) * 360deg), #f2c9bf 0) !important; }
.sw-nr-dots li.is-on::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: #fff; }
@media (prefers-reduced-motion: reduce) { .sw-nr-dots li.is-on { background: #fff !important; box-shadow: 0 0 0 2px #f5280b !important; } .sw-nr-dots li.is-on::after { display: none; } }


/* 2026-10-16: 문의 상자 심볼 디자인 보완 — 흐릿한 워터마크 겹침 대신 (1) 심볼 뒤 은은한 파랑→보라 글로우(::before, 블러) (2) 별빛 영상은 screen 합성 + 밝기 ↑ 로 어두운 부분이 남색에 녹아 별만 또렷 (3) 심볼 안쪽 왼쪽 위 하이라이트로 입체감 */
body .sw-cta.sw-cta.sw-cta.sw-cta::before { opacity: .55 !important; background: linear-gradient(135deg, #7fb3ff 0%, #4f7cff 50%, #8a5cff 100%) !important; filter: blur(16px) !important; transform: translateY(-50%) rotate(-6deg) scale(1.06) !important; }
body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky { background: linear-gradient(135deg, rgba(60, 110, 220, .55), rgba(110, 70, 230, .55)); }
body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky video { mix-blend-mode: screen; filter: brightness(1.75) contrast(1.15) saturate(1.2); }
body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky::after { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 60% at 22% 18%, rgba(255, 255, 255, .34), rgba(255, 255, 255, 0) 70%), linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(0, 0, 0, .18)); pointer-events: none; }
@media (max-width: 900px) { body .sw-cta.sw-cta.sw-cta.sw-cta::before { opacity: .25 !important; } }


/* 2026-10-16: 문의하기 — 위 카드 하나로 통합. 머리글 아래 연락처 블록(이메일 · 전화 · 본사)을 두 칸으로, 개인정보 안내 섹션은 접어 두고 폼의 개인정보 링크를 누르면 펼쳐진다 */
.sw-hc-head .sw-contact-chip { display: inline-block; margin: 14px 0 0; padding: 6px 12px; border: 1px solid #d6deea; color: #4b5a73; font-size: 13px; font-weight: 600; }
.sw-hc-contacts { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; margin-top: 22px !important; }
.sw-hc-contacts .sw-contact-block { margin: 0 !important; padding: 0; border: 0; }
.sw-hc-contacts .sw-contact-block h3 { margin: 0 0 6px !important; color: #13306e; font-size: 14px !important; font-weight: 800; }
.sw-hc-contacts .sw-contact-block p { margin: 2px 0 !important; color: #4b5563; font-size: 14px; line-height: 1.6; }
.sw-hc-contacts .sw-contact-block a { color: #2f6bd8; text-decoration: none; }
.sw-privacy-notice:not(.is-open) { display: none !important; }
.sw-privacy-notice.is-open { animation: sw-rv-fadeup .7s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes sw-rv-fadeup { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: none; } }
@media (max-width: 760px) { .sw-hc-contacts { grid-template-columns: 1fr; } }


/* 2026-10-16: 홈 Our Expertise 제목을 BUSINESS 제목과 같은 규격으로(clamp 36~56px · 800 · 자간 -.02em · 대문자). 소제목(MAIN SERVICE OFFERINGS 규격)도 위에 */
body .sw-company-sec > .sw-section-heading h2, body .sw-company-sec .sw-section-heading h2 { color: #111 !important; font-size: clamp(36px, 3.6vw, 56px) !important; font-weight: 800 !important; line-height: 1.15 !important; letter-spacing: -.02em !important; text-transform: uppercase; }
body .sw-company-sec > .sw-section-heading .sw-lead { font-size: 16px; color: #555; }


/* 2026-10-16: 슬로건 창 비중 — 위 솔루션 모음 42vh → 58vh(글자·마크 키움), 아래 박스 5장은 42vh 로 작게(마크·제목·링크 축소) */
@media (min-width: 1025px) {
  .sw-svid { --svid-sol-h: 58vh; }
  .sw-svid-sol .sw-sol { padding: 32px clamp(32px, 4vw, 72px); gap: clamp(32px, 4vw, 80px); }
  .sw-svid-sol .sw-sol-brand { font-size: 19px; margin-bottom: 16px; }
  .sw-svid-sol .sw-sol-title { font-size: clamp(32px, 3.2vw, 52px); }
  .sw-svid-sol .sw-sol-sub { font-size: clamp(15px, 1.1vw, 18px); margin-top: 18px; }
  .sw-svid-sol .sw-sol-more { margin-top: 24px; padding: 11px 20px; font-size: 14px; }
  .sw-svid-sol .sw-sol-list { gap: clamp(18px, 2.4vw, 36px) clamp(10px, 1.6vw, 24px); }
  .sw-svid-sol .sw-sol-list a { padding: 12px 6px 10px; gap: 10px; }
  .sw-svid-sol .sw-sol-mark { width: clamp(52px, 5vw, 76px); height: clamp(52px, 5vw, 76px); }
  .sw-svid-sol .sw-sol-name { font-size: clamp(17px, 1.4vw, 22px); }
  .sw-svid-sol .sw-sol-desc { font-size: 13px; }
  .sw-svid-panels.is-sol .sw-sbox-in { padding: 20px 16px; }
  .sw-svid-panels.is-sol .sw-sbox-mark { width: 36px; height: 36px; margin-bottom: 8px; }
  .sw-svid-panels.is-sol .sw-sbox-t { font-size: clamp(20px, 1.6vw, 26px); }
  .sw-svid-panels.is-sol .sw-sbox-d { margin-top: 8px; font-size: 13px; line-height: 1.5; }
  .sw-svid-panels.is-sol .sw-sbox-links { max-width: 230px; margin-top: 14px; gap: 6px; }
  .sw-svid-panels.is-sol .sw-sbox-links a { padding: 9px 12px; font-size: 13px; }
}


/* 2026-10-16: 문의 카드 보정 — 안내 칩이 칸 전체로 늘어나던 것(그리드 stretch)을 내용 크기로, 연락처 블록의 파란 네모(원래 왼쪽 칸 전용 아이콘 마스크가 빠진 것)는 숨기고 들여쓰기 제거 */
.sw-hc-head .sw-contact-chip { width: fit-content; height: auto; align-self: start; justify-self: start; padding: 6px 12px !important; margin: 14px 0 0 !important; line-height: 1.4; }
.sw-hc-contacts .sw-contact-block p::before, .sw-hc-contacts .sw-contact-block p::after { display: none !important; }
.sw-hc-contacts .sw-contact-block p { padding-left: 0 !important; }
.sw-hc-contacts .sw-contact-block .sw-contact-map, .sw-hc-contacts .sw-contact-block p a[href*="map"] { font-weight: 600; }
.sw-hc-head { align-items: start; }


/* 2026-10-16: 문의 카드 연락처 블록 — 제목 16px/굵게, 이메일·전화는 18px 파랑 굵게, 주소는 15px 회색 한 줄 폭 확보, 오시는길은 작은 링크. 두 칸 사이 간격 넓게 */
.sw-hc-contacts { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 20px 40px; margin-top: 26px !important; }
.sw-hc-contacts .sw-contact-block h3 { margin: 0 0 10px !important; font-size: 16px !important; letter-spacing: -.01em; }
.sw-hc-contacts .sw-contact-block .sw-contact-mail, .sw-hc-contacts .sw-contact-block .sw-contact-tel { margin: 0 0 4px !important; font-size: 18px; font-weight: 700; line-height: 1.4; }
.sw-hc-contacts .sw-contact-block .sw-contact-mail a, .sw-hc-contacts .sw-contact-block .sw-contact-tel a { color: #2f6bd8; }
.sw-hc-contacts .sw-contact-block .sw-contact-addr, .sw-hc-contacts .sw-contact-block p:not(.sw-contact-mail):not(.sw-contact-tel):not(.sw-contact-map) { margin: 0 !important; color: #4b5563; font-size: 15px; line-height: 1.6; word-break: keep-all; }
.sw-hc-contacts .sw-contact-block .sw-contact-map, .sw-hc-contacts .sw-contact-block p:has(> a[href*="map"]) { margin: 8px 0 0 !important; font-size: 14px; }
.sw-hc-contacts .sw-contact-block .sw-contact-map a, .sw-hc-contacts .sw-contact-block p a[href*="map"] { color: #2f6bd8; font-weight: 600; }
@media (max-width: 760px) { .sw-hc-contacts { grid-template-columns: 1fr; gap: 18px; } }


/* 2026-10-16: 슬로건 박스 링크 3개 → 2개(세 번째 숨김) */
.sw-svid-panels.is-sol .sw-sbox-links li:nth-child(3) { display: none; }
.sw-svid-panels.is-sol .sw-sbox-links { max-width: 240px; }
/* 문의 상자 심볼 — 워터마크처럼 은은하게(글로우 · 별빛 · 하이라이트 모두 낮춤) */
body .sw-cta.sw-cta.sw-cta.sw-cta::before { opacity: .18 !important; }
body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky { opacity: .42; }
body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky video { filter: brightness(1.4) contrast(1.05) saturate(1); }
body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky::after { background: radial-gradient(60% 60% at 22% 18%, rgba(255, 255, 255, .16), rgba(255, 255, 255, 0) 70%); }


/* 2026-10-16: 홈 BUSINESS 제목 아래 한 줄 설명(.sw-offer-desc) — Our Expertise 설명과 같은 규격(16px · #555) */
.sw-offer-desc { margin: 14px 0 0; color: #555; font-size: 16px; line-height: 1.7; word-break: keep-all; max-width: 30em; }


/* 2026-10-16: Sales Pack 미리보기 창(.sw-spv) — SK AX 세일즈팩 참고: 어두운 바탕, 위 막대(닫기 · 로고 · 안내 · 다운로드 버튼), 가운데 흰 종이처럼 쌓인 3쪽, 아래 흰→회색 그라데이션 블록에 "더 많은 내용을 보시려면 / 파일 다운받기 / 버튼을 눌러주세요" */
.sw-spv { position: fixed; inset: 0; z-index: 3000; overflow-y: auto; background: #2a2a2a; font-family: Pretendard, "Noto Sans KR", sans-serif; animation: sw-spv-in .3s ease both; }
@keyframes sw-spv-in { from { opacity: 0; } to { opacity: 1; } }
.sw-spv-bar { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; gap: 18px; height: 64px; padding: 0 20px; background: #1b2330; color: #fff; box-shadow: 0 2px 12px rgba(0, 0, 0, .35); }
.sw-spv-x { flex: 0 0 auto; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .1); color: #fff; font-size: 16px; cursor: pointer; transition: background .2s ease; }
.sw-spv-x:hover { background: rgba(255, 255, 255, .22); }
.sw-spv-logo { flex: 0 0 auto; height: 22px; width: auto; }
.sw-spv-hint { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; gap: 12px; margin: 0; font-size: 13px; color: rgba(255, 255, 255, .78); text-align: center; min-width: 0; }
.sw-spv-hint b { color: #fff; font-size: 14px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sw-spv-pages { padding: 2px 8px; border: 1px solid rgba(255, 255, 255, .35); font-size: 12px; white-space: nowrap; }
.sw-spv-hint > span:last-child { white-space: nowrap; }
.sw-spv-dl { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; height: 40px; padding: 0 20px; background: #2f6bd8; color: #fff !important; font-size: 14px; font-weight: 700; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.sw-spv-dl:hover { background: #1f57bd; }
.sw-spv-body { padding: 16px 16px 48px; }
.sw-spv-pagesbox { width: min(1180px, 100%); margin: 0 auto; }
.sw-spv-page { display: block; width: 100%; height: auto; margin: 0 0 16px; background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .45); }
.sw-spv-more { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px; min-height: 560px; padding: 60px 24px; background: linear-gradient(180deg, #ffffff 0%, #d9d9d9 100%); text-align: center; box-shadow: 0 10px 30px rgba(0, 0, 0, .45); }
.sw-spv-more p { margin: 0; color: #2f6bd8; font-size: clamp(24px, 2.4vw, 34px); font-weight: 800; letter-spacing: -.02em; }
.sw-spv-dl.is-big { height: 60px; padding: 0 56px; font-size: clamp(20px, 1.8vw, 26px); font-weight: 800; box-shadow: 0 10px 24px rgba(47, 107, 216, .35); }
.sw-spv-dl.is-big:hover { transform: translateY(-2px); }
body.sw-locked { overflow: hidden; }
.sw-sp-card > a { cursor: zoom-in; }
@media (max-width: 760px) { .sw-spv-bar { height: auto; flex-wrap: wrap; padding: 10px 12px; gap: 10px; } .sw-spv-hint { order: 3; flex-basis: 100%; justify-content: flex-start; } .sw-spv-hint > span:last-child { display: none; } .sw-spv-logo { display: none; } .sw-spv-more { min-height: 360px; } }


/* 2026-10-16: 사업분야 배너의 '▶ 체험하기' 버튼 묶음(.sw-demo-bar) 뒤에 깔리던 옅은 띠(유리 바탕) 제거 — 버튼만 보이게, 왼쪽 정렬 */
.sw-page-hero .sw-demo-bar, .sw-page-hero .wp-block-buttons:has(> .sw-demo-open-wrap) { background: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; margin: 28px 0 0 !important; justify-content: flex-start !important; width: auto !important; max-width: none !important; }
.sw-page-hero .sw-demo-bar::before, .sw-page-hero .sw-demo-bar::after { display: none !important; }


/* 2026-10-16: Sales Pack 미리보기 v2 — 다운로드 신청 폼(회사명 · 이름 · 이메일 · 동의 · 버튼)과 접수 완료 문구 */
.sw-spv-more { gap: 18px; }
.sw-spv-more-t { color: #2f6bd8; font-size: clamp(24px, 2.4vw, 34px); font-weight: 800; letter-spacing: -.02em; }
.sw-spv-form { display: flex; flex-direction: column; gap: 10px; width: min(520px, 100%); margin: 6px 0 0; text-align: left; }
.sw-spv-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sw-spv-form input[type="text"], .sw-spv-form input[type="email"] { width: 100%; height: 50px; padding: 0 16px; border: 1px solid #cfd8e6; background: #fff; color: #111; font: inherit; font-size: 15px; box-sizing: border-box; }
.sw-spv-form input:focus { outline: 2px solid #2f6bd8; outline-offset: -1px; }
.sw-spv-agree { display: flex; align-items: flex-start; gap: 8px; color: #4b5563; font-size: 13px; line-height: 1.5; }
.sw-spv-agree input { margin-top: 3px; }
.sw-spv-form .sw-spv-dl.is-big { width: 100%; height: 56px; margin-top: 4px; border: 0; cursor: pointer; font-size: 19px; }
.sw-spv-form .sw-spv-dl.is-big:disabled { opacity: .6; cursor: default; transform: none; }
.sw-spv-err { margin: 0; color: #d1353b; font-size: 14px; font-weight: 600; }
.sw-spv-more-s { max-width: 34em; color: #555 !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1.6; letter-spacing: 0 !important; }
.sw-spv-done { max-width: 30em; margin: 0; padding: 22px 26px; border: 1px solid #c9d6ea; background: #fff; color: #13306e; font-size: 16px; font-weight: 600; line-height: 1.6; }
@media (max-width: 560px) { .sw-spv-row { grid-template-columns: 1fr; } }


/* 2026-10-16: 브랜드 섹션 글 블록(.sw-brand-text)도 마우스를 올리면 1.04배로 부드럽게 커진다. 제목은 조금 더(1.02 추가), 링크 화살표는 길어진다 */
.sw-brand-text { transition: transform .6s cubic-bezier(.2, .8, .2, 1); transform-origin: left center; will-change: transform; }
.sw-brand-text:hover { transform: scale(1.04); }
.sw-brand-text .sw-brand-title { transition: transform .6s cubic-bezier(.2, .8, .2, 1), letter-spacing .6s ease; transform-origin: left center; }
.sw-brand-text:hover .sw-brand-title { transform: scale(1.02); }
.sw-brand-text .sw-brand-cta .sw-la { transition: transform .35s ease; }
.sw-brand-text:hover .sw-brand-cta .sw-la { transform: translateX(6px); }
@media (hover: none), (prefers-reduced-motion: reduce) { .sw-brand-text:hover, .sw-brand-text:hover .sw-brand-title { transform: none; } }


/* 2026-10-16: BUSINESS 제목 아래 설명 글자 16 → 19px */
.sw-offer-desc { font-size: 19px; line-height: 1.65; max-width: 32em; }
@media (max-width: 900px) { .sw-offer-desc { font-size: 17px; } }


/* 2026-10-16: 문의 상자 심볼 재설계 — 띠 밖으로 잘리던 큰 기울어진 심볼을 띠 안에 온전히 들어오는 크기(최대 230px)로, 기울임 없이 똑바로. 하늘색→파랑→보라 선명한 그라데이션 + 위쪽 하이라이트 + 은은한 바깥 글로우. 별빛 영상 층은 끈다 */
body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky { display: none !important; }
body .sw-cta.sw-cta.sw-cta.sw-cta::before {
  content: "" !important; position: absolute; top: 50% !important; right: 30% !important; left: auto; bottom: auto; z-index: 0;
  width: clamp(170px, 15vw, 230px) !important; height: auto !important; aspect-ratio: 185 / 120;
  background: linear-gradient(160deg, #a9d4ff 0%, #5b93ff 42%, #4f6cff 68%, #8a5cff 100%) !important;
  -webkit-mask: url(assets/images/skyware-symbol-smooth.svg) center / contain no-repeat !important; mask: url(assets/images/skyware-symbol-smooth.svg) center / contain no-repeat !important;
  opacity: .92 !important; transform: translateY(-50%) !important; filter: drop-shadow(0 0 18px rgba(96, 146, 255, .45)) drop-shadow(0 10px 22px rgba(0, 0, 0, .45)) !important;
}
body .sw-cta.sw-cta.sw-cta.sw-cta::after {
  background:
    radial-gradient(28% 70% at 66% 50%, rgba(80, 130, 255, .32), transparent 72%),
    radial-gradient(42% 120% at 84% 50%, rgba(64, 110, 240, .22), transparent 72%),
    linear-gradient(180deg, rgba(255, 255, 255, .06) 0%, rgba(255, 255, 255, 0) 40%, rgba(0, 0, 0, .18) 100%) !important;
}
@media (max-width: 1100px) { body .sw-cta.sw-cta.sw-cta.sw-cta::before { right: 3% !important; opacity: .28 !important; } }


/* 2026-10-16: 오퍼링 섹션 좌우 여백 — 왼쪽 글은 화면 가장자리에서, 오른쪽 띠도 끝까지 붙지 않게 양쪽 clamp(32px, 5vw, 96px) */
.sw-offer .sw-offer-inner { padding-left: clamp(32px, 5vw, 96px) !important; padding-right: clamp(32px, 5vw, 96px) !important; }
@media (max-width: 1024px) { .sw-offer .sw-offer-inner { padding-left: 24px !important; padding-right: 24px !important; } }


/* 2026-10-16: 문의 상자 심볼 — 흰색 워터마크로 아주 은은하게(투명도 .08, 글로우 없음). 좁은 화면에서 버튼과 겹치므로 왼쪽 글 블록 쪽이 아닌 띠 오른쪽 끝에 두고 더 옅게 */
body .sw-cta.sw-cta.sw-cta.sw-cta::before { background: #fff !important; opacity: .08 !important; filter: none !important; width: clamp(200px, 17vw, 260px) !important; right: 29% !important; }
@media (max-width: 1100px) { body .sw-cta.sw-cta.sw-cta.sw-cta::before { right: 2% !important; opacity: .06 !important; } }


/* 2026-10-16: 문의 폼 오류 안내 — 전체 메시지는 연한 빨간 상자(아이콘 + 굵은 글), 필드별 오류는 빨간 테두리 + 아래 작은 빨간 글. 성공은 초록 */
.wpcf7 form .wpcf7-response-output { margin: 22px 0 0 !important; padding: 14px 18px 14px 48px !important; border: 1px solid #f2b8b5 !important; border-radius: 0; background: #fff5f5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d1353b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") 16px center / 20px no-repeat; color: #a12a2f; font-size: 14px; font-weight: 600; line-height: 1.6; }
.wpcf7 form.sent .wpcf7-response-output { border-color: #a7d7b8 !important; background-color: #f1fbf4; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a7f37' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E"); color: #166534; }
.wpcf7 form.sending .wpcf7-response-output, .wpcf7 form.init .wpcf7-response-output { display: none; }
.wpcf7 .wpcf7-not-valid-tip { display: block; margin: 6px 0 0; color: #d1353b; font-size: 12.5px; font-weight: 600; line-height: 1.4; }
.wpcf7 .wpcf7-not-valid { border-color: #d1353b !important; box-shadow: 0 0 0 2px rgba(209, 53, 59, .12) !important; }
.wpcf7 .wpcf7-acceptance .wpcf7-not-valid-tip { margin-top: 4px; }
.wpcf7 .wpcf7-spinner { display: none; }


/* 2026-10-16: Sales Pack 다운로드 신청 폼 보완 — 흰 패널 카드, 라벨 있는 입력칸, 부제 · 안내문 정리, 버튼 화살표 */
.sw-spv-more { gap: 26px; min-height: 0; padding: 64px 24px 72px; }
.sw-spv-more-t { margin: 0; }
.sw-spv-form { width: min(560px, 100%); margin: 0; padding: 32px 32px 28px; border: 1px solid #dfe6f0; background: #fff; box-shadow: 0 24px 60px rgba(16, 47, 103, .14); gap: 14px; }
.sw-spv-form-t { margin: 0 !important; color: #13306e !important; font-size: 20px !important; font-weight: 800 !important; letter-spacing: -.02em !important; }
.sw-spv-form-s { margin: -6px 0 6px !important; color: #555 !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1.6 !important; letter-spacing: 0 !important; }
.sw-spv-row { gap: 14px; }
.sw-spv-f { display: flex; flex-direction: column; gap: 6px; }
.sw-spv-f > span { color: #374151; font-size: 13px; font-weight: 700; }
.sw-spv-f > span em { color: #d1353b; font-style: normal; }
.sw-spv-form input[type="text"], .sw-spv-form input[type="email"] { height: 48px; border-color: #d6deea; background: #f8fafc; }
.sw-spv-form input:focus { background: #fff; }
.sw-spv-form input::placeholder { color: #9aa5b8; }
.sw-spv-agree { margin-top: 2px; color: #374151; }
.sw-spv-agree small { color: #8b94a5; font-size: 12px; }
.sw-spv-form .sw-spv-dl.is-big { height: 54px; margin-top: 6px; font-size: 17px; gap: 8px; }
.sw-spv-form .sw-spv-dl.is-big i { font-style: normal; transition: transform .25s ease; }
.sw-spv-form .sw-spv-dl.is-big:hover i { transform: translateX(4px); }
.sw-spv-done { width: min(560px, 100%); box-sizing: border-box; padding: 28px 32px; box-shadow: 0 24px 60px rgba(16, 47, 103, .14); }
@media (max-width: 560px) { .sw-spv-form { padding: 24px 20px; } }


/* 2026-10-16: 로고 없는 고객사 글자 로고 v2(.sw-text-logo.is-word) — 네모 타일 없이 워드마크: 굵은 이름(첫 글자 강조색) + 아래 짧은 그라데이션 바 */
.sw-text-logo.is-word { display: inline-flex; flex-direction: column; align-items: center; gap: 8px; max-width: 90%; padding: 0 8px; color: #13306e; }
.sw-text-logo.is-word i { display: none; }
.sw-text-logo.is-word b { font-size: clamp(22px, 2vw, 30px); font-weight: 900; line-height: 1.15; letter-spacing: -.035em; text-align: center; word-break: keep-all; }
.sw-text-logo.is-word b em { font-style: normal; color: var(--c, #2f6bd8); }
.sw-text-logo.is-word u { display: block; width: 34px; height: 4px; text-decoration: none; background: linear-gradient(90deg, var(--c, #2f6bd8), #7fb3ff); border-radius: 2px; }
.sw-case-card .sw-text-logo.is-word b { font-size: clamp(20px, 1.6vw, 26px); }
@media (max-width: 640px) { .sw-text-logo.is-word b { font-size: 19px; } .sw-text-logo.is-word u { width: 26px; height: 3px; } }


/* 2026-10-16: 홈 브랜드 섹션 배경 — 인트로의 리본 글로우(WebGL)를 검은 바탕으로 깐다(.sw-brand-glow 안 캔버스). 로고 · 글은 그 위 */
.sw-brand-sec { background: #000 !important; }
.sw-brand-sec > .sw-brand-glow { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.sw-brand-sec > .sw-brand-glow .sw-brand-glow-fx { position: absolute; inset: 0; display: block; width: 100%; height: 100%; opacity: .85; }
.sw-brand-sec > .sw-brand-glow::after { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 70% at 50% 50%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .35) 100%); }
.sw-brand-sec .sw-brand { position: relative !important; z-index: 1; }


/* 2026-10-16: 브랜드 글로우 호스트가 constrained 레이아웃(.is-layout-constrained > *)의 max-width 를 받아 가운데만 그려지던 것 수정 — 전폭 */
.sw-brand-sec > .sw-brand-glow { max-width: none !important; margin: 0 !important; width: 100% !important; }


/* 2026-10-16: 브랜드 글로우 — 은빛 회색(채도 제거) · 조금 더 어둡게 */
.sw-brand-sec > .sw-brand-glow .sw-brand-glow-fx { filter: saturate(0) brightness(.85); opacity: .9; }


/* 2026-10-16: 로고 안 아트가 잘 보이게 — 글로우는 더 어둡게(.55), 로고 자리(왼쪽 가운데)는 둥근 어두운 그늘로 비워 두고, 로고 전체에 어두운 테두리 그림자 */
.sw-brand-sec > .sw-brand-glow .sw-brand-glow-fx { opacity: .55; filter: saturate(0) brightness(.8); }
.sw-brand-sec > .sw-brand-glow::after { background: radial-gradient(34% 60% at 32% 52%, rgba(0, 0, 0, .78) 0%, rgba(0, 0, 0, .45) 55%, rgba(0, 0, 0, 0) 100%), radial-gradient(60% 70% at 50% 50%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .3) 100%); }
.sw-brand-stage { filter: drop-shadow(0 0 2px rgba(0, 0, 0, .9)) drop-shadow(0 0 22px rgba(0, 0, 0, .75)) drop-shadow(0 18px 40px rgba(0, 0, 0, .6)); }
.sw-brand-stage:hover { filter: drop-shadow(0 0 2px rgba(0, 0, 0, .9)) drop-shadow(0 0 26px rgba(0, 0, 0, .8)) drop-shadow(0 22px 48px rgba(0, 0, 0, .65)); }
@media (max-width: 900px) { .sw-brand-sec > .sw-brand-glow::after { background: radial-gradient(70% 45% at 50% 30%, rgba(0, 0, 0, .8) 0%, rgba(0, 0, 0, 0) 100%); } }


/* 2026-10-16: NEWSROOM 팝업 카드 — height:100% + 2px 테두리(content-box)로 카드가 칸보다 4px 커져 호버 보라 테두리 아래가 잘리던 것 수정 */
.sw-nrp-list a { box-sizing: border-box; }


/* 2026-10-16: 홈 슬로건 솔루션 박스 — AI 개인화 · SMRO 는 사진이 밝아 글이 묻혀서, SCOS 호버 때와 같은 남색 그라데이션 덮개를 기본값으로 고정(호버 때 살짝만 밝아짐) */
.sw-sbox.is-ai::before, .sw-sbox.is-mro::before { background: linear-gradient(180deg, rgba(10, 30, 92, .74), rgba(18, 42, 118, .84)) !important; }
.sw-sbox.is-ai:hover::before, .sw-sbox.is-mro:hover::before { background: linear-gradient(180deg, rgba(10, 30, 92, .64), rgba(18, 42, 118, .76)) !important; }


/* 2026-10-16: AI 개인화 · SMRO 박스는 남색 덮개가 기본값이므로 글자 · 버튼도 호버 때와 같은 흰색으로 고정 */
.sw-sbox.is-ai, .sw-sbox.is-ai .sw-sbox-t, .sw-sbox.is-ai .sw-sbox-d, .sw-sbox.is-mro, .sw-sbox.is-mro .sw-sbox-t, .sw-sbox.is-mro .sw-sbox-d { color: #fff; text-shadow: none; }
.sw-sbox.is-ai .sw-sbox-links a, .sw-sbox.is-mro .sw-sbox-links a { border-color: rgba(255, 255, 255, .8); background: rgba(255, 255, 255, .08); color: #fff; }
.sw-sbox.is-ai .sw-s, .sw-sbox.is-mro .sw-s { color: #ffb270; }


/* 2026-10-16: 포트폴리오 목록 바꿔 끼우기 — 받아오는 동안 흐려졌다가 새 목록이 떠오른다 */
.wp-block-query.sw-mosaic { transition: opacity .3s ease; }
.wp-block-query.sw-mosaic.is-swapping { opacity: .45; }
.wp-block-query.sw-mosaic.is-swapped { opacity: 0; transition: none; }

/* 2026-10-16: SCOS 고정색 · 역호버 블록은 요청으로 되돌림 — AI 개인화 · SMRO 만 남색 고정(호버 시 살짝 밝아짐), SCOS · SOMP · SI·ITO 는 밝은 사진 + 호버 색 */

/* 2026-10-19 홈 Expertise 아코디언(.sw-slogan) 세로 높이 확대 — 사용자 요청 */
@media (min-width: 901px) {
  .sw-slogan-panel { height: clamp(560px, 50vw, 860px); }
  .sw-slogan-panel.is-open .sw-slogan-list { max-height: 18em; }
  .sw-slogan-panel.is-open .sw-slogan-text > span { max-height: 9em; }
}

/* 2026-10-19 홈 슬로건 솔루션 박스 — SCOS 도 AI 개인화 박스처럼 남색 덮개 + 흰 글자 고정(사용자: "얘는 이거처럼"). 호버 시 살짝만 밝아짐(역호버 없음) */
.sw-sbox.is-scos::before { background: linear-gradient(180deg, rgba(10, 30, 92, .74), rgba(18, 42, 118, .84)) !important; }
.sw-sbox.is-scos:hover::before { background: linear-gradient(180deg, rgba(10, 30, 92, .64), rgba(18, 42, 118, .76)) !important; }
.sw-sbox.is-scos, .sw-sbox.is-scos .sw-sbox-t, .sw-sbox.is-scos .sw-sbox-d { color: #fff; text-shadow: none; }
.sw-sbox.is-scos .sw-sbox-links a { border-color: rgba(255, 255, 255, .8); background: rgba(255, 255, 255, .08); color: #fff; }
.sw-sbox.is-scos .sw-s { color: #ffb270; }

/* 2026-10-19 SI·ITO 운영 서비스 범위(.sw-itos) — 흰 카드 4장(색 윗줄 · 번호 · 남색 타일)을 걷어내고 원래의 남색 한 덩어리 띠 + 옅은 아이콘 타일(2026-10-14 상태)로 복원(사용자: "이런 거 디자인 원래대로") */
.sw-itos { gap: 0; border-radius: 18px; background: #13306e; overflow: hidden; counter-reset: none; }
.sw-itos li { position: relative; padding: 28px 26px; border: 0 !important; border-radius: 0; background: none; box-shadow: none !important; transform: none !important; transition: none; }
.sw-itos li + li { border-left: 1px solid rgba(255, 255, 255, .14) !important; }
.sw-itos li::after { content: none; display: none; }
.sw-itos li::before { display: block; position: static; background-color: rgba(255, 255, 255, .12); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); }
.sw-itos b { color: #fff; }
.sw-itos b::before { content: none; }
.sw-itos span { color: rgba(255, 255, 255, .72); }
@media (max-width: 900px) { .sw-itos li + li { border-left: 0 !important; border-top: 1px solid rgba(255, 255, 255, .14) !important; } }

/* 2026-10-19 홈 상단 이음새 — (1) 첫 화면 영상(.sw-vhero) 아래쪽을 검정으로 길게 페이드 (2) 브랜드 섹션의 회색 글로우를 위 · 아래에서 검정으로 페이드해 앞뒤 검은 섹션(영상 끝 · 흐르는 그라데이션 시작)과 경계 없이 이어지게(사용자: "경계가 자연스럽지 않아") */
.sw-vhero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; height: 26vh; background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .55) 55%, #000 100%); pointer-events: none; }
.sw-brand-sec > .sw-brand-glow::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, 0) 26%, rgba(0, 0, 0, 0) 70%, #000 100%); pointer-events: none; }
.sw-brand-sec > .sw-brand-glow::after { z-index: 1; }

/* 2026-10-19 제품/솔루션(65) 카탈로그 분류 제목(AX Platform 등) · 설명 글자 확대(사용자: "글씨체도 조금 크게"). 메가메뉴의 .sw-mc-desc 는 그대로 */
.sw-catalog-title { font-size: calc(1.36rem + 1pt); line-height: 1.3; }
.sw-catalog-title .sw-mc-desc { margin-top: 10px; font-size: calc(.94rem + 1pt) !important; line-height: 1.65; }
@media (min-width: 1280px) { .sw-catalog-title { min-height: 180px; } } /* 3줄 제목(Omnichannel) 열과 제품 카드 윗선 맞춤 */

/* 2026-10-19 소개서 신청 폼 — 직급 · 연락처 입력란(type=tel), 개인정보 수집 · 이용 동의 상세 펼침(.sw-spv-agree-more / .sw-spv-agree-detail) */
.sw-spv-form input[type="tel"] { width: 100%; height: 48px; padding: 0 16px; border: 1px solid #d6deea; background: #f8fafc; color: #111; font: inherit; font-size: 15px; box-sizing: border-box; }
.sw-spv-form input[type="tel"]:focus { outline: 2px solid #2f6bd8; outline-offset: -1px; background: #fff; }
.sw-spv-agree-wrap { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-top: 2px; }
.sw-spv-agree-wrap .sw-spv-agree { margin-top: 0; }
.sw-spv-agree > span em { color: #d1353b; font-style: normal; }
.sw-spv-agree-more { flex: 0 0 auto; margin: 0; padding: 0 0 1px; border: 0; border-bottom: 1px solid currentColor; background: none; color: #2f6bd8; font: inherit; font-size: 13px; font-weight: 700; line-height: 1.5; cursor: pointer; }
.sw-spv-agree-more:hover { color: #13306e; }
.sw-spv-agree-detail { margin: 0; padding: 14px 16px; border: 1px solid #dfe6f0; background: #f8fafc; color: #4b5563; font-size: 13px; line-height: 1.6; }
.sw-spv-agree-detail dl { display: grid; grid-template-columns: 108px minmax(0, 1fr); gap: 6px 12px; margin: 0; }
.sw-spv-agree-detail dt { margin: 0; color: #13306e; font-weight: 700; }
.sw-spv-agree-detail dd { margin: 0; word-break: keep-all; }
.sw-spv-agree-detail p { margin: 10px 0 0 !important; font-size: 12.5px !important; color: #6b7280 !important; }
.sw-spv-agree-detail a { color: #2f6bd8; text-decoration: underline; }
@media (max-width: 560px) { .sw-spv-agree-detail dl { grid-template-columns: 1fr; gap: 2px; } .sw-spv-agree-detail dd { margin-bottom: 6px; } }

/* 2026-10-19 제품 헤더 워드마크(.sw-product-brand: sCOS by skyware 등) 앞에 솔루션 로고 마크(사용자: "여기에도 앞에 로고"). 템플릿 클래스별로 마크 지정, 국문 · 영문 헤더 공통 */
.sw-product-brand a::before { content: ""; flex: 0 0 auto; align-self: center; width: 34px; height: 34px; margin-right: 2px; background: var(--sw-brand-mark, none) center / contain no-repeat; }
.page-template-page-product .sw-product-brand a { --sw-brand-mark: url(assets/images/solutions/mark-omp.svg); }
.page-template-page-product-scos .sw-product-brand a { --sw-brand-mark: url(assets/images/solutions/mark-cos.svg); }
.page-template-page-product-ai-platform .sw-product-brand a { --sw-brand-mark: url(assets/images/solutions/mark-aip.svg); }
.page-template-page-product-live .sw-product-brand a { --sw-brand-mark: url(assets/images/solutions/mark-live.svg); }
.page-template-page-product-clouvi .sw-product-brand a { --sw-brand-mark: url(assets/images/clouvi-mark-2x.png); }
@media (max-width: 1024px) { .sw-product-brand a::before { width: 26px; height: 26px; } }
.sw-product-brand { flex-shrink: 0; }
.sw-product-brand a > span { white-space: nowrap; } /* 마크가 들어가 폭이 줄어도 'by skyware' 가 두 줄로 꺾이지 않게 */

/* 2026-10-19 AI 페이지(62) CLOUVI 블록(.sw-clv.is-v2) — 어두운 남색 + 빛 번짐 + 격자 + 유리 카드("너무 AI 같다")를 사이트 톤으로: 연회색 바탕 · 짙은 글자 · 흰 카드 + 가는 테두리 · 옅은 색 바탕 + 색 선 아이콘 · 파랑 알약 CTA */
.sw-clv.is-v2 { color: #111; border: 1px solid #e6e6e6; border-radius: 0; background: #f4f7fb; box-shadow: none; }
.sw-clv.is-v2::before { display: none; }
.sw-clv.is-v2 .sw-clv-copy .sw-clv-title { color: #0f1b33; }
.sw-clv.is-v2 .sw-clv-copy .sw-clv-title em { color: #2f6bd8; }
.sw-clv.is-v2 .sw-clv-copy > p:not(.sw-clv-title) { color: #4b5563; }
.sw-clv.is-v2 .sw-clv-shot img, .sw-clv.is-v2 .sw-clv-shot:hover img { border: 1px solid #e6e6e6; border-radius: 8px; box-shadow: 0 20px 50px rgba(16, 47, 103, .14); transform: none; }
.sw-clv-eff.is-cards > li { --t: #2f6bd8; border: 1px solid #e6e6e6; border-radius: 0; background: #fff; backdrop-filter: none; box-shadow: none; transition: border-color .25s; }
.sw-clv-eff.is-cards > li.is-ops { --t: #1e8ea8; }
.sw-clv-eff.is-cards > li.is-data { --t: #6a3df0; }
.sw-clv-eff.is-cards > li:hover { transform: none; border-color: #0f1b33; }
.sw-clv-eff.is-cards > li > i { border-radius: 8px; background: color-mix(in srgb, var(--t) 10%, #fff); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--t) 30%, #fff); }
.sw-clv-eff.is-cards > li > i svg { stroke: var(--t); }
.sw-clv-eff.is-cards > li > b { color: #0f1b33; }
.sw-clv-eff.is-cards > li > ul > li { color: #374151; }
.sw-clv-eff.is-cards > li > ul > li::before { background-color: color-mix(in srgb, var(--t) 14%, #fff); }
.sw-clv-eff.is-cards > li > a { border: 1px solid #cfd8e6; color: #0f1b33; }
.sw-clv-eff.is-cards > li > a:hover { background: #0f1b33; border-color: #0f1b33; color: #fff; }
.sw-clv.is-v2 .sw-clv-link { background: #2f6bd8; box-shadow: none; transition: background .25s; }
.sw-clv.is-v2 .sw-clv-link:hover { background: #13306e; }
.sw-clv.is-v2 .sw-clv-main { border-top: 1px solid #dfe5ee; }
.sw-clv.is-v2 .sw-clv-title.is-scope { color: #13306e; }
.sw-clv.is-v2 .sw-clv-scope li { border-bottom: 1px solid #dfe5ee; }
.sw-clv.is-v2 .sw-clv-scope i { color: #2f6bd8; }
.sw-clv.is-v2 .sw-clv-scope b { color: #0f1b33; }
.sw-clv.is-v2 .sw-clv-scope span { color: #4b5563; }

/* 2026-10-19 채용(207) 문의 상자(.sw-cta.is-careers) 본문 글자 확대(사용자: "글씨 크기 너무 작다") — 15px → 18px, 줄 간격 · 밝기 ↑ */
.sw-cta.sw-cta.sw-cta.sw-cta.is-careers > p { max-width: 46em; color: rgba(255, 255, 255, .82); font-size: 18px; line-height: 1.8; }
@media (max-width: 781px) { .sw-cta.sw-cta.sw-cta.sw-cta.is-careers > p { font-size: 16px; } }

/* 2026-10-19 기술지원(533 · 영문 1728) 안내문(.sw-note) — 제한폭(contentSize)에 갇혀 마지막 글자만 둘째 줄로 떨어지던 것을 wide 폭까지 한 줄로(사용자: "한줄로 적어줘"). 폭이 모자라는 화면에서는 자연 줄바꿈 */
body.page-id-533 .wp-block-group > .sw-note { width: max-content; max-width: 100% !important; margin-left: 0 !important; margin-right: auto !important; word-break: keep-all; }

/* 2026-10-19 홈 슬로건 고정 화면(솔루션 박스)이 열려 있는 동안 떠 있는 상담 말풍선(.sw-fab) · CLOUVI 버튼을 숨김 — SMRO 박스의 버튼을 가렸음(사용자: "이걸 가리면 안되지"). site.js 가 html.sw-fab-hide 토글 */
.sw-fab, .sw-clouvi:not(.is-open) { transition: opacity .35s ease, transform .35s ease, bottom .3s ease; }
html.sw-fab-hide .sw-fab, html.sw-fab-hide .sw-clouvi:not(.is-open) { opacity: 0; transform: translateY(14px); pointer-events: none; }

/* 2026-10-19 CLOUVI(611) 도입 효과 카드(.sw-ums-why) — 색 그라데이션 테두리 · 큰 워터마크 번호 · 떠오르기/기울기 호버("원래 디자인으로") → 흰 카드 · 가는 테두리 · 옅은 아이콘 타일 · 작은 번호 */
.sw-ums-why .sw-ums-feature { border: 1px solid #e6e6e6 !important; border-radius: 0; background: #fff !important; box-shadow: none; }
.sw-ums-why .sw-ums-feature::after { display: none !important; }
.sw-ums-why .sw-ums-feature:hover { transform: none; border-color: #0f1b33 !important; box-shadow: none; }
.sw-ums-why .sw-ums-feature:hover .sw-ums-feature-no::before { transform: none; }
.sw-ums-why .sw-ums-feature .sw-ums-feature-no { letter-spacing: 0 !important; }
.sw-ums-why .sw-ums-feature .sw-ums-feature-no::before { border-radius: 8px; }

/* 2026-10-19 CLOUVI(611) 4단계 카드(.sw-steps.is-flow4) — 색색 원형 번호 배지 · 점선 연결선("원래 디자인으로") → 흰 카드 · 가는 테두리 · 파란 글자 번호 */
.sw-steps.is-flow4::before, .sw-steps.is-flow4::after { display: none !important; }
.sw-steps.is-flow4 .sw-step { margin-top: 0; padding-top: 28px; border: 1px solid #e6e6e6; border-radius: 0; background: #fff; box-shadow: none; }
.sw-steps.is-flow4 .sw-step:hover { border-color: #0f1b33; }
.sw-steps.is-flow4 .sw-step .sw-step-no { position: static; display: block; width: auto; height: auto; margin: 0 0 10px; padding: 0; border: 0; border-radius: 0; background: none !important; box-shadow: none; color: #2f6bd8; font-size: 15px; font-weight: 800; letter-spacing: 0; line-height: 1; transform: none !important; }
.sw-steps.is-flow4 .sw-step-ex { border-radius: 0; background: #f4f7fb; color: #13306e; }

/* 2026-10-19 제품 페이지 운영 카드(.sw-ops-card) — 네모 외곽선 아이콘 상자("저 네모 이상해") → 옅은 파란 타일 + 파란 선 아이콘, 떠오르기 호버 제거 */
.sw-ops-card.is-monitor { --oi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bd8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-4l-3 9L9 3l-3 9H2'/%3E%3C/svg%3E"); }
.sw-ops-card.is-support { --oi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bd8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E"); }
.sw-ops-card.is-grow { --oi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bd8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 7-8.5 8.5-5-5L2 17M16 7h6v6'/%3E%3C/svg%3E"); }
.sw-ops-card::before { border: 0 !important; border-radius: 8px !important; background-color: #e8f0ff !important; filter: none !important; }
.sw-ops-card:hover { transform: none; border-color: #0f1b33 !important; box-shadow: none; }

/* 2026-10-19 홈 슬로건 전환 매끄럽게 — 흰 덮개(.sw-svid-cover · mask · stage)가 .74~.9 에서만 짧게 사라지고 그 전(.58~.74)은 확대만 돼 멈춘 듯 보였음 → .52 부터 .9 까지 길게 페이드. is-open(숨김)은 site.js 에서 .9 로 */
.sw-svid-cover, .sw-svid-mask, .sw-svid-stage { opacity: calc(1 - min(1, max(0, var(--p) - .52) / .38)); }

/* 2026-10-19 떠 있는 문의 위젯 — SK AX 식: 흰 인사 카드(제목 SKYWARE · 인사말 · 문의 링크 · 닫기) + 진남색 둥근 채팅 버튼(CLOUVI 런처). 다람쥐 아이콘 · 남색 알약 버튼 · 말풍선 꼬리 제거 */
.sw-fab { right: 24px; gap: 0; }
body .sw-fab { bottom: calc(24px + 64px + 16px + var(--sw-fab-lift, 0px)); }
.sw-fab-bubble.is-greet { width: 300px; max-width: calc(100vw - 48px); padding: 18px 20px 18px; border-radius: 14px; background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .14), 0 0 0 1px rgba(0, 0, 0, .04); animation: none; }
.sw-fab-bubble.is-greet::after { display: none; }
.sw-fab-bubble.is-greet .sw-fab-title { padding-right: 28px; color: #111; font-size: 15px; font-weight: 800; letter-spacing: 0; }
.sw-fab-bubble.is-greet .sw-fab-sub { margin-top: 8px; color: #222; font-size: 15px; font-weight: 500; line-height: 1.55; word-break: keep-all; }
.sw-fab-bubble.is-greet .sw-fab-button { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; padding: 0; border-radius: 0; background: none; box-shadow: none; color: #2f6bd8; font-size: 14px; font-weight: 700; }
.sw-fab-bubble.is-greet .sw-fab-button::before { display: none; }
.sw-fab-bubble.is-greet .sw-fab-button::after { content: "→"; font-weight: 700; transition: transform .2s ease; }
.sw-fab-bubble.is-greet .sw-fab-button:hover { transform: none; box-shadow: none; color: #13306e; }
.sw-fab-bubble.is-greet .sw-fab-button:hover::after { transform: translateX(3px); }
.sw-fab-bubble.is-greet .sw-fab-close { top: 14px; right: 14px; width: 24px; height: 24px; color: #777; font-size: 20px; }
body .sw-clouvi .sw-clouvi-launcher { width: 64px; height: 64px; border: 0; border-radius: 50%; background: #0f1b33; box-shadow: 0 10px 26px rgba(15, 27, 51, .32); }
body .sw-clouvi .sw-clouvi-launcher:hover { transform: scale(1.05); background: #13306e; box-shadow: 0 12px 30px rgba(15, 27, 51, .4); }
body .sw-clouvi .sw-clouvi-launcher-mark { display: none; }
body .sw-clouvi:not(.is-open) .sw-clouvi-launcher::before { content: ""; display: block; width: 30px; height: 30px; margin: 0 auto; background: #4f8cff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3C6.9 3 3 6.4 3 10.6c0 2.3 1.2 4.3 3.1 5.7L5.4 20l4-2.1c.8.2 1.7.3 2.6.3 5.1 0 9-3.4 9-7.6S17.1 3 12 3z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3C6.9 3 3 6.4 3 10.6c0 2.3 1.2 4.3 3.1 5.7L5.4 20l4-2.1c.8.2 1.7.3 2.6.3 5.1 0 9-3.4 9-7.6S17.1 3 12 3z'/%3E%3C/svg%3E") center / contain no-repeat; }
body .sw-clouvi .sw-clouvi-launcher-close { width: 26px; height: 26px; color: #fff; }
body .sw-clouvi .sw-clouvi-hint { display: none !important; }
@media (max-width: 600px) { body .sw-clouvi .sw-clouvi-launcher { width: 56px; height: 56px; } body .sw-fab { bottom: calc(16px + 56px + 12px + var(--sw-fab-lift, 0px)); } }

/* 2026-10-19 개인정보 처리방침(3) 표 — 선 색을 연한 하늘색으로(사용자: "이런 표 선색상은 하늘색 연한") */
body.page-id-3 .wp-block-table table, body.page-id-3 .wp-block-table th, body.page-id-3 .wp-block-table td { border-color: #cfe3f7 !important; }
body.page-id-3 .wp-block-table th { background: #f3f8fd; }

/* 2026-10-19 MMCS(1669) 시스템 구성 — 흰 카드 4장(번호 · 제목 · 불릿) + 아래 상자 없는 포인트 3개 */
.sw-mmcs-sys { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0 !important; padding: 0 !important; list-style: none; counter-reset: none; }
.sw-mmcs-sys > li { display: block !important; margin: 0 !important; padding: 28px 26px 30px; border: 1px solid #e6e6e6; background: #fff; }
.sw-mmcs-sys > li::before, .sw-mmcs-sys > li::after { content: none !important; }
.sw-mmcs-sys > li > i { display: block; margin: 0 0 10px; color: #2f6bd8; font-size: 15px; font-style: normal; font-weight: 800; line-height: 1; }
.sw-mmcs-sys > li > b { display: block; margin: 0 0 14px; color: #0f1b33; font-size: calc(1.12rem + 1pt); font-weight: 800; line-height: 1.35; word-break: keep-all; }
.sw-mmcs-sys > li > ul { margin: 0 !important; padding: 0 !important; list-style: none; }
.sw-mmcs-sys > li > ul > li { position: relative; display: block !important; margin: 0 0 8px; padding-left: 14px; color: #4b5563; font-size: calc(.95rem + 1pt); line-height: 1.65; word-break: keep-all; }
.sw-mmcs-sys > li > ul > li::before { content: ""; position: absolute; left: 0; top: .72em; width: 5px; height: 5px; border-radius: 50%; background: #2f6bd8; }
.sw-mmcs-pts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 40px; margin: 44px 0 0; padding: 32px 0 0; border-top: 1px solid #e6e6e6; }
.sw-mmcs-pts > div > i { display: block; margin: 0 0 8px; color: #2f6bd8; font-size: 15px; font-style: normal; font-weight: 800; }
.sw-mmcs-pts > div > b { display: block; margin: 0 0 10px; color: #0f1b33; font-size: calc(1.08rem + 1pt); font-weight: 800; }
.sw-mmcs-pts > div > p { margin: 0 !important; color: #4b5563; font-size: calc(.95rem + 1pt); line-height: 1.7; word-break: keep-all; }
@media (max-width: 1100px) { .sw-mmcs-sys { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .sw-mmcs-sys, .sw-mmcs-pts { grid-template-columns: 1fr; } .sw-mmcs-pts > div + div { margin-top: 24px; } }

/* 2026-10-19 회사소개 조직도 개발사업본부 큐브 아이콘 — 통통 튀는 hop 을 느리고 작게(2.4s · 4px), 회전은 그대로 → 매끄럽게 굴러가는 느낌 */
.sw-org3-div.is-dev .sw-org3-dhead > i { animation: sw-org3-hop2 2.4s cubic-bezier(.45, 0, .55, 1) infinite; will-change: transform; }
.sw-org3-div.is-dev .sw-org3-dhead > i svg { animation-duration: 6s; will-change: transform; }
.sw-org3-div.is-dev .sw-org3-dhead:hover > i { animation-duration: 1.6s; }
.sw-org3-div.is-dev .sw-org3-dhead:hover > i svg { animation-duration: 3s; }
@keyframes sw-org3-hop2 { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }

/* 2026-10-19 자료실 미리보기 창 — 인라인 신청 폼 대신 '파일 다운받기' 버튼(SK AX 참고) → /resources/download-request/ */
.sw-spv-cta { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 10px 0 30px; }
.sw-spv-cta .sw-spv-go { display: inline-flex; align-items: center; justify-content: center; min-width: 360px; height: 54px; padding: 0 32px; border-radius: 6px; background: #2f6bd8; color: #fff !important; font-size: 20px; font-weight: 800; text-decoration: none; box-shadow: 0 10px 24px rgba(47, 107, 216, .28); transition: background .2s ease, transform .2s ease; }
.sw-spv-cta .sw-spv-go:hover { background: #13306e; transform: translateY(-2px); }
.sw-spv-cta .sw-spv-press { margin: 0 !important; color: #2f6bd8 !important; font-size: 20px !important; font-weight: 800 !important; }
@media (max-width: 560px) { .sw-spv-cta .sw-spv-go { min-width: 0; width: 100%; } }

/* 2026-10-19 자료 다운로드 신청 페이지 [sw_download_request] (.sw-dlr) — 연회색 판 위 2열 입력(왼쪽 라벨 · 오른쪽 입력), 동의 목록, 흰 알약 제출 */
.sw-dlr-sec { background: #fff; }
.sw-dlr { max-width: 1100px; margin: 0 auto; padding: 56px 64px 60px; background: #f7f8fa; border: 1px solid #eceff3; }
.sw-dlr-req { margin: 0 0 18px !important; color: #d1353b; font-size: 13px; font-weight: 600; text-align: right; }
.sw-dlr-req em { font-style: normal; margin-right: 2px; }
.sw-dlr-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 64px; }
.sw-dlr-f { display: grid; grid-template-columns: 120px minmax(0, 1fr); align-items: center; gap: 16px; }
.sw-dlr-f > span { color: #333; font-size: 15px; font-weight: 500; }
.sw-dlr-f > span em { color: #d1353b; font-style: normal; }
.sw-dlr-f input, .sw-dlr-f select { width: 100%; height: 44px; padding: 0 14px; border: 1px solid #d6dbe3; background: #fff; color: #111; font: inherit; font-size: 15px; box-sizing: border-box; }
.sw-dlr-f select { appearance: none; -webkit-appearance: none; padding-right: 36px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 12px center / 16px no-repeat; color: #333; }
.sw-dlr-f input:focus, .sw-dlr-f select:focus { outline: 2px solid #2f6bd8; outline-offset: -1px; }
.sw-dlr-f input::placeholder { color: #a3adbd; }
.sw-dlr-agree { margin-top: 40px; }
.sw-dlr-agree label { display: inline-flex; align-items: flex-start; gap: 10px; color: #222; font-size: 15px; line-height: 1.5; cursor: pointer; }
.sw-dlr-agree input[type="checkbox"] { width: 18px; height: 18px; margin: 2px 0 0; accent-color: #2f6bd8; flex: 0 0 auto; }
.sw-dlr-agree label b { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.sw-dlr-agree label em { color: #d1353b; font-style: normal; margin-left: 2px; }
.sw-dlr-all { padding-bottom: 18px; border-bottom: 1px dashed #c9cfd8; }
.sw-dlr-agree ul { margin: 18px 0 0 !important; padding: 0 0 0 30px !important; list-style: none; }
.sw-dlr-agree ul li { display: block; margin: 0 0 14px; }
.sw-dlr-note { margin: 6px 0 0 28px !important; color: #777; font-size: 13px !important; line-height: 1.6; }
.sw-dlr-more { margin: 0 0 0 10px; padding: 0 0 1px; border: 0; border-bottom: 1px solid currentColor; background: none; color: #2f6bd8; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; vertical-align: 1px; }
.sw-dlr-detail { max-width: 720px; margin: 12px 0 0 28px; padding: 14px 16px; border: 1px solid #dfe6f0; background: #fff; color: #4b5563; font-size: 13px; line-height: 1.6; }
.sw-dlr-detail dl { display: grid; grid-template-columns: 108px minmax(0, 1fr); gap: 6px 12px; margin: 0; }
.sw-dlr-detail dt { margin: 0; color: #13306e; font-weight: 700; }
.sw-dlr-detail dd { margin: 0; word-break: keep-all; }
.sw-dlr-detail p { margin: 10px 0 0 !important; font-size: 12.5px !important; color: #6b7280 !important; }
.sw-dlr-detail a { color: #2f6bd8; text-decoration: underline; }
.sw-dlr-err { margin: 18px 0 0 !important; color: #d1353b; font-size: 14px; font-weight: 600; text-align: center; }
.sw-dlr-submit { display: block; margin: 28px auto 0; padding: 0 34px; height: 50px; border: 1px solid #c9cfd8; border-radius: 999px; background: #fff; color: #111; font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.sw-dlr-submit:hover { background: #111; border-color: #111; color: #fff; }
.sw-dlr-submit:disabled { opacity: .6; cursor: default; }
.sw-dlr-done { text-align: center; padding: 20px 0; }
.sw-dlr-done b { display: block; margin-bottom: 10px; color: #13306e; font-size: 22px; font-weight: 800; }
.sw-dlr-done p { margin: 0 0 22px !important; color: #4b5563; font-size: 16px; }
.sw-dlr-done p span { color: #2f6bd8; font-weight: 700; }
.sw-dlr-back { display: inline-flex; align-items: center; height: 46px; padding: 0 26px; border: 1px solid #111; border-radius: 999px; color: #111; font-weight: 700; text-decoration: none; }
.sw-dlr-back:hover { background: #111; color: #fff; }
@media (max-width: 900px) { .sw-dlr { padding: 32px 24px 40px; } .sw-dlr-grid { grid-template-columns: 1fr; gap: 16px; } }
@media (max-width: 560px) { .sw-dlr-f { grid-template-columns: 1fr; gap: 6px; } .sw-dlr-agree ul { padding-left: 0 !important; } .sw-dlr-detail, .sw-dlr-note { margin-left: 0; } }

/* 2026-10-19 자료 다운로드 신청 — 동의 상세를 참고안처럼: 제목 · 불릿(수집항목 · 수집목적 · 보유기간) · ※ 거부 권리 안내 · 동의/거부 알약 버튼. 국외 이전 동의(필수) 추가 */
.sw-dlr-detail { max-width: 760px; padding: 18px 22px 16px; }
.sw-dlr-detail h4 { margin: 0 0 12px !important; color: #111; font-size: 15px; font-weight: 800; }
.sw-dlr-detail ul { margin: 0 !important; padding: 0 0 0 16px !important; list-style: disc; }
.sw-dlr-detail ul li { display: list-item !important; margin: 0 0 5px; color: #333; font-size: 13.5px; line-height: 1.6; }
.sw-dlr-detail ul li b { color: #111; font-weight: 700; }
.sw-dlr-detail ul li u { font-weight: 800; text-underline-offset: 3px; }
.sw-dlr-detail .sw-dlr-ref { margin: 14px 0 0 !important; color: #555 !important; font-size: 13px !important; line-height: 1.6 !important; }
.sw-dlr-yn { display: flex; justify-content: flex-end; gap: 10px; margin-top: 16px; }
.sw-dlr-yn button { min-width: 84px; height: 40px; padding: 0 20px; border: 1px solid #c9cfd8; border-radius: 999px; background: #fff; color: #111; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.sw-dlr-yn button:hover { background: #111; border-color: #111; color: #fff; }
.sw-dlr-yn button[data-yn="1"] { border-color: #2f6bd8; color: #2f6bd8; }
.sw-dlr-yn button[data-yn="1"]:hover { background: #2f6bd8; color: #fff; }

/* 2026-10-19 홈 히어로 — 'AI Agent' 를 B2B 와 같은 노란색으로(.sw-vhero-hl) */
.sw-vhero-title .sw-vhero-hl { color: #ffb23f; -webkit-text-fill-color: #ffb23f; font-weight: inherit; }

/* 2026-10-19 문의 상자(.sw-cta) — 배경 격자무늬(가운데 밝고 가장자리로 사라짐) + 심볼을 이미지(브랜드 아트)로 채우고 뒤에 푸른 후광 */
body .sw-cta.sw-cta.sw-cta.sw-cta::after {
  background:
    repeating-linear-gradient(0deg, rgba(255, 255, 255, .055) 0 1px, transparent 1px 56px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .055) 0 1px, transparent 1px 56px),
    radial-gradient(28% 70% at 66% 50%, rgba(80, 130, 255, .3), transparent 72%),
    radial-gradient(42% 120% at 84% 50%, rgba(64, 110, 240, .2), transparent 72%),
    linear-gradient(180deg, rgba(255, 255, 255, .05) 0%, rgba(255, 255, 255, 0) 40%, rgba(0, 0, 0, .18) 100%) !important;
  -webkit-mask-image: radial-gradient(85% 160% at 55% 50%, #000 45%, rgba(0, 0, 0, .25) 100%); mask-image: radial-gradient(85% 160% at 55% 50%, #000 45%, rgba(0, 0, 0, .25) 100%);
}
body .sw-cta.sw-cta.sw-cta.sw-cta::before { background: url(assets/images/brand/art-13.jpg) center / cover no-repeat !important; opacity: .95 !important; filter: saturate(1.15) brightness(1.05) !important; width: clamp(220px, 18vw, 280px) !important; right: 27% !important; z-index: 1; }
body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky { display: block !important; position: absolute; top: 50%; right: 27%; left: auto; bottom: auto; z-index: 0; width: clamp(220px, 18vw, 280px); aspect-ratio: 185 / 120; height: auto; transform: translateY(-50%) scale(1.16); background: radial-gradient(60% 60% at 50% 50%, rgba(127, 179, 255, .9), rgba(79, 124, 255, .6) 60%, rgba(138, 92, 255, .4)); -webkit-mask: url(assets/images/skyware-symbol-smooth.svg) center / contain no-repeat; mask: url(assets/images/skyware-symbol-smooth.svg) center / contain no-repeat; opacity: .35; filter: blur(5px); pointer-events: none; }
body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky video, body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky::after { display: none !important; }
@media (max-width: 1100px) { body .sw-cta.sw-cta.sw-cta.sw-cta::before { right: 2% !important; opacity: .35 !important; } body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky { right: 2%; opacity: .15; } }

/* 2026-10-19 홈 슬로건 솔루션 박스 — SMRO 는 SOMP 호버와 같은 파랑 · 보라 틴트로 고정, SI·ITO 는 AI 개인화처럼 남색 고정 + 흰 글자 */
.sw-sbox.is-mro::before { background: linear-gradient(180deg, rgba(20, 44, 120, .72), rgba(58, 30, 150, .8)) !important; }
.sw-sbox.is-mro:hover::before { background: linear-gradient(180deg, rgba(20, 44, 120, .62), rgba(58, 30, 150, .72)) !important; }
.sw-sbox.is-si::before { background: linear-gradient(180deg, rgba(10, 30, 92, .74), rgba(18, 42, 118, .84)) !important; }
.sw-sbox.is-si:hover::before { background: linear-gradient(180deg, rgba(10, 30, 92, .64), rgba(18, 42, 118, .76)) !important; }
.sw-sbox.is-si, .sw-sbox.is-si .sw-sbox-t, .sw-sbox.is-si .sw-sbox-d { color: #fff; text-shadow: none; }
.sw-sbox.is-si .sw-sbox-links a { border-color: rgba(255, 255, 255, .8); background: rgba(255, 255, 255, .08); color: #fff; }

/* 2026-10-19 홈 인사이트 카드 READ MORE — 검정 → 연한 파란색(날짜와 같은 #7cc0f2) */
.sw-insights .sw-insight-more a, .sw-insight-card .sw-insight-more a { color: #7cc0f2; }
.sw-insights .sw-insight-more a:hover, .sw-insight-card .sw-insight-more a:hover { color: #fff; }

/* 2026-10-19 메가메뉴 — 분류를 올려야 보이던 방식 대신 제품 7개를 한 번에: 오른쪽 영역에 분류 4개(AI Commerce · Enterprise · AX · IoT)를 위아래로 모두 펼침. 왼쪽 목록은 올린 분류를 파랗게만 표시 */
@media (min-width: 1280px) {
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side { grid-row: 1 / span 6; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col,
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col.is-active { display: block !important; grid-column: 2; grid-row: auto; margin: 0 0 22px !important; padding: 0 0 22px 60px !important; border-bottom: 1px solid #edf0f4; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col:last-of-type { border-bottom: 0; margin-bottom: 0 !important; padding-bottom: 0 !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content .sw-mc-name { font-size: 17px !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content .sw-mc-ko { font-size: 12.5px !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation__submenu-container { gap: 12px 24px !important; margin-top: 10px !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation__submenu-container .wp-block-navigation-item__description { -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
}

/* 2026-10-19 문의 상자 심볼 — 이미지 채움 대신 음영(릴리프): 위쪽 밝은 흰 반투명 그라데이션 + 오른쪽 아래 어두운 그림자 사본으로 살짝 떠 보이게. 격자무늬는 유지 */
body .sw-cta.sw-cta.sw-cta.sw-cta::before { background: linear-gradient(160deg, rgba(255, 255, 255, .34) 0%, rgba(255, 255, 255, .14) 45%, rgba(150, 175, 255, .22) 100%) !important; opacity: 1 !important; filter: none !important; }
body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky { background: rgba(0, 0, 0, .55); opacity: .6; filter: blur(7px); transform: translate(12px, calc(-50% + 14px)) scale(1.02); }
@media (max-width: 1100px) { body .sw-cta.sw-cta.sw-cta.sw-cta::before { opacity: .5 !important; } body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky { opacity: .3; } }

/* 2026-10-19 홈 슬로건 솔루션 박스 — SMRO 는 SOMP 와 같게: 기본 흰 베일 + 짙은 글자, 올리면 파랑 · 보라 틴트 + 흰 글자(고정 틴트 해제) */
.sw-sbox.is-mro::before { background: linear-gradient(180deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, .42) 55%, rgba(255, 255, 255, .3)) !important; }
.sw-sbox.is-mro:hover::before { background: linear-gradient(180deg, rgba(20, 44, 120, .72), rgba(58, 30, 150, .8)) !important; }
.sw-sbox.is-mro, .sw-sbox.is-mro .sw-sbox-t { color: #0f1b33; text-shadow: 0 1px 0 rgba(255, 255, 255, .6); }
.sw-sbox.is-mro .sw-sbox-d { color: #243047; text-shadow: 0 1px 0 rgba(255, 255, 255, .5); }
.sw-sbox.is-mro .sw-sbox-links a { border-color: rgba(15, 27, 51, .55); background: rgba(255, 255, 255, .55); color: #0f1b33; }
.sw-sbox.is-mro .sw-s { color: #ff8a2a; }
.sw-sbox.is-mro:hover, .sw-sbox.is-mro:hover .sw-sbox-t, .sw-sbox.is-mro:hover .sw-sbox-d { color: #fff; text-shadow: none; }
.sw-sbox.is-mro:hover .sw-sbox-links a { border-color: rgba(255, 255, 255, .8); background: rgba(255, 255, 255, .12); color: #fff; }
.sw-sbox.is-mro:hover .sw-sbox-links a:hover { background: #fff; color: #2f3fb0; border-color: #fff; }
.sw-sbox.is-mro:hover .sw-s { color: #ffb270; }

/* 2026-10-19 메가메뉴 v5 — 분류 4개를 가로 4열로(열마다 분류명 + 제품 세로 나열, 7개 한 번에). 왼쪽 분류 목록(.sw-mega-side)은 숨김. 사용자: "분류 다시 잘해줘" */
@media (min-width: 1280px) {
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; column-gap: 0; padding: 36px 0 44px !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-side { display: none !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col,
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col.is-active { display: block !important; grid-column: auto; grid-row: 1; margin: 0 !important; padding: 4px 28px 0 28px !important; border-bottom: 0; border-left: 1px solid #edf0f4; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col:first-of-type { border-left: 0; padding-left: 0 !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col:last-of-type { padding-right: 0 !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content .sw-mc-name { font-size: 16px !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation__submenu-container { grid-template-columns: 1fr !important; gap: 18px !important; margin-top: 18px !important; padding-top: 18px !important; border-top: 1px solid #edf0f4; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation__submenu-container .wp-block-navigation-item__description { -webkit-line-clamp: 3; }
}

/* 2026-10-19 CLOUVI 블록 효과 3종(.sw-clv-eff.is-cards) — 흰 상자 3개가 "AI 스럽다" → 상자 없이 윗선 + 선 아이콘 + 제목 + 체크 목록 + 화살표 글자 링크 */
.sw-clv-eff.is-cards { gap: 0 40px; }
.sw-clv-eff.is-cards > li { padding: 22px 0 44px; border: 0 !important; border-top: 1px solid #c9d3e3 !important; background: transparent !important; }
.sw-clv-eff.is-cards > li:hover { border-top-color: #0f1b33 !important; }
.sw-clv-eff.is-cards > li > i { width: 30px; height: 30px; border-radius: 0; background: none !important; box-shadow: none !important; }
.sw-clv-eff.is-cards > li > i svg { width: 28px; height: 28px; }
.sw-clv-eff.is-cards > li > b { margin-top: 2px; }
.sw-clv-eff.is-cards > li > ul > li::before { background-color: transparent !important; }
.sw-clv-eff.is-cards > li > a { right: 0; bottom: 10px; width: auto; height: auto; border: 0; border-radius: 0; color: #2f6bd8; }
.sw-clv-eff.is-cards > li > a:hover { background: none; color: #0f1b33; transform: translateX(4px); }
.sw-clv-eff.is-cards > li > a svg { width: 22px; height: 22px; }
@media (max-width: 900px) { .sw-clv-eff.is-cards > li { padding: 18px 0 40px; } }

/* 2026-10-19 SMRO 박스 글자색 보정 — 앞선 남색 고정 규칙(흰 글자)이 남아 밝은 사진 위에 흰 글자가 떠 보였음 → 기본은 짙은 글자, 호버만 흰 글자(특이성 ↑) */
.sw-svid-panels .sw-sbox.is-mro:not(:hover), .sw-svid-panels .sw-sbox.is-mro:not(:hover) .sw-sbox-t { color: #0f1b33 !important; text-shadow: 0 1px 0 rgba(255, 255, 255, .6) !important; }
.sw-svid-panels .sw-sbox.is-mro:not(:hover) .sw-sbox-d { color: #243047 !important; text-shadow: 0 1px 0 rgba(255, 255, 255, .5) !important; }
.sw-svid-panels .sw-sbox.is-mro:not(:hover) .sw-sbox-links a { border-color: rgba(15, 27, 51, .55) !important; background: rgba(255, 255, 255, .55) !important; color: #0f1b33 !important; }
.sw-svid-panels .sw-sbox.is-mro:not(:hover) .sw-s { color: #ff8a2a !important; }

/* 2026-10-19 홈 히어로 설명문 — 긴 문장이 1.5줄로 어색하게 꺾이지 않게 두 줄로 균형(text-wrap: balance) + 폭 제한 */
.sw-vhero-desc { max-width: 44em; margin-left: auto; margin-right: auto; text-wrap: balance; }

/* 2026-10-19 홈 인사이트 READ MORE — 연한 하늘색이 안 보여 진한 파란색으로 */
.sw-insights .sw-insight-more a, .sw-insight-card .sw-insight-more a { color: #2f6bd8; }
.sw-insights .sw-insight-more a:hover, .sw-insight-card .sw-insight-more a:hover { color: #13306e; }

/* 2026-10-19 채용(207) '우리가 하는 일' 3카드(.sw-rc-fields) — 흰 상자 + 아이콘 타일이 "AI 스럽다" → 상자 없이 윗선 + 선 아이콘 + 제목 + 본문 */
.sw-rc-fields { gap: 0 48px !important; }
.sw-rc-fields > * { padding: 24px 0 0 !important; border: 0 !important; border-top: 1px solid #c9d3e3 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.sw-rc-fields > *:hover { transform: none !important; border-top-color: #0f1b33 !important; box-shadow: none !important; }
.sw-rc-fields i, .sw-rc-fields [class*="-ico"], .sw-rc-fields [class*="-icon"] { width: auto !important; height: auto !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
.sw-rc-fields svg { width: 28px; height: 28px; }
@media (max-width: 900px) { .sw-rc-fields > * + * { margin-top: 8px; } }

/* 2026-10-19 채용 인재상 리본(.sw-inf.is-v5) — 리본 위 흰 글자가 안 보여, 글자를 리본 밖(위 · 아래)으로 빼고 지시선(세로 선 + 점)으로 연결. 1 · 3 · 4 번은 위로, 2 · 5 번은 아래로 */
.sw-inf.is-v5 .sw-inf-lab, .sw-inf.is-v5.is-in .sw-inf-lab { color: #0f1b33; text-shadow: none; font-size: clamp(13px, 1.35vw, 17px); line-height: 1.3; white-space: nowrap; transform: translate(-50%, calc(-100% - 46px)); }
.sw-inf.is-v5.is-armed .sw-inf-lab { transform: translate(-50%, calc(-100% - 36px)); }
.sw-inf.is-v5 .sw-inf-lab::before { content: ""; position: absolute; left: 50%; top: 100%; width: 1px; height: 40px; margin-top: 4px; background: #0f1b33; }
.sw-inf.is-v5 .sw-inf-lab::after { content: ""; position: absolute; left: 50%; top: calc(100% + 44px); width: 9px; height: 9px; margin: -4px 0 0 -4.5px; border-radius: 50%; background: #2f6bd8; box-shadow: 0 0 0 3px #fff, 0 0 0 4px rgba(15, 27, 51, .25); }
.sw-inf.is-v5 .sw-inf-lab:nth-of-type(2), .sw-inf.is-v5 .sw-inf-lab:nth-of-type(5), .sw-inf.is-v5.is-in .sw-inf-lab:nth-of-type(2), .sw-inf.is-v5.is-in .sw-inf-lab:nth-of-type(5) { transform: translate(-50%, 46px); }
.sw-inf.is-v5.is-armed .sw-inf-lab:nth-of-type(2), .sw-inf.is-v5.is-armed .sw-inf-lab:nth-of-type(5) { transform: translate(-50%, 36px); }
.sw-inf.is-v5 .sw-inf-lab:nth-of-type(2)::before, .sw-inf.is-v5 .sw-inf-lab:nth-of-type(5)::before { top: auto; bottom: 100%; margin: 0 0 4px; }
.sw-inf.is-v5 .sw-inf-lab:nth-of-type(2)::after, .sw-inf.is-v5 .sw-inf-lab:nth-of-type(5)::after { top: auto; bottom: calc(100% + 44px); margin: 0 0 -4.5px -4.5px; }
@media (max-width: 760px) { .sw-inf.is-v5 .sw-inf-lab, .sw-inf.is-v5.is-in .sw-inf-lab { font-size: 11px; transform: translate(-50%, calc(-100% - 26px)); } .sw-inf.is-v5 .sw-inf-lab::before { height: 20px; } .sw-inf.is-v5 .sw-inf-lab::after { top: calc(100% + 24px); } .sw-inf.is-v5 .sw-inf-lab:nth-of-type(2), .sw-inf.is-v5 .sw-inf-lab:nth-of-type(5), .sw-inf.is-v5.is-in .sw-inf-lab:nth-of-type(2), .sw-inf.is-v5.is-in .sw-inf-lab:nth-of-type(5) { transform: translate(-50%, 26px); } .sw-inf.is-v5 .sw-inf-lab:nth-of-type(2)::after, .sw-inf.is-v5 .sw-inf-lab:nth-of-type(5)::after { bottom: calc(100% + 24px); } }

/* 2026-10-19 채용 엔지니어링 문화(.sw-rc-eng-grid) — 반투명 상자 4개가 "AI 스럽다" → 상자 없이 윗선(옅은 흰 선) + 큰 숫자 + 글 */
.sw-rc-eng-grid { gap: 8px 56px !important; }
.sw-rc-eng-grid li, .sw-rc-eng-grid li:nth-child(-n+2) { padding: 28px 0 22px !important; border: 0 !important; border-top: 1px solid rgba(255, 255, 255, .22) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; overflow: visible; }
.sw-rc-eng-grid li::after { display: none !important; }
.sw-rc-eng-grid li:hover { background: transparent !important; transform: none !important; border-top-color: rgba(255, 255, 255, .6) !important; }

/* 2026-10-19 채용 인재상 리본 — SVG 글자 숨기고 리본 밖 HTML 라벨(.sw-inf-lab2) + 지시선(선 · 점). 위치는 site.js 가 글자 bbox 로 계산해 left/top 을 넣는다 */
.sw-inf.has-leaders .sw-inf-t { display: none !important; }
.sw-inf-lab2 { position: absolute; z-index: 3; width: max-content; max-width: 11em; margin: 0; color: #0f1b33; font-family: Pretendard, "Noto Sans KR", sans-serif; font-size: clamp(13px, 1.3vw, 17px); font-weight: 800; line-height: 1.3; letter-spacing: -.02em; text-align: center; pointer-events: none; opacity: 0; transition: opacity .6s ease .3s; }
.sw-inf.is-lab-in .sw-inf-lab2 { opacity: 1; }
.sw-inf-lab2.is-up { transform: translate(-50%, calc(-100% - 48px)); }
.sw-inf-lab2.is-up.is-center { transform: translate(-50%, calc(-100% - 78px)); }
.sw-inf-lab2.is-down { transform: translate(-50%, 48px); }
.sw-inf-lab2::before { content: ""; position: absolute; left: 50%; width: 1px; height: 40px; background: #0f1b33; }
.sw-inf-lab2.is-up::before { top: 100%; margin-top: 4px; }
.sw-inf-lab2.is-up.is-center::before { height: 70px; }
.sw-inf-lab2.is-down::before { bottom: 100%; margin-bottom: 4px; }
.sw-inf-lab2::after { content: ""; position: absolute; left: 50%; width: 9px; height: 9px; margin-left: -4.5px; border-radius: 50%; background: #2f6bd8; box-shadow: 0 0 0 3px #fff, 0 0 0 4px rgba(15, 27, 51, .25); }
.sw-inf-lab2.is-up::after { top: calc(100% + 44px); margin-top: -4px; }
.sw-inf-lab2.is-up.is-center::after { top: calc(100% + 74px); }
.sw-inf-lab2.is-down::after { bottom: calc(100% + 44px); margin-bottom: -4.5px; }
@media (max-width: 760px) { .sw-inf-lab2 { font-size: 11px; } .sw-inf-lab2.is-up { transform: translate(-50%, calc(-100% - 28px)); } .sw-inf-lab2.is-up.is-center { transform: translate(-50%, calc(-100% - 44px)); } .sw-inf-lab2.is-down { transform: translate(-50%, 28px); } .sw-inf-lab2::before { height: 20px; } .sw-inf-lab2.is-up.is-center::before { height: 36px; } .sw-inf-lab2.is-up::after { top: calc(100% + 24px); } .sw-inf-lab2.is-up.is-center::after { top: calc(100% + 40px); } .sw-inf-lab2.is-down::after { bottom: calc(100% + 24px); } }

/* 2026-10-19 회사소개 연혁 — 왼쪽 시대 카드와 오른쪽 타임라인 사이 간격 확대(48 → 110px) */
@media (min-width: 981px) { .sw-htl { column-gap: 110px !important; } }
/* 2026-10-19 보정 — SVG 글자를 display:none 으로 숨기면 bbox 를 못 재서 라벨이 한곳에 모였음 → opacity 로 숨김(자리는 유지) */
.sw-inf.has-leaders .sw-inf-t { display: block !important; opacity: 0 !important; }

/* 2026-10-19 메가메뉴 — 분류 5열(AI Commerce · Enterprise · Messaging & Marketing · AX · IoT) */
@media (min-width: 1280px) {
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col,
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col.is-active { padding-left: 22px !important; padding-right: 22px !important; }
}

/* 2026-10-19 문의 폼 — 필수 안내 문구(.sw-cf-req) + 보안코드(.sw-cf-captcha: 이미지 · 새로고침 · 입력) */
.sw-cf-req { margin: 0 !important; color: #d1353b !important; font-size: 13px !important; font-weight: 600 !important; text-align: right; }
.sw-cf-req em { font-style: normal; margin-right: 2px; }
.sw-cf-captcha > label { display: block; margin-bottom: 8px; }
.sw-captcha-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.sw-captcha-img { display: block; width: 180px; height: 60px; border: 1px solid #d6deea; background: #f3f4f6; flex: 0 0 auto; }
.sw-captcha-refresh { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid #d6deea; border-radius: 50%; background: #fff; color: #555; cursor: pointer; flex: 0 0 auto; transition: background .2s ease, color .2s ease, transform .3s ease; }
.sw-captcha-refresh:hover { background: #0f1b33; border-color: #0f1b33; color: #fff; transform: rotate(90deg); }
.sw-captcha-row .wpcf7-form-control-wrap { flex: 1 1 220px; min-width: 200px; }
.sw-captcha-row input[type="text"] { width: 100%; }
.sw-captcha-row .wpcf7-not-valid-tip { flex-basis: 100%; }

/* 2026-10-19 홈 그라데이션 섹션 문단(.sw-flow-text) 글자 1.3배(22~36px → 29~47px) */
.sw-flow-text { font-size: clamp(28px, 3vw, 47px); line-height: 1.5; }

/* 2026-10-19 문의 상자 심볼 — 버튼과 겹쳐 부자연스러움 → 그림자 사본 제거, 제목과 버튼 사이 빈 공간(오른쪽 42%)으로 옮기고 은은한 흰 음영만 */
body .sw-cta.sw-cta.sw-cta.sw-cta::before { right: 42% !important; width: clamp(200px, 16vw, 260px) !important; opacity: .6 !important; background: linear-gradient(160deg, rgba(255, 255, 255, .26) 0%, rgba(255, 255, 255, .09) 55%, rgba(150, 175, 255, .14) 100%) !important; }
body .sw-cta.sw-cta.sw-cta.sw-cta > .sw-cta-sky { display: none !important; }
@media (max-width: 1100px) { body .sw-cta.sw-cta.sw-cta.sw-cta::before { right: 2% !important; opacity: .25 !important; } }

/* 2026-10-19 인재상 리본 — 아래쪽 라벨(2 · 5번)이 리본 띠와 겹쳐 안 보임 → 지시선을 길게(90px) 내려 띠 아래 빈 곳에 두고, 라벨 뒤에 옅은 흰 바탕 */
.sw-inf-lab2.is-down { transform: translate(-50%, 100px); }
.sw-inf-lab2.is-down::before { height: 92px; }
.sw-inf-lab2.is-down::after { bottom: calc(100% + 96px); }
.sw-inf-lab2 { padding: 4px 8px; background: rgba(246, 248, 252, .92); border-radius: 4px; }
@media (max-width: 760px) { .sw-inf-lab2.is-down { transform: translate(-50%, 54px); } .sw-inf-lab2.is-down::before { height: 46px; } .sw-inf-lab2.is-down::after { bottom: calc(100% + 50px); } }

/* 2026-10-19 메가메뉴 분류 제목 확대 — 영문 16 → 21px, 한글 12.5 → 14px */
@media (min-width: 1280px) {
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content .sw-mc-name { font-size: 21px !important; line-height: 1.25; }
  html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content .sw-mc-ko { font-size: 14px !important; margin-top: 4px; }
}

/* 2026-10-19 sOMP 채널 카드(.sw-ums-channel) 아이콘 — 옅은 색 타일(56px, 8px) + 채널 색 선 아이콘(--i 마스크). 옛 blob · 아이콘 규칙은 덮어씀 */
.sw-ums-channel { position: relative; }
.sw-ums-channel::before { content: ""; position: static !important; order: -2; display: block; width: 56px; height: 56px; margin: 0 0 16px !important; border-radius: 8px !important; transform: none !important; background: var(--bg) !important; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 22%, #fff); }
.sw-ums-channel::after { content: ""; position: static !important; order: -1; display: block; width: 28px; height: 28px; margin: -58px 0 30px !important; transform: none !important; background: var(--c) !important; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; opacity: 1 !important; filter: none !important; }
.sw-ums-channel:hover::before, .sw-ums-channel:hover::after { transform: none !important; }

/* 2026-10-19 문의 상자 심볼을 왼쪽 끝으로, 글 · 버튼은 심볼 오른쪽부터 시작(겹치지 않게) */
body .sw-cta.sw-cta.sw-cta.sw-cta::before { left: 3% !important; right: auto !important; width: clamp(180px, 14vw, 230px) !important; opacity: .7 !important; }
body .sw-cta.sw-cta.sw-cta.sw-cta { padding-left: calc(3% + clamp(180px, 14vw, 230px) + 56px) !important; }
@media (max-width: 1100px) { body .sw-cta.sw-cta.sw-cta.sw-cta { padding-left: 24px !important; } body .sw-cta.sw-cta.sw-cta.sw-cta::before { left: auto !important; right: 2% !important; opacity: .18 !important; } }

/* 2026-10-19 회사소개 대표인사말(#greeting) 뒤 큰 동심원 장식 제거(사용자: "이런 거 지우고") */
#greeting::before, #greeting::after { display: none !important; }

/* 2026-10-19 사업분야 메시징(64) 발송 채널 카드(.sw-aio.is-5) — 채널별 아이콘(옅은 색 타일 + 채널 색 선 아이콘, lucide) */
body.page-id-64 .sw-aio.is-5 > li { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3Cpath d='M8 10h.01M12 10h.01M16 10h.01'/%3E%3C/svg%3E"); }
body.page-id-64 .sw-aio.is-5 > li.is-d { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='2' width='12' height='20' rx='2'/%3E%3Cpath d='M9 8h6M9 12h4M12 18h.01'/%3E%3C/svg%3E"); }
body.page-id-64 .sw-aio.is-5 > li.is-e { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 3C6.5 3 2 6.6 2 11c0 2.8 1.8 5.2 4.6 6.6L5.8 21l4-2.6c.7.1 1.4.2 2.2.2 5.5 0 10-3.6 10-8S17.5 3 12 3z'/%3E%3C/svg%3E"); }
body.page-id-64 .sw-aio.is-5 > li.is-b { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9'/%3E%3Cpath d='M10.3 21a1.94 1.94 0 0 0 3.4 0'/%3E%3C/svg%3E"); }
body.page-id-64 .sw-aio.is-5 > li.is-c { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 7L2 7'/%3E%3C/svg%3E"); }
body.page-id-64 .sw-aio.is-5 > li::before { content: ""; order: -2; display: block; width: 52px; height: 52px; margin: 0 0 16px; border-radius: 8px; background: color-mix(in srgb, var(--c) 11%, #fff); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 28%, #fff); }
body.page-id-64 .sw-aio.is-5 > li::after { content: ""; order: -1; display: block; width: 26px; height: 26px; margin: -55px 0 29px 13px; background: var(--c); -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; }

/* 2026-10-19 메가메뉴 한글 분류명 확대 14 → 16px */
@media (min-width: 1280px) { html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > .wp-block-navigation-item__content .sw-mc-ko { font-size: 16px !important; } }

/* 2026-10-19 제품 헤더 워드마크(sCOS · sOMP)의 주황 S 를 조금 크게(사용자: "S가 너무 작다") */
.sw-product-brand strong .sw-s { font-size: 1.12em !important; line-height: 1; vertical-align: -.02em; text-transform: none !important; }

/* 2026-10-19 문의 폼 — 필수 표시 * 를 안내 문구와 같은 붉은색으로 */
.sw-cf-field label em, .sw-cf-field em, .sw-cf-consent em { color: #d1353b !important; font-style: normal !important; }

/* 2026-10-19 보안코드 줄 — 좁은 폼 열에서 이미지 · 새로고침 · 입력이 세로로 떨어지던 것을 한 줄로(입력칸이 줄어듦) */
.sw-captcha-row { flex-wrap: nowrap; }
.sw-captcha-row .wpcf7-form-control-wrap { flex: 1 1 140px; min-width: 0; }
.sw-captcha-img { width: 150px; height: 50px; }
@media (max-width: 480px) { .sw-captcha-row { flex-wrap: wrap; } .sw-captcha-row .wpcf7-form-control-wrap { flex-basis: 100%; } }

/* 2026-10-19 히어로 노란 강조(.sw-vhero-hl)는 둘째 줄(가는 글씨)에서도 굵게 */
.sw-vhero-title .sw-vhero-hl { font-weight: 800 !important; }

/* 2026-10-19 메가메뉴 제품 항목 — 마우스를 올리면 로고 마크가 살짝 커졌다가 떼면 돌아온다 */
.sw-primary-nav .sw-mc-mark { transition: transform .35s cubic-bezier(.2, .8, .2, 1); transform-origin: left center; will-change: transform; }
.sw-primary-nav .wp-block-navigation-item__content:hover .sw-mc-mark, .sw-primary-nav .wp-block-navigation-item__content:focus-visible .sw-mc-mark { transform: scale(1.18); }
@media (prefers-reduced-motion: reduce) { .sw-primary-nav .sw-mc-mark { transition: none; } }

/* 2026-10-19 문의 폼 필수 안내 문구를 아래로(첫 입력란 바로 위에 붙게) */
.sw-cf-field:has(> .sw-cf-req) { margin-top: 32px !important; margin-bottom: -12px !important; }

/* 2026-10-19 제품/솔루션 목록(65) 카탈로그 카드 — 마우스를 올리면 로고 마크가 살짝 커진다 */
.sw-catalog-mark { transition: transform .35s cubic-bezier(.2, .8, .2, 1); transform-origin: left center; will-change: transform; }
.sw-catalog-item:hover .sw-catalog-mark, .sw-catalog-item:focus-within .sw-catalog-mark { transform: scale(1.18); }
@media (prefers-reduced-motion: reduce) { .sw-catalog-mark { transition: none; } }

/* 2026-10-19 제품 헤더 워드마크 주황 S — 나머지 글자와 같은 크기 · 굵기 · 기준선(사용자: "글씨 크기를 똑같게") */
.sw-product-brand strong .sw-s { font-size: 1em !important; font-weight: inherit !important; line-height: inherit; vertical-align: baseline !important; text-transform: none !important; letter-spacing: inherit; }

/* 2026-10-19 SCOS(566) 기능 상세 섹션(.sw-detail-sec) — 66 에서 옮긴 표 3개(기능군 · 관리자 기능 · 아키텍처 계층) + 비교표 주석(.sw-cmp-notes). 표 선은 연한 하늘색 */
.sw-detail-sec .sw-detail-block + .sw-detail-block { margin-top: 48px !important; }
.sw-detail-sec h3 { margin: 0 0 10px !important; color: #0f1b33; font-size: calc(1.15rem + 1pt); font-weight: 800; }
.sw-detail-sec .sw-detail-block > p { margin: 0 0 16px !important; color: #4b5563; }
.sw-detail-sec .wp-block-table { margin: 0 !important; overflow-x: auto; }
.sw-detail-sec .wp-block-table table { width: 100%; border-collapse: collapse; background: #fff; font-size: 14.5px; line-height: 1.6; }
.sw-detail-sec .wp-block-table th, .sw-detail-sec .wp-block-table td { padding: 12px 14px; border: 1px solid #cfe3f7 !important; vertical-align: top; text-align: left; word-break: keep-all; }
.sw-detail-sec .wp-block-table th { background: #f3f8fd; color: #13306e; font-weight: 800; white-space: nowrap; }
.sw-detail-sec .wp-block-table td:first-child { font-weight: 700; color: #0f1b33; white-space: nowrap; }
.sw-cmp-notes { margin-top: 18px !important; }
.sw-cmp-notes ul { margin: 0 !important; padding: 0 !important; list-style: none; }
.sw-cmp-notes li { position: relative; margin: 0 0 6px; padding: 0; color: #4b5563; font-size: 14px; line-height: 1.65; word-break: keep-all; }
.sw-cmp-notes li strong { color: #0f1b33; font-weight: 700; }
@media (max-width: 760px) { .sw-detail-sec .wp-block-table table { font-size: 13px; } .sw-detail-sec .wp-block-table th, .sw-detail-sec .wp-block-table td { padding: 9px 10px; white-space: normal; } }

/* 2026-10-19 홈 솔루션 모음(.sw-sol-list) — 마우스를 올리면 로고 마크가 살짝 커진다 */
.sw-sol-list .sw-sol-mark { transition: transform .35s cubic-bezier(.2, .8, .2, 1); will-change: transform; }
.sw-sol-list a:hover .sw-sol-mark, .sw-sol-list a:focus-visible .sw-sol-mark { transform: scale(1.14); }

/* 2026-10-19 SI·ITO 운영 서비스 범위(.sw-itos) — 남색 네모 띠 대신 상자 없는 윗선형: 흰 바탕 · 항목마다 윗선 + 옅은 파란 타일 아이콘 + 제목 + 설명(사용자: "네모 박스 디자인 말고") */
.sw-itos { gap: 0 40px; border-radius: 0; background: transparent; overflow: visible; padding: 0; }
.sw-itos li { padding: 24px 0 8px; border: 0 !important; border-top: 1px solid #c9d3e3 !important; background: transparent; box-shadow: none !important; transition: border-color .25s; }
.sw-itos li + li { border-left: 0 !important; }
.sw-itos li:hover { border-top-color: #0f1b33 !important; }
.sw-itos li::before { display: block; position: static; width: 48px; height: 48px; margin: 0 0 16px; border-radius: 8px; background-color: #e8f0ff; background-size: 24px; box-shadow: inset 0 0 0 1px rgba(47, 107, 216, .22); filter: invert(38%) sepia(62%) saturate(1400%) hue-rotate(198deg) brightness(95%) contrast(96%) drop-shadow(0 0 0 transparent); }
.sw-itos li::before { filter: none; }
.sw-itos b { color: #0f1b33; }
.sw-itos span { color: #4b5563; }
@media (max-width: 900px) { .sw-itos li + li { border-top: 1px solid #c9d3e3 !important; } }
.sw-itos li:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bd8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 13a8 8 0 0 1 16 0'/%3E%3Crect x='3' y='13' width='4' height='6' rx='1.5'/%3E%3Crect x='17' y='13' width='4' height='6' rx='1.5'/%3E%3Cpath d='M19 19a3 3 0 0 1-3 2h-2'/%3E%3C/svg%3E"); }
.sw-itos li:nth-child(3)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bd8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9l2.1 2.1M17 17l2.1 2.1M4.9 19.1L7 17M17 7l2.1-2.1'/%3E%3C/svg%3E"); }
.sw-itos li:nth-child(4)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bd8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18a4.5 4.5 0 0 1-.6-8.96A6 6 0 0 1 18 8a4 4 0 0 1 0 8H7z'/%3E%3C/svg%3E"); }
.sw-itos li:nth-child(1)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bd8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }

/* 2026-10-19 푸터 SOLUTION SITE 드롭다운이 열려 있는 동안은 챗봇(열린 패널 포함) · 위젯을 숨겨 목록이 가려지지 않게 */
body:has(.sw-foot2-family[open]) .sw-chat, body:has(.sw-foot2-family[open]) .sw-fab { opacity: 0 !important; pointer-events: none !important; transition: opacity .2s ease; }

/* 2026-10-19 제품 페이지 본사이트형 통일 — 표준 배너(.sw-page-hero.sw-prod-hero) 안 제품 마크 + 워드마크(.sw-hero-brand), 배너 버튼(.sw-hero-actions) 흰 테두리 알약, 아래 남색 앵커 탭 바는 공통 규칙 */
.sw-prod-hero .sw-hero-brand { display: flex; align-items: center; gap: 10px; margin: 0 0 18px !important; color: #fff; }
.sw-prod-hero .sw-hero-mark { width: 44px; height: 44px; object-fit: contain; }
.sw-prod-hero .sw-hero-brand strong { font-size: 30px; font-weight: 900; letter-spacing: -.02em; line-height: 1; color: #fff; }
.sw-prod-hero .sw-hero-brand strong .sw-s { color: #ffb23f; }
.sw-prod-hero .sw-hero-brand strong .sw-ai { color: #9fc3ff; }
.sw-prod-hero .sw-hero-brand span { margin-left: 2px; color: rgba(255, 255, 255, .7); font-size: 14px; font-weight: 600; }
.sw-prod-hero .sw-hero-actions { margin-top: 26px !important; gap: 10px; }
.sw-prod-hero .sw-hero-actions .wp-block-button__link { padding: 12px 24px; border: 1px solid rgba(255, 255, 255, .85) !important; border-radius: 999px !important; background: rgba(255, 255, 255, .08) !important; color: #fff !important; font-size: 15px; font-weight: 700; transition: background .2s ease, color .2s ease; }
.sw-prod-hero .sw-hero-actions .wp-block-button__link:hover { background: #fff !important; color: #0f1b33 !important; }
@media (max-width: 760px) { .sw-prod-hero .sw-hero-brand strong { font-size: 24px; } .sw-prod-hero .sw-hero-mark { width: 36px; height: 36px; } }

/* 2026-10-19 제품 배너 보정 — (1) 워드마크 주황 S 가 span 규칙(14px)에 걸려 작아지던 것 수정 (2) 제품 탭 바: 탭이 9개라 넘치던 것을 폭 자동 · 글자 17px 로 한 줄에, 가로 스크롤바 숨김 */
.sw-prod-hero .sw-hero-brand strong .sw-s { font-size: 1em !important; margin: 0 !important; font-weight: inherit; }
.sw-prod-hero + .sw-anchor-nav:not(.is-tabbar) .wp-block-buttons { overflow-x: auto; scrollbar-width: none; }
.sw-prod-hero + .sw-anchor-nav:not(.is-tabbar) .wp-block-buttons::-webkit-scrollbar { display: none; }
.sw-prod-hero + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link { min-width: 0 !important; min-height: 80px !important; padding: 0 26px !important; font-size: 17px !important; }
@media (max-width: 1200px) { .sw-prod-hero + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link { padding: 0 18px !important; font-size: 15.5px !important; min-height: 68px !important; } }

/* 2026-10-19 sOMP 채널 카드 비율 정리 — 옛 얼룩 배경용 윗여백(170px)이 남아 제목과 카드 사이가 비어 있던 것 → 윗여백 28px, 왼쪽 구분선 제거, 가운데 정렬 유지 */
.sw-ums-channel { padding: 28px 18px 10px !important; border-left: 0 !important; }
.sw-ums-channels { gap: 0 16px; margin-top: 8px; }
.sw-ums-channel::before { margin: 0 auto 16px !important; }
.sw-ums-channel::after { margin: -58px auto 30px !important; }

/* 2026-10-19 제품 탭 바 — 탭이 가운데에 뭉치지 않게 wide 폭(1400px)까지 고르게 펼침(사용자: "넓게 해줘") */
.sw-prod-hero + .sw-anchor-nav:not(.is-tabbar) .wp-block-buttons { justify-content: stretch; width: min(1400px, 100%) !important; margin: 0 auto !important; }
.sw-prod-hero + .sw-anchor-nav:not(.is-tabbar) .wp-block-button { flex: 1 1 0 !important; }
.sw-prod-hero + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link { width: 100%; padding: 0 12px !important; }
@media (max-width: 1200px) { .sw-prod-hero + .sw-anchor-nav:not(.is-tabbar) .wp-block-button { flex: 0 0 auto !important; } .sw-prod-hero + .sw-anchor-nav:not(.is-tabbar) .wp-block-buttons { justify-content: flex-start; } }

/* 2026-10-19 보정 — 제품 탭 바가 화면 끝까지 늘어나던 것(앞선 공통 규칙의 width:100% !important 가 더 구체적이라 이김) → 1400px 상한 · 가운데 정렬로 */
.sw-page-hero.sw-prod-hero.is-photo-stream + .sw-anchor-nav:not(.is-tabbar) .wp-block-buttons { width: min(1400px, 100%) !important; max-width: 1400px !important; margin: 0 auto !important; }

/* 2026-10-19 홈 슬로건 솔루션 박스 — 마우스를 올리면 로고 마크가 살짝 커진다 */
.sw-sbox .sw-sbox-mark { transition: transform .35s cubic-bezier(.2, .8, .2, 1); will-change: transform; }
.sw-sbox:hover .sw-sbox-mark, .sw-sbox:focus-within .sw-sbox-mark { transform: scale(1.16); }
@media (prefers-reduced-motion: reduce) { .sw-sbox .sw-sbox-mark { transition: none; } }

/* 2026-10-19 카드 그리드 정렬 — 4열 그리드(.sw-ums-features.is-4)에 카드가 3장만 남으면 3열로(라이브커머스 '기간' 카드 삭제 뒤 왼쪽으로 치우쳤음) */
.sw-ums-features.is-4:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 900px) { .sw-ums-features.is-4:has(> :nth-child(3):last-child) { grid-template-columns: 1fr !important; } }

/* 2026-10-19 솔루션 로고 마크 공통 규칙 — 어디에 있든 마우스를 올리면 살짝 커진다(배너 .sw-hero-mark 포함, 제품 헤더 ::before 마크 포함) */
.sw-hero-mark, .sw-mc-mark, .sw-catalog-mark, .sw-sol-mark, .sw-sbox-mark, .sw-product-brand a::before { transition: transform .35s cubic-bezier(.2, .8, .2, 1); will-change: transform; }
.sw-prod-hero .sw-hero-brand:hover .sw-hero-mark, .sw-hero-brand .sw-hero-mark:hover, .sw-product-brand a:hover::before { transform: scale(1.16); }
.sw-prod-hero .sw-hero-brand { width: max-content; max-width: 100%; cursor: default; }
@media (prefers-reduced-motion: reduce) { .sw-hero-mark, .sw-product-brand a::before { transition: none; } }

/* 2026-10-19 홈 슬로건 솔루션 박스 — 올리면 마크가 1.4배(사용자 요청), 아래 글이 밀리지 않게 마크 자리 고정 */
.sw-sbox .sw-sbox-mark { transform-origin: 50% 100%; }
.sw-sbox:hover .sw-sbox-mark, .sw-sbox:focus-within .sw-sbox-mark { transform: scale(1.4); }

/* 2026-10-19 MMCS 테스트베드 보강 — 소개(사진 + 글 · 포인트 3개), 검증 절차 5단계(상자 없는 번호 목록), 검증 대상 · 산출물 2열 */
.sw-tb-intro { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: center; margin: 28px 0 44px; }
.sw-tb-photo { margin: 0; }
.sw-tb-photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border: 1px solid #e6e6e6; }
.sw-tb-lead { margin: 0 0 18px !important; color: #1f2a3c; font-size: calc(1.05rem + 1pt); line-height: 1.75; word-break: keep-all; }
.sw-tb-lead strong { color: #2f6bd8; font-weight: 800; }
.sw-tb-pts { margin: 0 !important; padding: 0 !important; list-style: none; }
.sw-tb-pts li { display: block !important; padding: 12px 0; border-top: 1px solid #dfe5ee; }
.sw-tb-pts li b { display: block; margin-bottom: 4px; color: #0f1b33; font-size: 16px; font-weight: 800; }
.sw-tb-pts li span { color: #4b5563; font-size: 14.5px; line-height: 1.65; word-break: keep-all; }
.sw-tb-flow { margin-top: 48px; }
.sw-tb-flow h4, .sw-tb-cols h4 { margin: 0 0 14px !important; color: #0f1b33; font-size: calc(1.15rem + 1pt); font-weight: 800; }
.sw-tb-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 28px; margin: 0 !important; padding: 0 !important; list-style: none; counter-reset: none; }
.sw-tb-steps li { display: block !important; padding: 18px 0 8px; border-top: 1px solid #c9d3e3; }
.sw-tb-steps li::before, .sw-tb-steps li::after { content: none !important; }
.sw-tb-steps li i { display: block; margin-bottom: 8px; color: #2f6bd8; font-size: 15px; font-style: normal; font-weight: 800; line-height: 1; }
.sw-tb-steps li b { display: block; margin-bottom: 8px; color: #0f1b33; font-size: 16px; font-weight: 800; line-height: 1.35; word-break: keep-all; }
.sw-tb-steps li span { color: #4b5563; font-size: 14px; line-height: 1.65; word-break: keep-all; }
.sw-tb-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 56px; margin-top: 44px; padding-top: 28px; border-top: 1px solid #e6e6e6; }
.sw-tb-cols ul { margin: 0 !important; padding: 0 !important; list-style: none; }
.sw-tb-cols li { position: relative; display: block !important; margin: 0 0 8px; padding-left: 14px; color: #374151; font-size: 15px; line-height: 1.6; }
.sw-tb-cols li::before { content: ""; position: absolute; left: 0; top: .7em; width: 5px; height: 5px; border-radius: 50%; background: #2f6bd8; }
@media (max-width: 1000px) { .sw-tb-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .sw-tb-intro, .sw-tb-cols { grid-template-columns: 1fr; } .sw-tb-steps { grid-template-columns: 1fr; } .sw-tb-cols > div + div { margin-top: 24px; } }

/* 2026-10-19 메가메뉴 분류 4열(AX Platform 분류 삭제: AI Commerce · Enterprise · Messaging & Marketing · IoT) */
@media (min-width: 1280px) { html[lang] .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }

/* 2026-10-19 제품 쇼케이스(.sw-ums-hero.is-showcase) — 옛 제품 히어로의 폰 목업 · 콘솔 + 숫자 4개를 배너 아래 섹션으로 복원(사용자: "이런 느낌도 없애지 말고") */
.sw-ums-hero.is-showcase { margin-block: 0 !important; padding: clamp(56px, 6vw, 88px) 0 clamp(48px, 5vw, 72px); }
.sw-ums-hero.is-showcase .sw-ums-hero-copy h2 { margin: 0 0 14px !important; color: #fff; font-size: clamp(26px, 2.6vw, 38px); font-weight: 900; line-height: 1.25; letter-spacing: -.02em; }
.sw-ums-hero.is-showcase .sw-ums-eyebrow { color: #8fd0ff !important; }

/* 2026-10-19 라이브커머스 #screens 쇼케이스 영상(.sw-lc-video) — 16:9 전폭, 가는 테두리 */
.sw-lc-video { margin: 0 0 28px !important; }
.sw-lc-video video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border: 1px solid #dfe7f3; background: #0a0f1f; }

/* 2026-10-19 MMCS 시스템 구성 갤러리(.sw-mmcs-shots) — 대시보드 · 앱 화면 · 장비 사진 3장 */
.sw-mmcs-shots { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr); gap: 20px 28px; margin: 0 0 40px; }
.sw-mmcs-shot { margin: 0; }
.sw-mmcs-shot img { display: block; width: 100%; height: auto; border: 1px solid #dfe7f3; background: #fff; }
.sw-mmcs-shot.is-app img { max-height: 520px; width: auto; max-width: 100%; margin: 0 auto; }
.sw-mmcs-shot figcaption { margin-top: 8px; color: #6b7280; font-size: 13.5px; text-align: center; }
.sw-mmcs-devs { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 32px; align-items: center; padding-top: 20px; border-top: 1px solid #e6e6e6; }
.sw-mmcs-devs-t { margin: 0 !important; color: #0f1b33; font-size: 17px; font-weight: 800; }
.sw-mmcs-devs-t span { display: block; margin-top: 4px; color: #4b5563; font-size: 14.5px; font-weight: 500; line-height: 1.6; }
.sw-mmcs-devs ul { display: flex; gap: 14px; margin: 0 !important; padding: 0 !important; list-style: none; }
.sw-mmcs-devs li { display: block !important; width: 150px; text-align: center; }
.sw-mmcs-devs li img { display: block; width: 150px; height: 112px; object-fit: cover; border: 1px solid #dfe7f3; }
.sw-mmcs-devs li span { display: block; margin-top: 6px; color: #4b5563; font-size: 13.5px; font-weight: 600; }
@media (max-width: 900px) { .sw-mmcs-shots, .sw-mmcs-devs { grid-template-columns: 1fr; } .sw-mmcs-devs ul { flex-wrap: wrap; } }

/* 2026-10-19 MMCS 관제 흐름(.sw-mmcs-flow) 정렬 — 세로 나열(라벨 · 항목 어긋남) 대신 가로 3열(센서 → 관제 서버 → 운영 화면), 각 열은 윗선 + 라벨 + 세로 목록 */
.sw-mmcs-flow { display: grid !important; grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1.2fr) 28px minmax(0, 1fr); align-items: start; gap: 0 14px; margin: 0; padding: 0; }
.sw-mmcs-col, .sw-mmcs-col:first-child, .sw-mmcs-col.is-core { display: block; margin: 0; padding: 18px 0 0; border: 0; border-top: 1px solid #c9d3e3; border-radius: 0; background: none; box-shadow: none; color: inherit; text-align: left; }
.sw-mmcs-col small, .sw-mmcs-col.is-core small { display: block; margin: 0 0 10px; padding: 0; color: #2f6bd8; font-size: 13px; font-weight: 800; }
.sw-mmcs-col ul { display: block; }
.sw-mmcs-col ul li, .sw-mmcs-col.is-out ul li { display: block !important; position: relative; padding: 0 0 0 14px; margin: 0 0 6px; color: #0f1b33; font-size: 15.5px; font-weight: 700; white-space: normal; }
.sw-mmcs-col ul li::before { content: ""; position: absolute; left: 0; top: .62em; width: 5px; height: 5px; border-radius: 50%; background: #2f6bd8; }
.sw-mmcs-col ul li:not(:last-child)::after { content: none !important; }
.sw-mmcs-col.is-core b { display: block; color: #0f1b33; font-size: 18px; font-weight: 800; line-height: 1.35; }
.sw-mmcs-col.is-core p { margin: 8px 0 0; color: #4b5563; font-size: 14.5px; line-height: 1.65; }
.sw-mmcs-arrow { width: 28px !important; height: 28px !important; margin: 24px 0 0 !important; border-radius: 50% !important; background: #e8f0ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bd8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center / 16px no-repeat !important; transform: none !important; }
@media (max-width: 760px) { .sw-mmcs-flow { grid-template-columns: 1fr; } .sw-mmcs-arrow { margin: 8px auto !important; transform: rotate(90deg) !important; } }

/* 2026-10-19 제품/솔루션 목록(65) 4열 — 가운데 정렬 · 폭 1400px · 분류 제목 한 줄 · 설명 높이 통일 */
@media (min-width: 1280px) { .sw-catalog { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 24px 48px; width: 100%; max-width: 1400px; margin-left: auto !important; margin-right: auto !important; } }
.sw-catalog-sec > .sw-catalog { max-width: 1400px !important; }
.sw-catalog-title { font-size: 22px; white-space: nowrap; }
.sw-catalog-title .sw-mc-desc { white-space: normal !important; min-height: 5.1em; }
@media (min-width: 1280px) { .sw-catalog-title { min-height: 0; } }

/* 2026-10-19 AX 수행 단계 6카드(.sw-ax-flow) 아이콘 — 그라데이션 채움 + 흰 아이콘(금지 패턴) → 옅은 파란 타일 + 파란 선 아이콘, 상자 테두리는 가는 회색 */
.sw-ax-flow > li { border: 1px solid #e6e6e6 !important; border-radius: 0 !important; background: #fff !important; box-shadow: none !important; }
.sw-ax-flow > li > i { border-radius: 8px !important; background: #e8f0ff !important; box-shadow: inset 0 0 0 1px rgba(47, 107, 216, .22) !important; }
.sw-ax-flow > li > i::before { background: #2f6bd8 !important; }
.sw-ax-flow > li::before { color: #e3ebf7; }

/* 2026-10-19 대표인사말 인용 카드 따옴표 — 닫는 따옴표가 오른쪽 아래로 멀리 떨어져 어색 → 닫는 따옴표 제거, 여는 따옴표는 작게(4.5rem) 글 바로 위 왼쪽에 */
.sw-ceo-card::after { display: none !important; content: none !important; }
.sw-ceo-card::before { top: -22px !important; left: 0 !important; font-size: 4.5rem !important; line-height: 1 !important; color: #9ec3f5 !important; opacity: .9; }
.sw-ceo-card { padding-top: 34px !important; }
@media (max-width: 781px) { .sw-ceo-card::before { font-size: 3.5rem !important; top: -16px !important; } }

/* 2026-10-19 사업분야 하위 앵커 탭 바 — 가운데 정렬 · 넓게(탭 18px · 여백 ↑) */
.sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-buttons { justify-content: center !important; gap: 8px 22px !important; padding: 14px 0 !important; max-width: 1400px !important; }
.sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link { padding: 12px 28px !important; font-size: 18px !important; font-weight: 700 !important; }
@media (max-width: 781px) { .sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-buttons { justify-content: flex-start !important; } .sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-button__link { padding: 9px 16px !important; font-size: 15px !important; } }

/* 2026-10-19 대표인사말 인용 — 여는 따옴표는 글 바로 위, 닫는 따옴표는 타자가 끝나면 글 끝에 붙어 나타난다 */
.sw-ceo-card::before { top: 4px !important; left: -2px !important; }
.sw-ceo-card { padding-top: 48px !important; }
.sw-ceo-card .sw-ceo-quote::after { content: "\201D"; display: inline-block; margin-left: 10px; color: #9ec3f5; font-family: Georgia, "Times New Roman", serif; font-size: 4.5rem; font-weight: 700; line-height: 0; vertical-align: -.55em; opacity: 0; transition: opacity .8s ease; }
.sw-ceo-card .sw-ceo-quote[data-typed]:has(.sw-typeonce-caret.is-done)::after { opacity: .9; }
@media (max-width: 781px) { .sw-ceo-card .sw-ceo-quote::after { font-size: 3.5rem; margin-left: 6px; } }

/* 2026-10-19 사업분야 하위 앵커 탭 바 — 탭 사이 간격 확대 */
.sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-buttons { gap: 8px 60px !important; }
@media (max-width: 781px) { .sw-biz-tabs + .sw-anchor-nav:not(.is-tabbar) .wp-block-buttons { gap: 8px 18px !important; } }

/* 2026-10-19 AI 개인화 구성도 DB 도형 — 진짜 원통: 위 타원 뚜껑 + 곧은 옆면 + 둥근 바닥 */
.sw-dg-dbs { padding-top: 22px; gap: 18px; }
.sw-dg-db { height: 78px !important; margin-top: 0; padding: 0 8px 13px !important; border-radius: 0 0 50% 50% / 0 0 16px 16px !important; background: linear-gradient(90deg, #b3c5e5 0%, #e9eff9 26%, #f8faff 44%, #dfe7f5 72%, #adbfe0 100%) !important; box-shadow: 0 14px 22px rgba(31, 63, 143, .16) !important; }
.sw-dg-db::before { top: -15px !important; left: 0; right: 0; height: 30px !important; border-radius: 50% !important; background: linear-gradient(180deg, #ffffff 0%, #e2eaf7 100%) !important; box-shadow: 0 1px 0 #a9bcdb, inset 0 -5px 7px rgba(31, 63, 143, .16) !important; }
.sw-dg-db::after { top: 22px !important; }

/* 2026-10-19 포트폴리오 제목 '움직인' — 보랏빛 그라데이션 */
.sw-move { color: #7c4dff; }
.sw-move i { background: linear-gradient(180deg, #6a4cff 15%, #a05cff 55%, #cf8cff 100%) !important; -webkit-background-clip: text !important; background-clip: text !important; }

/* 2026-10-19 사업분야 오퍼링 제목(e-Commerce · 쇼핑몰 구축 · 운영) — 마우스를 올리면 커진다 */
.sw-offer-text h3 { transition: transform .35s cubic-bezier(.2, .8, .2, 1); transform-origin: left center; }
.sw-offer-text:hover h3, .sw-offer-text h3:hover { transform: scale(1.08); }
.sw-offer-mob button b { display: inline-block; transition: transform .3s; transform-origin: left center; }
.sw-offer-mob button:hover b { transform: scale(1.06); }

/* 2026-10-19 CLOUVI 페이지 삭제 → AI 개인화 플랫폼 페이지 #clouvi 섹션으로 병합. 그 페이지에서는 CLOUVI 데모 창이 '시연' 버튼으로만 열리고(런처·말풍선 숨김), 열려 있는 동안 회사 챗봇 버튼은 숨긴다 */
.page-template-page-product-ai-platform .sw-clouvi:not(.is-open) .sw-clouvi-launcher, .page-template-page-product-ai-platform .sw-clouvi-hint { display: none !important; }
body:has(.sw-clouvi.is-open) .sw-chat { display: none !important; }
.sw-ums-hero.is-showcase.sw-clouvi-hero { scroll-margin-top: 90px; }

/* 2026-10-19 SI·ITO 수행 방법론 — 단계별 AI 적용 포인트 알약, 운영 서비스 범위 5칸 */
.sw-mth-ai { display: inline-block; margin-top: 12px; padding: 6px 12px; border-radius: 999px; background: rgba(79, 140, 255, .18); border: 1px solid rgba(143, 200, 255, .35); color: #bfe0ff; font-size: 12.5px; font-weight: 700; line-height: 1.4; }
.sw-itos:has(> li:nth-child(5)) { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 900px) { .sw-itos:has(> li:nth-child(5)) { grid-template-columns: 1fr 1fr; } }

/* 2026-10-19 MMCS 관제 흐름 — 생성 일러스트(맨홀 센서 → 서버 → 운영 화면) 위에, 글 구성은 그 아래 */
.sw-mmcs-flow-fig { margin: 0 0 22px; }
.sw-mmcs-flow-fig img { display: block; width: 100%; height: auto; border-radius: 18px; box-shadow: 0 14px 34px rgba(16, 47, 103, .12); }

/* 2026-10-19 사업분야 > MRO (구매 · 조달 디지털화) — sMRO 솔루션 제품 페이지와 분리된 사업 페이지 구성 */
.sw-mrob-pts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; list-style: none; margin: 0; padding: 0; }
.sw-mrob-pts li { border-top: 2px solid #0f1b33; padding-top: 20px; }
.sw-mrob-pts b { display: block; font-size: 36px; font-weight: 800; color: #2f6bd8; letter-spacing: -.02em; line-height: 1.1; }
.sw-mrob-pts strong { display: block; margin-top: 10px; font-size: 18px; color: #0f1b33; }
.sw-mrob-pts p { margin: 10px 0 0; color: #4b5668; font-size: 15px; line-height: 1.7; }
.sw-mrob-svc { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; list-style: none; margin: 0; padding: 0; }
.sw-mrob-svc li { border-top: 1px solid #c9d4e6; padding-top: 18px; }
.sw-mrob-svc li span { display: block; font-size: 13px; font-weight: 800; color: #2f6bd8; letter-spacing: .06em; }
.sw-mrob-svc li b { display: block; margin-top: 8px; font-size: 19px; color: #0f1b33; line-height: 1.35; }
.sw-mrob-svc li p { margin: 10px 0 0; color: #4b5668; font-size: 15px; line-height: 1.7; }
.sw-mrob-steps { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 0 20px; list-style: none; margin: 0; padding: 0; }
.sw-mrob-steps::before { content: ""; position: absolute; left: 0; right: 0; top: 11px; height: 2px; background: linear-gradient(90deg, #2f6bd8, #9ec3f5); }
.sw-mrob-steps li { position: relative; padding: 34px 0 0; }
.sw-mrob-steps li::before { content: ""; position: absolute; top: 3px; left: 0; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 4px solid #2f6bd8; box-sizing: border-box; }
.sw-mrob-steps li span { display: block; font-size: 13px; font-weight: 800; color: #2f6bd8; }
.sw-mrob-steps li b { display: block; margin-top: 6px; font-size: 18px; color: #0f1b33; }
.sw-mrob-steps li p { margin: 8px 0 0; color: #4b5668; font-size: 14.5px; line-height: 1.65; }
.sw-mrob-refs { margin: 0 0 24px; color: #4b5668; font-size: 15px; line-height: 1.8; }
.sw-mrob-refs b { color: #0f1b33; }
.sw-mrob-sol { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 34px 40px; border-radius: 18px; background: #0f1b33; color: #fff; }
.sw-mrob-sol small { display: block; font-size: 13px; font-weight: 700; color: #9ec3f5; letter-spacing: .08em; }
.sw-mrob-sol b { display: block; margin-top: 6px; font-size: 26px; font-weight: 800; color: #fff; }
.sw-mrob-sol p { margin: 8px 0 0; color: rgba(255, 255, 255, .78); font-size: 15px; }
.sw-mrob-sol > a { flex: 0 0 auto; padding: 14px 26px; border-radius: 999px; background: #2f6bd8; color: #fff; font-weight: 800; text-decoration: none; transition: transform .25s, background .25s; }
.sw-mrob-sol > a:hover { background: #1f55bd; transform: translateY(-2px); }
@media (max-width: 900px) { .sw-mrob-pts, .sw-mrob-steps { grid-template-columns: 1fr; gap: 22px; } .sw-mrob-svc { grid-template-columns: 1fr 1fr; } .sw-mrob-steps::before { display: none; } .sw-mrob-steps li { padding: 0 0 0 30px; } .sw-mrob-sol { flex-direction: column; align-items: flex-start; padding: 26px; } }
@media (max-width: 600px) { .sw-mrob-svc { grid-template-columns: 1fr; } }

/* 2026-10-19 sOMP · SCOS 개요 로고 카드 — 펭귄 그림 대신 우리 마크 + 워드마크. (:has(img) 넓히기 규칙은 워드마크 카드에서 되돌린다) */
.sw-ov-logo.sw-wordmark:has(img) { width: 100% !important; min-height: 300px !important; margin-left: 0 !important; padding: clamp(24px, 4vw, 48px) !important; }
.sw-ov-logo.sw-wordmark img.sw-ov-mark { display: block; width: 78px !important; height: 78px !important; max-width: none !important; margin: 0 auto 18px; border-radius: 0 !important; transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
.sw-ov-logo.sw-wordmark:hover img.sw-ov-mark { transform: scale(1.4); }
.sw-ov-grid:has(.sw-wordmark img) > .wp-block-column:first-child { flex-basis: 54% !important; }
.sw-ov-grid:has(.sw-wordmark img) > .wp-block-column:last-child { flex-basis: 46% !important; }

/* 2026-10-19 라이브커머스 쇼케이스 폰 — 알림 목록 대신 라이브 쇼케이스 영상 */
.sw-ums-screen.is-video { display: block; padding: 0 !important; background: #000 !important; overflow: hidden; }
.sw-ums-screen.is-video::before, .sw-ums-screen.is-video::after { display: none !important; content: none !important; }
.sw-ums-screen.is-video video { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }

/* 2026-10-19 대표인사말 따옴표 — 여는/닫는 따옴표를 같은 글꼴 · 크기 · 굵기 · 색으로(비율 통일) */
.sw-ceo-card::before, .sw-ceo-card .sw-ceo-quote::after { font-family: Georgia, serif !important; font-size: 4.5rem !important; font-weight: 400 !important; color: #9ec3f5 !important; }
.sw-ceo-card .sw-ceo-quote::after { line-height: 0; vertical-align: -.5em; margin-left: 10px; }
.sw-ceo-card .sw-ceo-quote[data-typed]:has(.sw-typeonce-caret.is-done)::after { opacity: .9; }
@media (max-width: 781px) { .sw-ceo-card::before, .sw-ceo-card .sw-ceo-quote::after { font-size: 3.5rem !important; } }

/* 2026-10-19 sOMP · SCOS 개요 로고 카드 — 히어로와 같은 가로 로고(마크 + 워드마크 + by skyware), 아래에 풀네임 */
.sw-wordmark .sw-ov-brand { display: flex; align-items: center; justify-content: center; gap: 16px; margin: 0 !important; }
.sw-wordmark .sw-ov-brand img.sw-ov-mark { margin: 0 !important; width: 64px !important; height: 64px !important; }
.sw-wordmark .sw-ov-brand strong { display: inline-block; font-size: clamp(2.6rem, 5vw, 4rem); }
.sw-wordmark .sw-ov-brand span { align-self: flex-end; margin-bottom: 9px; color: #5b6b85; font-size: 16px; font-weight: 700; letter-spacing: .01em; white-space: nowrap; }
.sw-wordmark.is-brand small { margin-top: 18px; }
@media (max-width: 600px) { .sw-wordmark .sw-ov-brand { gap: 10px; } .sw-wordmark .sw-ov-brand img.sw-ov-mark { width: 44px !important; height: 44px !important; } .sw-wordmark .sw-ov-brand span { font-size: 13px; margin-bottom: 5px; } }

/* 2026-10-19 라이브커머스 쇼케이스 폰 — 세로(9:16)로 자른 영상이 화면을 꽉 채운다 */
.sw-ums-screen.is-video { position: relative; }
.sw-ums-screen.is-video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* 2026-10-19 MMCS 관제 흐름 일러스트 — 가운데, 최대 1100px */
.sw-mmcs-flow-fig { width: 100%; max-width: 1100px; margin: 0 auto 26px; }

/* 2026-10-19 사업분야 탭 바(.sw-biz-tabs.is-v2) — 스크롤해도 화면 위에 남는다(헤더 79px 아래). 붙은 뒤(.is-stuck)에는 작은 설명을 접어 64px 로 납작하게. 아래 앵커 탭 바는 그 밑에 붙는다 */
@media (min-width: 782px) {
  .sw-biz-tabs.is-v2:not(.is-catalog) { position: sticky; top: 79px; z-index: 101; transition: box-shadow .25s; }
  .sw-biz-tabs.is-v2:not(.is-catalog).is-stuck { box-shadow: 0 10px 24px rgba(5, 12, 30, .25); }
  .sw-biz-tabs.is-v2:not(.is-catalog).is-stuck a { min-height: 60px; padding: 8px 20px; gap: 0; }
  .sw-biz-tabs.is-v2:not(.is-catalog).is-stuck a small { display: none; }
  .sw-biz-tabs.is-v2:not(.is-catalog).is-stuck a b { font-size: calc(.98rem + 1pt); }
  .sw-biz-tabs.is-v2:not(.is-catalog) + .sw-anchor-nav { top: 139px; z-index: 100; }
}

/* 2026-10-19 개요 로고 가로형 — 워드마크 안의 S(.sw-s)는 'by skyware' 규칙에서 제외 */
.sw-wordmark .sw-ov-brand strong .sw-s { font-size: inherit !important; align-self: auto; margin: 0; }
.sw-wordmark .sw-ov-brand > span { align-self: flex-end; margin-bottom: 9px; color: #5b6b85; font-size: 16px; font-weight: 700; }

/* 2026-10-19 사업분야 e-Commerce — B2C 마케팅 운영대행(회사소개서 35p): 3가지 관점 → 4개 축(AD Tech · 퍼포먼스 · 브랜딩 · 인플루언서) → 통합 관제 대시보드. 네모 박스 대신 윗줄 구분 */
.sw-mkt-pts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; list-style: none; margin: 0 0 44px; padding: 0; }
.sw-mkt-pts li { position: relative; padding-left: 22px; }
.sw-mkt-pts li::before { content: ""; position: absolute; left: 0; top: 10px; width: 10px; height: 10px; border-radius: 50%; background: #2f6bd8; }
.sw-mkt-pts b { display: block; font-size: 22px; font-weight: 800; color: #1f3f8f; letter-spacing: .02em; }
.sw-mkt-pts p { margin: 6px 0 0; color: #4b5668; font-size: 15px; line-height: 1.7; }
.sw-mkt-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; list-style: none; margin: 0; padding: 0; }
.sw-mkt-pillars li { border-top: 3px solid #0f1b33; padding-top: 18px; }
.sw-mkt-pillars li b { display: block; font-size: 21px; font-weight: 800; color: #0f1b33; line-height: 1.3; }
.sw-mkt-pillars li span { display: block; margin-top: 10px; padding: 10px 0; border-bottom: 1px solid #d5deec; color: #1f3f8f; font-size: 16px; font-weight: 700; }
.sw-mkt-pillars li p { margin: 12px 0 0; color: #4b5668; font-size: 14.5px; line-height: 1.65; }
.sw-mkt-pillars li em { display: inline-block; margin-top: 10px; font-style: normal; font-size: 13px; font-weight: 800; color: #2f6bd8; }
.sw-mkt-pillars li em::before { content: "▸ "; }
.sw-mkt-band { display: flex; align-items: center; gap: 24px; margin-top: 36px; padding: 24px 32px; border-radius: 16px; background: #0f1b33; color: #fff; }
.sw-mkt-band b { flex: 0 0 auto; font-size: 20px; font-weight: 800; }
.sw-mkt-band p { margin: 0; color: rgba(255, 255, 255, .82); font-size: 15px; line-height: 1.6; }
@media (max-width: 900px) { .sw-mkt-pts { grid-template-columns: 1fr; gap: 16px; } .sw-mkt-pillars { grid-template-columns: 1fr 1fr; } .sw-mkt-band { flex-direction: column; align-items: flex-start; } }
@media (max-width: 600px) { .sw-mkt-pillars { grid-template-columns: 1fr; } }

/* 2026-10-19 뉴스룸 필터 바 — 필터를 누르면 탭 바 자리에 머무르게(#nr-bar, 헤더 아래 여백). 정렬은 같은 줄 오른쪽, 필터는 가운데. 글이 1~3건이면 3열로 카드를 키워 빈 공간을 줄인다 */
.sw-nr-bar { scroll-margin-top: 110px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; }
.sw-nr-bar .sw-nr-filter { grid-column: 2; margin: 0 !important; }
.sw-nr-bar .sw-nr-sort { grid-column: 3; margin-top: 0; justify-content: flex-end; }
.sw-nr-grid:has(> :nth-child(3):last-child), .sw-nr-grid:has(> :nth-child(2):last-child), .sw-nr-grid:has(> :first-child:last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .sw-nr-bar { grid-template-columns: 1fr; } .sw-nr-bar .sw-nr-filter, .sw-nr-bar .sw-nr-sort { grid-column: 1; } .sw-nr-bar .sw-nr-sort { justify-content: flex-start; } }

/* 2026-10-19 고정 탭 바 아래 앵커 탭 바 — JS 가 잰 탭 바 높이(--sw-biztab-h)만큼 내려 붙인다. 위쪽 여백을 조금 더 줘 알약이 잘리지 않게 */
@media (min-width: 782px) {
  .sw-biz-tabs.is-v2:not(.is-catalog) + .sw-anchor-nav { top: calc(79px + var(--sw-biztab-h, 60px)); }
  .sw-biz-tabs.is-v2:not(.is-catalog) + .sw-anchor-nav .wp-block-buttons { padding: 16px 0 14px !important; }
}

/* 2026-10-19 라이브커머스 쇼케이스 폰 — 영상 위 국내 라이브 UI(LIVE 배지 · 시청자 · 한글 채팅 · 상품 카드 · 떠오르는 하트). 영상 속 외국어 화면은 아래쪽 그라데이션과 채팅으로 덮인다 */
.sw-ums-screen.is-video .sw-lcv-ui { position: absolute; inset: 0; z-index: 2; font-family: inherit; pointer-events: none; }
.sw-ums-screen.is-video .sw-lcv-ui::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 58%; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(8, 10, 24, .55) 45%, rgba(8, 10, 24, .92) 100%); }
.sw-lcv-top { position: absolute; top: 14px; left: 12px; right: 12px; display: flex; align-items: center; gap: 8px; }
.sw-lcv-live { padding: 4px 9px; border-radius: 6px; background: #ff2d55; color: #fff; font-size: 11px; font-weight: 900; letter-spacing: .08em; box-shadow: 0 0 0 2px rgba(255, 45, 85, .25); animation: sw-lcv-blink 1.6s ease-in-out infinite; }
.sw-lcv-viewers { padding: 4px 9px; border-radius: 999px; background: rgba(0, 0, 0, .45); color: #fff; font-size: 11px; font-weight: 700; backdrop-filter: blur(4px); }
.sw-lcv-viewers::before { content: "●"; margin-right: 5px; color: #ff2d55; font-size: 8px; vertical-align: 1px; }
.sw-lcv-chat { position: absolute; left: 12px; right: 44px; bottom: 92px; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.sw-lcv-chat li { align-self: flex-start; max-width: 100%; padding: 6px 10px; border-radius: 12px; background: rgba(0, 0, 0, .42); color: #fff; font-size: 11.5px; line-height: 1.4; backdrop-filter: blur(4px); opacity: 0; transform: translateY(8px); animation: sw-lcv-in .5s ease forwards; }
.sw-lcv-chat li:nth-child(1) { animation-delay: .6s; } .sw-lcv-chat li:nth-child(2) { animation-delay: 1.5s; } .sw-lcv-chat li:nth-child(3) { animation-delay: 2.5s; } .sw-lcv-chat li:nth-child(4) { animation-delay: 3.6s; }
.sw-lcv-chat li b { margin-right: 6px; color: #ffd166; font-weight: 800; }
.sw-lcv-chat li:nth-child(2) b { color: #7fd7ff; }
.sw-lcv-prod { position: absolute; left: 12px; right: 12px; bottom: 18px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; column-gap: 10px; align-items: center; padding: 9px 10px 9px 12px; border-radius: 12px; background: rgba(255, 255, 255, .96); color: #0f1b33; box-shadow: 0 8px 20px rgba(0, 0, 0, .3); }
.sw-lcv-prod span { grid-column: 1; font-size: 11px; font-weight: 700; color: #4b5668; }
.sw-lcv-prod b { grid-column: 1; font-size: 13.5px; font-weight: 900; color: #0f1b33; }
.sw-lcv-prod b s { margin-left: 4px; color: #9aa5b5; font-size: 11px; font-weight: 500; }
.sw-lcv-prod i { grid-column: 2; grid-row: 1 / 3; padding: 8px 14px; border-radius: 999px; background: #ff2d55; color: #fff; font-style: normal; font-size: 12px; font-weight: 800; }
.sw-lcv-heart { position: absolute; right: 18px; bottom: 96px; width: 16px; height: 16px; background: #ff2d55; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.5-4.6-9.6-9.2C.9 8.3 3 5 6.4 5c1.9 0 3.4 1 4.3 2.3C11.6 6 13.1 5 15 5c3.4 0 5.5 3.3 4 6.8C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.5-4.6-9.6-9.2C.9 8.3 3 5 6.4 5c1.9 0 3.4 1 4.3 2.3C11.6 6 13.1 5 15 5c3.4 0 5.5 3.3 4 6.8C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E") center / contain no-repeat; opacity: 0; animation: sw-lcv-heart 3.2s ease-out infinite; }
.sw-lcv-heart:nth-child(1 of .sw-lcv-heart) { animation-delay: .2s; }
.sw-lcv-heart:nth-child(2 of .sw-lcv-heart) { animation-delay: 1.3s; background: #ff6b9a; right: 26px; }
.sw-lcv-heart:nth-child(3 of .sw-lcv-heart) { animation-delay: 2.2s; background: #ffa8c5; right: 14px; }
@keyframes sw-lcv-heart { 0% { opacity: 0; transform: translate(0, 0) scale(.6); } 15% { opacity: 1; } 100% { opacity: 0; transform: translate(-10px, -150px) scale(1.15); } }
@keyframes sw-lcv-in { to { opacity: 1; transform: none; } }
@keyframes sw-lcv-blink { 0%, 100% { opacity: 1; } 50% { opacity: .65; } }
@media (prefers-reduced-motion: reduce) { .sw-lcv-chat li { animation: none; opacity: 1; transform: none; } .sw-lcv-heart { display: none; } .sw-lcv-live { animation: none; } }

/* 2026-10-19 라이브 폰 영상 — 영상 속 안쪽 폰 화면 아래쪽(외국어 글자 · 메뉴 바)을 흐림 띠로 가리고, 채팅을 조금 올려 겹친다 */
.sw-ums-screen.is-video .sw-lcv-ui::after { content: ""; position: absolute; left: 21%; top: 57%; width: 50%; height: 12%; border-radius: 10px; background: rgba(20, 22, 40, .18); -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px); }
.sw-lcv-chat { bottom: 100px; }

/* 2026-10-19 라이브 폰 영상 흐림 띠 — 채팅 · 상품 카드 · 하트보다 아래 층에 두고, 위아래 가장자리를 부드럽게 */
.sw-ums-screen.is-video .sw-lcv-ui::after { z-index: 0; top: 55%; height: 14%; -webkit-mask: linear-gradient(180deg, transparent, #000 22%, #000 78%, transparent); mask: linear-gradient(180deg, transparent, #000 22%, #000 78%, transparent); }
.sw-lcv-top, .sw-lcv-chat, .sw-lcv-prod, .sw-lcv-heart { z-index: 1; }

/* 2026-10-19 사업분야 e-Commerce 사업 관점 재구성 — 구축 유형 카드(대상 · 하는 일 · 솔루션 링크), 3칸 AI 커머스, 제품 링크 띠(링크 2개), 실적 메모 */
.sw-mrob-svc.is-3 { grid-template-columns: repeat(3, 1fr); }
.sw-ecb-types li p b, .sw-mrob-svc li p b { display: inline; margin: 0 6px 0 0; font-size: inherit; color: #0f1b33; }
.sw-ecb-types li p + p { margin-top: 8px; }
.sw-mrob-svc li em a { color: inherit; text-decoration: none; }
.sw-mrob-svc li em a:hover { text-decoration: underline; }
.sw-ecb-steps-head { margin-top: 44px !important; }
.sw-ecb-steps-head h3 { margin: 0 0 20px !important; font-size: 22px; font-weight: 800; color: #0f1b33; }
.sw-ecb-note { margin: 30px 0 0; padding-top: 18px; border-top: 1px solid #d5deec; color: #4b5668; font-size: 15px; line-height: 1.75; }
.sw-ecb-note b { color: #0f1b33; margin-right: 8px; }
.sw-mrob-sol-links { display: flex; flex: 0 0 auto; gap: 10px; }
.sw-mrob-sol-links a { padding: 14px 24px; border-radius: 999px; background: #2f6bd8; color: #fff; font-weight: 800; text-decoration: none; transition: transform .25s, background .25s; }
.sw-mrob-sol-links a:hover { background: #1f55bd; transform: translateY(-2px); }
@media (max-width: 900px) { .sw-mrob-svc.is-3 { grid-template-columns: 1fr; } }

/* 2026-10-19 인증 카드 — 눌러도 크게 보기 창이 뜨지 않으므로 손가락 커서 · 라이트박스 숨김 */
.sw-cert, .sw-cert[role="button"] { cursor: default !important; }
.sw-cert-box { display: none !important; }

/* 2026-10-19 라이브 폰 영상을 스니커즈 전용 세로 영상으로 바꿔 흐림 띠가 필요 없어짐 */
.sw-ums-screen.is-video .sw-lcv-ui::after { display: none; }

/* 2026-10-19 마케팅 운영대행 — 회사소개서 35p 도식 그대로: 왼쪽 관점 3가지(점 불릿) + 빨간 강조 문장, 오른쪽 연한 패널 안에 '브랜드 가치 성장' 트리(가지선) → 4개 상자(남색 머리 + 항목 2) → 설명 · ▸ 태그 → 남색 대시보드 띠 */
.sw-mkt-wrap { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 36px; align-items: start; }
.sw-mkt-wrap .sw-mkt-pts { display: flex; flex-direction: column; gap: 30px; margin: 10px 0 0; padding: 0; }
.sw-mkt-wrap .sw-mkt-pts li { position: relative; padding-left: 24px; }
.sw-mkt-wrap .sw-mkt-pts li::before { content: ""; position: absolute; left: 0; top: 9px; width: 11px; height: 11px; border-radius: 50%; background: #2f6bd8; }
.sw-mkt-wrap .sw-mkt-pts b { display: block; font-size: 24px; font-weight: 800; color: #1f3f8f; letter-spacing: .01em; line-height: 1.25; }
.sw-mkt-wrap .sw-mkt-pts p { margin: 8px 0 0; color: #4b5668; font-size: 14.5px; line-height: 1.7; }
.sw-mkt-wrap .sw-mkt-pts li.is-cta { padding-left: 0; margin-top: 6px; }
.sw-mkt-wrap .sw-mkt-pts li.is-cta::before { display: none; }
.sw-mkt-wrap .sw-mkt-pts li.is-cta b { font-size: 19px; color: #0f1b33; line-height: 1.5; }
.sw-mkt-wrap .sw-mkt-pts li.is-cta em { font-style: normal; color: #e0312b; }
.sw-mkt-tree { padding: 28px 28px 24px; border-radius: 18px; background: #f3f6fb; }
.sw-mkt-root { position: relative; width: min(100%, 300px); margin: 0 auto; padding: 16px 20px; border-radius: 999px; background: #0f1b33; color: #fff; font-size: 22px; font-weight: 800; text-align: center; box-shadow: 0 10px 24px rgba(15, 27, 51, .18); }
.sw-mkt-root::after { content: ""; position: absolute; left: 50%; top: 100%; width: 2px; height: 26px; background: #0f1b33; }
.sw-mkt-tree .sw-mkt-pillars { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 16px; margin: 26px 0 0; padding: 26px 0 0; list-style: none; }
.sw-mkt-tree .sw-mkt-pillars::before { content: ""; position: absolute; top: 0; left: 12.5%; right: 12.5%; height: 2px; background: #0f1b33; }
.sw-mkt-tree .sw-mkt-pillars li { position: relative; border: 0; padding: 0; }
.sw-mkt-tree .sw-mkt-pillars li::before { content: ""; position: absolute; top: -26px; left: 50%; width: 2px; height: 26px; background: #0f1b33; }
.sw-mkt-box { overflow: hidden; border: 2px solid #0f1b33; border-radius: 12px; background: #fff; }
.sw-mkt-box b { display: block; padding: 13px 8px; background: #0f1b33; color: #fff; font-size: 19px; font-weight: 800; text-align: center; line-height: 1.25; }
.sw-mkt-box span { display: block; min-height: 74px; margin: 0; padding: 14px 8px; border: 0; border-top: 1.5px solid #0f1b33; color: #0f1b33; font-size: 18px; font-weight: 800; text-align: center; line-height: 1.3; }
.sw-mkt-box span:first-of-type { border-top: 0; }
.sw-mkt-tree .sw-mkt-pillars li p { margin: 12px 0 0; color: #4b5668; font-size: 14px; line-height: 1.6; }
.sw-mkt-tree .sw-mkt-pillars li em { display: inline-block; margin-top: 8px; font-style: normal; font-size: 14px; font-weight: 800; color: #1f3f8f; }
.sw-mkt-tree .sw-mkt-pillars li:nth-child(2) em { color: #0f9d58; }
.sw-mkt-tree .sw-mkt-band { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 22px; margin-top: 26px; padding: 16px 20px; border-radius: 12px; background: #0f1b33; }
.sw-mkt-tree .sw-mkt-band b { font-size: 19px; }
.sw-mkt-tree .sw-mkt-band p { font-size: 16px; font-weight: 700; color: #fff; }
@media (max-width: 1000px) { .sw-mkt-wrap { grid-template-columns: 1fr; } .sw-mkt-wrap .sw-mkt-pts { flex-direction: row; flex-wrap: wrap; gap: 18px 28px; } .sw-mkt-wrap .sw-mkt-pts li { flex: 1 1 200px; } .sw-mkt-wrap .sw-mkt-pts li.is-cta { flex-basis: 100%; } }
@media (max-width: 760px) { .sw-mkt-tree .sw-mkt-pillars { grid-template-columns: 1fr 1fr; gap: 24px 16px; } .sw-mkt-tree .sw-mkt-pillars::before, .sw-mkt-tree .sw-mkt-pillars li::before, .sw-mkt-root::after { display: none; } .sw-mkt-tree .sw-mkt-pillars { padding-top: 0; } }
@media (max-width: 480px) { .sw-mkt-tree .sw-mkt-pillars { grid-template-columns: 1fr; } .sw-mkt-tree { padding: 18px; } }

/* 2026-10-19 sOMP 채널 카드 아이콘 — Iconify(lucide · mdi) 아이콘으로 교체(마스크는 --i, 색은 --c 그대로) */
.sw-ums-channel.is-sms { --i: url(assets/images/icons/chan-sms.svg); }
.sw-ums-channel.is-rcs { --i: url(assets/images/icons/chan-rcs.svg); }
.sw-ums-channel.is-kakao { --i: url(assets/images/icons/chan-kakao.svg); }
.sw-ums-channel.is-push { --i: url(assets/images/icons/chan-push.svg); }
.sw-ums-channel.is-mail { --i: url(assets/images/icons/chan-mail.svg); }

/* 2026-10-19 sOMP 쇼케이스 폰 — '진짜 영상처럼': 배경 영상(생성) 위에 알림이 1초 간격으로 떨어지고, 8초쯤 카카오톡 브랜드 메시지 장면이 올라왔다 내려간다(16초 반복, CSS 타임라인) */
.sw-ums-screen.is-live { position: relative; isolation: isolate; }
.sw-ums-screen.is-live .sw-ums-bgv { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; filter: saturate(1.05); }
.sw-ums-screen.is-live::before, .sw-ums-screen.is-live::after { z-index: 2; }
.sw-ums-screen.is-live > .sw-ums-msg { position: relative; z-index: 1; opacity: 0; transform: translateY(-26px) scale(.96); animation: sw-somp-msg 16s cubic-bezier(.2, .9, .3, 1.2) infinite; }
.sw-ums-screen.is-live > .sw-ums-msg:nth-child(2) { animation-delay: 1s; }
.sw-ums-screen.is-live > .sw-ums-msg:nth-child(3) { animation-delay: 2.2s; }
.sw-ums-screen.is-live > .sw-ums-msg:nth-child(4) { animation-delay: 3.4s; }
.sw-ums-screen.is-live > .sw-ums-msg:nth-child(5) { animation-delay: 4.6s; }
.sw-ums-screen.is-live > .sw-ums-msg:nth-child(6) { animation-delay: 5.8s; }
@keyframes sw-somp-msg { 0% { opacity: 0; transform: translateY(-26px) scale(.96); } 3% { opacity: 1; transform: none; } 46% { opacity: 1; transform: none; } 50% { opacity: 0; transform: translateY(8px); } 100% { opacity: 0; transform: translateY(-26px) scale(.96); } }
/* 카카오톡 장면 */
.sw-kk { position: absolute; inset: 0; z-index: 3; display: flex; flex-direction: column; border-radius: inherit; background: #9bbbd4; color: #111; font-size: 12px; opacity: 0; transform: translateY(100%); animation: sw-kk-in 16s cubic-bezier(.2, .8, .2, 1) infinite; }
@keyframes sw-kk-in { 0%, 48% { opacity: 0; transform: translateY(100%); } 52% { opacity: 1; transform: none; } 88% { opacity: 1; transform: none; } 93%, 100% { opacity: 0; transform: translateY(100%); } }
.sw-kk-head { display: flex; align-items: center; gap: 8px; padding: 46px 14px 12px; background: #fae100; color: #191919; }
.sw-kk-head i { width: 26px; height: 26px; border-radius: 9px; background: #0f1b33 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fae100'%3E%3Cpath d='M12 3C6.5 3 2 6.6 2 11c0 2.8 1.8 5.2 4.6 6.6L5.8 21l4-2.6c.7.1 1.4.2 2.2.2 5.5 0 10-3.6 10-8S17.5 3 12 3z'/%3E%3C/svg%3E") center / 15px no-repeat; }
.sw-kk-head b { font-size: 14px; font-weight: 800; }
.sw-kk-head small { margin-left: auto; padding: 3px 8px; border-radius: 999px; background: rgba(0, 0, 0, .12); font-size: 10.5px; font-weight: 700; }
.sw-kk-body { flex: 1; padding: 14px 12px; }
.sw-kk-msg { width: 86%; overflow: hidden; border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(0, 0, 0, .12); animation: sw-kk-msg 16s ease infinite; opacity: 0; }
@keyframes sw-kk-msg { 0%, 54% { opacity: 0; transform: translateY(10px); } 58% { opacity: 1; transform: none; } 100% { opacity: 1; transform: none; } }
.sw-kk-img { position: relative; display: grid; place-items: center; height: 92px; background: linear-gradient(135deg, #0f1b33, #2f6bd8 60%, #7fb3ff); color: #fff; }
.sw-kk-img span { font-size: 15px; font-weight: 900; letter-spacing: .12em; line-height: 1.15; text-align: center; }
.sw-kk-img em { position: absolute; right: 12px; bottom: 10px; padding: 4px 8px; border-radius: 999px; background: #fae100; color: #191919; font-style: normal; font-size: 12px; font-weight: 900; }
.sw-kk-msg p { margin: 0; padding: 10px 12px 8px; font-size: 11.5px; line-height: 1.5; color: #333; }
.sw-kk-msg p b { display: block; margin-bottom: 3px; font-size: 12.5px; color: #111; }
.sw-kk-msg a { display: block; margin: 0 10px 8px; padding: 8px; border: 1px solid #e5e7eb; border-radius: 8px; color: #111; font-size: 11.5px; font-weight: 800; text-align: center; }
.sw-kk-msg a + a { margin-top: -2px; }
.sw-kk-body time { display: block; margin: 6px 0 0 4px; color: rgba(0, 0, 0, .55); font-size: 10px; }
.sw-kk-input { margin: 0 10px 14px; padding: 10px 12px; border-radius: 10px; background: #fff; color: #9aa3ad; font-size: 11.5px; }
@media (prefers-reduced-motion: reduce) { .sw-ums-screen.is-live > .sw-ums-msg { animation: none; opacity: 1; transform: none; } .sw-kk { display: none; } }

/* 2026-10-19 마케팅 도식 손질 — 상자 머리 글자(흰색) 복구, 가지선을 각 상자 가운데에서 이어지게(끊김 없이), 첫/마지막 상자는 안쪽으로만 */
.sw-mkt-tree .sw-mkt-pillars li .sw-mkt-box b { color: #fff !important; }
.sw-mkt-tree .sw-mkt-pillars::before { display: none; }
.sw-mkt-tree .sw-mkt-pillars li::after { content: ""; position: absolute; top: -26px; left: -8px; right: -8px; height: 2px; background: #0f1b33; }
.sw-mkt-tree .sw-mkt-pillars li:first-child::after { left: 50%; }
.sw-mkt-tree .sw-mkt-pillars li:last-child::after { right: 50%; }
.sw-mkt-tree .sw-mkt-pillars li::before { top: -26px; height: 27px; margin-left: -1px; }
.sw-mkt-root::after { height: 27px; margin-left: -1px; }
@media (max-width: 760px) { .sw-mkt-tree .sw-mkt-pillars li::after { display: none; } }

/* 2026-10-19 마케팅 도식 색상 — 검은 남색 대신 소개서 톤의 로열 블루(사이트 파랑): 머리 알약 · 상자 머리 · 테두리 · 가지선 · 띠 */
.sw-mkt-root { background: linear-gradient(135deg, #1d44a6, #2f6bd8); box-shadow: 0 10px 24px rgba(47, 107, 216, .28); }
.sw-mkt-root::after, .sw-mkt-tree .sw-mkt-pillars li::before, .sw-mkt-tree .sw-mkt-pillars li::after { background: #2a58c4; }
.sw-mkt-box { border-color: #2a58c4; }
.sw-mkt-box b { background: #2a58c4; }
.sw-mkt-box span { border-top-color: #c9d6f2; color: #1d3a8a; }
.sw-mkt-tree .sw-mkt-band { background: linear-gradient(90deg, #1d44a6, #2f6bd8); }
.sw-mkt-tree { background: #eef3fb; }

/* 2026-10-19 포트폴리오 상세 고객사 로고 커버 — 로고가 틀 안에서 너무 작아 보여 틀 폭의 56%(최대 440px)로 키운다 */
.sw-post .sw-post-cover.is-client-logo img { width: min(440px, 56%) !important; max-width: none !important; max-height: 72% !important; height: auto !important; }

/* 2026-10-19 포트폴리오 로고 커버 — 고객사 로고 원본이 작아(예: 126×42px) 너무 키우면 흐려짐 → 320px · 44% 까지 */
.sw-post .sw-post-cover.is-client-logo img { width: min(320px, 44%) !important; image-rendering: auto; }

/* 2026-10-19 카카오톡 장면 완성도 — 실제 대화창처럼: 상태 바, 뒤로가기 머리, 왼쪽 프로필 + 이름 + 받은 말풍선(텍스트 → 브랜드 메시지 카드, 꼬리), 오른쪽 노란 내 답장, 입력 바. 받은 메시지는 왼쪽 정렬 */
.sw-kk { background: #b2c7d9; }
.sw-kk-status { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px 0; background: #fae100; color: #191919; font-size: 11px; font-weight: 800; }
.sw-kk-sig { display: inline-flex; gap: 2px; align-items: flex-end; }
.sw-kk-sig i { width: 3px; background: #191919; border-radius: 1px; } .sw-kk-sig i:nth-child(1) { height: 5px; } .sw-kk-sig i:nth-child(2) { height: 8px; } .sw-kk-sig i:nth-child(3) { height: 11px; }
.sw-kk-head { padding: 8px 12px 10px; }
.sw-kk-head i.sw-kk-back { width: 10px; height: 10px; margin: 0 6px 0 2px; border-left: 2px solid #191919; border-bottom: 2px solid #191919; border-radius: 0; background: none; transform: rotate(45deg); }
.sw-kk-body { padding: 12px 10px; }
.sw-kk-row { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 10px; }
.sw-kk-ava { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 12px; background: #0f1b33 center / 60% no-repeat; }
.sw-kk-col { flex: 1; min-width: 0; }
.sw-kk-name { display: block; margin: 0 0 4px 2px; color: #2b3a4a; font-size: 10.5px; font-weight: 600; }
.sw-kk-bub { position: relative; display: inline-block; max-width: 84%; padding: 8px 10px; border-radius: 4px 12px 12px 12px; background: #fff; color: #191919; font-size: 11.5px; line-height: 1.45; box-shadow: 0 1px 2px rgba(0, 0, 0, .06); opacity: 0; animation: sw-kk-bub 16s ease infinite; }
.sw-kk-bub::before { content: ""; position: absolute; top: 0; left: -6px; border: 6px solid transparent; border-top-color: #fff; border-right-color: #fff; }
.sw-kk-text { margin-bottom: 6px; }
.sw-kk-col .sw-kk-msg { width: 84%; border-radius: 12px; opacity: 0; animation: sw-kk-card 16s ease infinite; }
.sw-kk-col time { display: block; margin: 4px 0 0 2px; color: rgba(0, 0, 0, .5); font-size: 9.5px; }
.sw-kk-row.is-me { justify-content: flex-end; align-items: flex-end; gap: 6px; margin-top: 4px; }
.sw-kk-row.is-me time { color: rgba(0, 0, 0, .5); font-size: 9.5px; opacity: 0; animation: sw-kk-me 16s ease infinite; }
.sw-kk-bub.is-me { background: #fae100; border-radius: 12px 4px 12px 12px; animation: sw-kk-me 16s ease infinite; }
.sw-kk-bub.is-me::before { left: auto; right: -6px; border-top-color: #fae100; border-right-color: transparent; border-left-color: #fae100; }
.sw-kk-input { display: flex; align-items: center; gap: 8px; margin: 0; padding: 10px 12px; border-radius: 0; background: #fff; }
.sw-kk-input span { flex: 1; color: #9aa3ad; }
.sw-kk-input i.sw-kk-plus { width: 16px; height: 16px; border-radius: 50%; background: #e9ecef; position: relative; }
.sw-kk-input i.sw-kk-plus::before, .sw-kk-input i.sw-kk-plus::after { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 1.5px; background: #555; transform: translate(-50%, -50%); }
.sw-kk-input i.sw-kk-plus::after { transform: translate(-50%, -50%) rotate(90deg); }
.sw-kk-input em { color: #9aa3ad; font-style: normal; font-weight: 800; }
@keyframes sw-kk-bub { 0%, 54% { opacity: 0; transform: translateY(6px); } 57% { opacity: 1; transform: none; } 100% { opacity: 1; transform: none; } }
@keyframes sw-kk-card { 0%, 59% { opacity: 0; transform: translateY(8px); } 63% { opacity: 1; transform: none; } 100% { opacity: 1; transform: none; } }
@keyframes sw-kk-me { 0%, 72% { opacity: 0; transform: translateY(6px); } 75% { opacity: 1; transform: none; } 100% { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .sw-kk-bub, .sw-kk-col .sw-kk-msg, .sw-kk-row.is-me time { animation: none; opacity: 1; } }

/* 2026-10-19 카카오톡 장면 — 실제 카카오톡 채널 대화창(다크 모드): 검정 바탕, ← 채널명 ✓ 전화번호 · 검색 · 메뉴, 날짜 알약, 둥근 흰 프로필 + (광고) 라벨, 큰 광고 카드 캐러셀(사진 · 제목 · 기간 · 본문 · ■ 항목 · 자세히 보기), 아래 '채널 혜택' 연보라 바 */
.sw-kk { display: flex; flex-direction: column; background: #0b0b0b; color: #fff; font-size: 11px; overflow: hidden; }
.sw-kk-head { display: flex; align-items: center; gap: 10px; padding: 46px 12px 10px; background: transparent; color: #fff; }
.sw-kk-head i.sw-kk-back { width: 11px; height: 11px; margin: 0 2px 0 2px; border-left: 2.2px solid #fff; border-bottom: 2.2px solid #fff; border-radius: 0; background: none; transform: rotate(45deg); }
.sw-kk-who { flex: 1; min-width: 0; line-height: 1.2; }
.sw-kk-who b { display: flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 800; color: #fff; }
.sw-kk-who small { display: block; margin: 2px 0 0; font-size: 10.5px; color: rgba(255, 255, 255, .7); }
.sw-kk-badge { width: 12px; height: 12px; border-radius: 50%; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b0b0b' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 8px no-repeat; }
.sw-kk-search, .sw-kk-menu { width: 18px; height: 18px; background: #fff; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; }
.sw-kk-search { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E"); }
.sw-kk-menu { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E"); }
.sw-kk-date { display: flex; justify-content: center; margin: 6px 0 10px; }
.sw-kk-date span { padding: 5px 12px; border-radius: 999px; background: rgba(255, 255, 255, .14); color: #fff; font-size: 10px; }
.sw-kk-row { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 0 0 0 10px; flex: 1; min-height: 0; }
.sw-kk-ava { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%; background: #fff center / 60% no-repeat; }
.sw-kk-col { flex: 1; min-width: 0; }
.sw-kk-name { display: block; margin: 8px 0 6px 2px; color: #fff; font-size: 10.5px; font-weight: 600; }
.sw-kk-cards { display: flex; gap: 8px; width: 118%; opacity: 0; transform: translateX(12px); animation: sw-kk-card 16s ease infinite; }
.sw-kk-card { flex: 0 0 82%; overflow: hidden; border-radius: 14px; background: #fff; color: #111; }
.sw-kk-card.is-next { flex: 0 0 60%; }
.sw-kk-pic { position: relative; display: grid; place-items: center; height: 118px; background: #1b3a6b center / cover no-repeat; }
.sw-kk-pic::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 20, 50, .15), rgba(10, 20, 50, .55)); }
.sw-kk-pic b { position: relative; color: #fff; font-size: 17px; font-weight: 900; letter-spacing: .12em; line-height: 1.1; text-align: center; text-shadow: 0 2px 10px rgba(0, 0, 0, .4); }
.sw-kk-pic.is-alt { background: linear-gradient(135deg, #0f1b33, #2f6bd8); }
.sw-kk-txt { padding: 10px 11px 11px; }
.sw-kk-txt h4 { margin: 0 0 6px; padding-bottom: 6px; border-bottom: 1px solid #eee; font-size: 12px; font-weight: 800; color: #111; }
.sw-kk-txt p { margin: 0 0 6px; font-size: 10.5px; line-height: 1.45; color: #333; }
.sw-kk-txt .sw-kk-period { color: #555; }
.sw-kk-txt .sw-kk-li { color: #222; }
.sw-kk-txt a { display: block; margin: 8px 0 0; padding: 8px; border: 1px solid #e3e5e8; border-radius: 8px; background: #f6f7f9; color: #111; font-size: 11px; font-weight: 700; text-align: center; }
.sw-kk-foot { margin: 10px 10px 12px; padding: 11px; border-radius: 999px; background: #a9b3ff; color: #111; font-size: 12px; font-weight: 800; text-align: center; }
@keyframes sw-kk-card { 0%, 55% { opacity: 0; transform: translateX(12px); } 59% { opacity: 1; transform: none; } 100% { opacity: 1; transform: none; } }
.sw-kk-bub, .sw-kk-input, .sw-kk-status { display: none; }

/* 2026-10-19 AI 개인화 플랫폼 쇼케이스 — 'AI 퍼스널 쇼퍼' 대화 장면(NICE Ai 참고): 밝은 창, 봇 말풍선 + 취향 태그 → 내 요청(파란 알약) → 추천 + 태그 → 추천 제목 → 실사 상품 3개(유사상품 · AI코디Set · 색상 점) → 입력 바. 요소마다 --d 지연으로 차례로 나타나고 18초마다 반복 */
.sw-ps { position: relative; width: min(100%, 560px); margin: 0 auto; overflow: hidden; border: 1px solid #e3e7ee; border-radius: 18px; background: #fff; color: #111; box-shadow: 0 30px 70px rgba(5, 15, 40, .35); font-size: 12px; }
.sw-ps-bar { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid #eef0f4; }
.sw-ps-bar b { font-size: 13px; font-weight: 700; color: #222; }
.sw-ps-bar i { width: 16px; height: 16px; background: #777; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cpath d='M8.6 13.5l6.8 4M15.4 6.5l-6.8 4'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cpath d='M8.6 13.5l6.8 4M15.4 6.5l-6.8 4'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-ps-body { padding: 14px 14px 6px; }
.sw-ps-bot, .sw-ps-me, .sw-ps-h, .sw-ps-sub, .sw-ps-item { opacity: 0; animation: sw-ps-in 18s ease infinite; animation-delay: var(--d, 0s); }
.sw-ps-bot { display: flex; gap: 10px; align-items: flex-start; width: 86%; margin: 0 0 10px; padding: 12px 14px; border-radius: 12px; background: #f1f2f4; }
.sw-ps-ava { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%; object-fit: contain; background: #fff; }
.sw-ps-bot p { margin: 0; font-size: 11.5px; line-height: 1.55; color: #222; }
.sw-ps-bot p + p, .sw-ps-chips + p { margin-top: 8px; }
.sw-ps-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; }
.sw-ps-chips em { padding: 5px 10px; border: 1px solid #2f6bd8; border-radius: 6px; color: #2f6bd8; font-style: normal; font-size: 11px; font-weight: 700; }
.sw-ps-chips em.is-on { background: #2f6bd8; color: #fff; }
.sw-ps-me { width: fit-content; margin: 0 0 12px auto; padding: 11px 16px; border-radius: 10px; background: #1e8cff; color: #fff; font-size: 12px; font-weight: 700; }
.sw-ps-h { margin: 6px 0 0; padding: 0 0 8px; border-bottom: 1px solid #ddd; font-size: 14px; font-weight: 800; color: #111; }
.sw-ps-sub { margin: 8px 0 10px; font-size: 11px; color: #444; line-height: 1.5; }
.sw-ps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.sw-ps-pic { display: block; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 8px; background: #f6f6f6; }
.sw-ps-pic img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.sw-ps-item:hover .sw-ps-pic img { transform: scale(1.05); }
.sw-ps-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 8px 0 6px; }
.sw-ps-btns em { padding: 6px 2px; border: 1px solid #d9dde3; border-radius: 4px; color: #222; font-style: normal; font-size: 10px; font-weight: 600; text-align: center; }
.sw-ps-dots { display: flex; gap: 5px; margin: 0 0 6px; }
.sw-ps-dots i { width: 10px; height: 10px; border-radius: 50%; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08); }
.sw-ps-item b { display: block; font-size: 11.5px; font-weight: 600; color: #111; line-height: 1.35; }
.sw-ps-input { display: flex; align-items: center; gap: 10px; margin: 10px 14px 14px; padding: 9px 10px 9px 12px; border: 1px solid #d9dde3; border-radius: 12px; }
.sw-ps-input i { width: 18px; height: 18px; background: #333; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 8V5a1 1 0 0 1 1-1h3M16 4h3a1 1 0 0 1 1 1v3M20 16v3a1 1 0 0 1-1 1h-3M8 20H5a1 1 0 0 1-1-1v-3'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 8V5a1 1 0 0 1 1-1h3M16 4h3a1 1 0 0 1 1 1v3M20 16v3a1 1 0 0 1-1 1h-3M8 20H5a1 1 0 0 1-1-1v-3'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-ps-input span { flex: 1; color: #555; font-size: 12px; }
.sw-ps-input em { width: 28px; height: 28px; border-radius: 50%; background: #1e8cff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 15l6-6 6 6'/%3E%3C/svg%3E") center / 16px no-repeat; }
@keyframes sw-ps-in { 0% { opacity: 0; transform: translateY(8px); } 3% { opacity: 1; transform: none; } 88% { opacity: 1; transform: none; } 92% { opacity: 0; transform: translateY(-4px); } 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .sw-ps-bot, .sw-ps-me, .sw-ps-h, .sw-ps-sub, .sw-ps-item { animation: none; opacity: 1; } }
@media (max-width: 600px) { .sw-ps-grid { gap: 8px; } .sw-ps-bot { width: 100%; } }

/* 2026-10-19 AI 개인화 플랫폼 쇼케이스 — 사용자 녹화 'AI 퍼스널 쇼퍼' 화면 영상을 창 틀 안에서 자동 재생 */
.sw-ps.is-video { width: min(100%, 620px); }
.sw-ps.is-video .sw-ps-video { display: block; width: 100%; height: auto; aspect-ratio: 1308 / 866; object-fit: cover; background: #fff; }

/* 2026-10-19 녹화 영상 위쪽 제목 줄을 잘라낸 비율로 */
.sw-ps.is-video .sw-ps-video { aspect-ratio: 1308 / 826; }

/* 2026-10-19 CLOUVI 쇼케이스 — 오른쪽 창을 없애고 글만 (가운데 폭) */
.sw-ums-hero.is-showcase.sw-clouvi-hero .sw-ums-hero-grid { grid-template-columns: 1fr; }
.sw-ums-hero.is-showcase.sw-clouvi-hero .sw-ums-hero-copy { max-width: 760px; }

/* 2026-10-19 '클로비 시연 보기' — 제작한 시연 영상(인트로 카드 + 화면 녹화 1.4배속) */
.sw-demo-stage.is-video { display: block; aspect-ratio: auto; padding: 0; background: #0f1b33; }
.sw-demo-stage.is-video video { display: block; width: 100%; height: auto; }

/* 2026-10-19 CLOUVI AI CX Console — 생성 그림 대신 HTML 콘솔 대시보드(왼쪽 메뉴 · KPI 3 · 시간대 차트 · 최근 대화) */
.sw-cxc { width: 100%; overflow: hidden; border-radius: 16px; background: #0b1630; color: #e6eefc; box-shadow: 0 24px 50px rgba(5, 15, 40, .35); font-size: 12px; }
.sw-cxc-top { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.sw-cxc-top b { font-size: 13px; font-weight: 800; color: #fff; }
.sw-cxc-live { padding: 3px 9px; border-radius: 999px; background: rgba(95, 227, 161, .14); color: #5fe3a1; font-size: 10.5px; font-weight: 700; }
.sw-cxc-live::before { content: "●"; margin-right: 5px; font-size: 8px; animation: sw-chat-pulse 1.6s ease-in-out infinite; }
.sw-cxc-grid { display: grid; grid-template-columns: 118px 1fr; }
.sw-cxc-side { display: flex; flex-direction: column; gap: 2px; padding: 12px 8px; border-right: 1px solid rgba(255, 255, 255, .08); }
.sw-cxc-side i { padding: 8px 10px; border-radius: 8px; color: rgba(255, 255, 255, .62); font-style: normal; font-size: 11.5px; }
.sw-cxc-side i.is-on { background: rgba(79, 140, 255, .18); color: #fff; font-weight: 700; }
.sw-cxc-main { padding: 12px; }
.sw-cxc-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 8px; }
.sw-cxc-kpis div { padding: 10px 12px; border-radius: 10px; background: rgba(255, 255, 255, .05); }
.sw-cxc-kpis small { display: block; color: rgba(255, 255, 255, .6); font-size: 10.5px; }
.sw-cxc-kpis b { display: block; margin-top: 2px; font-size: 18px; font-weight: 800; color: #fff; }
.sw-cxc-kpis em { font-style: normal; font-size: 10.5px; font-weight: 700; color: #5fe3a1; }
.sw-cxc-kpis em.is-down { color: #ff9f7a; }
.sw-cxc-row { display: grid; grid-template-columns: 1.3fr 1fr; gap: 8px; }
.sw-cxc-card { padding: 10px 12px; border-radius: 10px; background: rgba(255, 255, 255, .05); }
.sw-cxc-card small { display: block; margin-bottom: 8px; color: rgba(255, 255, 255, .6); font-size: 10.5px; }
.sw-cxc-card svg { display: block; width: 100%; height: 96px; }
.sw-cxc-legend { display: flex; align-items: center; gap: 6px; margin-top: 6px; color: rgba(255, 255, 255, .6); font-size: 10px; }
.sw-cxc-legend i { width: 10px; height: 3px; border-radius: 2px; background: #7fb3ff; } .sw-cxc-legend i.is-b { margin-left: 8px; background: #5fe3a1; }
.sw-cxc-card ul { margin: 0; padding: 0; list-style: none; }
.sw-cxc-card li { padding: 7px 0; border-top: 1px solid rgba(255, 255, 255, .07); }
.sw-cxc-card li:first-child { border-top: 0; padding-top: 0; }
.sw-cxc-card li b { display: block; font-size: 11.5px; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sw-cxc-card li span { display: block; margin-top: 2px; color: #8fc1ff; font-size: 10.5px; }
@media (max-width: 600px) { .sw-cxc-grid { grid-template-columns: 1fr; } .sw-cxc-side { flex-direction: row; flex-wrap: wrap; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .08); } .sw-cxc-row { grid-template-columns: 1fr; } }

/* 2026-10-19 SI·ITO 수행 방법론 점선 틀 — AI 알약이 틀 밖으로 나가 높이를 더 준다 */
.sw-mth { padding-bottom: 64px !important; }
.sw-mth-steps li { padding-bottom: 30px; }
@media (max-width: 900px) { .sw-mth { padding-bottom: 48px !important; } }

/* 2026-10-19 ITO 운영 서비스 범위 5번째 'AI 운영(AIOps)' — 아이콘(Iconify lucide/bot) · 색 */
.sw-itos li:nth-child(5) { --ic: #7a4ce6; }
.sw-itos li:nth-child(5)::before { background-image: url(assets/images/icons/itos-ai.svg); }

/* 2026-10-19 라이브커머스 폰 — 진행자 영상에 맞춰 위쪽 그라데이션은 약하게 */
.sw-ums-screen.is-video .sw-lcv-ui::before { height: 50%; }

/* 2026-10-19 SI·ITO 배너 제목(SI · ITO 글자) — 글자별 애니메이션 없이 한 번에 보이게(사용자 요청) */
body.page-id-61 .sw-page-hero h1 .sw-mark b, body.page-id-1312 .sw-page-hero h1 .sw-mark b { animation: none !important; opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }

/* 2026-10-19 배너 제목의 강조 글자(.sw-mark b — SI · ITO · AX 등) — 글자별 애니메이션 없이 한 번에 보이게(사용자 요청, 전 페이지 공통) */
.sw-page-hero h1 .sw-mark b { animation: none !important; opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }

/* 2026-10-19 SI·ITO 수행 방법론 — 단계마다 '리스크 · 품질 관리' 태그(흰 외곽선)와 'AI 보조' 태그(파랑)를 나란히, 아래에 공통 관리 체계 줄 */
.sw-mth-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 12px; }
.sw-mth-tags em { display: inline-block; padding: 5px 10px; border-radius: 999px; font-style: normal; font-size: 12px; font-weight: 700; line-height: 1.4; }
.sw-mth-tags em.is-q { border: 1px solid rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .08); color: #eef4ff; }
.sw-mth-tags em.is-ai { border: 1px solid rgba(143, 200, 255, .35); background: rgba(79, 140, 255, .18); color: #bfe0ff; }
.sw-mth-gov { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 10px; margin: 30px auto 0; padding: 12px 18px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 14px; background: rgba(255, 255, 255, .05); color: #dbe6ff; font-size: 13px; }
.sw-mth-gov b { margin-right: 6px; color: #fff; font-weight: 800; }
.sw-mth-gov span { padding: 4px 10px; border-radius: 999px; background: rgba(255, 255, 255, .08); }
.sw-mth { padding-bottom: 72px !important; }
@media (max-width: 900px) { .sw-mth-tags { justify-content: flex-start; } .sw-mth-gov { justify-content: flex-start; } }

/* 2026-10-19 제품 링크 띠 — AX 식 CTA 띠 재사용(.sw-cta.is-sol): 외곽선 알약 버튼, 왼쪽 심볼 */
.sw-cta.is-sol .wp-block-button.is-style-outline .wp-block-button__link { border: 1.5px solid rgba(255, 255, 255, .85); background: transparent; color: #fff; }
.sw-cta.is-sol .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: #0f1b33; }

/* 2026-10-19 구축 유형 · AI 커머스 카드의 '솔루션: SCOS →' 류 링크 — 기울임 없이 파란 링크 색, 글씨 조금 키움 */
.sw-mrob-svc li em, .sw-ecb-types li em { font-style: normal !important; font-size: 14px; font-weight: 800; color: #2f6bd8; }
.sw-mrob-svc li em a, .sw-ecb-types li em a { color: #2f6bd8; font-style: normal; text-decoration: none; border-bottom: 1.5px solid rgba(47, 107, 216, .35); transition: color .2s, border-color .2s; }
.sw-mrob-svc li em a:hover, .sw-ecb-types li em a:hover { color: #1f55bd; border-color: #1f55bd; text-decoration: none; }

/* 2026-10-19 라이브커머스 폰 — 진행자는 AI 생성 인물이므로 화면 오른쪽 위에 'AI 생성 영상' 표시(한국 AI 기본법의 생성물 표시 의무 대응). 영문 페이지는 영어로 */
.sw-lcv-top::after { content: "AI 생성 영상"; margin-left: auto; padding: 4px 8px; border-radius: 999px; background: rgba(0, 0, 0, .5); color: rgba(255, 255, 255, .92); font-size: 10px; font-weight: 700; letter-spacing: .01em; backdrop-filter: blur(4px); }
html[lang^="en"] .sw-lcv-top::after { content: "AI-generated video"; }

/* 2026-10-19 커스텀 커서(파란 점 + 고리) — JS 는 이미 껐지만, 옛 JS 가 캐시돼 있어도 보이지 않도록 CSS 로도 숨기고 기본 포인터를 되돌린다 */
html .sw-cursor-dot, html .sw-cursor-ring { display: none !important; opacity: 0 !important; }
html.sw-has-cursor, html.sw-has-cursor * { cursor: auto !important; }
html.sw-has-cursor a, html.sw-has-cursor button, html.sw-has-cursor [role="button"], html.sw-has-cursor label, html.sw-has-cursor summary { cursor: pointer !important; }

/* 2026-10-19 CLOUVI AI CX Console — 웹 브라우저 창 틀(점 3개 · 주소 표시줄) 안에 보이게 */
.sw-cxc { border-radius: 0 0 16px 16px; }
.sw-cxc-chrome { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 16px 16px 0 0; background: #e9edf3; border-bottom: 1px solid #d5dbe5; }
.sw-cxc-chrome i { width: 11px; height: 11px; border-radius: 50%; background: #ff5f57; } .sw-cxc-chrome i:nth-child(2) { background: #febc2e; } .sw-cxc-chrome i:nth-child(3) { background: #28c840; }
.sw-cxc-chrome span { flex: 1; margin-left: 8px; padding: 6px 12px; border-radius: 8px; background: #fff; color: #5b6b85; font-size: 12px; font-weight: 600; letter-spacing: .01em; }
.sw-cxc-chrome span::before { content: "🔒 "; font-size: 10px; }
.sw-cxc-wrap { overflow: hidden; border-radius: 16px; box-shadow: 0 24px 50px rgba(5, 15, 40, .3); }
.sw-cxc-wrap .sw-cxc { box-shadow: none; border-radius: 0; }

/* 2026-10-19 사업분야 e-Commerce 구축 유형 — 'B2C 이커머스' 강조색 */
.sw-hl-b2c { color: #2f6bd8; }

/* 2026-10-19 sMRO 기능 격자(.sw-mro-fn) · 특장점(.sw-mro-feat) — 흰 박스 + 그라데이션 아이콘 타일 대신 윗줄 구분 · 연한 하늘색 타일 + 파란 선 아이콘(사용자: 박스형 금지) */
.sw-mro-fn { gap: 32px 28px; }
.sw-mro-fn li { padding: 20px 0 0; border-radius: 0; background: none; box-shadow: none; border-top: 2px solid #0f1b33; }
.sw-mro-fn span { width: 56px; height: 56px; border-radius: 8px; background: #e3edff; color: #2f6bd8; box-shadow: inset 0 0 0 1px rgba(47, 107, 216, .18); transition: transform .3s; }
.sw-mro-fn li:hover span { transform: translateY(-3px); }
.sw-mro-fn li:nth-child(2) span { background: #efe7ff; color: #7a4dff; box-shadow: inset 0 0 0 1px rgba(122, 77, 255, .18); }
.sw-mro-fn li:nth-child(3) span { background: #dff6f8; color: #0e9fb3; box-shadow: inset 0 0 0 1px rgba(14, 159, 179, .18); }
.sw-mro-fn li:nth-child(4) span { background: #fff1dc; color: #e0891f; box-shadow: inset 0 0 0 1px rgba(224, 137, 31, .18); }
.sw-mro-fn li:nth-child(5) span { background: #dff3ec; color: #13806e; box-shadow: inset 0 0 0 1px rgba(19, 128, 110, .18); }
.sw-mro-fn b { margin-top: 16px; font-size: 18px; font-weight: 800; color: #0f1b33; }
.sw-mro-fn p { color: #4b5668; font-size: 15px; }
.sw-mro-feat { gap: 28px 36px; }
.sw-mro-feat li { padding: 20px 0 0 70px; border-radius: 0; background: none; box-shadow: none; border-top: 2px solid #0f1b33; }
.sw-mro-feat em { top: 18px; left: 0; color: #2f6bd8; }
.sw-mro-feat b { font-size: 18px; font-weight: 800; color: #0f1b33; }
.sw-mro-feat p { color: #4b5668; font-size: 15px; }

/* 2026-10-19 카카오톡 장면 프로필 — 흰 원 + 검정 심볼 대신 진남색 원 + 그라데이션 심볼(챗봇 헤더와 같은 파랑→연보라→주황) */
.sw-kk-ava { position: relative; background: #0f1b33 !important; background-image: none !important; overflow: hidden; }
.sw-kk-ava::after { content: ""; position: absolute; inset: 22%; background: linear-gradient(120deg, #8fb6ff 0%, #b9a6ff 48%, #ffb23f 100%); -webkit-mask: url(assets/images/skyware-symbol-smooth.svg) center / contain no-repeat; mask: url(assets/images/skyware-symbol-smooth.svg) center / contain no-repeat; }

/* 2026-10-19 문의 폼 '* 체크된 항목은 필수입력항목입니다.' — 조금 더 아래로 */
.sw-cf-field:has(> .sw-cf-req) { margin-top: 48px !important; }

/* 2026-10-19 Quick tour 버튼 — 테두리와 ▶ 를 무지개빛으로 */
.sw-demo-open { position: relative; border: 2px solid transparent !important; background: linear-gradient(rgba(15, 27, 51, .78), rgba(15, 27, 51, .78)) padding-box, linear-gradient(90deg, #ff6b6b, #ffd166, #5fe3a1, #4f8cff, #b86bff, #ff6b6b) border-box !important; color: #fff !important; background-size: 100% 100%, 300% 100% !important; animation: sw-rainbow 6s linear infinite; }
.sw-demo-open:hover { background: linear-gradient(rgba(15, 27, 51, .92), rgba(15, 27, 51, .92)) padding-box, linear-gradient(90deg, #ff6b6b, #ffd166, #5fe3a1, #4f8cff, #b86bff, #ff6b6b) border-box !important; background-size: 100% 100%, 300% 100% !important; }
.sw-demo-tri { display: inline-block; margin-right: 4px; background: linear-gradient(90deg, #ff6b6b, #ffd166, #5fe3a1, #4f8cff, #b86bff); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
@keyframes sw-rainbow { to { background-position: 0 0, 300% 0; } }

/* 2026-10-19 시연 영상(자체 제작 1280×980) 비율 */
.sw-demo-stage.is-video video { aspect-ratio: 1280 / 980; height: auto; }

/* 2026-10-19 sMRO — 특장점 윗줄은 연하게, 기능 격자 윗줄은 없앰, 역할별 기능의 색 박스 머리 제거(색 글자 + 밑줄) */
.sw-mro-feat li { border-top-color: #d5dde9; }
.sw-mro-fn li { border-top: 0; padding-top: 0; }
.sw-mro-role { border: 0; border-radius: 0; background: none; overflow: visible; }
.sw-mro-role > b { padding: 0 0 10px; background: none; color: var(--g); font-size: 20px; font-weight: 800; border-bottom: 2px solid var(--g); }
.sw-mro-role ul { padding: 14px 0 0; }

/* 2026-10-19 SI·ITO 방법론 — 오른쪽 아래 큰 구가 05 Operate 단계와 겹치지 않게 뒤로 · 밖으로 */
.sw-mth-sec::after { right: -360px !important; bottom: -460px !important; opacity: .5 !important; z-index: 0 !important; }
.sw-mth-sec .sw-mth, .sw-mth-sec .sw-ums-head { position: relative; z-index: 1; }

/* 2026-10-19 AX 'AI 준비도 진단' — 01~06 항목에 마우스를 올리면 살짝 커진다 */
.sw-ax-hexlist li { transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s; }
.sw-ax-hexlist li:hover { transform: scale(1.05); box-shadow: 0 16px 36px rgba(16, 47, 103, .12); z-index: 2; }

/* 2026-10-19 MMCS 관제 흐름 — 화살표를 세로 가운데에 */
.sw-mmcs-flow { align-items: stretch !important; }
.sw-mmcs-arrow { align-self: center !important; margin: 0 !important; }

/* 2026-10-19 sMRO 역할별 기능 — 흰 박스 · 그림자 완전 제거(앞선 모든 규칙 덮음) */
body .sw-mro-roles-grid .sw-mro-role, body .sw-mro-roles-grid .sw-mro-role:hover { border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; transform: none !important; }
body .sw-mro-roles-grid .sw-mro-role > b { background: none !important; color: var(--g) !important; text-shadow: none !important; }

/* 2026-10-19 Quick tour 버튼 재설계 — 참고 화면처럼: 거의 검은 알약, 얇은(1.5px) 네온 그라데이션 테두리가 천천히 회전(conic), 테두리 색이 바깥으로 번지는 빛, 글자 · ▶ 는 흰색 */
.sw-demo-open { position: relative !important; isolation: isolate; overflow: visible !important; padding: 12px 26px !important; border: 0 !important; border-radius: 999px !important; background: #0b1226 !important; color: #fff !important; font-weight: 700 !important; animation: none !important; box-shadow: none !important; }
.sw-demo-open::before { content: ""; position: absolute; inset: -1.5px; z-index: -1; border-radius: 999px; background: conic-gradient(from var(--sw-ang, 0deg), #7c4dff 0%, #ff4fd8 25%, #ff9f43 50%, #4fd1ff 75%, #7c4dff 100%); animation: sw-neon-spin 4s linear infinite; }
.sw-demo-open::after { content: ""; position: absolute; inset: -1.5px; z-index: -2; border-radius: 999px; background: conic-gradient(from var(--sw-ang, 0deg), #7c4dff 0%, #ff4fd8 25%, #ff9f43 50%, #4fd1ff 75%, #7c4dff 100%); filter: blur(14px); opacity: .55; animation: sw-neon-spin 4s linear infinite; }
.sw-demo-open:hover::after { opacity: .85; filter: blur(18px); }
.sw-demo-open:hover { transform: translateY(-1px); }
.sw-demo-tri { background: none !important; -webkit-background-clip: initial !important; background-clip: initial !important; color: #fff !important; -webkit-text-fill-color: #fff !important; font-size: .85em; }
@property --sw-ang { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes sw-neon-spin { to { --sw-ang: 360deg; } }
@media (prefers-reduced-motion: reduce) { .sw-demo-open::before, .sw-demo-open::after { animation: none !important; } }

/* 2026-10-19 Quick tour — 참고 화면 그대로: 검정 알약 안은 비우고, 1.5px 네온 링만 돌며 바깥으로 은은히 번진다 */
.sw-demo-open::before, .sw-demo-open::after { inset: -1.5px; padding: 1.5px; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude; }
.sw-demo-open::after { inset: -3px; padding: 4px; filter: blur(6px); opacity: .9; }
.sw-demo-open:hover::after { filter: blur(9px); opacity: 1; }
.sw-demo-open { background: #0a0f1f !important; }

/* 2026-10-19 Quick tour — 안쪽 검정 채움이 배너 버튼 투명 규칙에 밀려 비쳐 보이던 것 → 더 높은 우선순위로 고정 */
body .sw-page-hero a.sw-demo-open.sw-demo-open, body .sw-ums-hero a.sw-demo-open.sw-demo-open, body a.sw-demo-open.sw-demo-open:hover { background: #0a0f1f !important; backdrop-filter: none !important; }

/* 2026-10-19 Quick tour 링 — 무지개 대신 참고 화면 톤: 보라→분홍 2색 링이 시간에 따라 분홍→보라→파랑 사이를 천천히 오간다(hue 회전), 번짐도 같은 색 */
@property --sw-c1 { syntax: "<color>"; inherits: false; initial-value: #ff4fa3; }
@property --sw-c2 { syntax: "<color>"; inherits: false; initial-value: #7c4dff; }
.sw-demo-open::before, .sw-demo-open::after { background: linear-gradient(90deg, var(--sw-c1), var(--sw-c2)) !important; animation: sw-neon-tone 6s ease-in-out infinite alternate !important; }
.sw-demo-open::after { filter: blur(7px); opacity: .75; }
@keyframes sw-neon-tone { 0% { --sw-c1: #ff4fa3; --sw-c2: #7c4dff; } 50% { --sw-c1: #a259ff; --sw-c2: #4f8cff; } 100% { --sw-c1: #ff6a5c; --sw-c2: #c44dff; } }
@media (prefers-reduced-motion: reduce) { .sw-demo-open::before, .sw-demo-open::after { animation: none !important; } }

/* 2026-10-19 sMRO 역할 머리글 — 옛 색 박스용 번호 배지 · 빛 원 제거, 왼쪽 여백 없이 깔끔한 색 글자 + 밑줄 */
body .sw-mro-roles-grid .sw-mro-role > b { display: block !important; padding: 0 0 12px !important; gap: 0 !important; -webkit-text-fill-color: var(--g) !important; -webkit-background-clip: initial !important; background-clip: initial !important; text-shadow: none !important; letter-spacing: 0 !important; line-height: 1.3 !important; }
body .sw-mro-roles-grid .sw-mro-role > b::before, body .sw-mro-roles-grid .sw-mro-role > b::after { content: none !important; display: none !important; }

/* 2026-10-19 sMRO 기능 격자 — 네모 타일 없이 아이콘만(색은 그대로, 36px) */
.sw-mro-fn span, .sw-mro-fn li:nth-child(n) span { width: auto; height: auto; border-radius: 0; background: none !important; box-shadow: none !important; place-items: start; }
.sw-mro-fn svg { width: 36px; height: 36px; stroke-width: 1.7; }
.sw-mro-fn b { margin-top: 14px; }

/* 2026-10-19 sOMP 채널 카드 — 네모 타일 없이 아이콘만(36px, 채널 색) */
.sw-ums-channel::before { display: none !important; content: none !important; }
.sw-ums-channel::after { width: 36px !important; height: 36px !important; margin: 0 0 18px !important; }
@media (max-width: 781px) { .sw-ums-channel::after { margin: 0 auto 18px !important; } }

/* 2026-10-19 카탈로그 설명 — 태그라인(굵게) + 본문 */
.sw-catalog-desc strong { display: block; margin-bottom: 4px; color: #0f1b33; font-weight: 800; }

/* 2026-10-19 CLOUVI AI CX Console v2 — 참고 대시보드: 어두운 남색, 왼쪽 아이콘 사이드바, KPI 4, 전환율 꺾은선 + 툴팁, 세그먼트 도넛, 추천 액션 표, 고객 지원 채팅 */
.sw-cx { display: grid; grid-template-columns: 56px 1fr; width: 100%; overflow: hidden; border-radius: 18px; background: radial-gradient(120% 80% at 100% 0%, #10224d 0%, #0a1733 45%, #070f26 100%); color: #dfe8ff; font-size: 12px; box-shadow: 0 30px 70px rgba(5, 15, 40, .45), inset 0 0 0 1px rgba(120, 160, 255, .12); }
.sw-cx-side { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 18px 0; border-right: 1px solid rgba(255, 255, 255, .07); }
.sw-cx-side i { width: 30px; height: 30px; border-radius: 8px; background: rgba(255, 255, 255, .06); position: relative; }
.sw-cx-side i::after { content: ""; position: absolute; inset: 8px; border-radius: 3px; border: 1.6px solid rgba(255, 255, 255, .45); }
.sw-cx-side i.is-logo { background: none; } .sw-cx-side i.is-logo::after { border-radius: 50%; border-color: #7fb3ff; }
.sw-cx-side i.is-on { background: linear-gradient(135deg, #2f6bd8, #4fa3ff); box-shadow: 0 6px 16px rgba(47, 107, 216, .45); } .sw-cx-side i.is-on::after { border-color: #fff; }
.sw-cx-side i.is-bottom { margin-top: auto; }
.sw-cx-main { display: grid; gap: 10px; padding: 14px; min-width: 0; }
.sw-cx-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.sw-cx-kpi, .sw-cx-card { padding: 12px 14px; border-radius: 12px; background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06); min-width: 0; }
.sw-cx-kpi small { display: block; color: rgba(255, 255, 255, .55); font-size: 11px; }
.sw-cx-kpi b { display: block; margin: 4px 0 6px; font-size: 22px; font-weight: 800; color: #fff; letter-spacing: -.01em; }
.sw-cx-kpi em { display: inline-block; padding: 2px 7px; border-radius: 6px; font-style: normal; font-size: 10px; font-weight: 700; }
.sw-cx-kpi em.is-up { background: rgba(47, 212, 200, .14); color: #2fd4c8; } .sw-cx-kpi em.is-down { background: rgba(255, 138, 92, .14); color: #ff9f7a; }
.sw-cx-row { display: grid; grid-template-columns: 1.7fr 1fr; gap: 10px; }
.sw-cx-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.sw-cx-head b { font-size: 12.5px; font-weight: 700; color: #fff; }
.sw-cx-chip { padding: 3px 9px; border-radius: 6px; background: linear-gradient(135deg, #2f6bd8, #4fa3ff); color: #fff; font-size: 10px; font-weight: 700; }
.sw-cx-sel, .sw-cx-head span { color: rgba(255, 255, 255, .6); font-size: 10.5px; }
.sw-cx-plot { position: relative; display: grid; grid-template-columns: 26px 1fr; gap: 6px; height: 140px; }
.sw-cx-y { display: flex; flex-direction: column; justify-content: space-between; color: rgba(255, 255, 255, .45); font-size: 9.5px; }
.sw-cx-plot svg { width: 100%; height: 140px; }
.sw-cx-x { display: flex; justify-content: space-between; margin: 6px 0 0 32px; color: rgba(255, 255, 255, .45); font-size: 9.5px; }
.sw-cx-tip { position: absolute; padding: 7px 9px; border-radius: 8px; background: #fff; color: #0f1b33; box-shadow: 0 10px 24px rgba(0, 0, 0, .35); line-height: 1.25; }
.sw-cx-tip small { display: block; font-size: 8.5px; color: #4b5668; } .sw-cx-tip b { display: block; font-size: 12px; font-weight: 800; } .sw-cx-tip em { font-style: normal; font-size: 8.5px; color: #2f6bd8; }
.sw-cx-tip.is-a { left: 22%; top: 22%; } .sw-cx-tip.is-b { left: 50%; top: 8%; }
.sw-cx-tip.is-a small { color: #0e9fb3; } .sw-cx-tip.is-b small { color: #2fd4c8; }
.sw-cx-donut-wrap { display: grid; grid-template-columns: 110px 1fr; gap: 12px; align-items: center; }
.sw-cx-donut { position: relative; display: grid; place-items: center; width: 110px; height: 110px; border-radius: 50%; background: conic-gradient(#4f8cff 0 42%, #2fd4c8 42% 70%, #ff8a5c 70% 85%, #9b6bff 85% 100%); }
.sw-cx-donut::before { content: ""; position: absolute; inset: 16px; border-radius: 50%; background: #0b1836; }
.sw-cx-donut b, .sw-cx-donut small { position: relative; display: block; text-align: center; }
.sw-cx-donut b { font-size: 16px; font-weight: 800; color: #fff; } .sw-cx-donut small { font-size: 8.5px; color: rgba(255, 255, 255, .55); }
.sw-cx-legend { margin: 0; padding: 0; list-style: none; display: grid; gap: 7px; }
.sw-cx-legend li { display: flex; align-items: center; gap: 7px; font-size: 11px; color: rgba(255, 255, 255, .8); }
.sw-cx-legend li i { width: 8px; height: 8px; border-radius: 50%; background: var(--c); } .sw-cx-legend li b { margin-left: auto; color: #fff; }
.sw-cx-row.is-2 { grid-template-columns: 1.7fr 1fr; }
.sw-cx-card table { width: 100%; border-collapse: collapse; font-size: 11px; }
.sw-cx-card th { padding: 4px 6px; text-align: left; color: rgba(255, 255, 255, .45); font-weight: 600; font-size: 10px; }
.sw-cx-card td { padding: 7px 6px; border-top: 1px solid rgba(255, 255, 255, .06); color: rgba(255, 255, 255, .85); white-space: nowrap; }
.sw-cx-card td:nth-child(2) { white-space: normal; }
.sw-cx-card td i { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; vertical-align: 1px; }
.sw-cx-card td i.is-hi, .sw-cx-card td.is-hi { color: #ff6b6b; } .sw-cx-card td i.is-hi { background: #ff6b6b; }
.sw-cx-card td i.is-md, .sw-cx-card td.is-md { color: #ffb347; } .sw-cx-card td i.is-md { background: #ffb347; }
.sw-cx-foot { display: block; margin-top: 8px; color: rgba(255, 255, 255, .4); font-size: 10px; }
.sw-cx-msgs { display: grid; gap: 8px; }
.sw-cx-msgs p { display: flex; gap: 8px; align-items: flex-start; margin: 0; font-size: 10.5px; line-height: 1.45; color: rgba(255, 255, 255, .88); }
.sw-cx-msgs p i { flex: 0 0 auto; width: 18px; height: 18px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #cfe6ff, #4f8cff 60%, #1d5fd6); }
.sw-cx-msgs p span { padding: 8px 10px; border-radius: 10px; background: rgba(255, 255, 255, .07); }
.sw-cx-acts { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.sw-cx-acts em { padding: 7px 11px; border-radius: 8px; background: rgba(47, 212, 200, .2); color: #7ff0e8; font-style: normal; font-size: 10.5px; font-weight: 700; }
.sw-cx-input { display: flex; align-items: center; margin-top: 10px; padding: 8px 10px; border-radius: 10px; background: rgba(0, 0, 0, .35); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); color: rgba(255, 255, 255, .45); font-size: 10.5px; }
.sw-cx-input i { width: 16px; height: 16px; margin-left: auto; border-radius: 4px; background: linear-gradient(135deg, #2f6bd8, #4fa3ff); }
@media (max-width: 900px) { .sw-cx-kpis { grid-template-columns: 1fr 1fr; } .sw-cx-row, .sw-cx-row.is-2 { grid-template-columns: 1fr; } .sw-cx-tip.is-b { left: 60%; } }
@media (max-width: 600px) { .sw-cx { grid-template-columns: 1fr; } .sw-cx-side { display: none; } .sw-cx-donut-wrap { grid-template-columns: 1fr; justify-items: center; } }

/* 2026-10-19 채용 엔지니어링 원칙 — Core Value 식: 3열, 보라 네모 아이콘 타일(72px), '01. 제목', 설명 */
.sw-rc-eng-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 36px 48px !important; counter-reset: sw-eng; }
.sw-rc-eng-grid li, .sw-rc-eng-grid li:nth-child(-n+2) { display: block !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.sw-rc-eng-grid li::before { content: none !important; display: none !important; }
.sw-rc-eng-ico { display: grid !important; place-items: center; width: 72px !important; height: 72px !important; margin: 0 0 22px !important; border-radius: 10px !important; background: #5b2be0 !important; box-shadow: 0 10px 24px rgba(91, 43, 224, .35); color: #fff !important; }
.sw-rc-eng-ico svg, .sw-rc-eng-ico::before { color: #fff !important; background: #fff !important; }
.sw-rc-eng-txt { display: block !important; padding: 0 !important; }
.sw-rc-eng-txt::before { content: none !important; display: none !important; }
.sw-rc-eng-txt b { display: block; margin-bottom: 14px; font-size: 20px !important; font-weight: 800 !important; color: #fff !important; line-height: 1.35; }
.sw-rc-eng-txt b::before { counter-increment: sw-eng; content: counter(sw-eng) ". "; }
.sw-rc-eng-txt span { display: block; font-size: 15px !important; line-height: 1.75 !important; color: rgba(255, 255, 255, .78) !important; }
@media (max-width: 900px) { .sw-rc-eng-grid { grid-template-columns: 1fr !important; gap: 28px !important; } }

/* 2026-10-19 조직도 — 본부 사이 세로선 · 점 제거 */
.sw-org2-divs::before, .sw-org2-divs::after, .sw-org2-div::before, .sw-org2-div::after { display: none !important; content: none !important; }

/* 2026-10-19 운영 카드 호버 테두리 — 검정 대신 보라 */
.sw-ops-card:hover { border-color: #7a4ce6 !important; box-shadow: 0 14px 34px rgba(122, 76, 230, .14) !important; }

/* 2026-10-19 sOMP 서비스 형태 '발송량 과금 + 운영대행 + 유지보수 + SLA' — 한 줄 */
.sw-msg-plus { display: flex !important; flex-wrap: nowrap !important; align-items: center; gap: 8px !important; white-space: nowrap; }
.sw-msg-plus span { flex: 0 0 auto; padding: 8px 12px !important; font-size: 14px !important; }
@media (max-width: 600px) { .sw-msg-plus { flex-wrap: wrap !important; } }

/* 2026-10-19 Quick tour — 마우스를 올리면 ▶ 도 링과 같은 색으로 */
.sw-demo-open:hover .sw-demo-tri { background: linear-gradient(90deg, var(--sw-c1, #ff4fa3), var(--sw-c2, #7c4dff)) !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; }

/* 2026-10-19 채용 원칙 Core Value 식 보정 — 2열, 타일이 글 위(마크업은 글 → 아이콘 순이라 역순 배치), SVG 아이콘 흰색 */
.sw-rc-eng-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 44px 72px !important; }
.sw-rc-eng-grid li, .sw-rc-eng-grid li:nth-child(-n+2) { display: flex !important; flex-direction: column-reverse; justify-content: flex-end; align-items: flex-start; }
.sw-rc-eng-ico { display: grid !important; border: 0 !important; }
.sw-rc-eng-ico::before, .sw-rc-eng-ico::after { content: none !important; display: none !important; }
.sw-rc-eng-ico svg { width: 36px; height: 36px; color: #fff; fill: none; stroke: currentColor; }
.sw-rc-eng-ico svg * { stroke: #fff; }

/* 2026-10-19 채용 원칙 타일 아이콘 — 원래 SVG 가 흰 네모로 깨져 Iconify(lucide) 아이콘으로 교체: 전구 · 봇 · 서버 · 사람들 */
.sw-rc-eng-ico svg { display: none !important; }
.sw-rc-eng-ico::before { content: "" !important; display: block !important; width: 36px; height: 36px; background: url(assets/images/icons/eng-1.svg) center / contain no-repeat !important; }
.sw-rc-eng-grid li:nth-child(2) .sw-rc-eng-ico::before { background-image: url(assets/images/icons/eng-2.svg) !important; }
.sw-rc-eng-grid li:nth-child(3) .sw-rc-eng-ico::before { background-image: url(assets/images/icons/eng-3.svg) !important; }
.sw-rc-eng-grid li:nth-child(4) .sw-rc-eng-ico::before { background-image: url(assets/images/icons/eng-4.svg) !important; }

/* 2026-10-19 구축 유형 카드(.sw-ecb-types) — 항목별 색: 번호 · 윗줄 · 솔루션 링크 색을 다르게, 제목은 남색 */
.sw-ecb-types li { --c: #2f6bd8; border-top-color: var(--c) !important; }
.sw-ecb-types li:nth-child(2) { --c: #7a4ce6; } .sw-ecb-types li:nth-child(3) { --c: #0e9fb3; } .sw-ecb-types li:nth-child(4) { --c: #ff6a5c; }
.sw-ecb-types li span { color: var(--c) !important; font-size: 14px !important; }
.sw-ecb-types li > b { color: #0f1b33 !important; font-size: 20px !important; }
.sw-ecb-types li em, .sw-ecb-types li em a { color: var(--c) !important; border-color: color-mix(in srgb, var(--c) 40%, transparent) !important; }

/* 2026-10-19 구축 유형 카드 — 솔루션 링크를 카드 바닥에 맞춰 정렬(세로 flex, 링크는 아래로 밀기) */
.sw-ecb-types { align-items: stretch; }
.sw-ecb-types li { display: flex; flex-direction: column; }
.sw-ecb-types li em { margin-top: auto !important; padding-top: 14px; }

/* 2026-10-19 마케팅 도식 상자 머리 — 단색 대신 로열 블루 그라데이션(머리 알약 · 대시보드 띠와 같은 톤) */
.sw-mkt-box b { background: linear-gradient(135deg, #1d44a6 0%, #2f6bd8 60%, #4f8cff 100%) !important; }
.sw-mkt-tree .sw-mkt-pillars li:nth-child(2) .sw-mkt-box b { background: linear-gradient(135deg, #1b3f9c 0%, #2a58c4 55%, #4a86f0 100%) !important; }
.sw-mkt-tree .sw-mkt-pillars li:nth-child(3) .sw-mkt-box b { background: linear-gradient(135deg, #1d44a6 0%, #3470dc 60%, #5a9aff 100%) !important; }
.sw-mkt-tree .sw-mkt-pillars li:nth-child(4) .sw-mkt-box b { background: linear-gradient(135deg, #1b3f9c 0%, #2f6bd8 55%, #62a4ff 100%) !important; }

/* 2026-10-19 .sw-people 섹션 배경 장식(왼쪽 아래 큰 원 호 + 파란 점) 제거 — 사용자 요청 */
.sw-people::before, .sw-people::after { content: none !important; display: none !important; }

/* 2026-10-19 마케팅 도식 상자 머리 — 파랑 바탕에 녹색 · 보라를 살짝 섞은 그라데이션(칸마다 조합이 다르게) */
.sw-mkt-tree .sw-mkt-pillars li:nth-child(1) .sw-mkt-box b { background: linear-gradient(120deg, #1d44a6 0%, #2f6bd8 45%, #2fbfa0 100%) !important; }
.sw-mkt-tree .sw-mkt-pillars li:nth-child(2) .sw-mkt-box b { background: linear-gradient(120deg, #6a3df0 0%, #2f6bd8 55%, #4f8cff 100%) !important; }
.sw-mkt-tree .sw-mkt-pillars li:nth-child(3) .sw-mkt-box b { background: linear-gradient(120deg, #1d44a6 0%, #3b7be0 50%, #7a4ce6 100%) !important; }
.sw-mkt-tree .sw-mkt-pillars li:nth-child(4) .sw-mkt-box b { background: linear-gradient(120deg, #1aa38a 0%, #2f6bd8 50%, #6a3df0 100%) !important; }
.sw-mkt-root { background: linear-gradient(120deg, #6a3df0 0%, #2f6bd8 50%, #2fbfa0 100%) !important; }
.sw-mkt-tree .sw-mkt-band { background: linear-gradient(90deg, #1d44a6 0%, #2f6bd8 45%, #5a3ddb 100%) !important; }

/* 2026-10-19 마케팅 도식 왼쪽 강조어 '브랜드의 성장' — 빨강 대신 알약과 같은 보라→파랑→녹색 그라데이션 글자 */
.sw-mkt-wrap .sw-mkt-pts li.is-cta em { color: transparent !important; background: linear-gradient(120deg, #6a3df0 0%, #2f6bd8 50%, #2fbfa0 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; font-weight: 900; }

/* 2026-10-19 Quick tour 통일 — 링은 보라→파랑 톤 안에서만 천천히 변하고(분홍 · 코랄 없음), 크기 · 테두리 · 글자 · 번짐을 모든 페이지에서 같게 */
@keyframes sw-neon-tone { 0% { --sw-c1: #c44dff; --sw-c2: #4f8cff; } 50% { --sw-c1: #8a5cff; --sw-c2: #3fb6ff; } 100% { --sw-c1: #d65cff; --sw-c2: #5a7bff; } }
body a.sw-demo-open.sw-demo-open { padding: 12px 26px !important; min-height: 48px; font-size: 15px !important; line-height: 1.2 !important; letter-spacing: 0 !important; }
.sw-demo-open::before { inset: -1.5px !important; padding: 1.5px !important; }
.sw-demo-open::after { inset: -3px !important; padding: 4px !important; filter: blur(7px) !important; opacity: .8 !important; }

/* 2026-10-19 비교표 주석(①~⑥) — 들여쓰기 2칸 */
.sw-cmp-notes li { padding-left: 2em !important; }

/* 2026-10-19 메가 메뉴 · 카탈로그 설명 강조어 — 진한 회색 굵게 */
.sw-mega .wp-block-navigation-item__description strong, .sw-catalog-desc strong:not(:first-child) { color: #2b3340; font-weight: 700; }
.sw-catalog-desc strong + br + strong, .sw-catalog-desc br ~ strong { display: inline; margin: 0; color: #2b3340; font-weight: 700; }

/* 2026-10-19 메가 메뉴 · 카탈로그 설명 강조어 — 검정이 아니라 진한 회색, 굵기는 세미볼드 */
.sw-mega .wp-block-navigation-item__description strong, body .sw-mega strong, .sw-catalog-desc strong:not(:first-child), .sw-catalog-desc br ~ strong { color: #555d6b !important; font-weight: 600 !important; }

/* 2026-10-19 설명 강조어 — 조금 더 연한 회색(#6b7383) */
.sw-mega .wp-block-navigation-item__description strong, body .sw-mega strong, .sw-catalog-desc strong:not(:first-child), .sw-catalog-desc br ~ strong { color: #6b7383 !important; }

/* 2026-10-19 SCOS 쇼케이스 폰(.sw-ums-screen.is-flip) — 알림 5개가 0.5초 간격으로 빠르게 뜨고(0~2.5초), 5초에 브랜드몰 화면이 올라와 11초까지 머문 뒤 내려감. 12초 반복 */
.sw-ums-screen.is-flip { position: relative; isolation: isolate; }
.sw-ums-screen.is-flip > .sw-ums-msg { position: relative; z-index: 1; opacity: 0; transform: translateY(-22px) scale(.96); animation: sw-flip-msg 12s cubic-bezier(.2, .9, .3, 1.2) infinite; }
.sw-ums-screen.is-flip > .sw-ums-msg:nth-child(2) { animation-delay: .5s; }
.sw-ums-screen.is-flip > .sw-ums-msg:nth-child(3) { animation-delay: 1s; }
.sw-ums-screen.is-flip > .sw-ums-msg:nth-child(4) { animation-delay: 1.5s; }
.sw-ums-screen.is-flip > .sw-ums-msg:nth-child(5) { animation-delay: 2s; }
@keyframes sw-flip-msg { 0% { opacity: 0; transform: translateY(-22px) scale(.96); } 3% { opacity: 1; transform: none; } 38% { opacity: 1; transform: none; } 42% { opacity: 0; transform: translateY(6px); } 100% { opacity: 0; transform: translateY(-22px) scale(.96); } }
.sw-sc2 { position: absolute; inset: 0; z-index: 3; display: flex; flex-direction: column; border-radius: inherit; background: #fff; color: #111; font-size: 11px; opacity: 0; transform: translateY(100%); animation: sw-flip-in 12s cubic-bezier(.2, .8, .2, 1) infinite; }
@keyframes sw-flip-in { 0%, 40% { opacity: 0; transform: translateY(100%); } 44% { opacity: 1; transform: none; } 92% { opacity: 1; transform: none; } 96%, 100% { opacity: 0; transform: translateY(100%); } }
.sw-sc2-top { display: flex; align-items: center; justify-content: space-between; padding: 48px 14px 10px; }
.sw-sc2-top b { font-size: 14px; font-weight: 900; letter-spacing: .14em; color: #0f1b33; }
.sw-sc2-top i { width: 18px; height: 18px; background: #0f1b33; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; }
.sw-sc2-top i.is-menu { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E"); }
.sw-sc2-top i.is-cart { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.6 11.4a1 1 0 0 0 1 .8h9.7a1 1 0 0 0 1-.8L21 8H6M9 20h.01M18 20h.01'/%3E%3C/svg%3E"); }
.sw-sc2-tabs { display: flex; gap: 14px; padding: 0 14px 8px; border-bottom: 1px solid #eee; color: #777; font-size: 11px; font-weight: 700; }
.sw-sc2-tabs .is-on { color: #0f1b33; border-bottom: 2px solid #0f1b33; padding-bottom: 6px; margin-bottom: -9px; }
.sw-sc2-banner { position: relative; margin: 10px 12px; padding: 14px 14px; border-radius: 12px; background: linear-gradient(135deg, #0f1b33, #2f6bd8 65%, #7fb3ff); color: #fff; }
.sw-sc2-banner small { display: block; font-size: 9px; letter-spacing: .14em; opacity: .8; }
.sw-sc2-banner b { display: block; margin-top: 3px; font-size: 14px; font-weight: 900; }
.sw-sc2-banner em { position: absolute; right: 12px; bottom: 12px; padding: 5px 9px; border-radius: 999px; background: #fff; color: #0f1b33; font-style: normal; font-size: 10px; font-weight: 800; }
.sw-sc2-grid { flex: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 10px; margin: 0; padding: 2px 12px; list-style: none; }
.sw-sc2-grid li { opacity: 0; animation: sw-flip-item 12s ease infinite; }
.sw-sc2-grid li.is-1 { animation-delay: .15s; } .sw-sc2-grid li.is-2 { animation-delay: .3s; } .sw-sc2-grid li.is-3 { animation-delay: .45s; } .sw-sc2-grid li.is-4 { animation-delay: .6s; }
@keyframes sw-flip-item { 0%, 44% { opacity: 0; transform: translateY(10px); } 48% { opacity: 1; transform: none; } 92% { opacity: 1; } 96%, 100% { opacity: 0; } }
.sw-sc2-pic { position: relative; display: block; aspect-ratio: 1 / 1.05; border-radius: 10px; background: linear-gradient(160deg, #eef1f6, #d9e0ec); }
.sw-sc2-grid li.is-2 .sw-sc2-pic { background: linear-gradient(160deg, #f6efe6, #e6d9c8); } .sw-sc2-grid li.is-3 .sw-sc2-pic { background: linear-gradient(160deg, #e9ecf3, #c9d1df); } .sw-sc2-grid li.is-4 .sw-sc2-pic { background: linear-gradient(160deg, #f3e9ea, #e2cfd2); }
.sw-sc2-pic::after { content: ""; position: absolute; left: 22%; right: 22%; top: 18%; bottom: 18%; border-radius: 14px 14px 10px 10px; background: rgba(15, 27, 51, .12); }
.sw-sc2-pic em { position: absolute; left: 6px; top: 6px; padding: 2px 6px; border-radius: 4px; background: #0f1b33; color: #fff; font-style: normal; font-size: 8.5px; font-weight: 800; }
.sw-sc2-grid b { display: block; margin-top: 6px; font-size: 10.5px; font-weight: 700; color: #111; }
.sw-sc2-grid small { display: block; font-size: 10.5px; font-weight: 800; color: #2f6bd8; }
.sw-sc2-bar { display: flex; justify-content: space-around; padding: 10px 12px 18px; border-top: 1px solid #eee; }
.sw-sc2-bar i { width: 18px; height: 18px; border-radius: 5px; background: #d5dbe6; } .sw-sc2-bar i.is-on { background: #0f1b33; }
@media (prefers-reduced-motion: reduce) { .sw-ums-screen.is-flip > .sw-ums-msg { animation: none; opacity: 1; transform: none; } .sw-sc2 { display: none; } }

/* 2026-10-19 카탈로그 페이지(흰 바탕) 강조어 — 메뉴보다 살짝 더 진한 회색 */
.sw-catalog-desc strong:not(:first-child), .sw-catalog-desc br ~ strong { color: #4f5765 !important; }

/* 2026-10-19 SCOS 폰 브랜드몰 — 상품 칸에 실사(생성 이미지), 하단 탭 바는 홈 · 검색 · 찜 · 장바구니 · 마이 아이콘 */
.sw-sc2-pic { background: #f3f4f6 !important; overflow: hidden; }
.sw-sc2-pic::after { display: none !important; }
.sw-sc2-pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sw-sc2-bar i { width: 20px; height: 20px; border-radius: 0; background: #c7cfdb; -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; }
.sw-sc2-bar i.is-on { background: #0f1b33; }
.sw-sc2-bar i.is-home { --m: url(assets/images/icons/tab-home.svg); } .sw-sc2-bar i.is-search { --m: url(assets/images/icons/tab-search.svg); } .sw-sc2-bar i.is-heart { --m: url(assets/images/icons/tab-heart.svg); } .sw-sc2-bar i.is-bag { --m: url(assets/images/icons/tab-bag.svg); } .sw-sc2-bar i.is-user { --m: url(assets/images/icons/tab-user.svg); }

/* 2026-10-19 회사소개 등 남색 탭 바 — 마우스를 올리거나 누르면(활성) 파란색으로 */
.sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link:hover, .sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link:active, .sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link:focus-visible { background: #2f6bd8 !important; color: #fff !important; }
.sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link { transition: background .25s, color .25s; }

/* 2026-10-19 모바일 메가 메뉴 — 분류 제목 · 솔루션 이름 · 마크 모두 가운데 정렬 */
@media (max-width: 781px) {
  .sw-primary-nav .sw-mega .wp-block-navigation__submenu-container, .sw-primary-nav .sw-mega-col, .sw-primary-nav .sw-mega-col > .wp-block-navigation-item__content, .sw-primary-nav .sw-mega-col .wp-block-navigation__submenu-container { text-align: center !important; align-items: center !important; justify-content: center !important; }
  .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content { display: flex; flex-direction: column; align-items: center; gap: 6px; }
  .sw-primary-nav .sw-mega-col .sw-mc-mark { margin: 0 auto 6px !important; }
  .sw-primary-nav .sw-mega-col .wp-block-navigation-item__description { text-align: center; }
}

/* 2026-10-19 모바일 메가 메뉴 — 항목을 flex 로 두면 S 와 OMP 가 떨어지므로 block 으로 되돌리고 글자 가운데 정렬만 유지 */
@media (max-width: 781px) {
  .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content { display: block !important; gap: 0 !important; text-align: center !important; }
  .sw-primary-nav .sw-mega-col .sw-mc-mark { display: block !important; margin: 0 auto 6px !important; }
  .sw-primary-nav .sw-mega-col .sw-s { display: inline !important; margin: 0 !important; }
}

/* 2026-10-19 모바일 헤더 하위 메뉴(남색 상자) — 마우스 올림 · 누름 · 현재 페이지 항목을 파란색(#2f6bd8)으로. 열린 메뉴(is-menu-open)와 기본 상태 모두 */
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:active,
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible,
.sw-site-header .sw-mnav.is-menu-open .sw-open > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.sw-site-header .sw-mnav.is-menu-open .sw-open > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:active,
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content,
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item.is-current > .wp-block-navigation-item__content { background: #2f6bd8 !important; color: #fff !important; border-radius: 8px; }
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { transition: background .2s, color .2s; }

/* 2026-10-19 모바일 메가 메뉴 분류 제목 — 가운데 정렬(높은 우선순위로 덮음), 왼쪽 점 · 들여쓰기 제거 */
@media (max-width: 781px) {
  html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content,
  html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content .sw-mc-name,
  html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content .sw-mc-ko { display: block !important; text-align: center !important; padding-left: 0 !important; margin-left: 0 !important; width: 100% !important; }
  html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content::before,
  html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col::before,
  html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content .sw-mc-name::before { display: none !important; content: none !important; }
  html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col { padding-left: 0 !important; padding-right: 0 !important; }
}

/* 2026-10-19 모바일 하위 메뉴 — 항목 링크를 줄 전체 폭으로 펴고(가운데 정렬 유지) 호버 · 누름 · 현재 항목은 줄 전체가 파란색, 모서리는 각지게 */
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item { display: block !important; width: 100% !important; }
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: block !important; width: 100% !important; box-sizing: border-box; text-align: center; border-radius: 0 !important; }
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:active,
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content,
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item.is-current > .wp-block-navigation-item__content { border-radius: 0 !important; }

/* 2026-10-19 모바일 메가 메뉴 — 파란 줄(호버 · 누름 · 현재) 위에서는 이름 · AI · 설명 모두 흰색, S 는 연주황 */
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover *,
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:active,
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:active *,
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content,
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content *,
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item.is-current > .wp-block-navigation-item__content,
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item.is-current > .wp-block-navigation-item__content * { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .sw-s,
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:active .sw-s,
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content .sw-s { color: #ffd08a !important; -webkit-text-fill-color: #ffd08a !important; }
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__description,
.sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__description strong { color: rgba(255, 255, 255, .85) !important; -webkit-text-fill-color: rgba(255, 255, 255, .85) !important; }

/* 2026-10-19 메가 메뉴(제품/솔루션) 항목 — 파란 줄 하이라이트는 빼고 연한 하늘색 줄만. 글자 색은 원래대로(로고 · S 주황 · AI 파랑 · 한글 남색) */
.sw-site-header .sw-mnav .sw-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.sw-site-header .sw-mnav .sw-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content:active,
.sw-site-header .sw-mnav .sw-mega .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content,
.sw-site-header .sw-mnav .sw-mega .wp-block-navigation__submenu-container .wp-block-navigation-item.is-current > .wp-block-navigation-item__content { background: rgba(47, 107, 216, .1) !important; color: #0f1b33 !important; -webkit-text-fill-color: #0f1b33 !important; }
.sw-site-header .sw-mnav .sw-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover *,
.sw-site-header .sw-mnav .sw-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content:active *,
.sw-site-header .sw-mnav .sw-mega .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content *,
.sw-site-header .sw-mnav .sw-mega .wp-block-navigation__submenu-container .wp-block-navigation-item.is-current > .wp-block-navigation-item__content * { color: inherit !important; -webkit-text-fill-color: currentColor !important; }
.sw-site-header .sw-mnav .sw-mega .wp-block-navigation-item__content:hover .sw-s, .sw-site-header .sw-mnav .sw-mega .wp-block-navigation-item__content:active .sw-s, .sw-site-header .sw-mnav .sw-mega .current-menu-item > .wp-block-navigation-item__content .sw-s { color: #f97316 !important; -webkit-text-fill-color: #f97316 !important; }
.sw-site-header .sw-mnav .sw-mega .wp-block-navigation-item__content:hover .sw-en, .sw-site-header .sw-mnav .sw-mega .wp-block-navigation-item__content:active .sw-en, .sw-site-header .sw-mnav .sw-mega .current-menu-item > .wp-block-navigation-item__content .sw-en { color: #2f6bd8 !important; -webkit-text-fill-color: #2f6bd8 !important; }
.sw-site-header .sw-mnav .sw-mega .wp-block-navigation-item__content:hover .wp-block-navigation-item__description, .sw-site-header .sw-mnav .sw-mega .wp-block-navigation-item__content:hover .wp-block-navigation-item__description strong { color: #4b5668 !important; -webkit-text-fill-color: #4b5668 !important; }
.sw-site-header .sw-mnav .sw-mega .sw-mega-col > .wp-block-navigation-item__content:hover, .sw-site-header .sw-mnav .sw-mega .sw-mega-col > .wp-block-navigation-item__content:active { background: transparent !important; }

/* 2026-10-19 모바일 메뉴 하이라이트 재정리 — 로고(img)가 있는 제품 항목과 분류 제목은 파란 줄 금지: 연한 하늘색 줄 + 원래 글자색, 로고와 이름은 한 줄 가운데 */
html[lang] .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:has(img):hover,
html[lang] .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:has(img):active,
html[lang] .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content:has(img),
html[lang] .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:has(.sw-mc-name):hover,
html[lang] .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:has(.sw-mc-name):active { background: rgba(47, 107, 216, .1) !important; color: #0f1b33 !important; -webkit-text-fill-color: #0f1b33 !important; }
html[lang] .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:has(img):hover *,
html[lang] .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:has(img):active *,
html[lang] .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content:has(img) *,
html[lang] .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:has(.sw-mc-name):hover * { color: inherit !important; -webkit-text-fill-color: currentColor !important; }
html[lang] .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:has(img):hover .sw-s, html[lang] .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:has(img):active .sw-s, html[lang] .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content:has(img) .sw-s { color: #f97316 !important; -webkit-text-fill-color: #f97316 !important; }
html[lang] .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:has(img):hover .sw-en, html[lang] .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:has(img):active .sw-en, html[lang] .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content:has(img) .sw-en { color: #2f6bd8 !important; -webkit-text-fill-color: #2f6bd8 !important; }
html[lang] .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:has(img):hover .wp-block-navigation-item__description, html[lang] .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:has(img):hover .wp-block-navigation-item__description strong { color: #4b5668 !important; -webkit-text-fill-color: #4b5668 !important; }
@media (max-width: 781px) {
  html[lang] .sw-site-header .sw-primary-nav .sw-mega-col .sw-mc-mark { display: inline-block !important; vertical-align: middle !important; margin: 0 6px 0 0 !important; }
  html[lang] .sw-site-header .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content { text-align: center !important; }
}

/* 2026-10-19 데스크톱(782px 이상) 헤더 드롭다운 — 원래 모습으로 되돌림: 항목 폭 · 정렬 · 호버 색(연한 회색) · 현재 항목 표시 없음. 파란 줄은 모바일에서만 */
@media (min-width: 782px) {
  .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item { display: revert !important; width: auto !important; }
  .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: revert !important; width: auto !important; text-align: left; border-radius: 0 !important; }
  .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
  .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:active,
  .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible { background: var(--sw-mist) !important; color: var(--sw-ink, #0f1b33) !important; -webkit-text-fill-color: currentColor !important; }
  .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content,
  .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item.is-current > .wp-block-navigation-item__content { background: transparent !important; color: var(--sw-ink, #0f1b33) !important; -webkit-text-fill-color: currentColor !important; }
  .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover *,
  .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content * { color: inherit !important; -webkit-text-fill-color: currentColor !important; }
  .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .sw-s, .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content .sw-s { color: #f97316 !important; -webkit-text-fill-color: #f97316 !important; }
  .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .sw-en, .sw-site-header .sw-mnav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content .sw-en { color: #2f6bd8 !important; -webkit-text-fill-color: #2f6bd8 !important; }
}

/* 2026-10-19 페이지 탭 바(.is-tabbar) 호버 — 원래대로(옅은 흰색 덧칠). 파란색은 현재 탭(.is-current)만 */
.sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link:hover, .sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link:active, .sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link:focus-visible { background: rgba(255, 255, 255, .07) !important; color: #fff !important; }
.sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link.is-current, .sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link.is-current:hover { background: #2f6bd8 !important; }

/* 2026-10-19 데스크톱 메가 메뉴 항목 호버 — 원래대로: 배경 없음, 이름만 파란색(S 는 주황, 설명은 회색), 밑줄 · 띠 없음 */
@media (min-width: 782px) {
  .sw-site-header .sw-mnav .sw-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
  .sw-site-header .sw-mnav .sw-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content:active,
  .sw-site-header .sw-mnav .sw-mega .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content { background: transparent !important; box-shadow: none !important; border: 0 !important; color: #2f6bd8 !important; -webkit-text-fill-color: #2f6bd8 !important; }
  .sw-site-header .sw-mnav .sw-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .sw-s { color: #f97316 !important; -webkit-text-fill-color: #f97316 !important; }
  .sw-site-header .sw-mnav .sw-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__description, .sw-site-header .sw-mnav .sw-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__description strong { color: #4b5668 !important; -webkit-text-fill-color: #4b5668 !important; }
  .sw-site-header .sw-mnav .sw-mega .sw-mega-col > .wp-block-navigation-item__content:hover { background: transparent !important; }
}

/* 2026-10-19 모바일 메뉴 하이라이트 재작성 — 메가 메뉴 안(.sw-mega-col) 항목은 호버 · 누름 · 현재 모두 연한 하늘색 줄 + 원래 글자색(로고 · S 주황 · AI 파랑 · 이름 남색 · 설명 회색). 어떤 앞선 규칙보다 우선 */
@media (max-width: 781px) {
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content,
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content:hover,
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content:active,
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content:focus,
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .current-menu-item > .wp-block-navigation-item__content { color: #0f1b33 !important; -webkit-text-fill-color: #0f1b33 !important; background: transparent !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content:hover,
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content:active,
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .current-menu-item > .wp-block-navigation-item__content { background: rgba(47, 107, 216, .1) !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content *,
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content:hover *,
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content:active * { color: inherit !important; -webkit-text-fill-color: currentColor !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content .sw-s { color: #f97316 !important; -webkit-text-fill-color: #f97316 !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content .sw-en { color: #2f6bd8 !important; -webkit-text-fill-color: #2f6bd8 !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content .wp-block-navigation-item__description, html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content .wp-block-navigation-item__description strong { color: #4b5668 !important; -webkit-text-fill-color: #4b5668 !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col > .wp-block-navigation-item__content:hover { background: transparent !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .sw-mc-mark { display: inline-block !important; vertical-align: middle !important; margin: 0 6px 0 0 !important; }
  /* 메가가 아닌 하위 메뉴(회사소개 · 사업분야 · 고객센터)만 파란 줄 */
  html[lang] body .sw-site-header .sw-primary-nav > .wp-block-navigation__container > .wp-block-navigation-item:not(.sw-mega) > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
  html[lang] body .sw-site-header .sw-primary-nav > .wp-block-navigation__container > .wp-block-navigation-item:not(.sw-mega) > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:active,
  html[lang] body .sw-site-header .sw-primary-nav > .wp-block-navigation__container > .wp-block-navigation-item:not(.sw-mega) > .wp-block-navigation__submenu-container > .current-menu-item > .wp-block-navigation-item__content { background: #2f6bd8 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
}

/* 2026-10-19 모바일 제품/솔루션 메뉴 — 호버 · 누름은 배경 없이 살짝 확대만 */
@media (max-width: 781px) {
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content { transition: transform .25s cubic-bezier(.2, .8, .2, 1); transform-origin: center; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content:hover,
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .wp-block-navigation-item__content:active,
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col .current-menu-item > .wp-block-navigation-item__content { background: transparent !important; transform: scale(1.08); }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mega-col > .wp-block-navigation-item__content:hover { transform: none; }
}

/* 2026-10-19 SI·ITO 공통 관리 체계 알약 — 항목마다 다른 색 */
.sw-mth-gov span { border: 1px solid transparent; font-weight: 600; }
.sw-mth-gov span:nth-of-type(1) { background: rgba(79, 140, 255, .2); border-color: rgba(127, 179, 255, .4); color: #cfe2ff; }
.sw-mth-gov span:nth-of-type(2) { background: rgba(255, 107, 107, .18); border-color: rgba(255, 140, 140, .4); color: #ffd3d3; }
.sw-mth-gov span:nth-of-type(3) { background: rgba(155, 107, 255, .2); border-color: rgba(185, 150, 255, .4); color: #e4d8ff; }
.sw-mth-gov span:nth-of-type(4) { background: rgba(47, 212, 200, .16); border-color: rgba(95, 227, 210, .4); color: #c8f7f1; }
.sw-mth-gov span:nth-of-type(5) { background: rgba(255, 179, 71, .18); border-color: rgba(255, 196, 110, .4); color: #ffe6c2; }
.sw-mth-gov span:nth-of-type(6) { background: rgba(255, 79, 163, .16); border-color: rgba(255, 130, 190, .4); color: #ffd1e8; }

/* 2026-10-19 ITO 운영 서비스 범위 아이콘 — 네모 타일 없이 아이콘만 */
.sw-itos li::before { width: 34px !important; height: 34px !important; border-radius: 0 !important; background-color: transparent !important; background-size: contain !important; background-position: left center !important; box-shadow: none !important; }

/* 2026-10-19 사업분야 메시징 채널 카드 아이콘 — 네모 타일 없이 아이콘만 */
body.page-id-64 .sw-aio.is-5 > li::before, body.page-id-1314 .sw-aio.is-5 > li::before { display: none !important; content: none !important; }
body.page-id-64 .sw-aio.is-5 > li::after, body.page-id-1314 .sw-aio.is-5 > li::after { width: 34px !important; height: 34px !important; margin: 0 0 18px !important; }

/* 2026-10-19 'B2B2C' 의 B 두 글자 노란색 */
.sw-bb { color: #f5a300 !important; -webkit-text-fill-color: #f5a300 !important; font-weight: inherit; }

/* 2026-10-19 공통 관리 체계 알약 — 색 배경 대신 절제된 유리 알약(같은 톤) + 앞쪽 작은 색 점으로만 구분 */
.sw-mth-gov span, .sw-mth-gov span:nth-of-type(n) { display: inline-flex; align-items: center; gap: 7px; padding: 6px 13px !important; border: 1px solid rgba(255, 255, 255, .14) !important; border-radius: 999px; background: rgba(255, 255, 255, .05) !important; color: rgba(255, 255, 255, .88) !important; font-weight: 500; backdrop-filter: blur(4px); }
.sw-mth-gov span::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--d, #7fb3ff); box-shadow: 0 0 8px var(--d, #7fb3ff); }
.sw-mth-gov span:nth-of-type(1) { --d: #7fb3ff; } .sw-mth-gov span:nth-of-type(2) { --d: #ff8a8a; } .sw-mth-gov span:nth-of-type(3) { --d: #b48cff; }
.sw-mth-gov span:nth-of-type(4) { --d: #5fe3d2; } .sw-mth-gov span:nth-of-type(5) { --d: #ffc46e; } .sw-mth-gov span:nth-of-type(6) { --d: #ff82be; }

/* 2026-10-19 AI 개인화 플랫폼 페이지의 'AI' 강조 — 그라데이션 · 보라 대신 단색 파랑(#2f6bd8). 어두운 배너 위에서는 밝은 파랑 */
.page-template-page-product-ai-platform .sw-ai, .page-template-page-product-ai-platform .sw-en { background: none !important; -webkit-background-clip: initial !important; background-clip: initial !important; color: #2f6bd8 !important; -webkit-text-fill-color: #2f6bd8 !important; font-weight: 800; }
.page-template-page-product-ai-platform .sw-prod-hero .sw-ai, .page-template-page-product-ai-platform .sw-page-hero .sw-ai, .page-template-page-product-ai-platform .sw-ums-dark .sw-ai { color: #5b95ff !important; -webkit-text-fill-color: #5b95ff !important; }

/* 2026-10-19 시연 창 · 콘솔 창 머리의 빨강 · 노랑 · 초록 점 3개 제거 */
.sw-demo-bar i, .sw-cxc-chrome i { display: none !important; }
.sw-demo-bar span { margin-left: 0 !important; }

/* 2026-10-19 AI 개인화 배너 'AI Personalization' — 색은 원래 그라데이션(파랑→보라)으로 되돌리고, 크기는 다른 제품 배너 워드마크(30px · 900)와 같게 */
.page-template-page-product-ai-platform .sw-prod-hero .sw-hero-brand strong .sw-ai, .page-template-page-product-ai-platform .sw-page-hero .sw-hero-brand strong .sw-ai { background: linear-gradient(90deg, #2f6bd8, #6a3df0 58%, #a46bff) !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; font-size: 1em !important; font-weight: 900 !important; letter-spacing: -.02em; line-height: 1; }
@media (max-width: 760px) { .page-template-page-product-ai-platform .sw-prod-hero .sw-hero-brand strong .sw-ai { font-size: 1em !important; } }

/* 2026-10-19 CX Console — 1000px 로 그린 뒤 칸 너비에 맞춰 통째로 축소(JS 가 zoom 설정). 칸 안 본문 p 규칙이 새지 않게 글자 크기 · 여백 고정 */
.sw-cx { width: 1000px !important; max-width: none !important; }
.sw-cx p, .sw-cx span, .sw-cx small, .sw-cx b, .sw-cx em, .sw-cx td, .sw-cx th { line-height: 1.4 !important; word-break: keep-all; }
.sw-cx .sw-cx-msgs p { margin: 0 !important; font-size: 11px !important; line-height: 1.45 !important; }
.sw-cx .sw-cx-msgs p span { font-size: 11px !important; }
.sw-cx .sw-cx-kpi b { font-size: 22px !important; white-space: nowrap; }
.sw-cx .sw-cx-kpi small, .sw-cx .sw-cx-kpi em { white-space: nowrap; }
.sw-cx .sw-cx-card td:nth-child(2) { white-space: nowrap !important; }
.sw-cx-fit { width: 100%; overflow: hidden; }

/* 2026-10-19 CLOUVI 시연 영상 v3(1280×800) 비율 */
.sw-demo-stage.is-video video { aspect-ratio: 1280 / 800 !important; }

/* 2026-10-19 Quick tour — 마우스를 올리거나 누르면 흰 알약 + 남색 글자, ▶ 는 보라→분홍 그라데이션(링은 그대로) */
body a.sw-demo-open.sw-demo-open:hover, body a.sw-demo-open.sw-demo-open:active, body a.sw-demo-open.sw-demo-open:focus-visible, body .sw-page-hero a.sw-demo-open.sw-demo-open:hover, body .sw-page-hero a.sw-demo-open.sw-demo-open:active { background: #fff !important; color: #0f1b33 !important; }
body a.sw-demo-open:hover .sw-demo-tri, body a.sw-demo-open:active .sw-demo-tri { background: linear-gradient(90deg, #7c4dff, #ff4fd8) !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; }

/* 2026-10-19 CX Console 고객 지원 말풍선 글자 밝게 */
.sw-cx .sw-cx-msgs p span { color: #e6eefc !important; -webkit-text-fill-color: #e6eefc !important; }

/* 2026-10-19 '대화형 쇼핑이 만드는 변화' 등 .sw-ums-why 카드 아이콘 — 네모 타일 없이 아이콘만(36px) */
.sw-ums-why .sw-ums-feature .sw-ums-feature-no::before { width: 36px !important; height: 36px !important; border-radius: 0 !important; background-color: transparent !important; background-size: contain !important; background-position: left center !important; box-shadow: none !important; border: 0 !important; }

/* 2026-10-19 클로비 시연 보기 — 원래 CLOUVI 대화 창 복원 + 4가지 대화 순환. 상품 썸네일은 실사, 주문 변경 장면은 주문 카드, 아래 4단계 막대(누르면 그 대화로) */
.sw-demo-stage { aspect-ratio: auto !important; min-height: 520px; padding: 40px 0; }
.sw-cvw-thumb.has-img::after { display: none !important; }
.sw-cvw-items.is-order { display: block; }
.sw-cvw-order { display: grid; grid-template-columns: 64px 1fr auto; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid #e3eaf4; border-radius: 14px; background: #fff; box-shadow: 0 6px 14px rgba(16, 47, 103, .08); }
.sw-cvw-order .sw-cvw-thumb { width: 64px; }
.sw-cvw-order-t b { display: block; font-size: calc(.78rem + 1pt); color: var(--sw-ink); }
.sw-cvw-order-t small { display: block; margin-top: 2px; font-size: calc(.62rem + 1pt); color: var(--sw-muted); }
.sw-cvw-order em { padding: 5px 10px; border-radius: 999px; background: #e7f8ef; color: #12805c; font-style: normal; font-size: calc(.62rem + 1pt); font-weight: 800; }
.sw-cvw-order em::before { content: "✓ "; }
.sw-cvw-best { background: #2f6bd8 !important; }
.sw-demo-steps { position: absolute; left: 50%; bottom: 14px; z-index: 6; display: flex; gap: 8px; transform: translateX(-50%); }
.sw-demo-steps i { width: 26px; height: 5px; border-radius: 999px; background: rgba(255, 255, 255, .25); cursor: pointer; transition: background .3s, width .3s; }
.sw-demo-steps i.is-on { width: 44px; background: #fff; }
.sw-demo.is-playing .sw-demo-play { opacity: 0; pointer-events: none; }

/* 2026-10-19 AI 개인화 '커머스에 바로 쓰는 AI' 등 카드 제목 볼드 — 보라 그라데이션 글자 */
.page-template-page-product-ai-platform .sw-ums-feature h3 { background: linear-gradient(90deg, #6a3df0 0%, #8a5cff 50%, #b06bff 100%); -webkit-background-clip: text; background-clip: text; color: transparent !important; -webkit-text-fill-color: transparent !important; }

/* 2026-10-19 CLOUVI 시연 썸네일 — 배경 단축 속성이 인라인 사진(background-image)을 덮던 문제: 색 · 크기만 지정 */
.sw-cvw-thumb.has-img { background-color: #f3f4f6 !important; background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important; }

/* 2026-10-19 클로비 시연 v2 — 대화가 쌓이며 스크롤되는 영상식: 고정 높이 로그, 새 말풍선은 아래에서 떠오름, 입력창 타이핑 강조, 진행 막대 · 시간 */
.sw-cvw-body.is-js { height: 420px; overflow-y: auto; scrollbar-width: none; transition: opacity .5s; }
.sw-cvw-body.is-js::-webkit-scrollbar { display: none; }
.sw-cvw-body.is-js.is-fade { opacity: 0; }
.sw-cvw-body.is-js > * { flex: 0 0 auto; }
.sw-cvw-body.is-js > .is-live { opacity: 0; transform: translateY(10px); animation: sw-cvw-live .4s ease forwards !important; animation-delay: 0s !important; }
@keyframes sw-cvw-live { to { opacity: 1; transform: none; } }
.sw-cvw-input { transition: box-shadow .2s, border-color .2s; }
.sw-cvw-input.is-typing { border-color: #2f6bff !important; box-shadow: 0 0 0 3px rgba(47, 107, 255, .15); }
.sw-cvw-input.is-typing span { color: #0f1b33 !important; }
.sw-cvw-input.is-typing span::after { content: ""; display: inline-block; width: 1.5px; height: 1em; margin-left: 2px; vertical-align: -2px; background: #2f6bff; animation: sw-caret 1s steps(1) infinite; }
.sw-cvw-input.is-sent i { transform: scale(.85); }
.sw-demo-steps { display: none !important; }
.sw-demo-progress { position: absolute; left: 24px; right: 24px; bottom: 14px; z-index: 6; display: flex; align-items: center; gap: 12px; color: rgba(255, 255, 255, .8); font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.sw-demo-track { flex: 1; height: 4px; border-radius: 999px; background: rgba(255, 255, 255, .18); overflow: hidden; }
.sw-demo-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #7fb3ff, #fff); }
@keyframes sw-caret { 50% { opacity: 0; } }

/* 2026-10-19 CX Console v3 — 좁은 칸에서도 읽히게 640px 로 다시 설계: 사이드바 · 채팅 패널 생략, KPI 2×2, 차트 전폭, 아래 줄은 세그먼트 도넛 + 추천 액션(3줄) */
.sw-cx { width: 640px !important; grid-template-columns: 1fr !important; border-radius: 16px; }
.sw-cx .sw-cx-side, .sw-cx .sw-cx-card.is-sup { display: none !important; }
.sw-cx .sw-cx-main { padding: 14px; gap: 10px; }
.sw-cx .sw-cx-kpis { grid-template-columns: repeat(2, 1fr) !important; }
.sw-cx .sw-cx-kpi { padding: 12px 14px; }
.sw-cx .sw-cx-kpi small { font-size: 12px !important; }
.sw-cx .sw-cx-kpi b { font-size: 26px !important; }
.sw-cx .sw-cx-kpi em { font-size: 11px !important; }
.sw-cx .sw-cx-row, .sw-cx .sw-cx-row.is-2 { grid-template-columns: 1fr !important; }
.sw-cx .sw-cx-row:not(.is-2) { grid-template-columns: 1fr !important; }
.sw-cx .sw-cx-row:not(.is-2) .sw-cx-card.is-seg { display: none !important; }
.sw-cx .sw-cx-head b { font-size: 14px !important; }
.sw-cx .sw-cx-plot, .sw-cx .sw-cx-plot svg { height: 150px !important; }
.sw-cx .sw-cx-tip b { font-size: 13px !important; }
.sw-cx .sw-cx-card.is-act table { font-size: 12.5px; }
.sw-cx .sw-cx-card.is-act tbody tr:nth-child(n+4) { display: none; }
.sw-cx .sw-cx-card.is-act th:nth-child(4), .sw-cx .sw-cx-card.is-act td:nth-child(4) { display: none; }
.sw-cx .sw-cx-card.is-act td { padding: 9px 6px; font-size: 12.5px; }
.sw-cx .sw-cx-foot { font-size: 11px !important; }

/* 2026-10-19 CLOUVI 개요 — 대시보드 칸을 넓혀(글 44% · 대시보드 56%) 덜 축소되게 */
.sw-ov-grid:has(.sw-cx) > .wp-block-column:first-child { flex-basis: 42% !important; }
.sw-ov-grid:has(.sw-cx) > .wp-block-column:last-child { flex-basis: 58% !important; }

/* 2026-10-19 핵심 가치 4개 — Core Value 식으로 재설계: 카드 · 색 띠 · 육각형 · 연결선 제거, 보라 네모 아이콘 타일(76px) + '1. 제목' + 영문 한 줄 + 설명, 왼쪽 정렬 */
body .sw-value-grid.sw-value-grid { gap: 40px 48px !important; counter-reset: sw-val; }
body .sw-value-grid.sw-value-grid::before, body .sw-value-grid.sw-value-grid::after { display: none !important; content: none !important; }
body .sw-value-grid.sw-value-grid > .wp-block-column { background: none !important; }
body .sw-value-grid.sw-value-grid .sw-value-card { display: block !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; text-align: left !important; transform: none !important; }
body .sw-value-grid.sw-value-grid .sw-value-card::before, body .sw-value-grid.sw-value-grid .sw-value-card::after { display: none !important; content: none !important; }
body .sw-value-grid.sw-value-grid .sw-value-no { display: none !important; }
body .sw-value-grid.sw-value-grid .sw-value-icon { position: static !important; display: block !important; width: 76px !important; height: 76px !important; margin: 0 0 24px !important; border-radius: 8px !important; clip-path: none !important; -webkit-mask: none !important; mask: none !important; background: #5b2be0 url(assets/images/icons/val-1.svg) center / 40px no-repeat !important; box-shadow: 0 10px 24px rgba(91, 43, 224, .25) !important; animation: none !important; transform: none !important; transition: transform .3s; }
body .sw-value-grid.sw-value-grid .sw-value-icon::before, body .sw-value-grid.sw-value-grid .sw-value-icon::after { display: none !important; content: none !important; }
body .sw-value-grid.sw-value-grid .sw-value-icon svg { display: none !important; }
body .sw-value-grid.sw-value-grid > .wp-block-column:nth-child(2) .sw-value-icon { background-image: url(assets/images/icons/val-2.svg) !important; }
body .sw-value-grid.sw-value-grid > .wp-block-column:nth-child(3) .sw-value-icon { background-image: url(assets/images/icons/val-3.svg) !important; }
body .sw-value-grid.sw-value-grid > .wp-block-column:nth-child(4) .sw-value-icon { background-image: url(assets/images/icons/val-4.svg) !important; }
body .sw-value-grid.sw-value-grid .sw-value-card:hover .sw-value-icon { transform: translateY(-3px); }
body .sw-value-grid.sw-value-grid .sw-value-card h3 { display: block !important; margin: 0 0 22px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; color: #1a1d24 !important; -webkit-text-fill-color: #1a1d24 !important; font-size: 21px !important; font-weight: 700 !important; text-align: left !important; justify-self: start !important; }
body .sw-value-grid.sw-value-grid .sw-value-card h3::before { counter-increment: sw-val; content: counter(sw-val) ". "; }
body .sw-value-grid.sw-value-grid .sw-value-card h3::after { display: none !important; }
body .sw-value-grid.sw-value-grid .sw-value-en { margin: 0 !important; color: #2b2f38 !important; font-size: 15px !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important; text-align: left !important; }
body .sw-value-grid.sw-value-grid .sw-value-desc { margin: 4px 0 0 !important; padding: 0 !important; border: 0 !important; color: #3b4150 !important; font-size: 15px !important; line-height: 1.6 !important; text-align: left !important; }
@media (max-width: 781px) { body .sw-value-grid.sw-value-grid { gap: 32px !important; } }

/* 2026-10-19 핵심 가치 마무리 — 영문 · 설명의 흰 상자 · 제목 위 선 · 바깥 하늘색 점 무늬 판 제거, 영문은 진한 회색 */
body .sw-value-grid.sw-value-grid .sw-value-en, body .sw-value-grid.sw-value-grid .sw-value-desc { background: none !important; box-shadow: none !important; border-radius: 0 !important; padding: 0 !important; color: #2b2f38 !important; -webkit-text-fill-color: #2b2f38 !important; }
body .sw-value-grid.sw-value-grid .sw-value-desc { color: #3b4150 !important; -webkit-text-fill-color: #3b4150 !important; }
body .sw-value-grid.sw-value-grid .sw-value-card h3, body .sw-value-grid.sw-value-grid .sw-value-card > * { box-shadow: none !important; border-top: 0 !important; }
body .sw-value-grid.sw-value-grid .sw-value-card h3::before { position: static !important; display: inline !important; width: auto !important; height: auto !important; background: none !important; border: 0 !important; }
body :has(> .sw-value-grid) { background: none !important; box-shadow: none !important; }
body :has(> .sw-value-grid)::before, body :has(> .sw-value-grid)::after { display: none !important; }

/* 2026-10-19 핵심 가치 — 영문 · 설명의 남은 들여쓰기 · 그림자 상자를 더 높은 우선순위로 제거 */
html body .sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card .sw-value-en.sw-value-en,
html body .sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card .sw-value-desc.sw-value-desc { padding: 0 !important; margin-left: 0 !important; background: none !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card .sw-value-no.sw-value-no { display: none !important; }

/* 2026-10-19 클로비 시연 — CLOUVI 창이 시연 틀을 꽉 채우게(떠 있는 캐릭터 원은 숨김, 창 폭 확대 · 글자 키움) */
.sw-demo .sw-demo-stage { padding: 28px 28px 48px !important; min-height: 0 !important; }
.sw-demo .sw-cvw { width: 100% !important; max-width: 920px !important; margin: 0 auto !important; padding: 0 !important; transform: none !important; }
.sw-demo .sw-cvw-bot { display: none !important; }
.sw-demo .sw-cvw-window { width: 100% !important; }
.sw-demo .sw-cvw-body.is-js { height: 470px !important; padding: 18px 22px !important; gap: 12px !important; }
.sw-demo .sw-cvw-q, .sw-demo .sw-cvw-a { font-size: 16px !important; padding: 12px 18px !important; }
.sw-demo .sw-cvw-tags em { font-size: 13px !important; padding: 4px 12px !important; }
.sw-demo .sw-cvw-items { gap: 14px !important; }
.sw-demo .sw-cvw-item b { font-size: 14px !important; }
.sw-demo .sw-cvw-item small { font-size: 12.5px !important; }
.sw-demo .sw-cvw-order { grid-template-columns: 90px 1fr auto !important; }
.sw-demo .sw-cvw-order .sw-cvw-thumb { width: 90px !important; }
.sw-demo .sw-cvw-order-t b { font-size: 15px !important; } .sw-demo .sw-cvw-order-t small { font-size: 13px !important; }
.sw-demo .sw-cvw-input span { font-size: 15px !important; }
.sw-demo .sw-cvw-badge.is-live { right: 18px !important; } .sw-demo .sw-cvw-badge.is-ai { left: 18px !important; }

/* 2026-10-19 클로비 시연 — 파란 배경 틀 없이 CLOUVI 창만(상단 'CLOUVI 시연' 띠 · 남색 무대 · 틀 그림자 제거), 진행 막대는 밝은 바탕용 색 */
.sw-demo-sec .sw-demo { background: none !important; box-shadow: none !important; border: 0 !important; overflow: visible !important; }
.sw-demo-sec .sw-demo-bar { display: none !important; }
.sw-demo-sec .sw-demo-stage { background: none !important; box-shadow: none !important; padding: 8px 0 44px !important; }
.sw-demo-sec .sw-demo-stage::before, .sw-demo-sec .sw-demo-stage::after { display: none !important; }
.sw-demo-sec .sw-cvw-window { box-shadow: 0 24px 60px rgba(16, 47, 103, .18) !important; }
.sw-demo-sec .sw-demo-progress { left: 50%; right: auto; width: min(920px, 100%); transform: translateX(-50%); bottom: 6px; color: #5b6472; }
.sw-demo-sec .sw-demo-track { background: #e3e8f0; }
.sw-demo-sec .sw-demo-track i { background: linear-gradient(90deg, #2f6bd8, #7a4ce6); }

/* 2026-10-19 홈 AI 섹션 CLOUVI 창 — 영상식 대화 로그 높이 */
.sw-cvw[data-sw-cvw-live] .sw-cvw-body.is-js { height: 380px; }

/* 2026-10-19 홈 AI 섹션 — 클로비 시연과 같은 틀(넓은 CLOUVI 창 · 진행 막대) 그대로. 섹션 배경은 그대로 두고 틀만 투명 */
.sw-demo-sec.is-home { position: relative; width: 100%; }
.sw-demo-sec.is-home .sw-demo { position: relative !important; inset: auto !important; display: block !important; opacity: 1 !important; padding: 0 !important; z-index: auto !important; }
.sw-demo-sec.is-home .sw-cvw-body.is-js { height: 400px !important; }

/* 2026-10-19 홈 시연 창 — AI 개인화 페이지 시연과 같은 가로 폭(최대 920px). 반반 배치 대신 시연 칸을 넓게 */
@media (min-width: 782px) {
  .sw-cv-split .sw-cv-grid > .wp-block-column:has(.sw-demo-sec.is-home) { flex: 1 1 60% !important; padding-inline: clamp(20px, 3vw, 48px) !important; }
  .sw-cv-split .sw-cv-grid > .wp-block-column:not(:has(.sw-demo-sec.is-home)) { flex: 1 1 40% !important; }
}
.sw-demo-sec.is-home, .sw-demo-sec.is-home .sw-demo, .sw-demo-sec.is-home .sw-demo-stage { width: 100% !important; max-width: 920px !important; justify-self: stretch; }
.sw-demo-sec.is-home .sw-cvw { width: 100% !important; max-width: 920px !important; margin-inline: auto !important; }

/* 2026-10-19 AI 개인화 대화 예시 4장 — 질문 말풍선 한 줄, 카드 줄 가로 폭 넓힘 */
.sw-clouvi-cases { width: min(1440px, calc(100vw - 48px)); max-width: none !important; margin-inline: calc(50% - min(720px, 50vw - 24px)) !important; }
.sw-clouvi-case { padding: 24px 18px; }
.sw-clouvi-case .sw-clouvi-say { padding: 12px 12px; white-space: nowrap; font-size: clamp(12px, 1vw, 15px); }
@media (max-width: 781px) { .sw-clouvi-cases { width: auto; margin-inline: 0 !important; } }
.sw-cv-split .sw-demo-sec.is-home .sw-cvw { width: 920px !important; max-width: 100% !important; margin: 0 auto !important; }

/* 2026-10-19 시연 창 위 '실시간 추천' 배지가 잘리지 않게 — 틀 위쪽 여백 + 넘침 보이기 */
.sw-demo, .sw-demo .sw-demo-stage, .sw-demo-sec.is-home, .sw-cv-split .sw-cv-grid > .wp-block-column:has(.sw-demo-sec.is-home) { overflow: visible !important; }
.sw-demo .sw-demo-stage { padding-top: 34px !important; }

/* 2026-10-19 홈 AI 개인화 체험 — 글은 위(가운데), 시연 창은 아래에 AI 개인화 페이지와 같은 폭(920px)으로. 글과 겹치지 않게 */
@media (min-width: 782px) {
  .sw-cv-split .sw-cv-grid.sw-cv-grid:has(.sw-demo-sec.is-home) { flex-direction: column !important; align-items: center !important; gap: 8px !important; min-height: 0; }
  .sw-cv-split .sw-cv-grid.sw-cv-grid:has(.sw-demo-sec.is-home) > .wp-block-column { flex: 0 0 auto !important; width: 100% !important; max-width: 1000px; }
  .sw-cv-split .sw-cv-grid.sw-cv-grid:has(.sw-demo-sec.is-home) > .wp-block-column:first-child { justify-content: center; padding-bottom: 0 !important; text-align: center; }
  .sw-cv-split .sw-cv-grid.sw-cv-grid:has(.sw-demo-sec.is-home) > .wp-block-column:first-child .wp-block-buttons { justify-content: center; }
  .sw-cv-split .sw-cv-grid.sw-cv-grid:has(.sw-demo-sec.is-home) > .wp-block-column:first-child .sw-lead { max-width: 680px; margin-inline: auto; }
  .sw-cv-split .sw-cv-grid.sw-cv-grid:has(.sw-demo-sec.is-home) > .wp-block-column:last-child { padding-top: 0 !important; }
}
@media (min-width: 782px) {
  .sw-cv-split .sw-cv-grid.sw-cv-grid:has(.sw-demo-sec.is-home) > .wp-block-column:first-child .sw-section-heading { width: 100%; text-align: center; }
  .sw-cv-split .sw-cv-grid.sw-cv-grid:has(.sw-demo-sec.is-home) > .wp-block-column:first-child .sw-section-heading > * { margin-inline: auto !important; text-align: center !important; }
  .sw-cv-split .sw-cv-grid.sw-cv-grid:has(.sw-demo-sec.is-home) > .wp-block-column:first-child .sw-section-heading h2 br { display: none; }
}

/* 2026-10-19 핵심 가치 6개(일의 기준) — 3열 2줄, 아이콘 타일은 파란색 */
body .sw-value-grid.sw-value-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 56px 48px !important; }
body .sw-value-grid.sw-value-grid .sw-value-icon { background-color: #2f6bd8 !important; background-size: 44px !important; }
body .sw-value-grid.sw-value-grid > .wp-block-column:nth-child(5) .sw-value-icon { background-image: url(assets/images/icons/val-5.svg) !important; }
body .sw-value-grid.sw-value-grid > .wp-block-column:nth-child(6) .sw-value-icon { background-image: url(assets/images/icons/val-6.svg) !important; }
@media (max-width: 1024px) { body .sw-value-grid.sw-value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 560px) { body .sw-value-grid.sw-value-grid { grid-template-columns: 1fr !important; } }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column { flex-basis: auto !important; width: auto !important; max-width: none !important; }
@media (max-width: 1024px) { html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 560px) { html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid { grid-template-columns: 1fr !important; } }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid { gap: 64px 48px !important; }

/* 2026-10-19 홈 AI 개인화 체험 설명 — 두 줄로(단어 단위 줄바꿈, 폭 넓힘) */
@media (min-width: 782px) {
  .sw-cv-split .sw-cv-grid.sw-cv-grid:has(.sw-demo-sec.is-home) > .wp-block-column:first-child .sw-section-heading .sw-lead { max-width: 820px !important; word-break: keep-all; text-wrap: balance; }
}

/* 2026-10-19 홈 '화면으로 먼저 만나보세요' — sOMP 문자 발송 장면. 1280×720 무대를 틀 폭에 맞춰 zoom */
.sw-sms { position: absolute; inset: 0; overflow: hidden; background: radial-gradient(circle at 78% 18%, rgba(63, 160, 255, .22), transparent 46%), linear-gradient(160deg, #0b1838 0%, #0a1430 55%, #081026 100%); font-family: inherit; }
.sw-sms-stage { position: relative; width: 1280px; height: 720px; color: #0f1b33; }
.sw-sms-brand { position: absolute; left: 80px; top: 40px; color: #fff; }
.sw-sms-brand b { display: block; font-size: 22px; font-weight: 800; letter-spacing: -.01em; }
.sw-sms-brand small { display: block; margin-top: 4px; color: rgba(255, 255, 255, .55); font-size: 13px; letter-spacing: .04em; }
.sw-sms-con { position: absolute; left: 80px; top: 112px; width: 700px; box-sizing: border-box; padding: 26px 30px 24px; border-radius: 8px; background: #fff; box-shadow: 0 30px 70px rgba(0, 0, 0, .35); }
.sw-sms-tabs { display: flex; gap: 8px; margin-bottom: 20px; }
.sw-sms-tabs span { padding: 8px 18px; border: 1px solid #dfe6f2; border-radius: 999px; color: #5b667a; font-size: 14px; font-weight: 700; transition: background .3s, color .3s, border-color .3s; }
.sw-sms-tabs span.is-on { border-color: #2f6bd8; background: #2f6bd8; color: #fff; }
.sw-sms-row { display: grid; grid-template-columns: 96px 1fr; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid #eef2f8; }
.sw-sms-row label { color: #6b7488; font-size: 14px; font-weight: 700; }
.sw-sms-field { min-height: 22px; font-size: 15px; font-weight: 600; }
.sw-sms-target { display: inline-block; padding: 5px 12px; border-radius: 999px; background: #eaf1fd; color: #2f6bd8; font-style: normal; font-size: 14px; font-weight: 800; }
.sw-sms-target:empty { display: none; }
.sw-sms-target.is-pop { animation: sw-sms-pop .35s ease; }
@keyframes sw-sms-pop { from { opacity: 0; transform: scale(.85); } to { opacity: 1; transform: none; } }
.sw-sms-row.is-msg { align-items: start; }
.sw-sms-text { position: relative; height: 104px; box-sizing: border-box; padding: 12px 14px 26px; border: 1px solid #dfe6f2; border-radius: 8px; font-size: 15px; line-height: 1.55; word-break: keep-all; transition: border-color .2s, box-shadow .2s; }
.sw-sms-text.is-typing { border-color: #2f6bd8; box-shadow: 0 0 0 3px rgba(47, 107, 216, .14); }
.sw-sms-text.is-typing span::after { content: ""; display: inline-block; width: 1.5px; height: 1em; margin-left: 2px; vertical-align: -2px; background: #2f6bd8; animation: sw-caret 1s steps(1) infinite; }
.sw-sms-byte { position: absolute; right: 12px; bottom: 7px; color: #98a2b5; font-size: 12px; font-variant-numeric: tabular-nums; }
.sw-sms-act { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 14px; }
.sw-sms-note { color: #d4540f; font-size: 14px; font-weight: 700; }
.sw-sms-act button { padding: 11px 26px; border: 0; border-radius: 8px; background: #2f6bd8; color: #fff; font: inherit; font-size: 15px; font-weight: 800; cursor: default; transition: transform .15s, background .15s; }
.sw-sms-act button.is-press { transform: scale(.94); background: #1f4f9f; }
.sw-sms-run { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eef2f8; opacity: .35; transition: opacity .3s; }
.sw-sms-run.is-on { opacity: 1; }
.sw-sms-runbar { height: 8px; border-radius: 999px; background: #edf1f7; overflow: hidden; }
.sw-sms-runbar i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2f6bd8, #3fa0ff); transition: width .1s linear; }
.sw-sms-run.is-done .sw-sms-runbar i { background: #18a46b; }
.sw-sms-runtxt { display: flex; justify-content: space-between; margin-top: 8px; font-size: 14px; font-variant-numeric: tabular-nums; }
.sw-sms-state { color: #2f6bd8; }
.sw-sms-run.is-done .sw-sms-state { color: #18a46b; }
.sw-sms-count { color: #4b556a; font-weight: 700; }
.sw-sms-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 14px 0 0; padding: 0; list-style: none; }
.sw-sms-stats li { padding: 0 14px; border-left: 1px solid #eef2f8; }
.sw-sms-stats li:first-child { padding-left: 0; border-left: 0; }
.sw-sms-stats small { display: block; color: #6b7488; font-size: 13px; font-weight: 600; }
.sw-sms-stats b { display: block; margin-top: 2px; font-size: 24px; font-weight: 800; font-variant-numeric: tabular-nums; }
.sw-sms-phone { position: absolute; left: 880px; top: 70px; width: 300px; height: 600px; box-sizing: border-box; padding: 12px; border-radius: 46px; background: #11151d; box-shadow: 0 0 0 2px #2a3242, 0 40px 80px rgba(0, 0, 0, .5); }
.sw-sms-screen { position: relative; height: 100%; overflow: hidden; border-radius: 36px; background: #f2f3f7; }
.sw-sms-status { display: flex; align-items: center; justify-content: space-between; padding: 14px 26px 6px; font-size: 13px; }
.sw-sms-status i { width: 22px; height: 10px; border: 1.5px solid #0f1b33; border-radius: 3px; }
.sw-sms-chathead { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 0 12px; border-bottom: 1px solid #e3e6ee; background: #f7f8fb; }
.sw-sms-chathead span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50%; background: #2f6bd8; color: #fff; font-weight: 800; }
.sw-sms-chathead b { font-size: 13px; }
.sw-sms-chat { position: absolute; left: 0; right: 0; top: 118px; bottom: 0; display: flex; flex-direction: column; gap: 10px; padding: 14px 14px 20px; overflow-y: auto; scrollbar-width: none; }
.sw-sms-chat::-webkit-scrollbar { display: none; }
.sw-sms-bub { align-self: flex-start; max-width: 86%; padding: 10px 13px; border-radius: 16px 16px 16px 4px; background: #e6e8ee; font-size: 13px; line-height: 1.5; word-break: keep-all; animation: sw-cvw-live .4s ease forwards; }
.sw-sms-bub small { display: block; margin-bottom: 3px; color: #d4540f; font-size: 11px; font-weight: 800; }
.sw-sms-noti { position: absolute; left: 10px; right: 10px; top: 10px; z-index: 3; padding: 10px 14px; border-radius: 18px; background: rgba(255, 255, 255, .96); box-shadow: 0 10px 30px rgba(0, 0, 0, .18); transform: translateY(-130%); transition: transform .45s cubic-bezier(.2, .9, .3, 1.2); }
.sw-sms-noti.is-on { transform: none; }
.sw-sms-noti b { font-size: 13px; }
.sw-sms-noti small { float: right; color: #8a93a6; font-size: 12px; }
.sw-sms-noti p { display: -webkit-box; margin: 3px 0 0; overflow: hidden; color: #2b3242; font-size: 12px; line-height: 1.45; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.sw-sms-prog { position: absolute; left: 3%; right: 3%; bottom: 3.2%; z-index: 4; display: flex; align-items: center; gap: 12px; color: rgba(255, 255, 255, .75); font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.sw-sms-track { flex: 1; height: 4px; border-radius: 999px; background: rgba(255, 255, 255, .18); overflow: hidden; }
.sw-sms-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #7fb3ff, #fff); }
@media (max-width: 640px) { .sw-sms-prog { font-size: 10px; gap: 8px; } }

/* 2026-10-19 문자 발송 장면 휴대폰 — 실제 아이폰 메시지 화면처럼(티타늄 테두리 · 다이내믹 아일랜드 · 상태 아이콘 · 말풍선 꼬리 · 입력 막대) */
.sw-sms-phone { left: 885px; top: 52px; width: 296px; height: 616px; padding: 9px; border-radius: 54px; background: linear-gradient(145deg, #5b5f68 0%, #2b2e34 30%, #1a1c20 60%, #4a4e57 100%); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .22), 0 0 0 1px #0b0c0f, 0 50px 90px rgba(0, 0, 0, .55); }
.sw-sms-phone::before { content: ""; position: absolute; inset: 4px; border-radius: 50px; background: #050506; }
.sw-sms-btn { position: absolute; width: 3px; border-radius: 2px; background: linear-gradient(90deg, #3a3d44, #6a6e78); }
.sw-sms-btn.is-a { left: -3px; top: 118px; height: 26px; } .sw-sms-btn.is-b { left: -3px; top: 168px; height: 48px; } .sw-sms-btn.is-c { left: -3px; top: 228px; height: 48px; } .sw-sms-btn.is-p { right: -3px; top: 190px; height: 76px; }
.sw-sms-screen { z-index: 1; border-radius: 45px; background: #fff; font-family: -apple-system, "SF Pro Text", "Apple SD Gothic Neo", inherit; }
.sw-sms-island { position: absolute; left: 50%; top: 10px; z-index: 5; width: 92px; height: 27px; border-radius: 999px; background: #000; transform: translateX(-50%); }
.sw-sms-status { position: relative; z-index: 4; height: 47px; box-sizing: border-box; padding: 16px 26px 0 32px; font-size: 14px; }
.sw-sms-status b { font-weight: 600; letter-spacing: -.01em; }
.sw-sms-status span { display: flex; align-items: center; gap: 5px; }
.sw-sms-status svg { fill: #000; }
.sw-sms-status i { display: none; }
.sw-sms-batt { position: relative; display: block; width: 23px; height: 11px; box-sizing: border-box; padding: 1.5px; border: 1px solid rgba(0, 0, 0, .4); border-radius: 3.5px; }
.sw-sms-batt::after { content: ""; position: absolute; right: -3px; top: 3.5px; width: 1.5px; height: 3.5px; border-radius: 0 1px 1px 0; background: rgba(0, 0, 0, .4); }
.sw-sms-batt i { display: block !important; width: 78%; height: 100%; border-radius: 1.5px; background: #000; }
.sw-sms-chathead { position: relative; z-index: 3; gap: 3px; padding: 4px 0 9px; border-bottom: .5px solid rgba(0, 0, 0, .14); background: rgba(249, 249, 249, .94); }
.sw-sms-back { position: absolute; left: 14px; top: 20px; color: #007aff; }
.sw-sms-chathead span { width: 44px; height: 44px; background: linear-gradient(180deg, #a5abb8, #858b98); font-size: 19px; font-weight: 600; }
.sw-sms-chathead b { font-size: 11.5px; font-weight: 500; color: #111; }
.sw-sms-chathead b small { color: #a0a0a6; font-size: 11px; }
.sw-sms-chat { top: 122px; bottom: 70px; gap: 4px; padding: 8px 12px 12px; }
.sw-sms-stamp { margin: 4px 0 10px; color: #8e8e93; font-size: 10.5px; font-weight: 500; line-height: 1.35; text-align: center; }
.sw-sms-stamp br + * { display: none; }
.sw-sms-bub { position: relative; max-width: 78%; margin-bottom: 6px; padding: 7px 12px; border-radius: 17px; background: #e9e9eb; color: #000; font-size: 13.5px; line-height: 1.33; letter-spacing: -.01em; }
.sw-sms-bub::before { content: ""; position: absolute; left: -6px; bottom: 0; width: 16px; height: 16px; border-bottom-right-radius: 14px 12px; background: #e9e9eb; }
.sw-sms-bub::after { content: ""; position: absolute; left: -10px; bottom: 0; width: 10px; height: 16px; border-bottom-right-radius: 10px; background: #fff; }
.sw-sms-bub small { color: #8e8e93; font-size: 10.5px; }
.sw-sms-bar { position: absolute; left: 0; right: 0; bottom: 22px; z-index: 3; display: flex; align-items: center; gap: 8px; padding: 0 12px; }
.sw-sms-bar i { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: 50%; background: #eeeef0; color: #7d7d82; font-size: 20px; font-style: normal; line-height: 1; }
.sw-sms-bar span { flex: 1; padding: 6px 12px; border: 1px solid #d6d6db; border-radius: 999px; color: #b0b0b6; font-size: 13px; }
.sw-sms-home { position: absolute; left: 50%; bottom: 7px; z-index: 4; width: 108px; height: 4.5px; border-radius: 999px; background: #000; transform: translateX(-50%); }
.sw-sms-noti { top: 52px; left: 8px; right: 8px; display: flex; gap: 9px; align-items: flex-start; padding: 10px 12px; border-radius: 20px; background: rgba(245, 245, 247, .9); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); box-shadow: 0 8px 26px rgba(0, 0, 0, .16); transform: translateY(-190%); }
.sw-sms-noti > div { flex: 1; min-width: 0; }
.sw-sms-app { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 8px; background: linear-gradient(180deg, #5df777, #0fbe3a) center / cover; position: relative; }
.sw-sms-app::after { content: ""; position: absolute; left: 7px; top: 8px; width: 20px; height: 16px; border-radius: 50%; background: #fff; }
.sw-sms-noti b { font-size: 12.5px; font-weight: 600; }

/* 2026-10-19 홈 CLOUVI 체험 창 — 스크롤 진행(--p)에 따라 작게 들어와 원래 크기로 */
.sw-demo-sec.is-home .sw-demo-stage { --p: 0; transform: scale(calc(.62 + .38 * var(--p))); transform-origin: center 30%; transition: transform .08s linear; will-change: transform; }
@media (max-width: 640px) { .sw-demo-sec.is-home .sw-demo-stage { transform: none; } }
.sw-sms-noti { z-index: 6; opacity: 0; transition: transform .45s cubic-bezier(.2, .9, .3, 1.15), opacity .3s; }
.sw-sms-noti.is-on { opacity: 1; }
@media (min-width: 782px) {
  html body .sw-cv-split .sw-cv-grid.sw-cv-grid:has(.sw-demo-sec.is-home) > .wp-block-column:first-child,
  html body .sw-cv-split .sw-cv-grid.sw-cv-grid:has(.sw-demo-sec.is-home) > .wp-block-column:first-child .sw-section-heading { max-width: 1000px !important; width: 100% !important; }
  html body .sw-cv-split .sw-cv-grid.sw-cv-grid:has(.sw-demo-sec.is-home) > .wp-block-column:first-child .sw-section-heading .sw-lead { width: 100%; max-width: 800px !important; }
}
@media (min-width: 782px) { html body .sw-cv-split .sw-cv-grid.sw-cv-grid:has(.sw-demo-sec.is-home) > .wp-block-column:first-child .sw-section-heading h2 br { display: inline !important; } }

/* 2026-10-19 핵심 가치 v3 — 참고 시안과 다르게: 칸 사이 가는 선, 큰 번호 + 오른쪽 위 파란 선 아이콘(바탕 없음), 영문은 파란 소제목. 마우스를 올리면 위쪽 선이 파랗게 채워짐 */
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid { gap: 0 !important; border-top: 1px solid #dfe6f2; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column { position: relative; padding: 40px 36px 44px !important; border-bottom: 1px solid #dfe6f2; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column:not(:nth-child(3n + 1)) { border-left: 1px solid #dfe6f2; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column::before { content: ""; position: absolute; left: 0; top: -1px; width: 0; height: 2px; background: #2f6bd8; transition: width .45s ease; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column:hover::before { width: 100%; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card { position: relative; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card .sw-value-no.sw-value-no { display: block !important; margin: 0 0 30px !important; color: #2f6bd8 !important; -webkit-text-fill-color: #2f6bd8 !important; font-size: 44px !important; font-weight: 800 !important; line-height: 1 !important; letter-spacing: -.02em !important; background: none !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card .sw-value-icon { position: absolute !important; right: 0; top: 2px; width: 36px !important; height: 36px !important; margin: 0 !important; border-radius: 0 !important; background: #2f6bd8 !important; -webkit-mask: url(assets/images/icons/val-1.svg) center / contain no-repeat !important; mask: url(assets/images/icons/val-1.svg) center / contain no-repeat !important; opacity: .9; transition: transform .3s; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column:nth-child(2) .sw-value-icon { -webkit-mask-image: url(assets/images/icons/val-2.svg) !important; mask-image: url(assets/images/icons/val-2.svg) !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column:nth-child(3) .sw-value-icon { -webkit-mask-image: url(assets/images/icons/val-3.svg) !important; mask-image: url(assets/images/icons/val-3.svg) !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column:nth-child(4) .sw-value-icon { -webkit-mask-image: url(assets/images/icons/val-4.svg) !important; mask-image: url(assets/images/icons/val-4.svg) !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column:nth-child(5) .sw-value-icon { -webkit-mask-image: url(assets/images/icons/val-5.svg) !important; mask-image: url(assets/images/icons/val-5.svg) !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column:nth-child(6) .sw-value-icon { -webkit-mask-image: url(assets/images/icons/val-6.svg) !important; mask-image: url(assets/images/icons/val-6.svg) !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column:hover .sw-value-icon { transform: translateY(-3px) rotate(-6deg); }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card h3 { margin: 0 0 6px !important; font-size: 22px !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card h3::before { content: none !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card .sw-value-en.sw-value-en { margin: 0 0 16px !important; color: #2f6bd8 !important; -webkit-text-fill-color: #2f6bd8 !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .06em !important; text-transform: uppercase !important; }
@media (max-width: 1024px) {
  html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column:not(:nth-child(3n + 1)) { border-left: 0; }
  html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column:nth-child(2n) { border-left: 1px solid #dfe6f2; }
}
@media (max-width: 560px) {
  html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column { padding: 30px 4px 32px !important; border-left: 0 !important; }
  html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card .sw-value-no.sw-value-no { font-size: 34px !important; margin-bottom: 20px !important; }
}
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card .sw-value-no.sw-value-no { position: static !important; inset: auto !important; width: auto !important; height: auto !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; white-space: nowrap !important; text-align: left !important; transform: none !important; opacity: 1 !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card .sw-value-no.sw-value-no::before,
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card .sw-value-no.sw-value-no::after { content: none !important; display: none !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card .sw-value-no.sw-value-no { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; float: none !important; direction: ltr !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card { display: flex !important; flex-direction: column !important; align-items: stretch !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card > * { align-self: stretch !important; margin-left: 0 !important; margin-right: 0 !important; max-width: none !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card .sw-value-icon { align-self: auto !important; }

/* 2026-10-19 CLOUVI 시연 v3 — 쇼핑 도우미 화면 구성: 봇 말풍선(아바타 · 칩 포함), 오른쪽 파란 질문, 상품 묶음(제목 · 설명 · 카드: 버튼 2개 · 색상 · 정가 · 할인가) */
.sw-cvw-body.is-v3 { gap: 14px; padding: 20px 22px; background: #fff !important; }
.sw-cvw-body.is-v3 .sw-cvw-q { padding: 10px 16px !important; border-radius: 10px !important; background: #2f7cf6 !important; box-shadow: none !important; font-size: 14px !important; }
.sw-cvw-b3 { display: flex; align-items: flex-start; gap: 10px; max-width: 88%; }
.sw-cvw-av3 { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; background: #fff url(assets/images/clouvi-mark-2x.png) center / 22px no-repeat; box-shadow: 0 0 0 1px #e3e8f0; }
.sw-cvw-bub3 { padding: 12px 16px; border-radius: 12px; background: #f1f2f5; color: #2b3242; }
.sw-cvw-bub3 p { margin: 0; font-size: 14px; line-height: 1.55; }
.sw-cvw-chips3 { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.sw-cvw-chips3 em { padding: 4px 10px; border: 1px solid #2f7cf6; border-radius: 6px; background: #fff; color: #2f7cf6; font-style: normal; font-size: 12px; font-weight: 600; }
.sw-cvw-chips3 em.is-on { background: #2f7cf6; color: #fff; }
.sw-cvw-sec3 h5 { margin: 4px 0 6px; padding-bottom: 8px; border-bottom: 1px solid #e6e9ef; color: #111827; font-size: 15px; font-weight: 800; }
.sw-cvw-sec3 > p { margin: 0 0 12px; color: #6b7280; font-size: 12.5px; }
.sw-cvw-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.sw-cvw-c3 { display: flex; flex-direction: column; font-size: 12.5px; }
.sw-cvw-img3 { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 4px; background: #f3f4f6 center / cover no-repeat; }
.sw-cvw-img3 em { position: absolute; left: 6px; top: 6px; padding: 2px 6px; background: #111827; color: #fff; font-style: normal; font-size: 10px; font-weight: 800; }
.sw-cvw-btn3 { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 8px; }
.sw-cvw-btn3 i { padding: 4px 0; border: 1px solid #d9dde5; border-radius: 3px; color: #4b5563; font-style: normal; font-size: 11px; text-align: center; }
.sw-cvw-dot3 { display: flex; gap: 4px; margin: 8px 0 6px; }
.sw-cvw-dot3 i { width: 9px; height: 9px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.sw-cvw-c3 b { color: #111827; font-size: 12.5px; font-weight: 600; }
.sw-cvw-c3 s { margin-top: 6px; color: #9ca3af; font-size: 11px; }
.sw-cvw-c3 strong { color: #111827; font-size: 13.5px; font-weight: 800; }
.sw-cvw-c3 strong em { margin-left: 2px; color: #f97316; font-style: normal; font-size: 12px; }
.sw-cvw-body.is-v3 .sw-cvw-items.is-order { margin-left: 40px; max-width: 80%; }
.sw-cvw-grid3 { max-width: 540px; gap: 12px; }
.sw-cvw-img3 { aspect-ratio: 1 / 1.1; }

/* 2026-10-19 커머스 · 오프라인 매장 O2O 솔루션 — 세 원(온라인몰 · 통합멤버십 · CRM) + 비콘 매장 그림, 비콘 설치 매장 막대, 6단계 매장 서비스(아이콘 · 제목 · 설명) */
.sw-o2o { margin-top: 48px; }
.sw-o2o-top { display: grid; grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1.25fr); align-items: center; gap: 24px; }
.sw-o2o-venn { position: relative; width: 100%; max-width: 380px; aspect-ratio: 1 / .92; margin: 0 auto; }
.sw-o2o-venn span { position: absolute; display: grid; width: 56%; aspect-ratio: 1; place-items: center; box-sizing: border-box; border: 1.5px dashed #8fb3ec; border-radius: 50%; background: rgba(47, 107, 216, .05); color: #0f1b33; font-size: 15px; font-weight: 700; line-height: 1.45; text-align: center; transition: background .3s, transform .3s; }
.sw-o2o-venn .is-a { left: 22%; top: 0; }
.sw-o2o-venn .is-b { left: 0; bottom: 0; }
.sw-o2o-venn .is-c { right: 0; bottom: 0; }
.sw-o2o-venn span:hover { background: rgba(47, 107, 216, .12); transform: scale(1.03); }
.sw-o2o-plus { position: relative; width: 40px; height: 40px; margin: 0 auto; }
.sw-o2o-plus::before, .sw-o2o-plus::after { content: ""; position: absolute; left: 50%; top: 50%; width: 40px; height: 2px; background: #2f6bd8; transform: translate(-50%, -50%); }
.sw-o2o-plus::after { transform: translate(-50%, -50%) rotate(90deg); }
.sw-o2o-fig { margin: 0; }
.sw-o2o-fig img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.sw-o2o-bar { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 36px 0 0; padding: 16px 20px; border-radius: 8px; background: #0f1b33; color: #fff; font-size: 17px; font-weight: 800; }
.sw-o2o-bar i { position: relative; width: 10px; height: 10px; border-radius: 50%; background: #5fe3a1; }
.sw-o2o-bar i::after { content: ""; position: absolute; inset: -6px; border: 2px solid #5fe3a1; border-radius: 50%; opacity: 0; animation: sw-o2o-ping 2s ease-out infinite; }
@keyframes sw-o2o-ping { 0% { transform: scale(.5); opacity: .9; } 100% { transform: scale(1.8); opacity: 0; } }
.sw-o2o-flow { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin: 22px 0 0; padding: 0; list-style: none; counter-reset: sw-o2o; }
.sw-o2o-flow::before { content: ""; position: absolute; left: 4%; right: 4%; top: 33px; height: 1px; background: linear-gradient(90deg, transparent, #c9d8f2 8%, #c9d8f2 92%, transparent); }
.sw-o2o-flow li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 0 6px; text-align: center; counter-increment: sw-o2o; }
.sw-o2o-flow svg { position: relative; z-index: 1; box-sizing: content-box; padding: 20px; border-radius: 50%; background: #fff; color: #2f6bd8; box-shadow: 0 0 0 1px #dfe6f2, 0 10px 24px rgba(16, 47, 103, .08); transition: transform .25s, color .25s; }
.sw-o2o-flow li:hover svg { color: #fff; background: #2f6bd8; transform: translateY(-3px); }
.sw-o2o-flow b { margin-top: 8px; color: #0f1b33; font-size: 15px; font-weight: 800; word-break: keep-all; }
.sw-o2o-flow b::before { content: counter(sw-o2o, decimal-leading-zero) " "; color: #2f6bd8; }
.sw-o2o-flow small { color: #6b7488; font-size: 13px; line-height: 1.5; word-break: keep-all; }
@media (max-width: 1024px) { .sw-o2o-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 28px; } .sw-o2o-flow::before { display: none; } }
@media (max-width: 781px) {
  .sw-o2o-top { grid-template-columns: 1fr; }
  .sw-o2o-plus { width: 28px; height: 28px; } .sw-o2o-plus::before, .sw-o2o-plus::after { width: 28px; }
  .sw-o2o-venn span { font-size: 13px; }
  .sw-o2o-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 2026-10-19 sOMP 잠금화면 폰 — 실제 아이폰처럼: 티타늄 테두리 · 측면 버튼, 알약 다이내믹 아일랜드, 상태 막대, 날짜 + 얇은 큰 시계, 둥근 유리 알림, 손전등 · 카메라 버튼, 홈 막대 */
html body .sw-ums-phone.sw-ums-phone { padding: 9px !important; border: 0 !important; border-radius: 56px !important; background: linear-gradient(145deg, #5b5f68 0%, #2b2e34 30%, #17191d 60%, #4a4e57 100%) !important; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .22), 0 0 0 1px #0b0c0f, 0 50px 100px rgba(0, 0, 0, .55) !important; }
html body .sw-ums-phone.sw-ums-phone::before, html body .sw-ums-phone.sw-ums-phone::after { content: none !important; display: none !important; }
html body .sw-ums-phone .sw-ums-screen.sw-ums-screen { border-radius: 47px !important; box-shadow: 0 0 0 3px #050506 !important; }
html body .sw-ums-phone .sw-ums-screen.sw-ums-screen::before { top: 11px !important; width: 96px !important; height: 28px !important; border-radius: 999px !important; background: #000 !important; z-index: 5 !important; }
html body .sw-ums-phone .sw-ums-screen.sw-ums-screen::after { top: 82px !important; font-family: -apple-system, "SF Pro Display", "Inter", sans-serif; font-size: 76px !important; font-weight: 600 !important; letter-spacing: -.03em !important; color: rgba(255, 255, 255, .92) !important; text-shadow: none !important; }
html body .sw-ums-phone .sw-ums-screen.sw-ums-screen { padding-top: 182px !important; }
.sw-ios-status { position: absolute; left: 0; right: 0; top: 0; z-index: 4; display: flex; align-items: center; justify-content: space-between; height: 50px; box-sizing: border-box; padding: 4px 30px 0 36px; color: #fff; font-size: 15px; font-weight: 600; pointer-events: none; }
.sw-ios-status span { display: flex; align-items: center; gap: 5px; }
.sw-ios-status svg { fill: #fff; }
.sw-ios-batt { position: relative; display: block; width: 24px; height: 11.5px; box-sizing: border-box; padding: 1.5px; border: 1px solid rgba(255, 255, 255, .5); border-radius: 3.5px; }
.sw-ios-batt::after { content: ""; position: absolute; right: -3.5px; top: 3.5px; width: 1.5px; height: 3.5px; border-radius: 0 1px 1px 0; background: rgba(255, 255, 255, .5); }
.sw-ios-batt i { display: block; width: 80%; height: 100%; border-radius: 1.5px; background: #fff; }
.sw-ios-date { position: absolute; left: 0; right: 0; top: 60px; z-index: 3; margin: 0; color: rgba(255, 255, 255, .9); font-size: 17px; font-weight: 600; text-align: center; pointer-events: none; }
.sw-ios-btn { position: absolute; bottom: 44px; z-index: 3; display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; background: rgba(30, 30, 40, .38); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); color: #fff; pointer-events: none; }
.sw-ios-btn.is-l { left: 40px; } .sw-ios-btn.is-r { right: 40px; }
.sw-ios-home { position: absolute; left: 50%; bottom: 9px; z-index: 3; width: 120px; height: 5px; border-radius: 999px; background: rgba(255, 255, 255, .85); transform: translateX(-50%); }
.sw-ios-side { position: absolute; width: 3px; border-radius: 2px; background: linear-gradient(90deg, #3a3d44, #6a6e78); }
.sw-ios-side.is-a { left: -3px; top: 17%; height: 4.5%; } .sw-ios-side.is-b { left: -3px; top: 25%; height: 8%; } .sw-ios-side.is-c { left: -3px; top: 35%; height: 8%; } .sw-ios-side.is-p { right: -3px; top: 29%; height: 12%; }
html body .sw-ums-phone .sw-ums-msg.sw-ums-msg { margin-left: 2px !important; margin-right: 2px !important; padding: 12px 14px 12px 56px !important; border: 0 !important; border-radius: 22px !important; background: rgba(245, 245, 250, .2) !important; -webkit-backdrop-filter: blur(26px) saturate(1.6) !important; backdrop-filter: blur(26px) saturate(1.6) !important; box-shadow: none !important; }
html body .sw-ums-phone .sw-ums-msg.sw-ums-msg::before { left: 12px !important; width: 34px !important; height: 34px !important; border-radius: 8px !important; }
html body .sw-ums-phone .sw-ums-msg.sw-ums-msg b { color: rgba(255, 255, 255, .95) !important; font-weight: 700 !important; }
html body .sw-ums-phone .sw-ums-msg.sw-ums-msg::after { color: rgba(255, 255, 255, .6) !important; }
@media (max-width: 781px) { html body .sw-ums-phone .sw-ums-screen.sw-ums-screen::after { top: 70px !important; font-size: 58px !important; } html body .sw-ums-phone .sw-ums-screen.sw-ums-screen { padding-top: 150px !important; } .sw-ios-date { top: 52px; font-size: 14px; } .sw-ios-status { padding: 2px 22px 0 28px; font-size: 13px; } }

/* 2026-10-19 Quick tour 요약본 — 메뉴 아이콘, 첫 화면 '한눈에 보기' 3열 요약 카드(아이콘 · 번호 · 제목 · 설명 · 키워드), 상세 제목 아이콘 · 체크 항목. 아이콘은 바탕 없이 선 아이콘만 */
#demo-tour .sw-demo-nav button { display: flex; align-items: center; gap: 10px; }
#demo-tour .sw-demo-nav button .sw-tq-ico { flex: 0 0 18px; color: #7d8aa3; transition: color .2s; }
#demo-tour .sw-demo-nav button.is-on .sw-tq-ico, #demo-tour .sw-demo-nav button:hover .sw-tq-ico { color: #2f6bd8; }
#demo-tour .sw-tq-label { margin: 26px 0 12px; color: #6b7488; font-size: 13px; font-weight: 700; letter-spacing: .02em; text-align: left; }
#demo-tour .sw-demo-cards.is-summary { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px !important; margin-top: 0 !important; text-align: left; }
#demo-tour .sw-tq-card { position: relative; display: flex !important; flex-direction: column; align-items: flex-start; gap: 6px; min-height: 0 !important; padding: 18px 18px 16px !important; border: 1px solid #e3e9f3 !important; border-radius: 12px !important; background: #fff !important; text-align: left; cursor: pointer; transition: border-color .2s, box-shadow .2s, transform .2s; }
#demo-tour .sw-tq-card:hover { border-color: #9cbcf0 !important; box-shadow: 0 12px 28px rgba(16, 47, 103, .1); transform: translateY(-2px); }
#demo-tour .sw-tq-card .sw-tq-ico { color: #2f6bd8; margin-bottom: 4px; transition: transform .25s; }
#demo-tour .sw-tq-card:hover .sw-tq-ico { transform: scale(1.1); }
#demo-tour .sw-tq-card em { position: absolute; right: 16px; top: 16px; color: #c3cfe3; font-style: normal; font-size: 13px; font-weight: 800; }
#demo-tour .sw-tq-card b { color: #0f1b33; font-size: 15.5px !important; font-weight: 800; line-height: 1.35; word-break: keep-all; }
#demo-tour .sw-tq-card > span { color: #5b667a; font-size: 13px !important; line-height: 1.55; word-break: keep-all; }
#demo-tour .sw-tq-keys { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; font-style: normal; }
#demo-tour .sw-tq-keys small { padding: 3px 8px; border-radius: 999px; background: #f0f4fb; color: #3b5b93; font-size: 11.5px; font-weight: 600; }
#demo-tour .sw-tq-head { display: block; margin-bottom: 10px; color: #2f6bd8; }
#demo-tour .sw-demo-points li { display: flex; align-items: center; gap: 10px; }
#demo-tour .sw-demo-points li::before { content: none !important; display: none !important; }
#demo-tour .sw-tq-chk { flex: 0 0 16px; color: #18a46b; }
@media (max-width: 900px) { #demo-tour .sw-demo-cards.is-summary { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 560px) { #demo-tour .sw-demo-cards.is-summary { grid-template-columns: 1fr !important; } }

/* 2026-10-19 비전 '핵심 원칙' 6개 — 회사소개 핵심 가치와 같은 선 칸 디자인, 아이콘만 원칙에 맞게: 1 돋보기(문제의 본질) · 4 메달(결과와 품질) · 6 새싹(고객 중심 성장) */
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid.is-principles > .wp-block-column:nth-child(1) .sw-value-icon { -webkit-mask-image: url(assets/images/icons/val-7.svg) !important; mask-image: url(assets/images/icons/val-7.svg) !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid.is-principles > .wp-block-column:nth-child(4) .sw-value-icon { -webkit-mask-image: url(assets/images/icons/val-6.svg) !important; mask-image: url(assets/images/icons/val-6.svg) !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid.is-principles > .wp-block-column:nth-child(6) .sw-value-icon { -webkit-mask-image: url(assets/images/icons/val-8.svg) !important; mask-image: url(assets/images/icons/val-8.svg) !important; }
/* SCOS 폰: 배경에 그려진 예전 버튼 원(가운데 34px · 아래 42px · 반지름 21px) 자리에 손전등 · 카메라 버튼을 맞춘다 */
.sw-ums-screen.is-flip .sw-ios-btn { bottom: 21px; width: 42px; height: 42px; background: rgba(30, 30, 40, .2); }
.sw-ums-screen.is-flip .sw-ios-btn.is-l { left: 13px; } .sw-ums-screen.is-flip .sw-ios-btn.is-r { right: 13px; }
.sw-ums-screen.is-flip .sw-ios-home { bottom: 7px; }

/* 2026-10-19 Quick tour — 아이패드 프로(가로)처럼: 얇고 고른 검은 베젤, 실버 알루미늄 테두리, 위쪽 전면 카메라, 화면 안 상태 막대(시간 · 날짜 · Wi-Fi · 배터리)와 홈 막대 */
html body #demo-tour .sw-demo-device { padding: 16px !important; border-radius: 40px !important; background: #0b0c0f !important; box-shadow: 0 0 0 2px #c9ccd2, 0 0 0 4px #9a9ea6, 0 0 0 5px #6d7178, 0 50px 120px rgba(0, 0, 0, .55) !important; }
html body #demo-tour .sw-demo-device::after { left: 50%; top: 6px; bottom: auto; width: 6px; height: 6px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #3b4a6b, #0d1018 70%); }
html body #demo-tour .sw-demo-device::before { content: ""; position: absolute; right: 120px; top: -5px; width: 46px; height: 3px; border-radius: 2px 2px 0 0; background: linear-gradient(180deg, #b9bdc4, #8d9199); }
html body #demo-tour .sw-demo-screen { position: relative; border-radius: 24px !important; padding-top: 26px; padding-bottom: 18px; background: #f5f7fb !important; }
.sw-ipad-status { position: absolute; left: 0; right: 0; top: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; height: 26px; padding: 0 22px; color: #0f1b33; font-size: 12.5px; font-weight: 600; pointer-events: none; }
.sw-ipad-status span { display: flex; align-items: center; gap: 6px; }
.sw-ipad-status svg { fill: #0f1b33; }
.sw-ipad-status em { font-style: normal; font-weight: 500; margin-left: 6px; }
.sw-ipad-batt { position: relative; display: block; width: 24px; height: 11.5px; box-sizing: border-box; padding: 1.5px; border: 1px solid rgba(15, 27, 51, .45); border-radius: 3.5px; }
.sw-ipad-batt::after { content: ""; position: absolute; right: -3.5px; top: 3.5px; width: 1.5px; height: 3.5px; border-radius: 0 1px 1px 0; background: rgba(15, 27, 51, .45); }
.sw-ipad-batt i { display: block; width: 82%; height: 100%; border-radius: 1.5px; background: #0f1b33; }
.sw-ipad-home { position: absolute; left: 50%; bottom: 6px; z-index: 3; width: 140px; height: 5px; border-radius: 999px; background: rgba(15, 27, 51, .78); transform: translateX(-50%); pointer-events: none; }
html body #demo-tour .sw-demo-top { border-radius: 0; }
/* AI · AX 와 마케팅 — 요약 맨 앞에 강조 */
#demo-tour .sw-tq-card.is-key { border-color: #b8ccf3 !important; background: linear-gradient(160deg, #f3f7ff, #fff 60%) !important; }
#demo-tour .sw-tq-card.is-key em { right: auto; left: auto; position: static; order: -1; margin-bottom: 2px; padding: 2px 8px; border-radius: 999px; background: #2f6bd8; color: #fff; font-size: 11px; }
#demo-tour .sw-tq-card.is-key { flex-direction: column; }
#demo-tour .sw-demo-nav .sw-demo-group.is-key { color: #2f6bd8; }
@media (max-width: 781px) { html body #demo-tour .sw-demo-device { padding: 10px !important; border-radius: 28px !important; } .sw-ipad-status em { display: none; } }
/* Quick tour 버튼 위 말풍선 — '핵심만 퀵하게 확인해 보세요' */
.sw-demo-open-wrap { position: relative; }
.sw-qt-bubble { position: absolute; left: 50%; bottom: calc(100% + 12px); z-index: 3; padding: 8px 14px; border-radius: 999px; background: #fff; color: #0f1b33; font-size: 13px; font-weight: 800; white-space: nowrap; box-shadow: 0 10px 26px rgba(0, 0, 0, .22); transform: translateX(-50%); animation: sw-qt-bob 2.4s ease-in-out infinite; pointer-events: none; }
.sw-qt-bubble::after { content: ""; position: absolute; left: 50%; top: 100%; width: 0; height: 0; border: 7px solid transparent; border-top-color: #fff; transform: translateX(-50%); margin-top: -1px; }
@keyframes sw-qt-bob { 0%, 100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, -5px); } }
@media (prefers-reduced-motion: reduce) { .sw-qt-bubble { animation: none; } }

/* 2026-10-19 Quick tour 아이패드 비율 — 가로 4:3(베젤 포함), 화면은 틀 안을 꽉 채움. 메뉴 글자는 낱말 단위 줄바꿈 */
html body #demo-tour .sw-demo-device { display: flex !important; flex-direction: column; box-sizing: border-box; width: min(1120px, 94vw, calc((100vh - 48px) * 4 / 3)) !important; aspect-ratio: 4 / 3; height: auto !important; }
html body #demo-tour .sw-demo-screen { flex: 1 1 auto; height: auto !important; min-height: 0; }
#demo-tour .sw-demo-nav button { word-break: keep-all; }
@media (max-width: 781px) { html body #demo-tour .sw-demo-device { width: 96vw !important; aspect-ratio: 3 / 4; max-height: calc(100vh - 32px); } }
html body #demo-tour .sw-demo-device { overflow: hidden; max-height: calc(100vh - 32px); }
html body #demo-tour .sw-demo-screen { flex: 1 1 0 !important; min-height: 0 !important; display: flex !important; flex-direction: column; }
html body #demo-tour .sw-demo-body { flex: 1 1 0; min-height: 0; }
html body #demo-tour .sw-demo-device { width: min(1120px, 100%, calc((100vh - 48px) * 4 / 3)) !important; margin-inline: auto !important; }
/* 아이패드 위 말풍선 — 틀 바깥 위쪽 가운데. 틀은 넘침 보이기(화면 안쪽만 잘림) */
html body #demo-tour .sw-demo-device { overflow: visible !important; }
#demo-tour .sw-qt-bubble.is-ipad { bottom: calc(100% + 16px); padding: 10px 18px; font-size: 14px; z-index: 5; }
/* 2026-10-19 핵심 원칙 아이콘 v2: 전구 · 과녁 · 상승 막대 · 사람들 · 악수 · 메달 */
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid.is-principles > .wp-block-column:nth-child(1) .sw-value-icon { -webkit-mask-image: url(assets/images/icons/val-1.svg) !important; mask-image: url(assets/images/icons/val-1.svg) !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid.is-principles > .wp-block-column:nth-child(3) .sw-value-icon { -webkit-mask-image: url(assets/images/icons/val-9.svg) !important; mask-image: url(assets/images/icons/val-9.svg) !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid.is-principles > .wp-block-column:nth-child(4) .sw-value-icon { -webkit-mask-image: url(assets/images/icons/val-4.svg) !important; mask-image: url(assets/images/icons/val-4.svg) !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid.is-principles > .wp-block-column:nth-child(6) .sw-value-icon { -webkit-mask-image: url(assets/images/icons/val-6.svg) !important; mask-image: url(assets/images/icons/val-6.svg) !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid.is-principles .sw-value-card h3 { font-size: 20px !important; word-break: keep-all; }
/* 히어로 Quick tour 버튼 위 말풍선은 띄우지 않음(아이패드 위에만) */
.sw-demo-open-wrap .sw-qt-bubble { display: none !important; }
/* Quick tour 제목 · 설명 낱말 단위 줄바꿈 */
#demo-tour .sw-demo-panel h3, #demo-tour .sw-demo-desc { word-break: keep-all; text-wrap: balance; }

/* 2026-10-19 핵심 가치 · 원칙 칸 호버 — 칸은 그대로(들림 · 선 채움 없음), 아이콘만 커짐 */
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column,
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column:hover,
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card,
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card:hover { transform: none !important; box-shadow: none !important; translate: none !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column::before { display: none !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card .sw-value-icon { transform-origin: center; transition: transform .3s cubic-bezier(.2, .9, .3, 1.3) !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column:hover .sw-value-card .sw-value-icon { transform: scale(1.35) !important; }

/* 2026-10-19 마케팅 구조도 — 마우스를 올린 요소 하나만 커짐(브랜드 가치 성장 · 각 기둥 카드 · 안쪽 항목 · 통합 관제 띠) */
.sw-mkt-root, .sw-mkt-box, .sw-mkt-box span, .sw-mkt-band { transition: transform .3s cubic-bezier(.2, .9, .3, 1.25), box-shadow .3s ease !important; }
.sw-mkt-root:hover { transform: scale(1.08) !important; box-shadow: 0 18px 40px rgba(76, 60, 220, .35) !important; }
.sw-mkt-pillars > li { position: relative; }
.sw-mkt-pillars > li:hover { z-index: 2; }
.sw-mkt-box:hover { transform: scale(1.06) !important; box-shadow: 0 20px 44px rgba(16, 47, 103, .2) !important; }
.sw-mkt-box span { display: block; transform-origin: center; }
.sw-mkt-box span:hover { transform: scale(1.12) !important; color: #2f6bd8; }
.sw-mkt-band:hover { transform: scale(1.03) !important; box-shadow: 0 18px 40px rgba(31, 79, 159, .3) !important; }
@media (prefers-reduced-motion: reduce) { .sw-mkt-root:hover, .sw-mkt-box:hover, .sw-mkt-box span:hover, .sw-mkt-band:hover { transform: none !important; } }
/* 2026-10-19 핵심 가치 · 원칙 호버 — 아이콘과 함께 제목 · 영문 문구도 왼쪽 기준으로 커짐 */
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card h3,
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid .sw-value-card .sw-value-en.sw-value-en { transform-origin: left center; transition: transform .3s cubic-bezier(.2, .9, .3, 1.3) !important; }
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column:hover .sw-value-card h3,
html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column:hover .sw-value-card .sw-value-en.sw-value-en { transform: scale(1.08) !important; }
@media (prefers-reduced-motion: reduce) { html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column:hover .sw-value-card h3, html body .sw-value-grid.sw-value-grid.sw-value-grid.sw-value-grid > .wp-block-column:hover .sw-value-card .sw-value-en.sw-value-en { transform: none !important; } }
/* 2026-10-19 마케팅 왼쪽 목록(COMMERCE · MARKETING · DATA · 맺음말) — 올린 항목만 왼쪽 기준으로 커짐 */
.sw-mkt-pts > li { transform-origin: left center; transition: transform .3s cubic-bezier(.2, .9, .3, 1.25) !important; cursor: default; }
.sw-mkt-pts > li:hover { transform: scale(1.08) !important; }
@media (prefers-reduced-motion: reduce) { .sw-mkt-pts > li:hover { transform: none !important; } }
/* 2026-10-19 sOMP 채널 카드(문자 · RCS · 카카오비즈 · 앱 푸시 · 이메일) — 올린 카드만 커지고 옆 카드 위로 */
.sw-ums-channels .sw-ums-channel { position: relative; transition: transform .3s cubic-bezier(.2, .9, .3, 1.25), box-shadow .3s ease !important; }
.sw-ums-channels .sw-ums-channel:hover { z-index: 2; transform: scale(1.06) !important; box-shadow: 0 20px 44px rgba(16, 47, 103, .14) !important; }
@media (prefers-reduced-motion: reduce) { .sw-ums-channels .sw-ums-channel:hover { transform: none !important; } }

/* 2026-10-19 AX 수행 범위 카드 6장 — 아이콘 박스 · 빛 번짐 없이 아이콘만 카드 색(--c1)으로 */
html body .sw-mob-scope li > span, html body .sw-mob-scope span { width: auto !important; height: auto !important; justify-content: start !important; place-items: start !important; padding: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; color: var(--c1, #2f6bd8) !important; }
html body .sw-mob-scope span svg { width: 34px !important; height: 34px !important; stroke-width: 1.8; transition: transform .3s cubic-bezier(.2, .9, .3, 1.3); }
html body .sw-mob-scope li::before { display: none !important; }
html body .sw-mob-scope li:hover span svg { transform: scale(1.15); }

/* 2026-10-19 공통 관리 체계 알약 — 올린 알약 하나만 커짐 */
.sw-mth-gov span { transition: transform .25s cubic-bezier(.2, .9, .3, 1.3), background .25s !important; cursor: default; }
.sw-mth-gov span:hover { transform: scale(1.1) !important; background: rgba(255, 255, 255, .12) !important; }
@media (prefers-reduced-motion: reduce) { .sw-mth-gov span:hover, html body .sw-mob-scope li:hover span svg { transform: none !important; } }

/* 2026-10-19 SCOS e-Commerce 인프라 아키텍처 — SVG 도식(서비스 · 비즈니스 · 외부 연계 레이어). 박스에 마우스를 올리면 그 박스만 커짐. 좁은 화면은 가로 스크롤 */
.sw-infra { margin-top: 40px; padding: 28px 28px 20px; border: 1px solid #e3e9f3; border-radius: 16px; background: #fff; box-shadow: 0 20px 50px rgba(16, 47, 103, .06); }
.sw-infra-title { margin: 0 0 8px; color: #0f1b33; font-size: 17px; font-weight: 800; }
.sw-infra-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.sw-infra-svg { display: block; width: 100%; min-width: 880px; height: auto; font-family: inherit; }
.sw-infra-layer { fill: #f7faff; stroke: #b9cbe8; stroke-width: 1.2; stroke-dasharray: 5 5; }
.sw-infra-node rect { fill: #fff; stroke: #dfe6f1; stroke-width: 1.2; }
.sw-infra-node text { fill: #3b4354; font-size: 17px; font-weight: 500; }
.sw-infra-node.is-client rect { fill: #f3f5f9; stroke: none; }
.sw-infra-node.is-client text, .sw-infra-node.is-net text { fill: #1a2233; font-size: 18px; }
.sw-infra-ico rect, .sw-infra-ico circle, .sw-infra-ico path { fill: none; stroke: #2b3242; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sw-infra-ico .is-cursor { fill: #fff; }
.sw-infra-pill rect { fill: #2f6bd8; }
.sw-infra-pill text { fill: #fff; font-size: 18px; font-weight: 800; }
.sw-infra-ln { fill: none; stroke-width: 1.6; }
.sw-infra-ln.is-dark { stroke: #3b4354; }
.sw-infra-ln.is-blue { stroke: #2f6bd8; }
.sw-infra-ln.is-light { stroke: #9fc0f2; }
.sw-infra-dot { fill: #3b4354; }
.sw-infra-lbl { fill: #1a2233; font-size: 16px; font-weight: 700; paint-order: stroke; stroke: #fff; stroke-width: 6px; stroke-linejoin: round; }
.sw-infra-node, .sw-infra-pill { transform-box: fill-box; transform-origin: center; transition: transform .3s cubic-bezier(.2, .9, .3, 1.25); cursor: default; }
.sw-infra-node:hover, .sw-infra-pill:hover { transform: scale(1.08); }
.sw-infra-node:hover rect { stroke: #2f6bd8; filter: drop-shadow(0 8px 16px rgba(47, 107, 216, .18)); }
.sw-infra-node.is-client:hover rect, .sw-infra-node.is-net:hover rect { filter: none; }
@media (prefers-reduced-motion: reduce) { .sw-infra-node:hover, .sw-infra-pill:hover { transform: none; } }
@media (max-width: 781px) { .sw-infra { padding: 18px 14px 12px; } }
/* 인프라 도식: 넓은 폭(최대 1320px), 클라이언트 패널 배경은 바깥 사각형에만 */
.sw-infra { box-sizing: border-box; width: min(1320px, calc(100vw - 48px)); max-width: none !important; margin-left: calc(50% - min(660px, 50vw - 24px)) !important; margin-right: 0 !important; }
.sw-infra-node.is-client rect { fill: none; stroke: #2b3242; }
.sw-infra-node.is-client > rect { fill: #f3f5f9; stroke: none; }
@media (max-width: 781px) { .sw-infra { width: auto; margin-left: 0 !important; } }

/* 2026-10-19 CLOUVI 시연 — 아이패드 프로(가로 4:3) 안의 쇼핑 대화 화면. 틀 바깥 떠 있는 배지는 숨김 */
.sw-ipad { position: relative; box-sizing: border-box; width: min(960px, 100%); aspect-ratio: 4 / 3; margin: 0 auto; padding: 16px; border-radius: 42px; background: #0b0c0f; box-shadow: 0 0 0 2px #c9ccd2, 0 0 0 4px #9a9ea6, 0 0 0 5px #6d7178, 0 40px 90px rgba(16, 27, 51, .28); }
.sw-ipad::before { content: ""; position: absolute; left: 50%; top: 6px; width: 6px; height: 6px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #3b4a6b, #0d1018 70%); transform: translateX(-50%); }
.sw-ipad::after { content: ""; position: absolute; right: 120px; top: -5px; width: 46px; height: 3px; border-radius: 2px 2px 0 0; background: linear-gradient(180deg, #b9bdc4, #8d9199); }
.sw-ipad-scr { position: relative; display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: 26px; background: #fff; }
.sw-ipad-scr > .sw-ipad-status { position: relative; flex: 0 0 26px; height: 26px; }
.sw-ipad-scr > .sw-ipad-home { bottom: 6px; }
html body .sw-ipad .sw-cvw { flex: 1 1 0; display: flex !important; flex-direction: column; width: 100% !important; max-width: none !important; min-height: 0; margin: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; overflow: hidden; }
html body .sw-ipad .sw-cvw > * { flex: 0 0 auto; }
html body .sw-ipad .sw-cvw .sw-cvw-window, html body .sw-ipad .sw-cvw-window { flex: 1 1 0; display: flex; flex-direction: column; min-height: 0; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
html body .sw-ipad .sw-cvw-body.is-js { flex: 1 1 0 !important; height: auto !important; min-height: 0 !important; }
html body .sw-ipad .sw-cvw-input { margin-bottom: 18px !important; }
html body .sw-ipad .sw-cvw-badge, html body .sw-ipad .sw-cvw-bot { display: none !important; }
.sw-demo-sec .sw-demo-stage:has(.sw-ipad) { padding-top: 24px !important; }
@media (max-width: 781px) { .sw-ipad { padding: 10px; border-radius: 28px; aspect-ratio: 3 / 4; } .sw-ipad-scr { border-radius: 20px; } .sw-ipad-status em { display: none; } }
/* 아이패드 속 CLOUVI — 어두운 섹션(홈)의 글자색 규칙을 받지 않게 */
html body .sw-ipad .sw-cvw-bub3 p { color: #2b3242 !important; -webkit-text-fill-color: #2b3242 !important; opacity: 1 !important; }
html body .sw-ipad .sw-cvw-sec3 > p { display: block !important; color: #6b7280 !important; -webkit-text-fill-color: #6b7280 !important; opacity: 1 !important; }
html body .sw-ipad .sw-cvw-sec3 h5, html body .sw-ipad .sw-cvw-c3 b, html body .sw-ipad .sw-cvw-c3 strong { color: #111827 !important; -webkit-text-fill-color: #111827 !important; }
html body .sw-ipad .sw-cvw-c3 strong em { color: #f97316 !important; -webkit-text-fill-color: #f97316 !important; }
/* 인프라 도식 지구본: 선 2px 남색, 지구 면은 옅은 하늘색, 커서는 흰 바탕 + 남색 테두리 */
.sw-infra-ico.is-globe circle { fill: #eef4ff; stroke: #1f3f7a; stroke-width: 2; }
.sw-infra-ico.is-globe ellipse, .sw-infra-ico.is-globe path { fill: none; stroke: #1f3f7a; stroke-width: 1.6; }
.sw-infra-ico.is-globe .is-cursor { fill: #fff; stroke: #0f1b33; stroke-width: 2; stroke-linejoin: round; }

/* 2026-10-19 CX 대시보드 — 웹 화면처럼: 밝은 브라우저 막대(뒤로 · 앞으로 · 주소창, 신호등 점 없음) + 어두운 콘솔 앱 메뉴 */
.sw-web { overflow: hidden; border-radius: 14px; background: #0b1430; box-shadow: 0 0 0 1px rgba(15, 27, 51, .14), 0 30px 70px rgba(16, 27, 51, .3); }
.sw-web-bar { display: flex; align-items: center; gap: 12px; height: 36px; padding: 0 14px; background: #eef1f6; border-bottom: 1px solid #dde2ea; }
.sw-web-nav { display: flex; gap: 10px; }
.sw-web-nav i { width: 7px; height: 7px; border-left: 2px solid #8a93a6; border-bottom: 2px solid #8a93a6; transform: rotate(45deg); }
.sw-web-nav i + i { transform: rotate(-135deg); opacity: .5; }
.sw-web-url { flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px; height: 24px; max-width: 360px; margin: 0 auto; border-radius: 999px; background: #fff; color: #4b556a; font-size: 12px; font-weight: 500; box-shadow: inset 0 0 0 1px #dde2ea; }
.sw-web-url svg { color: #18a46b; }
.sw-web-app { display: flex; align-items: center; gap: 18px; height: 46px; padding: 0 16px; border-bottom: 1px solid rgba(255, 255, 255, .08); background: #0e1838; color: #fff; }
.sw-web-app b { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; white-space: nowrap; }
.sw-web-app b img { width: 22px; height: 22px; border-radius: 50%; background: #fff; }
.sw-web-app b em { color: #7fb3ff; font-style: normal; font-weight: 600; }
.sw-web-app nav { display: flex; gap: 4px; margin-left: 8px; }
.sw-web-app nav span { padding: 6px 12px; border-radius: 8px; color: rgba(255, 255, 255, .6); font-size: 12.5px; font-weight: 600; }
.sw-web-app nav span.is-on { background: rgba(127, 179, 255, .16); color: #fff; }
.sw-web-user { display: grid; width: 28px; height: 28px; margin-left: auto; place-items: center; border-radius: 50%; background: linear-gradient(135deg, #2f6bd8, #6a3df0); color: #fff; font-style: normal; font-size: 11px; font-weight: 800; }
.sw-web-page { padding: 0; }
html body .sw-web .sw-cx { border-radius: 0 !important; box-shadow: none !important; }
@media (max-width: 560px) { .sw-web-app nav span:nth-child(n+3) { display: none; } }

/* 2026-10-19 CX 대시보드 웹 화면 v2 — 가로형(1000px): 왼쪽 아이콘 메뉴, KPI 4개 한 줄, 차트 + 세그먼트 도넛, 추천 액션 표. 설명 글은 위, 웹 화면은 아래 넓게 */
html body .sw-web .sw-cx.sw-cx { width: 1000px !important; grid-template-columns: 56px 1fr !important; border-radius: 0 !important; }
html body .sw-web .sw-cx .sw-cx-side { display: flex !important; }
html body .sw-web .sw-cx .sw-cx-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
html body .sw-web .sw-cx .sw-cx-row { display: grid !important; grid-template-columns: 1.55fr 1fr !important; gap: 10px; }
html body .sw-web .sw-cx .sw-cx-row.is-2 { grid-template-columns: 1fr !important; }
html body .sw-web .sw-cx .sw-cx-card.is-seg { display: block !important; }
html body .sw-web .sw-cx .sw-cx-card.is-sup { display: none !important; }
.sw-web { width: fit-content; max-width: 100%; margin-inline: auto; }
.sw-ov-grid:has(.sw-web) { flex-direction: column !important; align-items: center !important; gap: 36px !important; }
.sw-ov-grid:has(.sw-web) > .wp-block-column { flex: 0 0 auto !important; width: 100% !important; max-width: 1000px; }
html body .sw-web .sw-cx.sw-cx .sw-cx-row:not(.is-2) .sw-cx-card.is-seg { display: block !important; }

/* 2026-10-19 '질문에서 상품까지 네 단계' 예시 칩 — 카드 폭 가득, 왼쪽에 단계 아이콘(패딩 재킷 · 데이터 매칭 · 구매 이력 · 상품 카드→대화) */
html body .sw-steps.is-flow4 .sw-step .sw-step-ex { display: flex !important; align-items: center; gap: 12px; width: 100% !important; max-width: none !important; box-sizing: border-box; margin-left: 0 !important; margin-right: 0 !important; padding: 12px 14px !important; }
html body .sw-steps.is-flow4 .sw-step .sw-step-ex::before { content: "" !important; position: static !important; display: block !important; flex: 0 0 34px; width: 34px !important; height: 34px !important; margin: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: #2f6bd8 !important; -webkit-mask: url(assets/images/icons/flow-1.svg) center / contain no-repeat; mask: url(assets/images/icons/flow-1.svg) center / contain no-repeat; transform: none !important; }
html body .sw-steps.is-flow4 .sw-step:nth-child(2) .sw-step-ex::before { -webkit-mask-image: url(assets/images/icons/flow-2.svg); mask-image: url(assets/images/icons/flow-2.svg); }
html body .sw-steps.is-flow4 .sw-step:nth-child(3) .sw-step-ex::before { -webkit-mask-image: url(assets/images/icons/flow-3.svg); mask-image: url(assets/images/icons/flow-3.svg); }
html body .sw-steps.is-flow4 .sw-step:nth-child(4) .sw-step-ex::before { -webkit-mask-image: url(assets/images/icons/flow-4.svg); mask-image: url(assets/images/icons/flow-4.svg); }

/* 2026-10-19 AI 개인화 '도입 효과' 4장 — 제목 색을 아이콘 · 번호 색과 맞춤(파랑 · 보라 · 청록 · 초록), 그라데이션 글자 해제 */
html body.page-template-page-product-ai-platform .sw-ums-why .sw-ums-feature h3 { background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; }
html body.page-template-page-product-ai-platform .sw-ums-why .sw-ums-feature:nth-child(1) h3 { color: #2f6bff !important; -webkit-text-fill-color: #2f6bff !important; }
html body.page-template-page-product-ai-platform .sw-ums-why .sw-ums-feature:nth-child(2) h3 { color: #7a4dff !important; -webkit-text-fill-color: #7a4dff !important; }
html body.page-template-page-product-ai-platform .sw-ums-why .sw-ums-feature:nth-child(3) h3 { color: #0e9fb3 !important; -webkit-text-fill-color: #0e9fb3 !important; }
html body.page-template-page-product-ai-platform .sw-ums-why .sw-ums-feature:nth-child(4) h3 { color: #13806e !important; -webkit-text-fill-color: #13806e !important; }

/* 2026-10-19 CX 콘솔 왼쪽 메뉴 — 빈 네모 대신 실제 메뉴: 아이콘 + 이름(대시보드 · 고객 · 캠페인 · AI 추천 · 챗봇 · 리포트 · 설정) */
html body .sw-web .sw-cx.sw-cx { grid-template-columns: 76px 1fr !important; }
html body .sw-web .sw-cx .sw-cx-side { gap: 4px !important; padding: 12px 0 !important; background: rgba(5, 10, 26, .35); }
html body .sw-web .sw-cx .sw-cx-side i { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 5px; width: 62px; height: auto; padding: 9px 0 7px; border-radius: 10px; background: none; box-shadow: none; color: rgba(255, 255, 255, .55); font-style: normal; font-size: 10.5px; font-weight: 600; line-height: 1; }
html body .sw-web .sw-cx .sw-cx-side i::before { content: ""; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--ci) center / contain no-repeat; mask: var(--ci) center / contain no-repeat; }
html body .sw-web .sw-cx .sw-cx-side i::after { position: static; inset: auto; border: 0; border-radius: 0; content: var(--cl); }
html body .sw-web .sw-cx .sw-cx-side i.is-logo { display: none; }
html body .sw-web .sw-cx .sw-cx-side i.is-on { background: rgba(79, 140, 255, .18); color: #fff; box-shadow: inset 2px 0 0 #4f8cff; }
html body .sw-web .sw-cx .sw-cx-side i:nth-child(2) { --ci: url(assets/images/icons/cx-1.svg); --cl: "대시보드"; }
html body .sw-web .sw-cx .sw-cx-side i:nth-child(3) { --ci: url(assets/images/icons/cx-2.svg); --cl: "고객"; }
html body .sw-web .sw-cx .sw-cx-side i:nth-child(4) { --ci: url(assets/images/icons/cx-3.svg); --cl: "캠페인"; }
html body .sw-web .sw-cx .sw-cx-side i:nth-child(5) { --ci: url(assets/images/icons/cx-4.svg); --cl: "AI 추천"; }
html body .sw-web .sw-cx .sw-cx-side i:nth-child(6) { --ci: url(assets/images/icons/cx-5.svg); --cl: "챗봇"; }
html body .sw-web .sw-cx .sw-cx-side i:nth-child(7) { --ci: url(assets/images/icons/cx-6.svg); --cl: "리포트"; }
html body .sw-web .sw-cx .sw-cx-side i.is-bottom { --ci: url(assets/images/icons/cx-7.svg); --cl: "설정"; }
html[lang^="en"] body .sw-web .sw-cx .sw-cx-side i:nth-child(2) { --cl: "Home"; }
html[lang^="en"] body .sw-web .sw-cx .sw-cx-side i:nth-child(3) { --cl: "Customers"; }
html[lang^="en"] body .sw-web .sw-cx .sw-cx-side i:nth-child(4) { --cl: "Campaigns"; }
html[lang^="en"] body .sw-web .sw-cx .sw-cx-side i:nth-child(5) { --cl: "AI picks"; }
html[lang^="en"] body .sw-web .sw-cx .sw-cx-side i:nth-child(6) { --cl: "Chatbot"; }
html[lang^="en"] body .sw-web .sw-cx .sw-cx-side i:nth-child(7) { --cl: "Reports"; }
html[lang^="en"] body .sw-web .sw-cx .sw-cx-side i.is-bottom { --cl: "Settings"; }
/* 2026-10-19 '질문에서 상품까지 네 단계' — 카드 줄 가로 폭 넓힘(최대 1440px) */
@media (min-width: 1025px) {
  html body .sw-steps.is-flow4 { box-sizing: border-box; width: min(1440px, calc(100vw - 48px)) !important; max-width: none !important; margin-left: calc(50% - min(720px, 50vw - 24px)) !important; margin-right: 0 !important; }
  html body .sw-steps.is-flow4 .sw-step { padding-left: 30px !important; padding-right: 30px !important; }
}

/* 2026-10-19 오시는 길 교통편 — 지하철 노선 번호 배지(노선 공식 색) + 출구 · 도보 시간 */
.sw-subway { display: grid; gap: 10px; margin: 6px 0 0; padding: 0; list-style: none; }
.sw-subway li { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; color: #1f2937; }
.sw-subway li::before { content: none !important; }
.sw-subway i { display: grid; flex: 0 0 24px; width: 24px; height: 24px; place-items: center; border-radius: 50%; color: #fff; font-style: normal; font-size: 13px; font-weight: 800; line-height: 1; }
.sw-subway .is-l1 { background: #0052a4; } .sw-subway .is-l2 { background: #00a84d; } .sw-subway .is-l5 { background: #996cac; } .sw-subway .is-l6 { background: #cd7c2f; }
.sw-subway .is-gj { background: #77c4a3; } .sw-subway .is-ap { background: #0090d2; }
html body .sw-card .sw-subway li { padding-left: 0 !important; color: #1f2937 !important; font-size: 15px !important; font-weight: 600 !important; }
html body .sw-card .sw-subway li::before, html body .sw-card .sw-subway li::after { content: none !important; display: none !important; }

/* 2026-10-19 CX 콘솔 실감 — 창 그림자 · 테두리, 카드 위쪽 빛 · 안쪽 테두리 · 깊은 그림자, 헤더 · 사이드 음영, 표 줄 강조, 말풍선 그림자 */
.sw-web { border: 1px solid rgba(15, 27, 51, .18); box-shadow: 0 2px 4px rgba(15, 27, 51, .08), 0 24px 48px -12px rgba(15, 27, 51, .35), 0 60px 120px -30px rgba(15, 27, 51, .45) !important; }
.sw-web-bar { background: linear-gradient(180deg, #f6f7fa, #e9ecf2) !important; box-shadow: inset 0 -1px 0 #d6dbe4; }
.sw-web-url { box-shadow: inset 0 0 0 1px #d6dbe4, 0 1px 2px rgba(15, 27, 51, .06) !important; }
.sw-web-app { background: linear-gradient(180deg, #13204a, #0d1838) !important; box-shadow: 0 6px 14px rgba(0, 0, 0, .35); position: relative; z-index: 2; }
.sw-web-user { box-shadow: 0 0 0 2px rgba(255, 255, 255, .15), 0 4px 10px rgba(79, 70, 229, .45); }
html body .sw-web .sw-cx .sw-cx-side { background: linear-gradient(180deg, rgba(5, 10, 26, .55), rgba(5, 10, 26, .3)) !important; box-shadow: inset -1px 0 0 rgba(255, 255, 255, .06), 6px 0 18px rgba(0, 0, 0, .25); }
html body .sw-web .sw-cx .sw-cx-kpi, html body .sw-web .sw-cx .sw-cx-card { background: linear-gradient(180deg, rgba(255, 255, 255, .065), rgba(255, 255, 255, .02)) !important; border: 1px solid rgba(255, 255, 255, .08) !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 10px 24px rgba(0, 0, 0, .35), 0 2px 4px rgba(0, 0, 0, .25) !important; }
html body .sw-web .sw-cx .sw-cx-kpi b { text-shadow: 0 2px 12px rgba(127, 179, 255, .25); }
html body .sw-web .sw-cx .sw-cx-tip { box-shadow: 0 12px 28px rgba(0, 0, 0, .45), 0 2px 6px rgba(0, 0, 0, .3) !important; }
html body .sw-web .sw-cx .sw-cx-chip { box-shadow: 0 4px 12px rgba(47, 107, 216, .45); }
html body .sw-web .sw-cx table tbody tr:first-child td { background: rgba(127, 179, 255, .07); }
html body .sw-web .sw-cx .sw-cx-donut { filter: drop-shadow(0 8px 18px rgba(79, 140, 255, .3)); }
html body .sw-web .sw-cx .sw-cx-side i.is-on { box-shadow: inset 2px 0 0 #4f8cff, 0 6px 16px rgba(47, 107, 216, .3) !important; }
/* 5호선 배지 — 지도 앱 표기 색(진한 보라) */
html body .sw-subway .is-l5 { background: #8b50a4 !important; }
/* 5호선 배지 — 보내준 참고 색(#8936E0) */
html body .sw-subway .is-l5 { background: #8936e0 !important; }

/* 2026-10-19 AI 개인화 '커머스에 바로 쓰는 AI' 6장 — 내용에 맞는 선 아이콘(상담 · 수요 예측 · 작업 수행 · 할인 · 문구 생성 · 코드), 제목과 같은 보라 */
body.page-template-page-product-ai-platform #cases .sw-ums-feature::before { content: ""; display: block; width: 34px; height: 34px; margin: 0 0 16px; background: #7a4dff; -webkit-mask: url(assets/images/icons/aic-1.svg) center / contain no-repeat; mask: url(assets/images/icons/aic-1.svg) center / contain no-repeat; transition: transform .3s cubic-bezier(.2, .9, .3, 1.3); }
body.page-template-page-product-ai-platform #cases .sw-ums-feature:nth-child(2)::before { -webkit-mask-image: url(assets/images/icons/aic-2.svg); mask-image: url(assets/images/icons/aic-2.svg); }
body.page-template-page-product-ai-platform #cases .sw-ums-feature:nth-child(3)::before { -webkit-mask-image: url(assets/images/icons/aic-3.svg); mask-image: url(assets/images/icons/aic-3.svg); }
body.page-template-page-product-ai-platform #cases .sw-ums-feature:nth-child(4)::before { -webkit-mask-image: url(assets/images/icons/aic-4.svg); mask-image: url(assets/images/icons/aic-4.svg); }
body.page-template-page-product-ai-platform #cases .sw-ums-feature:nth-child(5)::before { -webkit-mask-image: url(assets/images/icons/aic-5.svg); mask-image: url(assets/images/icons/aic-5.svg); }
body.page-template-page-product-ai-platform #cases .sw-ums-feature:nth-child(6)::before { -webkit-mask-image: url(assets/images/icons/aic-6.svg); mask-image: url(assets/images/icons/aic-6.svg); }
body.page-template-page-product-ai-platform #cases .sw-ums-feature:hover::before { transform: scale(1.15); }

/* 2026-10-19 '유사 고객으로 찾아내는 추천' STEP 표시 보완 — 'STEP 01' 글자 대신 단계 아이콘(이력 · 학습 · 매칭) + 번호 배지, 단계 사이 화살표 */
body.page-template-page-product-ai-platform .sw-steps:not(.is-flow4) .sw-step { position: relative; }
body.page-template-page-product-ai-platform .sw-steps:not(.is-flow4) .sw-step-no { display: flex !important; align-items: center; gap: 12px; margin: 0 0 14px !important; font-size: 0 !important; letter-spacing: 0 !important; }
body.page-template-page-product-ai-platform .sw-steps:not(.is-flow4) .sw-step-no::before { content: ""; display: block; width: 40px; height: 40px; background: #2f6bd8; -webkit-mask: url(assets/images/icons/step-1.svg) center / contain no-repeat; mask: url(assets/images/icons/step-1.svg) center / contain no-repeat; }
body.page-template-page-product-ai-platform .sw-steps:not(.is-flow4) .sw-step:nth-child(2) .sw-step-no::before { -webkit-mask-image: url(assets/images/icons/step-2.svg); mask-image: url(assets/images/icons/step-2.svg); }
body.page-template-page-product-ai-platform .sw-steps:not(.is-flow4) .sw-step:nth-child(3) .sw-step-no::before { -webkit-mask-image: url(assets/images/icons/step-3.svg); mask-image: url(assets/images/icons/step-3.svg); }
body.page-template-page-product-ai-platform .sw-steps:not(.is-flow4) .sw-step-no::after { content: "1"; display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: #eaf1fd; color: #2f6bd8; font-size: 12px; font-weight: 800; }
body.page-template-page-product-ai-platform .sw-steps:not(.is-flow4) .sw-step:nth-child(2) .sw-step-no::after { content: "2"; }
body.page-template-page-product-ai-platform .sw-steps:not(.is-flow4) .sw-step:nth-child(3) .sw-step-no::after { content: "3"; }

/* 2026-10-21 AI Services 목록(.sw-axs-col) 형광펜 애니메이션 삭제(사용자 요청) */

/* 2026-10-19 Quick tour 상단 로고 마크 + 이름 */
#demo-tour .sw-demo-top b { display: inline-flex; align-items: center; gap: 8px; }
#demo-tour .sw-demo-logo { width: 26px; height: 26px; object-fit: contain; }


/* 2026-10-19 STEP 번호 배지: 칸 순서대로 자동 번호(1~5), 구축 절차(#process) 5단계는 각자 아이콘(상담 · 데이터 진단 · 연동 구축 · 검증 · 고도화) */
body.page-template-page-product-ai-platform .sw-steps:not(.is-flow4) { counter-reset: swstep; }
body.page-template-page-product-ai-platform .sw-steps:not(.is-flow4) .sw-step { counter-increment: swstep; }
body.page-template-page-product-ai-platform .sw-steps:not(.is-flow4) .sw-step .sw-step-no::after { content: counter(swstep) !important; }
body.page-template-page-product-ai-platform #process .sw-steps .sw-step:nth-child(1) .sw-step-no::before { -webkit-mask-image: url(assets/images/icons/step-4.svg); mask-image: url(assets/images/icons/step-4.svg); }
body.page-template-page-product-ai-platform #process .sw-steps .sw-step:nth-child(2) .sw-step-no::before { -webkit-mask-image: url(assets/images/icons/step-5.svg); mask-image: url(assets/images/icons/step-5.svg); }
body.page-template-page-product-ai-platform #process .sw-steps .sw-step:nth-child(3) .sw-step-no::before { -webkit-mask-image: url(assets/images/icons/step-6.svg); mask-image: url(assets/images/icons/step-6.svg); }
body.page-template-page-product-ai-platform #process .sw-steps .sw-step:nth-child(4) .sw-step-no::before { -webkit-mask-image: url(assets/images/icons/step-7.svg); mask-image: url(assets/images/icons/step-7.svg); }
body.page-template-page-product-ai-platform #process .sw-steps .sw-step:nth-child(5) .sw-step-no::before { -webkit-mask-image: url(assets/images/icons/step-8.svg); mask-image: url(assets/images/icons/step-8.svg); }

/* 2026-10-19 AI 사업 CLOUVI 블록 — 옛 콘솔 이미지 대신 AI 개인화와 같은 웹 콘솔 화면 */
.sw-clv-shot.is-cx { margin: 0; overflow: visible; background: none !important; box-shadow: none !important; border: 0 !important; }
.sw-clv-shot.is-cx .sw-web { width: 100%; }
html body .sw-clv-shot.is-cx .sw-web-app b img { position: static !important; width: 22px !important; height: 22px !important; max-width: none !important; margin: 0 !important; border-radius: 50% !important; box-shadow: none !important; transform: none !important; object-fit: contain !important; }
html body .sw-web-app nav span, html body .sw-web-app b { white-space: nowrap; }
html body .sw-clv-shot.is-cx::before, html body .sw-clv-shot.is-cx::after { display: none !important; }

/* 2026-10-19 웹 콘솔 화면 — 마우스를 올리면 살짝 커짐 */
.sw-web { transition: transform .4s cubic-bezier(.2, .8, .2, 1), box-shadow .4s ease !important; transform-origin: center; }
.sw-web:hover { transform: scale(1.04); position: relative; z-index: 2; }
@media (prefers-reduced-motion: reduce) { .sw-web:hover { transform: none; } }

/* 2026-10-19 영문 페이지 body 에 붙는 언어 표시 클래스(sw-en)가 글자 강조 규칙(.sw-en)을 받아 전체 글자가 보라색이 되던 문제 차단 */
html body.sw-en { color: inherit !important; -webkit-text-fill-color: currentColor !important; font-weight: inherit !important; }
html body.sw-en { color: var(--wp--preset--color--ink, #17243a) !important; }

/* 2026-10-19 솔루션 상세 'AI 기능' 섹션 — 4장 카드(선 아이콘 · 제목 · 설명), 개요 카드의 AI 문구를 상세에서 뒷받침. 호버 시 카드 확대 */
.sw-ai-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 36px auto 0; padding: 0; list-style: none; }
.sw-ai-cards li { padding: 26px 22px; border: 1px solid #e3e9f3; border-radius: 12px; background: linear-gradient(160deg, #f6f3ff, #fff 55%); transition: transform .3s cubic-bezier(.2, .9, .3, 1.25), box-shadow .3s; }
.sw-ai-cards li::before { content: none !important; }
.sw-ai-cards li:hover { transform: scale(1.04); box-shadow: 0 18px 40px rgba(76, 60, 220, .14); }
.sw-ai-cards svg { display: block; margin-bottom: 14px; color: #6a3df0; }
.sw-ai-cards b { display: block; margin-bottom: 8px; color: #0f1b33; font-size: 17px; font-weight: 800; word-break: keep-all; }
.sw-ai-cards p { margin: 0; color: #5b667a; font-size: 14.5px; line-height: 1.65; word-break: keep-all; }
@media (max-width: 1024px) { .sw-ai-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .sw-ai-cards { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .sw-ai-cards li:hover { transform: none; } }

/* 2026-10-20 AI 개인화(567) 'AI Experience Commerce' 섹션(#experience) — 왼쪽 큰 제목 + 2×2 카드, 오른쪽 크리에이터 카드 · 휴대폰 가상 피팅 · 핏 추천 · 구매 카드, 아래 01~04 흐름. 사진 4장은 Magnific 생성(assets/images/aexp/) */
.sw-aexp { --ax-navy: #1f4e8c; --ax-teal: #1e9e8a; --ax-ink: #111a2b; --ax-mute: #5b667a; --ax-line: #e3e8f0; position: relative; margin-block: 0 !important; padding: clamp(72px, 8vw, 120px) 24px clamp(64px, 7vw, 104px); background: linear-gradient(180deg, #fff 0%, #f2f8fd 40%, #eaf3fb 72%, #fff 100%); font-family: Pretendard, "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ax-ink); overflow: hidden; }
.sw-aexp *, .sw-aexp *::before, .sw-aexp *::after { box-sizing: border-box; }
.sw-aexp img { max-width: 100%; height: auto; }
.sw-ax-flow > div::after, .sw-ax-flow em::before, .sw-ax-flow em::after { content: none !important; }
.sw-aexp svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sw-ax-wrap { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.18fr); gap: clamp(32px, 4vw, 64px); align-items: center; max-width: 1320px; margin: 0 auto; }
.sw-ax-title { display: flex; flex-direction: column; margin: 0 0 22px; font-size: clamp(46px, 5.4vw, 80px); font-weight: 800; line-height: 1.04; letter-spacing: -.035em; color: var(--ax-navy); }
.sw-ax-grad { background: linear-gradient(90deg, var(--ax-navy), var(--ax-teal)); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .06em; }
.sw-ax-sub { margin: 0 0 16px; font-size: clamp(21px, 1.9vw, 27px); font-weight: 700; letter-spacing: -.02em; color: var(--ax-ink); word-break: keep-all; }
.sw-ax-desc { margin: 0 0 36px; font-size: clamp(16px, 1.25vw, 18.5px); line-height: 1.75; color: var(--ax-mute); word-break: keep-all; }
.sw-ax-feats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.sw-ax-feats li { display: grid; grid-template-columns: 46px 1fr; column-gap: 14px; align-items: center; padding: 20px 18px; border: 1px solid var(--ax-line); border-radius: 14px; background: #fff; }
.sw-ax-feats i, .sw-ax-card-h i { display: grid; place-items: center; grid-row: span 2; width: 46px; height: 46px; padding: 12px; border-radius: 50%; background: color-mix(in srgb, var(--ax-navy) 9%, #fff); color: var(--ax-navy); }
.sw-ax-feats li:nth-child(even) i { background: color-mix(in srgb, var(--ax-teal) 10%, #fff); color: #16806f; }
.sw-ax-feats b { align-self: end; font-size: 17px; font-weight: 800; letter-spacing: -.01em; color: var(--ax-ink); }
.sw-ax-feats span { align-self: start; margin-top: 3px; font-size: 14.5px; color: var(--ax-mute); word-break: keep-all; }

/* 오른쪽 무대 */
.sw-ax-stage { position: relative; height: 640px; }
.sw-ax-creator, .sw-ax-phone, .sw-ax-card { box-shadow: 0 24px 60px -18px rgba(22, 44, 84, .28), 0 4px 14px rgba(22, 44, 84, .06); }
.sw-ax-creator { position: absolute; left: 0; top: 64px; width: 34%; aspect-ratio: 9 / 15; margin: 0; border-radius: 18px; overflow: hidden; background: #e9edf2; }
.sw-ax-creator > img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; display: block; }
.sw-ax-creator::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgba(10, 18, 32, .62)); pointer-events: none; }
.sw-ax-play { position: absolute; left: 50%; top: 46%; z-index: 1; width: 54px; height: 54px; padding: 16px 14px 16px 18px; border-radius: 50%; background: rgba(255, 255, 255, .88); color: var(--ax-navy); transform: translate(-50%, -50%); }
.sw-ax-play svg { fill: currentColor; stroke: none; }
.sw-ax-creator figcaption { position: absolute; left: 14px; right: 14px; bottom: 14px; z-index: 1; display: flex; flex-direction: column; gap: 8px; color: #fff; font-size: 13px; font-weight: 600; }
.sw-ax-who { display: flex; align-items: center; gap: 8px; }
.sw-ax-who img { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; border: 1.5px solid #fff; }
.sw-ax-react { display: flex; gap: 14px; }
.sw-ax-react em { display: inline-flex; align-items: center; gap: 5px; font-style: normal; }
.sw-ax-react svg { width: 16px; height: 16px; }
.sw-ax-react em:first-child svg { fill: #ff5a7a; stroke: #ff5a7a; }
.sw-ax-ai { position: absolute; top: 12px; left: 12px; z-index: 2; padding: 4px 8px; border-radius: 999px; background: rgba(0, 0, 0, .5); color: rgba(255, 255, 255, .92); font-size: 10px; font-weight: 700; backdrop-filter: blur(4px); }

.sw-ax-phone { position: absolute; left: 22.5%; top: 0; z-index: 2; width: 300px; height: 620px; padding: 12px; border-radius: 44px; background: #10151f; }
.sw-ax-phone::before { content: ""; position: absolute; top: 20px; left: 50%; z-index: 3; width: 88px; height: 24px; border-radius: 999px; background: #10151f; transform: translateX(-50%); }
.sw-ax-screen { display: flex; flex-direction: column; gap: 12px; height: 100%; padding: 54px 14px 16px; border-radius: 33px; background: #fff; overflow: hidden; }
.sw-ax-bar { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.sw-ax-bar b { font-size: 18px; font-weight: 800; color: var(--ax-ink); letter-spacing: -.02em; }
.sw-ax-bar span { font-size: 12px; color: var(--ax-mute); }
.sw-ax-inputs { display: grid; grid-template-columns: 1fr 20px 1fr; align-items: center; gap: 6px; }
.sw-ax-inputs > div { display: flex; flex-direction: column; gap: 5px; }
.sw-ax-inputs img { width: 100%; aspect-ratio: 1; object-fit: cover; border: 1px solid var(--ax-line); border-radius: 12px; display: block; }
.sw-ax-inputs small { font-size: 11.5px; font-weight: 600; text-align: center; color: var(--ax-mute); }
.sw-ax-inputs i { width: 20px; height: 20px; padding: 3px; margin-bottom: 18px; border-radius: 50%; background: color-mix(in srgb, var(--ax-navy) 10%, #fff); color: var(--ax-navy); }
.sw-ax-result { position: relative; flex: 1; min-height: 0; border-radius: 16px; overflow: hidden; background: #eceff3; }
.sw-ax-result img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; display: block; }
.sw-ax-tag { position: absolute; left: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 5px; padding: 6px 10px; border-radius: 999px; background: rgba(255, 255, 255, .92); color: var(--ax-navy); font-size: 12px; font-weight: 700; }
.sw-ax-tag svg { width: 14px; height: 14px; color: var(--ax-teal); }
.sw-ax-cta { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 12px; border-radius: 999px; background: var(--ax-navy); color: #fff; font-size: 14px; font-weight: 700; }
.sw-ax-cta svg { width: 17px; height: 17px; }

.sw-ax-side { position: absolute; right: 0; top: 56px; z-index: 3; display: flex; flex-direction: column; gap: 16px; width: 33.5%; }
.sw-ax-card { padding: 20px; border: 1px solid var(--ax-line); border-radius: 16px; background: #fff; }
.sw-ax-card-h { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.sw-ax-card-h i { width: 36px; height: 36px; padding: 9px; }
.sw-ax-card-h b { font-size: 16.5px; font-weight: 800; color: var(--ax-ink); }
.sw-ax-size { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; font-size: 13.5px; font-weight: 600; color: var(--ax-mute); }
.sw-ax-sz { display: flex; gap: 6px; }
.sw-ax-sz em { display: grid; place-items: center; width: 34px; height: 30px; border-radius: 999px; background: #f1f4f8; color: #8a94a6; font-size: 13px; font-style: normal; font-weight: 700; }
.sw-ax-sz em.is-on { background: var(--ax-navy); color: #fff; }
.sw-ax-fit-t { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 12px; border-top: 1px solid var(--ax-line); }
.sw-ax-fit-t div { display: flex; justify-content: space-between; gap: 6px; padding: 9px 2px; border-bottom: 1px solid var(--ax-line); font-size: 13px; }
.sw-ax-fit-t div:nth-child(odd) { padding-right: 12px; }
.sw-ax-fit-t div:nth-child(even) { padding-left: 12px; border-left: 1px solid var(--ax-line); }
.sw-ax-fit-t dt { color: var(--ax-mute); }
.sw-ax-fit-t dd { margin: 0; font-weight: 700; color: var(--ax-ink); }
.sw-ax-fit p { margin: 0; font-size: 12.5px; line-height: 1.6; color: var(--ax-mute); word-break: keep-all; }
.sw-ax-prod { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.sw-ax-prod img { width: 64px; height: 64px; border: 1px solid var(--ax-line); border-radius: 10px; object-fit: cover; }
.sw-ax-prod div { display: flex; flex-direction: column; gap: 2px; }
.sw-ax-prod span { font-size: 14px; font-weight: 600; color: var(--ax-ink); }
.sw-ax-prod b { font-size: 19px; font-weight: 800; color: var(--ax-ink); }
.sw-ax-prod small { font-size: 12px; color: var(--ax-mute); }
.sw-ax-btn { display: block; padding: 12px; border-radius: 999px; background: linear-gradient(90deg, var(--ax-navy), var(--ax-teal)); color: #fff; font-size: 15px; font-weight: 700; text-align: center; }

/* 아래 흐름 01~04 */
.sw-ax-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; max-width: 1320px; margin: clamp(56px, 6vw, 88px) auto 0; padding: 0; list-style: none; counter-reset: none; }
.sw-ax-flow > div { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 24px 22px; border: 1px solid var(--ax-line); border-radius: 14px; background: rgba(255, 255, 255, .86); }
.sw-ax-flow > div + div::before { content: ""; position: absolute; left: -31px; top: 50%; width: 22px; height: 22px; background: var(--ax-navy); opacity: .55; transform: translateY(-50%); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat; }
.sw-ax-flow em { font-style: normal; font-size: 15px; font-weight: 800; color: var(--ax-teal); }
.sw-ax-flow b { font-size: 19px; font-weight: 800; letter-spacing: -.02em; color: var(--ax-ink); }
.sw-ax-flow span { font-size: 14.5px; line-height: 1.6; color: var(--ax-mute); word-break: keep-all; }

/* 등장 애니메이션 — JS 가 .is-ready 를 붙인 뒤에만 숨겨 두므로 JS 가 없어도 내용은 보인다 */
.sw-aexp.is-ready .sw-ax-rise { opacity: 0; transform: translateY(36px); transition: opacity .8s ease var(--d, 0s), transform .9s cubic-bezier(.2, .8, .2, 1) var(--d, 0s); }
.sw-aexp.is-ready .sw-ax-flow .sw-ax-rise { transform: translateY(24px); }
.sw-aexp.is-ready .is-in.sw-ax-rise, .sw-aexp.is-ready .is-in .sw-ax-rise { opacity: 1; transform: none; }

@media (max-width: 1180px) {
  .sw-ax-wrap { grid-template-columns: 1fr; }
  .sw-ax-copy { max-width: 760px; }
  .sw-ax-stage { width: 100%; max-width: 860px; margin: 0 auto; }
}
@media (max-width: 760px) {
  .sw-aexp { padding: 64px 16px 56px; }
  .sw-ax-feats { grid-template-columns: 1fr; gap: 10px; }
  .sw-ax-feats li { padding: 16px; }
  .sw-ax-stage { display: flex; flex-direction: column; gap: 16px; height: auto; }
  .sw-ax-phone { position: relative; left: auto; top: auto; order: 1; width: min(300px, 86vw); height: 600px; margin: 0 auto 8px; }
  .sw-ax-side { position: static; order: 2; width: 100%; }
  .sw-ax-creator { position: relative; top: auto; order: 3; width: 100%; aspect-ratio: 4 / 3; }
  .sw-ax-creator > img { object-position: 50% 12%; }
  .sw-ax-flow { grid-template-columns: 1fr; gap: 34px; }
  .sw-ax-flow > div + div::before { left: 50%; top: -28px; transform: translateX(-50%) rotate(90deg); }
}
@media (min-width: 761px) and (max-width: 1080px) { .sw-ax-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sw-ax-flow > div:nth-child(3)::before { content: none; } }
@media (prefers-reduced-motion: reduce) { .sw-aexp.is-ready .sw-ax-rise { opacity: 1; transform: none; transition: none; } }

/* 2026-10-20 홈(53) 'AI Commerce' 영상 섹션(#ai-commerce) — 18초 솔루션 콘셉트 시연 영상(assets/video/ai-commerce-{d,m}.{webm,mp4,jpg}).
   데스크톱 16:9 · 모바일(≤760px) 4:5 영상을 화면에 들어올 때 JS 가 골라 불러온다. 움직임 감소 설정 · JS 없음 · 자동 재생 차단이면 정지 화면(.sw-aicv-still). */
.sw-aicv { position: relative; margin-block: 0 !important; padding: clamp(72px, 8vw, 120px) 0 0; background: #f7f8fc; font-family: Pretendard, "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #0f1b33; }
.sw-aicv-head { max-width: 1320px; margin: 0 auto clamp(36px, 4vw, 56px); padding: 0 24px; text-align: center; }
.sw-aicv-kicker { margin: 0 0 14px; font-size: 17px; font-weight: 800; color: #6a5cf0; }
.sw-aicv-head h2 { margin: 0; font-size: clamp(32px, 4vw, 56px); font-weight: 800; line-height: 1.2; letter-spacing: -.03em; color: #0f1b33; word-break: keep-all; }
.sw-aicv-head h2 span { background: linear-gradient(90deg, #2f6bd8, #6a5cf0); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sw-aicv-desc { max-width: 760px; margin: 18px auto 0; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.7; color: #5b667a; word-break: keep-all; }
.sw-aicv-media { position: relative; aspect-ratio: 16 / 9; max-height: 100vh; margin: 0 auto; overflow: hidden; background: #f7f8fc; }
.sw-aicv-video, .sw-aicv-still, .sw-aicv-still img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.sw-aicv-video { z-index: 1; opacity: 0; transition: opacity .6s ease; }
.sw-aicv-media.is-playing .sw-aicv-video { opacity: 1; }
.sw-aicv-over { position: absolute; right: 3.4%; bottom: 9.5%; z-index: 2; display: flex; gap: 10px; }
.sw-aicv-btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 24px; border: 1px solid #d9deea; border-radius: 999px; background: rgba(255, 255, 255, .9); color: #0f1b33 !important; font-size: 16px; font-weight: 700; text-decoration: none !important; backdrop-filter: blur(6px); transition: transform .25s ease, background .25s ease; }
.sw-aicv-btn.is-primary { border-color: #0f1b33; background: #0f1b33; color: #fff !important; }
.sw-aicv-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s ease; }
.sw-aicv-btn:hover { transform: translateY(-2px); }
.sw-aicv-btn:hover svg { transform: translateX(3px); }
.sw-aicv-toggle { position: absolute; right: 3.4%; top: 4%; z-index: 2; display: none; place-items: center; width: 44px; height: 44px; padding: 13px; border: 1px solid #d9deea; border-radius: 50%; background: rgba(255, 255, 255, .85); color: #0f1b33; cursor: pointer; }
.sw-aicv-media.is-playing .sw-aicv-toggle, .sw-aicv-media.is-paused .sw-aicv-toggle { display: grid; }
.sw-aicv-toggle svg { width: 100%; height: 100%; fill: currentColor; }
.sw-aicv-toggle .is-play, .sw-aicv-media.is-paused .sw-aicv-toggle .is-pause { display: none; }
.sw-aicv-media.is-paused .sw-aicv-toggle .is-play { display: block; }
.sw-aicv-media.is-paused .sw-aicv-video { opacity: 1; }
@media (max-width: 1024px) { .sw-aicv-over { bottom: 7%; } .sw-aicv-btn { padding: 11px 18px; font-size: 14px; } }
@media (max-width: 760px) {
  .sw-aicv { padding-top: 64px; }
  .sw-aicv-head { padding: 0 16px; }
  /* 4:5 영상 칸(padding-top 125%) 아래로 버튼이 흐르도록: 영상 · 정지 화면은 위 4:5 칸만 덮는다 */
  .sw-aicv-media { aspect-ratio: auto; max-height: none; padding-top: 125%; }
  .sw-aicv-video, .sw-aicv-still, .sw-aicv-still img { bottom: auto; height: auto; aspect-ratio: 4 / 5; }
  .sw-aicv-over { position: static; justify-content: center; padding: 20px 16px 56px; }
  .sw-aicv-toggle { top: 2%; right: 4%; }
}
@media (prefers-reduced-motion: reduce) { .sw-aicv-video { display: none !important; } .sw-aicv-toggle { display: none !important; } }

/* 2026-10-20 폰(≤760px) 홈 슬로건 박스: 위의 "height: 150vh !important" 가 폰의 정적 1열 배치(height: auto)까지 덮어 박스 4장이 다음 섹션 밑으로 넘쳐 가려지던 것 수정 */
@media (max-width: 760px) { .sw-svid-wrap { height: auto !important; } }

/* 2026-10-20 라이브커머스 폰: 화면 오른쪽 위 'AI 생성 영상' 표시 제거(사용자 요청) */
html .sw-lcv-top::after { content: none; display: none; }

/* 2026-10-20 홈 AI Commerce 영상 위 버튼 · 안내 문구를 인사 카드 · 챗봇 안내 말풍선이 가리던 것: 겹치는 동안만 숨김(site.js 가 html.sw-fab-quiet) */
.sw-fab-bubble, .sw-chat-hint { transition: opacity .25s ease, transform .25s ease; }
html.sw-fab-quiet .sw-fab-bubble, html.sw-fab-quiet .sw-chat-hint { opacity: 0 !important; transform: translateY(10px); pointer-events: none; }

/* 2026-10-20 솔루션 페이지 첫 섹션 'AI ○○'(#ai) — AI 개인화(567) 'AI Experience Commerce'(.sw-aexp)와 같은 틀(왼쪽 큰 제목 · 2×2 카드, 오른쪽 화면 예시, 아래 01~04 흐름)을
   SCOS(566) · sOMP(561) · 라이브커머스(1263) · sMRO(1944) · MMCS(1669)에 적용. 오른쪽은 사진 대신 관리자 창(.sw-ax-win) · 휴대폰 · 카드로 그린 화면 예시(.sw-aexp.is-ui).
   내용은 각 페이지 아래 'AI' 섹션에 이미 소개된 기능만 쓴다. 화면 속 숫자는 예시(.sw-ax-note). */
.sw-aexp.is-ui .sw-ax-stage { height: 600px; }
.sw-aexp .sw-ax-win { position: absolute; left: 0; top: 52px; z-index: 1; width: 67%; border: 1px solid var(--ax-line); border-radius: 16px; background: #fff; overflow: hidden; box-shadow: 0 24px 60px -18px rgba(22, 44, 84, .28), 0 4px 14px rgba(22, 44, 84, .06); }
.sw-aexp.is-ui .sw-ax-side { top: 0; width: 36%; }
.sw-aexp .sw-ax-win-h { display: flex; align-items: center; gap: 10px; padding: 13px 18px; border-bottom: 1px solid var(--ax-line); background: #f7f9fc; font-size: 13.5px; font-weight: 700; color: var(--ax-ink); }
.sw-aexp .sw-ax-win-h small { margin-left: auto; font-size: 12px; font-weight: 600; color: var(--ax-mute); }
.sw-aexp .sw-ax-win-b { display: flex; flex-direction: column; gap: 14px; padding: 18px; }
.sw-aexp .sw-ax-lbl { margin: 0 0 8px; font-size: 12.5px; font-weight: 700; color: var(--ax-mute); }
.sw-aexp .sw-ax-row { display: flex; align-items: center; gap: 12px; }
.sw-aexp .sw-ax-thumb { flex: none; width: 56px; height: 56px; border: 1px solid var(--ax-line); border-radius: 10px; object-fit: cover; background: #f3f5f8; }
.sw-aexp .sw-ax-meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sw-aexp .sw-ax-meta b { font-size: 15px; font-weight: 800; color: var(--ax-ink); }
.sw-aexp .sw-ax-meta span { font-size: 12.5px; color: var(--ax-mute); }
.sw-aexp .sw-ax-price { margin-left: auto; font-size: 15px; font-weight: 800; color: var(--ax-ink); white-space: nowrap; }
.sw-aexp .sw-ax-aibox { padding: 14px 16px; border: 1px solid color-mix(in srgb, var(--ax-teal) 24%, #fff); border-radius: 12px; background: linear-gradient(135deg, color-mix(in srgb, var(--ax-navy) 5%, #fff), color-mix(in srgb, var(--ax-teal) 9%, #fff)); }
.sw-aexp .sw-ax-aibox > em { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; font-size: 12.5px; font-style: normal; font-weight: 800; color: var(--ax-navy); }
.sw-aexp .sw-ax-aibox > em svg { flex: none; width: 15px; height: 15px; color: var(--ax-teal); }
.sw-aexp .sw-ax-aibox > em small { margin-left: auto; font-size: 11.5px; font-weight: 700; color: #16806f; }
.sw-aexp .sw-ax-aibox p { margin: 0; font-size: 13.5px; line-height: 1.65; color: var(--ax-ink); word-break: keep-all; }
.sw-aexp .sw-ax-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.sw-aexp .sw-ax-chips span { padding: 5px 11px; border-radius: 999px; background: #f1f4f8; font-size: 12px; font-weight: 700; color: var(--ax-mute); }
.sw-aexp .sw-ax-chips span.is-on { background: var(--ax-navy); color: #fff; }
.sw-aexp .sw-ax-chips b { margin-left: auto; font-size: 13px; font-weight: 800; color: var(--ax-ink); }
.sw-aexp .sw-ax-top3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.sw-aexp .sw-ax-top3 figure { position: relative; margin: 0; }
.sw-aexp .sw-ax-top3 img { display: block; width: 100%; aspect-ratio: 1; border: 1px solid var(--ax-line); border-radius: 10px; object-fit: cover; background: #f3f5f8; }
.sw-aexp .sw-ax-top3 em { position: absolute; left: 6px; top: 6px; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 6px; background: var(--ax-navy); color: #fff; font-size: 12px; font-style: normal; font-weight: 800; }
.sw-aexp .sw-ax-top3 figcaption { margin-top: 6px; font-size: 12px; font-weight: 600; color: var(--ax-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sw-aexp .sw-ax-chat { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.sw-aexp .sw-ax-chat p { max-width: 90%; margin: 0; padding: 9px 12px; border-radius: 14px; font-size: 13px; line-height: 1.55; word-break: keep-all; }
.sw-aexp .sw-ax-chat .is-q { align-self: flex-end; border-bottom-right-radius: 4px; background: var(--ax-navy); color: #fff; }
.sw-aexp .sw-ax-chat .is-a { align-self: flex-start; border-bottom-left-radius: 4px; background: #f1f4f8; color: var(--ax-ink); }
.sw-aexp .sw-ax-kv { margin: 0 0 14px; border-top: 1px solid var(--ax-line); }
.sw-aexp .sw-ax-kv div { display: flex; justify-content: space-between; gap: 10px; padding: 9px 2px; border-bottom: 1px solid var(--ax-line); font-size: 13px; }
.sw-aexp .sw-ax-kv dt { color: var(--ax-mute); }
.sw-aexp .sw-ax-kv dd { margin: 0; font-weight: 700; color: var(--ax-ink); text-align: right; }
.sw-aexp .sw-ax-bars { display: flex; flex-direction: column; gap: 11px; margin: 0 0 12px; }
.sw-aexp .sw-ax-bars div { display: grid; grid-template-columns: 62px 1fr 38px; align-items: center; gap: 10px; font-size: 12.5px; color: var(--ax-mute); }
.sw-aexp .sw-ax-bars i { height: 8px; border-radius: 999px; background: #eef2f7; overflow: hidden; }
.sw-aexp .sw-ax-bars i::before { content: ""; display: block; width: var(--w); height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--ax-navy), var(--ax-teal)); }
.sw-aexp .sw-ax-bars b { font-size: 13px; font-weight: 800; color: var(--ax-ink); text-align: right; }
.sw-aexp .sw-ax-small { margin: 0; font-size: 12.5px; line-height: 1.6; color: var(--ax-mute); word-break: keep-all; }
.sw-aexp .sw-ax-route { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.sw-aexp .sw-ax-route span { padding: 7px 12px; border: 1px solid var(--ax-line); border-radius: 10px; background: #fff; font-size: 12.5px; font-weight: 700; color: var(--ax-ink); }
.sw-aexp .sw-ax-route span.is-on { border-color: color-mix(in srgb, var(--ax-navy) 40%, #fff); background: color-mix(in srgb, var(--ax-navy) 7%, #fff); color: var(--ax-navy); }
.sw-aexp .sw-ax-route i { width: 16px; height: 16px; color: #9aa5b5; }
.sw-aexp .sw-ax-route small { width: 100%; font-size: 12px; color: var(--ax-mute); }
.sw-aexp .sw-ax-msg { padding: 14px; border-radius: 12px; background: #f6f7f9; }
.sw-aexp .sw-ax-msg small { display: block; margin-bottom: 6px; font-size: 11.5px; font-weight: 700; color: var(--ax-mute); }
.sw-aexp .sw-ax-msg p { margin: 0 0 12px; font-size: 13px; line-height: 1.6; color: var(--ax-ink); word-break: keep-all; }
.sw-aexp .sw-ax-msg span { display: block; padding: 9px; border: 1px solid var(--ax-line); border-radius: 8px; background: #fff; font-size: 13px; font-weight: 700; text-align: center; color: var(--ax-ink); }
.sw-aexp .sw-ax-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.sw-aexp .sw-ax-stats div { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: 12px; background: #f7f9fc; }
.sw-aexp .sw-ax-stats span { font-size: 12px; font-weight: 700; color: var(--ax-mute); }
.sw-aexp .sw-ax-stats b { font-size: 22px; font-weight: 800; letter-spacing: -.02em; color: var(--ax-ink); }
.sw-aexp .sw-ax-stats .is-red b { color: #e5484d; }
.sw-aexp .sw-ax-stats .is-amber b { color: #d9860a; }
.sw-aexp .sw-ax-stats .is-green b { color: #16806f; }
.sw-aexp .sw-ax-chart { position: relative; }
.sw-aexp .sw-ax-chart svg { display: block; width: 100%; height: auto; }
.sw-aexp .sw-ax-legend { display: flex; gap: 14px; margin-top: 6px; font-size: 12px; color: var(--ax-mute); }
.sw-aexp .sw-ax-legend span { display: inline-flex; align-items: center; gap: 6px; }
.sw-aexp .sw-ax-legend span::before { content: ""; width: 14px; height: 3px; border-radius: 2px; background: var(--ax-navy); }
.sw-aexp .sw-ax-legend span + span::before { background: repeating-linear-gradient(90deg, var(--ax-teal) 0 4px, transparent 4px 7px); }
.sw-aexp .sw-ax-tbl { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.sw-aexp .sw-ax-tbl th { padding: 0 6px 8px; border-bottom: 1px solid var(--ax-line); font-weight: 700; color: var(--ax-mute); text-align: left; }
.sw-aexp .sw-ax-tbl td { padding: 9px 6px; border-bottom: 1px solid var(--ax-line); color: var(--ax-ink); white-space: nowrap; }
.sw-aexp .sw-ax-tbl td:first-child { font-weight: 700; }
.sw-aexp .sw-ax-badge { display: inline-block; padding: 3px 9px; border-radius: 999px; background: color-mix(in srgb, var(--ax-teal) 12%, #fff); font-size: 11.5px; font-weight: 800; color: #16806f; }
.sw-aexp .sw-ax-badge.is-warn { background: #fff4e0; color: #b86e00; }
.sw-aexp .sw-ax-list { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.sw-aexp .sw-ax-list li { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--ax-line); font-size: 13px; font-weight: 600; color: var(--ax-ink); }
.sw-aexp .sw-ax-list li:last-child { border-bottom: 0; }
.sw-aexp .sw-ax-list i { flex: none; width: 30px; height: 30px; padding: 7px; border-radius: 8px; background: #f1f4f8; color: var(--ax-navy); }
.sw-aexp .sw-ax-list small { margin-left: auto; font-size: 11.5px; font-weight: 700; color: #16806f; white-space: nowrap; }
.sw-aexp .sw-ax-prog { margin: 0 0 14px; }
.sw-aexp .sw-ax-prog div { display: flex; justify-content: space-between; margin-bottom: 7px; font-size: 13px; color: var(--ax-mute); }
.sw-aexp .sw-ax-prog b { font-weight: 800; color: var(--ax-ink); }
.sw-aexp .sw-ax-prog i { display: block; height: 8px; border-radius: 999px; background: #eef2f7; overflow: hidden; }
.sw-aexp .sw-ax-prog i::before { content: ""; display: block; width: var(--w); height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--ax-navy), var(--ax-teal)); }
.sw-aexp .sw-ax-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.sw-aexp .sw-ax-steps > span { position: relative; padding-top: 20px; font-size: 11.5px; font-weight: 700; text-align: center; color: #9aa5b5; }
.sw-aexp .sw-ax-steps > span::before { content: ""; position: absolute; left: 50%; top: 4px; z-index: 1; width: 10px; height: 10px; border-radius: 50%; background: #d5dce6; transform: translateX(-50%); }
.sw-aexp .sw-ax-steps > span + span::after { content: ""; position: absolute; right: 50%; top: 8px; width: 100%; height: 2px; background: #d5dce6; }
.sw-aexp .sw-ax-steps > span.is-done, .sw-aexp .sw-ax-steps > span.is-now { color: var(--ax-ink); }
.sw-aexp .sw-ax-steps > span.is-done::before, .sw-aexp .sw-ax-steps > span.is-done::after, .sw-aexp .sw-ax-steps > span.is-now::after { background: var(--ax-navy); }
.sw-aexp .sw-ax-steps > span.is-now::before { background: var(--ax-teal); box-shadow: 0 0 0 4px color-mix(in srgb, var(--ax-teal) 22%, transparent); }
.sw-aexp .sw-ax-map { position: relative; border-radius: 12px; overflow: hidden; }
.sw-aexp .sw-ax-map svg { display: block; width: 100%; height: auto; }
.sw-aexp .sw-ax-map .sw-ax-pin-tip { position: absolute; left: 58%; top: 14%; padding: 8px 11px; border-radius: 10px; background: #fff; box-shadow: 0 8px 22px -8px rgba(22, 44, 84, .35); font-size: 12px; line-height: 1.45; color: var(--ax-ink); }
.sw-aexp .sw-ax-pin-tip b { display: block; font-size: 12.5px; font-weight: 800; }
.sw-aexp .sw-ax-pin-tip span { color: #b86e00; font-weight: 700; }
.sw-aexp .sw-ax-pulse { transform-box: fill-box; transform-origin: center; animation: sw-ax-pulse 2.2s ease-out infinite; }
@keyframes sw-ax-pulse { 0% { transform: scale(.6); opacity: .7; } 100% { transform: scale(2.4); opacity: 0; } }
.sw-aexp .sw-ax-shot { display: block; width: 100%; height: 150px; margin-bottom: 12px; border: 1px solid var(--ax-line); border-radius: 10px; object-fit: cover; object-position: 50% 0; }
.sw-aexp .sw-ax-note { display: block; max-width: 1320px; margin: 18px auto 0 !important; padding: 0; border-radius: 0; background: none; font-size: 12px; text-align: right; color: #8a94a6; } /* AX 페이지의 같은 이름(.sw-ax-note 안내 띠) 스타일을 끊음 */
/* 라이브커머스: 왼쪽 자막 카드 + 가운데 휴대폰(방송 영상) + 오른쪽 카드 */
.sw-aexp.is-live .sw-ax-phone { left: 32.5%; }
.sw-aexp .sw-ax-left { position: absolute; left: 0; top: 150px; z-index: 3; width: 30%; }
.sw-aexp .sw-ax-live { position: relative; height: 100%; border-radius: 33px; overflow: hidden; background: #111; }
.sw-aexp .sw-ax-live video, .sw-aexp .sw-ax-live > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sw-aexp .sw-ax-live-top { position: absolute; left: 14px; right: 14px; top: 50px; z-index: 1; display: flex; gap: 6px; }
.sw-aexp .sw-ax-live-top span { padding: 4px 9px; border-radius: 6px; background: rgba(0, 0, 0, .45); font-size: 11.5px; font-weight: 700; color: #fff; }
.sw-aexp .sw-ax-live-top span:first-child { background: #ff3b5c; }
.sw-aexp .sw-ax-live-cap { position: absolute; left: 14px; right: 14px; bottom: 96px; z-index: 1; padding: 8px 10px; border-radius: 10px; background: rgba(0, 0, 0, .55); font-size: 12.5px; line-height: 1.5; color: #fff; text-align: center; }
.sw-aexp .sw-ax-live-prod { position: absolute; left: 12px; right: 12px; bottom: 14px; z-index: 1; display: flex; align-items: center; gap: 10px; padding: 9px; border-radius: 14px; background: #fff; }
.sw-aexp .sw-ax-live-prod img { width: 46px; height: 46px; border-radius: 8px; object-fit: cover; }
.sw-aexp .sw-ax-live-prod div { display: flex; flex-direction: column; min-width: 0; font-size: 12px; color: var(--ax-mute); }
.sw-aexp .sw-ax-live-prod b { font-size: 14px; font-weight: 800; color: var(--ax-ink); }
.sw-aexp .sw-ax-live-prod span { margin-left: auto; padding: 8px 12px; border-radius: 999px; background: var(--ax-navy); font-size: 12.5px; font-weight: 700; color: #fff; }
.sw-aexp .sw-ax-tr { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.sw-aexp .sw-ax-tr div { display: grid; grid-template-columns: 30px 1fr; gap: 8px; align-items: baseline; font-size: 13px; line-height: 1.5; color: var(--ax-ink); }
.sw-aexp .sw-ax-tr dt { font-size: 11px; font-weight: 800; color: var(--ax-teal); }
.sw-aexp .sw-ax-tr dd { margin: 0; word-break: keep-all; }
@media (max-width: 760px) {
  .sw-aexp.is-ui .sw-ax-stage { height: auto; }
  .sw-aexp.is-ui .sw-ax-side { position: static; width: 100%; }
  .sw-aexp .sw-ax-win { position: relative; left: auto; top: auto; order: 1; width: 100%; }
  .sw-aexp .sw-ax-left { position: static; order: 3; width: 100%; }
  .sw-aexp.is-live .sw-ax-phone { left: auto; }
  .sw-aexp .sw-ax-win-b { padding: 14px; }
  .sw-aexp .sw-ax-map .sw-ax-pin-tip { left: auto; right: 8px; top: 8px; }
  .sw-aexp .sw-ax-note { text-align: left; }
}
@media (prefers-reduced-motion: reduce) { .sw-aexp .sw-ax-pulse { animation: none; opacity: 0; } }
/* sOMP(561) v2 — 노트북 'AI 메시지 생성' 화면 + 문자 받은 휴대폰 + 카드 4장, 휴대폰 둘레로 SMS · 알림톡 · 메일 · 푸시 아이콘이 차례로 튀어 오름 */
.sw-aexp.is-somp .sw-ax-wrap { grid-template-columns: minmax(0, .74fr) minmax(0, 1.46fr); gap: clamp(28px, 3vw, 48px); max-width: 1400px; }
.sw-aexp.is-somp .sw-ax-stage { height: 730px; }
.sw-aexp.is-somp .sw-ax-card { padding: 16px; }
.sw-aexp.is-somp .sw-ax-card-h { margin-bottom: 10px; }
.sw-aexp .sw-ax-laptop { position: absolute; right: 0; top: 64px; z-index: 1; width: 77%; }
.sw-aexp .sw-ax-lap-scr { display: grid; grid-template-columns: 112px 1fr; height: 400px; border: 10px solid #1b2130; border-bottom-width: 14px; border-radius: 18px 18px 0 0; background: #fff; overflow: hidden; box-shadow: 0 24px 60px -18px rgba(22, 44, 84, .3); }
.sw-aexp .sw-ax-lap-base { display: block; height: 14px; margin: 0 -5%; border-radius: 0 0 16px 16px; background: linear-gradient(#dfe3ea, #b8bfca); box-shadow: 0 14px 24px -12px rgba(22, 44, 84, .35); }
.sw-aexp .sw-ax-lap-nav { display: flex; flex-direction: column; gap: 3px; padding: 14px 8px; border-right: 1px solid var(--ax-line); background: #f7f9fc; }
.sw-aexp .sw-ax-lap-nav b { display: flex; align-items: center; gap: 6px; margin: 0 0 10px 6px; font-size: 13px; font-weight: 800; color: var(--ax-ink); }
.sw-aexp .sw-ax-lap-nav b i { width: 15px; height: 15px; color: #6a5cf0; }
.sw-aexp .sw-ax-lap-nav span { display: flex; align-items: center; gap: 7px; padding: 7px 8px; border-radius: 8px; font-size: 11.5px; font-weight: 600; color: var(--ax-mute); }
.sw-aexp .sw-ax-lap-nav span i { flex: none; width: 14px; height: 14px; }
.sw-aexp .sw-ax-lap-nav span.is-on { background: color-mix(in srgb, #6a5cf0 10%, #fff); color: #4b3fd0; }
.sw-aexp .sw-ax-lap-main { display: flex; flex-direction: column; gap: 7px; min-width: 0; padding: 16px 18px; }
.sw-aexp .sw-ax-lap-main h3 { margin: 0; font-size: 16px; font-weight: 800; color: var(--ax-ink); }
.sw-aexp .sw-ax-lap-main > p { margin: 0 0 4px; font-size: 11px; color: var(--ax-mute); }
.sw-aexp .sw-ax-fld { display: grid; grid-template-columns: 66px 1fr; align-items: center; gap: 8px; }
.sw-aexp .sw-ax-fld span { font-size: 11px; font-weight: 600; color: var(--ax-mute); }
.sw-aexp .sw-ax-fld b { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 6px 9px; border: 1px solid var(--ax-line); border-radius: 8px; font-size: 11.5px; font-weight: 600; color: var(--ax-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sw-aexp .sw-ax-fld b i { flex: none; width: 12px; height: 12px; color: #9aa5b5; }
.sw-aexp .sw-ax-gen { display: inline-flex; align-items: center; align-self: flex-end; gap: 6px; padding: 7px 13px; border-radius: 9px; background: linear-gradient(90deg, #3f5bdc, #6a5cf0); font-size: 11.5px; font-weight: 700; color: #fff; }
.sw-aexp .sw-ax-gen i { width: 13px; height: 13px; }
.sw-aexp .sw-ax-lap-main .sw-ax-lbl { display: flex; align-items: center; gap: 5px; margin: 2px 0 0; font-size: 11.5px; color: var(--ax-ink); }
.sw-aexp .sw-ax-lap-main .sw-ax-lbl i { width: 13px; height: 13px; color: #6a5cf0; }
.sw-aexp .sw-ax-sugg { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.sw-aexp .sw-ax-sugg > div { padding: 9px 10px; border: 1px solid var(--ax-line); border-radius: 10px; background: #fafbfd; }
.sw-aexp .sw-ax-sugg > div.is-on { border-color: color-mix(in srgb, #6a5cf0 45%, #fff); background: #f6f4ff; }
.sw-aexp .sw-ax-sugg em { display: inline-grid; place-items: center; width: 17px; height: 17px; margin-right: 5px; border-radius: 50%; background: #3f5bdc; font-size: 10px; font-style: normal; font-weight: 800; color: #fff; }
.sw-aexp .sw-ax-sugg div:not(.is-on) em { background: #9aa5b5; }
.sw-aexp .sw-ax-sugg b { font-size: 11.5px; font-weight: 800; color: var(--ax-ink); }
.sw-aexp .sw-ax-sugg p { margin: 6px 0 0; font-size: 10.5px; line-height: 1.55; color: #374151; word-break: keep-all; }
.sw-aexp .sw-ax-lap-btns { display: flex; gap: 6px; }
.sw-aexp .sw-ax-lap-btns span { padding: 6px 10px; border: 1px solid #c9d0f5; border-radius: 8px; font-size: 11px; font-weight: 700; color: #3f5bdc; }
.sw-aexp .sw-ax-lap-btns span.is-on { border-color: #3f5bdc; background: #3f5bdc; color: #fff; }
.sw-aexp .sw-ax-pwrap { position: absolute; left: 2%; top: 280px; z-index: 5; width: 310px; transform: scale(.68); transform-origin: 0 0; } /* 폰은 원래 크기(310px · 화면 660px)로 그리고 통째로 줄임 — 높이를 줄이면 알림 배치가 깨짐 */
.sw-aexp .sw-ax-pwrap .sw-ums-phone { margin: 0 !important; } /* 지운 '한눈에 보기' 블록의 sOMP 잠금화면 폰(.sw-ums-phone, 알림이 차례로 뜸)을 그대로 옮겨 씀 */
.sw-aexp.is-somp .sw-ax-phone { position: relative; left: auto; top: auto; width: 100%; height: 100%; padding: 9px; border-radius: 36px; }
.sw-aexp.is-somp .sw-ax-phone::before { top: 16px; width: 68px; height: 19px; }
.sw-aexp .sw-ax-sms { gap: 8px; padding: 40px 11px 11px; border-radius: 28px; background: #fff; }
.sw-aexp .sw-ax-sms-h { display: flex; flex-direction: column; align-items: center; gap: 1px; }
.sw-aexp .sw-ax-sms-h em { display: grid; place-items: center; width: 28px; height: 28px; margin-bottom: 2px; border-radius: 50%; background: #9aa5b5; font-size: 13px; font-style: normal; font-weight: 800; color: #fff; }
.sw-aexp .sw-ax-sms-h b { font-size: 11px; font-weight: 800; color: var(--ax-ink); }
.sw-aexp .sw-ax-sms-h small { font-size: 9.5px; color: var(--ax-mute); }
.sw-aexp .sw-ax-sms-b { margin: 0; padding: 9px 11px; border-radius: 14px 14px 14px 4px; background: #eef0f4; font-size: 10.5px; line-height: 1.5; color: #1f2937; word-break: keep-all; }
.sw-aexp .sw-ax-sms-b u { color: #2f6bd8; }
.sw-aexp .sw-ax-sms-img { position: relative; flex: 1; min-height: 0; border-radius: 14px; overflow: hidden; }
.sw-aexp .sw-ax-sms-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sw-aexp .sw-ax-sms-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(70, 40, 10, .1), rgba(70, 40, 10, .55)); }
.sw-aexp .sw-ax-sms-img b { position: absolute; left: 0; right: 0; top: 26%; z-index: 1; font-size: 14px; font-weight: 800; line-height: 1.35; text-align: center; color: #fff; }
.sw-aexp .sw-ax-sms-img span { position: absolute; left: 50%; bottom: 12px; z-index: 1; padding: 6px 14px; border-radius: 999px; background: #fff; font-size: 11px; font-weight: 800; color: var(--ax-ink); transform: translateX(-50%); white-space: nowrap; }
.sw-aexp .sw-ax-pop { position: absolute; z-index: 7; display: block; padding: 0; border-radius: 50%; background: none; opacity: 0; animation: sw-ax-boing 2.8s cubic-bezier(.3, 1.5, .5, 1) var(--d) infinite; }
.sw-aexp .sw-ax-pop i { display: grid; place-items: center; width: 64px; height: 64px; padding: 16px; border: 4px solid #fff; border-radius: 50%; color: #fff; box-shadow: 0 12px 26px -8px rgba(22, 44, 84, .45); }
.sw-aexp .sw-ax-pop.is-sms { right: -44px; top: 50px; }
.sw-aexp .sw-ax-pop.is-sms i { background: #2f6bd8; }
.sw-aexp .sw-ax-pop.is-kakao { right: -82px; top: 180px; }
.sw-aexp .sw-ax-pop.is-kakao i { background: #fee500; color: #3c1e1e; }
.sw-aexp .sw-ax-pop.is-mail { right: -52px; top: 318px; }
.sw-aexp .sw-ax-pop.is-mail i { background: #1e9e8a; }
.sw-aexp .sw-ax-pop.is-push { right: -84px; top: 450px; }
.sw-aexp .sw-ax-pop.is-push i { background: #6a5cf0; }
@keyframes sw-ax-boing { 0% { opacity: 0; transform: translateY(18px) scale(.5); } 10% { opacity: 1; transform: translateY(-12px) scale(1.1); } 16% { transform: translateY(3px) scale(.96); } 22% { transform: none; } 70% { opacity: 1; transform: none; } 84%, 100% { opacity: 0; transform: translateY(-16px) scale(.9); } }
.sw-aexp .sw-ax-segc { position: absolute; left: 0; top: 0; z-index: 4; width: 32%; }
.sw-aexp .sw-ax-chk { position: absolute; right: -8px; top: -18px; z-index: 4; width: 31%; }
.sw-aexp .sw-ax-whenc { position: absolute; left: 35%; bottom: 0; z-index: 6; width: 26%; }
.sw-aexp .sw-ax-kpic { position: absolute; right: 0; bottom: 0; z-index: 6; width: 37%; }
.sw-aexp .sw-ax-seg, .sw-aexp .sw-ax-checks { margin: 8px 0 0; padding: 0; list-style: none; }
.sw-aexp .sw-ax-seg li, .sw-aexp .sw-ax-checks li { list-style: none; }
.sw-aexp .sw-ax-seg li::before, .sw-aexp .sw-ax-checks li::before, .sw-aexp .sw-ax-list li::before { content: none !important; }
.sw-aexp .sw-ax-seg li { display: flex; align-items: center; gap: 9px; margin: 0 0 6px; padding: 8px 10px; border: 1px solid var(--ax-line); border-radius: 10px; font-size: 13px; font-weight: 700; color: var(--ax-ink); }
.sw-aexp .sw-ax-seg li:last-child { margin-bottom: 0; }
.sw-aexp .sw-ax-seg li.is-on { border-color: color-mix(in srgb, #6a5cf0 40%, #fff); background: #f6f4ff; }
.sw-aexp .sw-ax-seg i { display: grid; place-items: center; width: 26px; height: 26px; padding: 6px; border-radius: 50%; background: color-mix(in srgb, var(--ax-navy) 10%, #fff); color: var(--ax-navy); }
.sw-aexp .sw-ax-seg li:nth-child(2) i { background: #ede9ff; color: #6a5cf0; }
.sw-aexp .sw-ax-seg li:nth-child(3) i { background: #fff1e6; color: #e8780c; }
.sw-aexp .sw-ax-seg b { margin-left: auto; font-size: 12.5px; font-weight: 700; color: var(--ax-mute); }
.sw-aexp .sw-ax-checks li { display: flex; align-items: center; gap: 8px; padding: 5px 0; font-size: 13px; font-weight: 600; color: var(--ax-ink); }
.sw-aexp .sw-ax-checks i { flex: none; width: 18px; height: 18px; color: #6a5cf0; }
.sw-aexp .sw-ax-when { margin-bottom: 10px; padding: 10px 12px; border-radius: 10px; background: #f6f4ff; }
.sw-aexp .sw-ax-when span, .sw-aexp .sw-ax-when small { display: block; font-size: 11.5px; color: var(--ax-mute); }
.sw-aexp .sw-ax-when b { display: block; font-size: 19px; font-weight: 800; color: #3f5bdc; }
.sw-aexp.is-somp .sw-ax-kv { margin: 0; }
.sw-aexp .sw-ax-kpi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.sw-aexp .sw-ax-kpi span { display: block; font-size: 11px; color: var(--ax-mute); }
.sw-aexp .sw-ax-kpi b { font-size: 16px; font-weight: 800; color: var(--ax-ink); }
.sw-aexp .sw-ax-mini { display: block; width: 100%; height: auto; margin-top: 10px; }
@media (max-width: 1180px) { .sw-aexp.is-somp .sw-ax-wrap { grid-template-columns: 1fr; } .sw-aexp.is-somp .sw-ax-stage { max-width: 900px; } }
@media (max-width: 760px) {
  .sw-aexp.is-somp .sw-ax-stage { display: flex; flex-direction: column; gap: 14px; height: auto; }
  .sw-aexp .sw-ax-laptop { position: relative; right: auto; top: auto; order: 1; width: 100%; }
  .sw-aexp .sw-ax-lap-scr { grid-template-columns: 1fr; height: auto; }
  .sw-aexp .sw-ax-lap-nav { display: none; }
  .sw-aexp .sw-ax-lap-base { margin: 0 -3%; }
  .sw-aexp .sw-ax-pwrap { position: relative; left: auto; top: auto; order: 2; margin: 18px auto -150px; transform: scale(.76); transform-origin: 50% 0; }
  .sw-aexp .sw-ax-segc, .sw-aexp .sw-ax-chk, .sw-aexp .sw-ax-whenc, .sw-aexp .sw-ax-kpic { position: relative; left: auto; right: auto; top: auto; bottom: auto; order: 3; width: 100%; }
  .sw-aexp .sw-ax-pop.is-kakao, .sw-aexp .sw-ax-pop.is-push { right: -60px; }
}
@media (prefers-reduced-motion: reduce) { .sw-aexp .sw-ax-pop { animation: none; opacity: 1; } }
/* 솔루션 탭 바 맨 앞 'AI ○○' 탭(#ai, AI 개인화는 #experience)은 다른 탭과 구분되게 보라 그라데이션 + ✦ 표시(현재 탭이어도 같은 색, 현재일 때 밑줄) */
.sw-anchor-nav .wp-block-button__link[href="#ai"], .sw-anchor-nav .wp-block-button__link[href="#experience"],
.sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link[href="#ai"], .sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link[href="#experience"],
.sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link.is-current[href="#ai"], .sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link.is-current[href="#experience"] { background: linear-gradient(90deg, #4b3fd0, #7c5cf5) !important; color: #fff !important; }
.sw-anchor-nav .wp-block-button__link[href="#ai"]::before, .sw-anchor-nav .wp-block-button__link[href="#experience"]::before { content: "✦"; margin-right: 6px; font-size: .9em; color: #d9d2ff; }
.sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link.is-current[href="#ai"], .sw-page-hero.is-photo-stream + .sw-anchor-nav.is-tabbar .wp-block-button__link.is-current[href="#experience"] { box-shadow: inset 0 -3px 0 #fff; }
/* 대시보드 창(.sw-ax-win — SCOS 관리자 · sOMP AI 메시지 생성 · sMRO 구매 대시보드 · MMCS 관제)을 실제 아이패드 비율로:
   iPad Air 11"(가로) 본체 247.6 × 178.5mm, 베젤은 폭의 3.9%, 화면 2360 × 1640(1.44:1). 화면 안 내용(.sw-ax-win-c)은 고정 폭으로 그린 뒤
   화면 크기에 맞춰 통째로 줄인다(--k, site.js) — 내용 때문에 기기 비율이 늘거나 잘리지 않게. 폰(≤760px)에서는 줄이지 않고 원래 크기로 */
.sw-aexp.is-ui:not(.is-somp):not(.is-live) .sw-ax-wrap { grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(28px, 3vw, 52px); max-width: 1400px; }
.sw-aexp.is-ui:not(.is-somp):not(.is-live) .sw-ax-stage { height: 640px; }
.sw-aexp.is-ui:not(.is-somp) .sw-ax-feats b { font-size: 15.5px; }
.sw-aexp .sw-ax-win { top: 76px; width: 78%; aspect-ratio: 1.4075; padding: 2.6%; border: 0; border-radius: 5.8% / 8.2%; background: #0d0f12; overflow: visible; box-shadow: inset 0 0 0 1px #2a2d33, 0 0 0 2px #b9bdc4, 0 0 0 3.5px #868a92, 0 30px 70px -20px rgba(22, 44, 84, .4), 0 6px 18px rgba(22, 44, 84, .08); } /* 실제 아이패드: 얇은 검은 베젤(폭의 2.6%) + 알루미늄 테두리, 화면 1.44:1 이 되도록 본체 1.4075:1 */
.sw-aexp .sw-ax-win::before { content: ""; position: absolute; left: 50%; top: .9%; width: 5px; height: 5px; border-radius: 50%; background: #0b0d10; box-shadow: inset 0 0 0 1.5px #2f3540; transform: translateX(-50%); }
.sw-aexp .sw-ax-win:hover { box-shadow: inset 0 0 0 1px #2a2d33, 0 0 0 2px #b9bdc4, 0 0 0 3.5px #868a92, 0 40px 80px -22px rgba(22, 44, 84, .45), 0 8px 20px rgba(22, 44, 84, .1); }
.sw-aexp .sw-ax-win-s { position: relative; width: 100%; height: 100%; border-radius: 3.4% / 4.9%; background: #fff; overflow: hidden; }
.sw-aexp .sw-ax-win-c { display: flex; flex-direction: column; width: 720px; height: 500px; transform: scale(var(--k, .8)); transform-origin: 0 0; }
.sw-aexp .sw-ax-win-c .sw-ax-win-b { flex: 1; min-height: 0; overflow: hidden; gap: 12px; padding: 16px 18px; }
.sw-aexp .sw-ax-win-h { padding: 13px 18px; }
.sw-aexp .sw-ax-win-h small { display: none; }
.sw-aexp .sw-ax-win-c .sw-ax-chart { display: grid; grid-template-columns: 1fr auto; align-items: center; }
.sw-aexp .sw-ax-win-c .sw-ax-chart > svg { grid-column: 1 / -1; }
.sw-aexp .sw-ax-win-c .sw-ax-chart > .sw-ax-legend { grid-row: 1; grid-column: 2; margin: 0 0 8px; }
.sw-aexp .sw-ax-win-c .sw-ax-tbl td { padding: 8px 6px; }
.sw-aexp .sw-ax-win-c .sw-ax-top3 img { aspect-ratio: 16 / 10; }
.sw-aexp .sw-ax-win-c .sw-ax-win-b > * { flex-shrink: 0; } /* 화면 높이가 모자랄 때 상자가 눌려 글이 잘리지 않게 */
.sw-aexp.is-ui:not(.is-somp):not(.is-live) .sw-ax-side { top: 0; width: 33%; }
/* sOMP: 노트북 대신 같은 아이패드(왼쪽 메뉴 + AI 메시지 생성) */
.sw-aexp.is-somp .sw-ax-win { left: auto; right: 0; top: 60px; width: 78%; }
.sw-aexp .sw-ax-win-c.is-lap { display: grid; grid-template-columns: 112px 1fr; width: 640px; height: 445px; }
@media (max-width: 1180px) { .sw-aexp.is-ui:not(.is-somp):not(.is-live) .sw-ax-wrap { grid-template-columns: 1fr; } .sw-aexp.is-ui:not(.is-somp):not(.is-live) .sw-ax-stage { max-width: 900px; } }
@media (max-width: 760px) {
  .sw-aexp.is-ui:not(.is-somp):not(.is-live) .sw-ax-stage { height: auto; }
  .sw-aexp .sw-ax-win, .sw-aexp.is-somp .sw-ax-win { position: relative; left: auto; right: auto; top: auto; order: 1; width: 100%; aspect-ratio: auto; padding: 10px; border-radius: 26px; }
  .sw-aexp .sw-ax-win-s { height: auto; border-radius: 16px; }
  .sw-aexp .sw-ax-win-c, .sw-aexp .sw-ax-win-c.is-lap { width: auto; height: auto; transform: none; }
  .sw-aexp .sw-ax-win-c.is-lap { grid-template-columns: 1fr; }
  .sw-aexp.is-ui:not(.is-somp):not(.is-live) .sw-ax-side { width: 100%; }
}
/* sMRO 대시보드 보완: 요약 지표 4개 · 그래프 옆 AI 인사이트 · 예상 소진 열 */
.sw-aexp .sw-ax-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.sw-aexp .sw-ax-kpis div { display: flex; flex-direction: column; gap: 1px; padding: 9px 12px; border-radius: 10px; background: #f7f9fc; }
.sw-aexp .sw-ax-kpis span { font-size: 11.5px; font-weight: 600; color: var(--ax-mute); }
.sw-aexp .sw-ax-kpis b { font-size: 18px; font-weight: 800; letter-spacing: -.01em; color: var(--ax-ink); }
.sw-aexp .sw-ax-kpis small { font-size: 11px; font-weight: 700; color: #16806f; }
.sw-aexp .sw-ax-cgrid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 14px; align-items: stretch; }
.sw-aexp .sw-ax-insight { display: flex; flex-direction: column; }
.sw-aexp .sw-ax-insight p { flex: 1; font-size: 12.5px; }
.sw-aexp .sw-ax-insight p b { color: var(--ax-navy); }
.sw-aexp .sw-ax-mini-btn { align-self: flex-start; margin-top: 10px; padding: 6px 12px; border-radius: 8px; background: var(--ax-navy); font-size: 11.5px; font-weight: 700; color: #fff; }
.sw-aexp .sw-ax-win-c .sw-ax-tbl td, .sw-aexp .sw-ax-win-c .sw-ax-tbl th { font-size: 12px; }
@media (max-width: 760px) { .sw-aexp .sw-ax-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sw-aexp .sw-ax-cgrid { grid-template-columns: 1fr; } .sw-aexp .sw-ax-win-c .sw-ax-tbl th:nth-child(4), .sw-aexp .sw-ax-win-c .sw-ax-tbl td:nth-child(4) { display: none; } }
.sw-aexp .sw-ax-win-c .sw-ax-tbl td { padding: 6px 6px; }
.sw-aexp .sw-ax-win-c .sw-ax-tbl th { padding-bottom: 6px; }
.sw-aexp .sw-ax-kpis div { padding: 7px 12px; }
.sw-aexp .sw-ax-kpis b { font-size: 17px; }
.sw-aexp .sw-ax-win-c .sw-ax-cgrid .sw-ax-lbl { margin-bottom: 4px; }
/* MMCS '현장 점검 앱' 카드: 흐린 스크린샷 대신 작은 휴대폰 화면(지도 · 점검 시작) + 점검 항목 */
.sw-aexp .sw-ax-fapp { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 16px; align-items: center; }
.sw-aexp .sw-ax-fphone { padding: 5px; border-radius: 22px; background: linear-gradient(145deg, #5b5f68, #17191d 55%, #4a4e57); box-shadow: 0 12px 26px -12px rgba(22, 44, 84, .45); }
.sw-aexp .sw-ax-fscr { position: relative; display: flex; flex-direction: column; height: 214px; border-radius: 17px; background: #eef3f8; overflow: hidden; }
.sw-aexp .sw-ax-fscr > b { display: block; padding: 16px 6px 6px; background: #e8323c; font-size: 10px; font-weight: 800; text-align: center; color: #fff; }
.sw-aexp .sw-ax-fscr svg { display: block; flex: 1; width: 100%; height: auto; }
.sw-aexp .sw-ax-fscr > span { position: absolute; left: 8px; right: 8px; bottom: 8px; padding: 6px; border-radius: 8px; background: #fff; font-size: 10px; font-weight: 800; text-align: center; color: var(--ax-ink); box-shadow: 0 4px 10px -4px rgba(22, 44, 84, .3); }
.sw-aexp .sw-ax-fchk .sw-ax-kv { margin-bottom: 10px; }
.sw-aexp .sw-ax-fchk .sw-ax-kv div { padding: 7px 2px; }
/* MMCS 관제 화면 보완: 지표 4개, 지도 옆 실시간 알림 목록 */
.sw-aexp .sw-ax-stats.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sw-aexp .sw-ax-mgrid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 12px; align-items: stretch; }
.sw-aexp .sw-ax-mgrid .sw-ax-map svg { height: 100%; object-fit: cover; }
.sw-aexp .sw-ax-alerts { padding: 12px; border: 1px solid var(--ax-line); border-radius: 12px; background: #fafbfd; }
.sw-aexp .sw-ax-alerts .sw-ax-lbl { margin-bottom: 6px; }
.sw-aexp .sw-ax-alerts ul { margin: 0; padding: 0; list-style: none; }
.sw-aexp .sw-ax-alerts li { position: relative; display: flex; flex-direction: column; gap: 1px; padding: 8px 0 8px 14px; border-bottom: 1px solid var(--ax-line); list-style: none; }
.sw-aexp .sw-ax-alerts li:last-child { border-bottom: 0; }
.sw-aexp .sw-ax-alerts li::before { content: "" !important; position: absolute; left: 0; top: 13px; width: 7px; height: 7px; border-radius: 50%; background: #1e9e8a; }
.sw-aexp .sw-ax-alerts li.is-amber::before { background: #f2a516; }
.sw-aexp .sw-ax-alerts li.is-red::before { background: #e5484d; }
.sw-aexp .sw-ax-alerts b { font-size: 12.5px; font-weight: 800; color: var(--ax-ink); }
.sw-aexp .sw-ax-alerts span { font-size: 11.5px; color: var(--ax-mute); }
.sw-aexp .sw-ax-alerts li { transition: translate .25s ease; }
.sw-aexp .sw-ax-alerts li:hover { translate: 4px 0; }
@media (max-width: 760px) { .sw-aexp .sw-ax-stats.is-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sw-aexp .sw-ax-mgrid { grid-template-columns: 1fr; } }
/* sMRO AI 인사이트: 예측 수요 · 소진 시점은 경고 색(붉은 글씨) */
.sw-aexp .sw-ax-insight p b { color: #e5484d !important; -webkit-text-fill-color: #e5484d !important; }
/* 화면을 가리지 않는 배치(사용자: "화면을 가리면 안돼") — 카드가 아이패드 · 휴대폰 화면 위에 겹치지 않게 겹쳐 놓던 절대 배치를 격자로.
   아이패드 페이지(SCOS · sMRO · MMCS): 아이패드를 칸 폭 그대로 크게, 카드 2장은 그 아래 나란히.
   sOMP: 1열 휴대폰 · 2~4열 아이패드, 아래 줄에 카드 4장. 라이브: 자막 카드 | 휴대폰 | CLOUVI · VOD 세 칸 */
.sw-aexp.is-ui .sw-ax-stage, .sw-aexp.is-ui:not(.is-somp):not(.is-live) .sw-ax-stage, .sw-aexp.is-somp .sw-ax-stage { display: grid; gap: 18px; height: auto; align-items: start; }
.sw-aexp.is-ui:not(.is-somp):not(.is-live) .sw-ax-stage { grid-template-columns: minmax(0, 1fr); }
.sw-aexp.is-ui:not(.is-somp):not(.is-live) .sw-ax-win { position: relative; left: auto; top: auto; width: 100%; }
.sw-aexp.is-ui:not(.is-somp):not(.is-live) .sw-ax-side { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; width: auto; }
.sw-aexp.is-somp .sw-ax-stage { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; }
.sw-aexp.is-somp .sw-ax-win { position: relative; left: auto; right: auto; top: auto; grid-column: 2 / 5; grid-row: 1; width: 100%; }
.sw-aexp.is-somp .sw-ax-pwrap { position: relative; left: auto; top: auto; grid-column: 1; grid-row: 1; justify-self: center; width: 310px; margin-bottom: calc(var(--ph, 678px) * -.28); transform: scale(.72); transform-origin: 50% 0; }
.sw-aexp.is-somp .sw-ax-segc, .sw-aexp.is-somp .sw-ax-chk, .sw-aexp.is-somp .sw-ax-whenc, .sw-aexp.is-somp .sw-ax-kpic { position: relative; left: auto; right: auto; top: auto; bottom: auto; grid-row: 2; width: auto; align-self: stretch; }
.sw-aexp.is-somp .sw-ax-pop.is-sms { right: -26px; top: 70px; }
.sw-aexp.is-somp .sw-ax-pop.is-kakao { right: -30px; top: 210px; }
.sw-aexp.is-somp .sw-ax-pop.is-mail { right: -26px; top: 350px; }
.sw-aexp.is-somp .sw-ax-pop.is-push { right: -30px; top: 490px; }
.sw-aexp.is-live .sw-ax-stage { grid-template-columns: minmax(0, 1fr) 300px minmax(0, 1.15fr); align-items: center; }
.sw-aexp.is-live .sw-ax-left { position: static; width: auto; grid-column: 1; grid-row: 1; }
.sw-aexp.is-live .sw-ax-phone { position: relative; left: auto; top: auto; grid-column: 2; grid-row: 1; width: 300px; height: 620px; }
.sw-aexp.is-live .sw-ax-side { position: static; width: auto; grid-column: 3; grid-row: 1; }
.sw-aexp.is-live .sw-ax-wrap { grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(28px, 3vw, 52px); max-width: 1400px; }
/* 라이브 휴대폰을 실제 아이폰처럼: 티타늄 테두리 · 다이내믹 아일랜드 · 상태 막대 · 측면 버튼 · 홈 막대 */
.sw-aexp .sw-ax-phone.is-ios { padding: 10px; border-radius: 54px; background: linear-gradient(145deg, #5b5f68 0%, #2b2e34 30%, #17191d 60%, #4a4e57 100%); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .18), 0 0 0 1px #1a1c20, 0 30px 70px -20px rgba(22, 44, 84, .45); }
.sw-aexp .sw-ax-phone.is-ios::before { top: 21px; z-index: 4; width: 96px; height: 28px; background: #000; }
.sw-aexp .sw-ax-phone.is-ios .sw-ax-live { border-radius: 44px; }
.sw-aexp .sw-ax-sb { position: absolute; z-index: -1; width: 4px; border-radius: 2px; background: linear-gradient(90deg, #4a4e57, #2b2e34); }
.sw-aexp .sw-ax-sb.is-a { left: -3px; top: 104px; height: 28px; }
.sw-aexp .sw-ax-sb.is-b { left: -3px; top: 150px; height: 52px; }
.sw-aexp .sw-ax-sb.is-c { left: -3px; top: 214px; height: 52px; }
.sw-aexp .sw-ax-sb.is-p { right: -3px; top: 170px; height: 82px; }
.sw-aexp .sw-ax-ios-bar { position: absolute; left: 30px; right: 26px; top: 19px; z-index: 3; display: flex; align-items: center; justify-content: space-between; color: #fff; font-size: 14px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, .25); }
.sw-aexp .sw-ax-ios-bar span { display: flex; align-items: center; gap: 6px; }
.sw-aexp .sw-ax-ios-bar svg { width: 17px; height: 11px; fill: #fff; stroke: none; }
.sw-aexp .sw-ax-ios-bar em { position: relative; width: 24px; height: 11px; border: 1.5px solid rgba(255, 255, 255, .85); border-radius: 4px; }
.sw-aexp .sw-ax-ios-bar em::before { content: ""; position: absolute; inset: 1.5px 5px 1.5px 1.5px; border-radius: 2px; background: #fff; }
.sw-aexp .sw-ax-ios-home { position: absolute; left: 50%; bottom: 7px; z-index: 3; width: 110px; height: 4px; border-radius: 3px; background: rgba(255, 255, 255, .85); transform: translateX(-50%); }
.sw-aexp .sw-ax-phone.is-ios .sw-ax-live-top { top: 58px; }
.sw-aexp .sw-ax-phone.is-ios .sw-ax-live-prod { bottom: 20px; }
.sw-aexp .sw-ax-phone.is-ios .sw-ax-live-cap { bottom: 102px; }
@media (max-width: 1180px) { .sw-aexp.is-live .sw-ax-wrap { grid-template-columns: 1fr; } .sw-aexp.is-live .sw-ax-stage { max-width: 900px; } }
@media (max-width: 760px) {
  .sw-aexp.is-ui .sw-ax-stage, .sw-aexp.is-somp .sw-ax-stage, .sw-aexp.is-live .sw-ax-stage { display: flex; flex-direction: column; gap: 14px; }
  .sw-aexp.is-ui:not(.is-somp):not(.is-live) .sw-ax-side { grid-template-columns: 1fr; }
  .sw-aexp.is-somp .sw-ax-pwrap { order: 2; margin: 10px auto -150px; transform: scale(.76); }
  .sw-aexp.is-live .sw-ax-phone { order: 1; width: min(300px, 86vw); height: 600px; margin: 0 auto; }
  .sw-aexp.is-live .sw-ax-side { order: 2; } .sw-aexp.is-live .sw-ax-left { order: 3; }
}
/* 가로 폭 넓힘(사용자: "가로폭을 넓여줘") — 내용 최대 폭 1600px */
.sw-aexp.is-ui .sw-ax-wrap, .sw-aexp.is-ui:not(.is-somp):not(.is-live) .sw-ax-wrap, .sw-aexp.is-somp .sw-ax-wrap, .sw-aexp.is-live .sw-ax-wrap { max-width: 1600px; }
.sw-aexp.is-ui .sw-ax-flow, .sw-aexp.is-ui .sw-ax-note { max-width: 1600px; }
.sw-aexp.is-ui { padding-left: clamp(16px, 3vw, 48px); padding-right: clamp(16px, 3vw, 48px); }
/* sOMP 휴대폰: 줄일 때 transform 대신 zoom(글자 · 화면을 작은 크기로 다시 그려 선명하게). 카톡 화면이 뜰 때 잠금화면 날짜 · 손전등/카메라 버튼이 위에 겹치던 것 — 카톡 화면을 그 위로 */
.sw-aexp.is-somp .sw-ax-pwrap { zoom: .72; transform: none; margin-bottom: 0; }
.sw-ums-screen .sw-kk { z-index: 5; }
.sw-ums-screen .sw-ios-status { z-index: 6; }
@media (max-width: 760px) { .sw-aexp.is-somp .sw-ax-pwrap { zoom: .8; transform: none; margin: 10px auto; } }
/* 2×2 기능 카드 세로 크기 똑같이(사용자 요청) — 줄마다 가장 큰 카드에 맞춤, 제목 줄 간격 좁힘 */
.sw-aexp .sw-ax-feats { grid-auto-rows: 1fr; }
.sw-aexp .sw-ax-feats li { height: 100%; align-content: center; }
.sw-aexp .sw-ax-feats b { line-height: 1.3; }
/* 솔루션 'AI ○○' 섹션 움직임 — 화면에 들어올 때(.is-in) 한 번, 마우스를 올릴 때마다 다시: 카드 떠오름 · 그래프 선 그리기 · 막대 차오름 · 말풍선 · 체크 · AI 상자 빛 · 지도 핀. 숫자 세기는 site.js */
.sw-aexp .sw-ax-rise { transition: translate .35s ease, box-shadow .35s ease; }
.sw-aexp.is-ready .sw-ax-rise { transition: opacity .8s ease var(--d, 0s), transform .9s cubic-bezier(.2, .8, .2, 1) var(--d, 0s), translate .35s ease, box-shadow .35s ease; }
.sw-aexp .sw-ax-card:hover, .sw-aexp .sw-ax-win:hover, .sw-aexp .sw-ax-laptop:hover, .sw-aexp .sw-ax-phone:hover, .sw-aexp .sw-ax-feats li:hover, .sw-aexp .sw-ax-flow > div:hover { translate: 0 -6px; }
.sw-aexp .sw-ax-card:hover, .sw-aexp .sw-ax-win:hover { box-shadow: 0 34px 70px -20px rgba(22, 44, 84, .36), 0 6px 18px rgba(22, 44, 84, .08); }
.sw-aexp .sw-ax-feats li:hover, .sw-aexp .sw-ax-flow > div:hover { box-shadow: 0 18px 40px -18px rgba(22, 44, 84, .3); }
.sw-aexp .sw-ax-feats i, .sw-aexp .sw-ax-card-h i { transition: transform .4s cubic-bezier(.3, 1.6, .5, 1); }
.sw-aexp .sw-ax-feats li:hover i, .sw-aexp .sw-ax-card:hover .sw-ax-card-h i { transform: scale(1.14) rotate(-8deg); }
.sw-aexp .sw-ax-flow em { transition: letter-spacing .3s ease; }
.sw-aexp .sw-ax-flow > div:hover em { letter-spacing: .08em; }
/* 그래프 선 그리기 · 뒤따라 나타나는 예측 구간 */
.sw-aexp .sw-ax-draw { stroke-dasharray: 1; stroke-dashoffset: 0; }
.sw-aexp.is-ready .is-in .sw-ax-draw { animation: sw-ax-draw 1.4s ease .35s both; }
.sw-aexp.is-ready .is-in .sw-ax-draw.is-late { animation-delay: 1.4s; }
.sw-aexp.is-ready .is-in .sw-ax-fadein { animation: sw-ax-fade .7s ease 1.6s both; }
.sw-aexp .sw-ax-card:hover .sw-ax-draw, .sw-aexp .sw-ax-win:hover .sw-ax-draw { animation: sw-ax-draw2 1.1s ease both; }
.sw-aexp .sw-ax-card:hover .sw-ax-draw.is-late { animation-delay: .9s; }
.sw-aexp .sw-ax-win:hover .sw-ax-fadein { animation: sw-ax-fade2 .6s ease 1s both; }
@keyframes sw-ax-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes sw-ax-draw2 { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes sw-ax-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes sw-ax-fade2 { from { opacity: 0; } to { opacity: 1; } }
/* 막대 차오름(가로 · 세로) */
.sw-aexp .sw-ax-bars i::before, .sw-aexp .sw-ax-prog i::before { transform-origin: 0 50%; }
.sw-aexp.is-ready .is-in .sw-ax-bars i::before, .sw-aexp.is-ready .is-in .sw-ax-prog i::before { animation: sw-ax-grow 1.1s cubic-bezier(.2, .8, .2, 1) .4s both; }
.sw-aexp .sw-ax-card:hover .sw-ax-bars i::before, .sw-aexp .sw-ax-card:hover .sw-ax-prog i::before { animation: sw-ax-grow2 .9s cubic-bezier(.2, .8, .2, 1) both; }
.sw-aexp .sw-ax-bars div:nth-child(2) i::before { animation-delay: .55s; }
.sw-aexp .sw-ax-bars div:nth-child(3) i::before { animation-delay: .7s; }
.sw-aexp .sw-ax-card:hover .sw-ax-bars div:nth-child(2) i::before { animation-delay: .12s; }
.sw-aexp .sw-ax-card:hover .sw-ax-bars div:nth-child(3) i::before { animation-delay: .24s; }
@keyframes sw-ax-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes sw-ax-grow2 { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.sw-aexp .sw-ax-cols rect { transform-box: fill-box; transform-origin: 50% 100%; }
.sw-aexp.is-ready .is-in .sw-ax-cols rect { animation: sw-ax-rise-col .8s cubic-bezier(.2, .8, .2, 1) both; }
.sw-aexp .sw-ax-card:hover .sw-ax-cols rect { animation: sw-ax-rise-col2 .7s cubic-bezier(.2, .8, .2, 1) both; }
.sw-aexp .sw-ax-cols rect:nth-child(2) { animation-delay: .06s; } .sw-aexp .sw-ax-cols rect:nth-child(3) { animation-delay: .12s; } .sw-aexp .sw-ax-cols rect:nth-child(4) { animation-delay: .18s; }
.sw-aexp .sw-ax-cols rect:nth-child(5) { animation-delay: .24s; } .sw-aexp .sw-ax-cols rect:nth-child(6) { animation-delay: .3s; } .sw-aexp .sw-ax-cols rect:nth-child(7) { animation-delay: .36s; } .sw-aexp .sw-ax-cols rect:nth-child(8) { animation-delay: .42s; }
@keyframes sw-ax-rise-col { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes sw-ax-rise-col2 { from { transform: scaleY(0); } to { transform: scaleY(1); } }
/* 말풍선 · 체크 목록 · 세그먼트 */
.sw-aexp .sw-ax-card:hover .sw-ax-chat p { animation: sw-ax-bub .5s cubic-bezier(.3, 1.5, .5, 1) both; }
.sw-aexp .sw-ax-card:hover .sw-ax-chat .is-a { animation-delay: .3s; }
@keyframes sw-ax-bub { from { opacity: 0; transform: translateY(10px) scale(.85); } to { opacity: 1; transform: none; } }
.sw-aexp .sw-ax-card:hover .sw-ax-checks i { animation: sw-ax-tick .45s cubic-bezier(.3, 1.6, .5, 1) both; }
.sw-aexp .sw-ax-checks li:nth-child(2) i { animation-delay: .12s; } .sw-aexp .sw-ax-checks li:nth-child(3) i { animation-delay: .24s; } .sw-aexp .sw-ax-checks li:nth-child(4) i { animation-delay: .36s; }
@keyframes sw-ax-tick { 0% { transform: scale(.3); opacity: 0; } 100% { transform: none; opacity: 1; } }
.sw-aexp .sw-ax-seg li, .sw-aexp .sw-ax-list li, .sw-aexp .sw-ax-sugg > div, .sw-aexp .sw-ax-route span, .sw-aexp .sw-ax-chips span { transition: translate .25s ease, border-color .25s ease, background .25s ease; }
.sw-aexp .sw-ax-seg li:hover, .sw-aexp .sw-ax-list li:hover { translate: 4px 0; }
.sw-aexp .sw-ax-sugg > div:hover, .sw-aexp .sw-ax-route span:hover, .sw-aexp .sw-ax-chips span:hover { translate: 0 -3px; }
.sw-aexp .sw-ax-tbl tbody tr { transition: background .2s ease; }
.sw-aexp .sw-ax-tbl tbody tr:hover { background: #f5f8fc; }
.sw-aexp .sw-ax-top3 figure { overflow: hidden; border-radius: 10px; }
.sw-aexp .sw-ax-top3 img { transition: transform .5s ease; }
.sw-aexp .sw-ax-top3 figure:hover img { transform: scale(1.07); }
/* AI 상자: 빛이 한 번 지나감 */
.sw-aexp .sw-ax-aibox { position: relative; overflow: hidden; }
.sw-aexp .sw-ax-aibox::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, .75) 50%, transparent 70%); transform: translateX(-110%); pointer-events: none; }
.sw-aexp.is-ready .is-in .sw-ax-aibox::after { animation: sw-ax-shine 1.2s ease 1s both; }
.sw-aexp .sw-ax-win:hover .sw-ax-aibox::after { animation: sw-ax-shine2 1s ease both; }
@keyframes sw-ax-shine { to { transform: translateX(110%); } }
@keyframes sw-ax-shine2 { to { transform: translateX(110%); } }
/* 지도 핀 깜빡 · 노트북 'AI로 메시지 생성' 버튼 */
.sw-aexp .sw-ax-pin { transform-box: fill-box; transform-origin: center; }
.sw-aexp .sw-ax-win:hover .sw-ax-pin { animation: sw-ax-blip .6s ease both; }
.sw-aexp .sw-ax-win:hover .sw-ax-pin:nth-of-type(3n) { animation-delay: .12s; }
.sw-aexp .sw-ax-win:hover .sw-ax-pin:nth-of-type(3n+1) { animation-delay: .24s; }
@keyframes sw-ax-blip { 50% { transform: scale(1.7); } }
.sw-aexp .sw-ax-gen { transition: translate .25s ease, box-shadow .25s ease; }
.sw-aexp .sw-ax-win:hover .sw-ax-gen { translate: 0 -2px; box-shadow: 0 10px 22px -8px rgba(80, 70, 220, .6); }
@media (prefers-reduced-motion: reduce) {
  .sw-aexp .sw-ax-rise:hover, .sw-aexp .sw-ax-seg li:hover, .sw-aexp .sw-ax-list li:hover { translate: none; }
  .sw-aexp .sw-ax-draw, .sw-aexp .sw-ax-fadein, .sw-aexp .sw-ax-bars i::before, .sw-aexp .sw-ax-prog i::before, .sw-aexp .sw-ax-cols rect, .sw-aexp .sw-ax-chat p, .sw-aexp .sw-ax-checks i, .sw-aexp .sw-ax-aibox::after, .sw-aexp .sw-ax-pin { animation: none !important; }
}
/* SCOS 시나리오 재생(site.js) — 글자 입력 커서 · 칩 전환 · 순위 상승 표시 · CLOUVI 입력 중(…) · 발송 예약 완료 */
.sw-aexp .sw-ax-typing::after { content: ""; display: inline-block; width: 2px; height: 1em; margin-left: 2px; vertical-align: -2px; background: var(--ax-teal); animation: sw-ax-caret .8s steps(1) infinite; }
@keyframes sw-ax-caret { 50% { opacity: 0; } }
.sw-aexp .sw-ax-win .sw-ax-aibox p { min-height: 3.3em; }
.sw-aexp .sw-ax-chips span { transition: background .3s ease, color .3s ease, translate .25s ease; }
.sw-aexp .sw-ax-top3 figure.is-up::after { content: "▲"; position: absolute; right: 6px; top: 6px; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 6px; background: #e8f6f3; font-size: 10px; font-weight: 800; color: #16806f; animation: sw-ax-bub .45s cubic-bezier(.3, 1.5, .5, 1) both; }
.sw-aexp .sw-ax-chat.is-wait p { visibility: hidden; }
.sw-aexp .sw-ax-chat.is-dots .is-a { visibility: visible; min-width: 54px; min-height: 30px; }
.sw-aexp .sw-ax-chat.is-dots .is-a::after { content: "• • •"; letter-spacing: 2px; color: #9aa5b5; animation: sw-ax-caret 1s steps(1) infinite; }
.sw-aexp .sw-ax-chat.is-dots .is-q { visibility: visible; animation: sw-ax-bub .45s cubic-bezier(.3, 1.5, .5, 1) both; }
.sw-aexp .sw-ax-row { transition: opacity .4s ease, translate .4s ease; }
.sw-aexp .sw-ax-row.is-wait { opacity: 0; translate: 0 10px; }
.sw-aexp .sw-ax-btn { transition: filter .3s ease; }
.sw-aexp .sw-ax-btn.is-done { filter: saturate(1.2) brightness(1.06); }
/* iOS 상태 막대 아이콘(신호 · 와이파이 · 배터리) — 줄어들지 않게 */
.sw-ios-status span svg, .sw-aexp .sw-ax-ios-bar svg, .sw-aexp .sw-ax-fstat svg { flex: none; fill: currentColor; stroke: none; }
.sw-ios-status { color: #fff; }
.sw-aexp .sw-ax-ios-bar svg.sw-ios-sig { width: 17px; height: 11px; } .sw-aexp .sw-ax-ios-bar svg.sw-ios-wifi { width: 15.5px; height: 11px; } .sw-aexp .sw-ax-ios-bar svg.sw-ios-bat { width: 25px; height: 12px; }
.sw-aexp .sw-ax-ios-bar span { gap: 5px; }
/* MMCS 현장 점검 앱: 작은 실제 아이폰 + 관제 앱 화면(앱 머리 · 지도 · 아래 시트) */
.sw-aexp .sw-ax-fapp { grid-template-columns: 150px minmax(0, 1fr); }
.sw-aexp .sw-ax-fphone { position: relative; padding: 5px; border-radius: 28px; background: linear-gradient(145deg, #5b5f68 0%, #2b2e34 30%, #17191d 60%, #4a4e57 100%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18), 0 14px 30px -14px rgba(22, 44, 84, .5); }
.sw-aexp .sw-ax-fphone::before { content: ""; position: absolute; left: 50%; top: 11px; z-index: 3; width: 40px; height: 12px; border-radius: 999px; background: #000; transform: translateX(-50%); }
.sw-aexp .sw-ax-fsb { position: absolute; width: 2.5px; border-radius: 2px; background: #3a3d44; }
.sw-aexp .sw-ax-fsb.is-a { left: -2px; top: 58px; height: 18px; } .sw-aexp .sw-ax-fsb.is-b { left: -2px; top: 84px; height: 28px; } .sw-aexp .sw-ax-fsb.is-p { right: -2px; top: 76px; height: 40px; }
.sw-aexp .sw-ax-fscr { position: relative; display: flex; flex-direction: column; height: 290px; border-radius: 23px; background: #f1efe9; overflow: hidden; }
.sw-aexp .sw-ax-fstat { position: absolute; left: 14px; right: 11px; top: 9px; z-index: 2; display: flex; align-items: center; justify-content: space-between; color: #fff; }
.sw-aexp .sw-ax-fstat b { font-size: 9px; font-weight: 700; }
.sw-aexp .sw-ax-fstat span { display: flex; align-items: center; gap: 2.5px; }
.sw-aexp .sw-ax-fstat svg.sw-ios-sig { width: 10px; height: 7px; } .sw-aexp .sw-ax-fstat svg.sw-ios-wifi { width: 9.5px; height: 7px; } .sw-aexp .sw-ax-fstat svg.sw-ios-bat { width: 15px; height: 7.5px; }
.sw-aexp .sw-ax-fhead { position: relative; display: flex; align-items: center; justify-content: center; padding: 30px 10px 8px; background: #e8323c; }
.sw-aexp .sw-ax-fhead b { font-size: 10px; font-weight: 800; color: #fff; }
.sw-aexp .sw-ax-fhead i { position: absolute; right: 10px; bottom: 10px; width: 10px; height: 8px; background: linear-gradient(#fff 0 1.5px, transparent 1.5px 3.25px, #fff 3.25px 4.75px, transparent 4.75px 6.5px, #fff 6.5px 8px); }
.sw-aexp .sw-ax-fmap { display: block; flex: 1; width: 100%; min-height: 0; object-fit: cover; }
.sw-aexp .sw-ax-fsheet { position: absolute; left: 6px; right: 6px; bottom: 14px; display: flex; flex-direction: column; gap: 3px; padding: 8px 9px; border-radius: 12px; background: #fff; box-shadow: 0 -4px 14px -6px rgba(22, 44, 84, .35); }
.sw-aexp .sw-ax-fsheet b { font-size: 10px; font-weight: 800; color: var(--ax-ink); }
.sw-aexp .sw-ax-fsheet small { font-size: 8px; color: var(--ax-mute); }
.sw-aexp .sw-ax-fsheet em { display: flex; gap: 3px; font-style: normal; }
.sw-aexp .sw-ax-fsheet em i { padding: 2px 5px; border-radius: 999px; background: #e8f6f3; font-size: 7.5px; font-style: normal; font-weight: 800; color: #16806f; }
.sw-aexp .sw-ax-fsheet em i.is-warn { background: #fff4e0; color: #b86e00; }
.sw-aexp .sw-ax-fsheet > span { margin-top: 3px; padding: 5px; border-radius: 8px; background: #e8323c; font-size: 9px; font-weight: 800; text-align: center; color: #fff; }
.sw-aexp .sw-ax-fhome { position: absolute; left: 50%; bottom: 5px; width: 46px; height: 3px; border-radius: 3px; background: rgba(0, 0, 0, .7); transform: translateX(-50%); }
/* 시나리오 재생 공통 상태 — 다시 그리기(.sw-ax-rp) · 누름 · 강조 · 새 알림 · 완료 */
.sw-aexp .sw-ax-rp .sw-ax-draw { animation: sw-ax-draw2 1.2s ease both; }
.sw-aexp .sw-ax-rp .sw-ax-draw.is-late { animation-delay: .9s; }
.sw-aexp .sw-ax-rp .sw-ax-fadein { animation: sw-ax-fade2 .6s ease 1s both; }
.sw-aexp .sw-ax-rp .sw-ax-bars i::before, .sw-aexp .sw-ax-rp .sw-ax-prog i::before { animation: sw-ax-grow2 1s cubic-bezier(.2, .8, .2, 1) both; }
.sw-aexp .sw-ax-rp .sw-ax-cols rect { animation: sw-ax-rise-col2 .8s cubic-bezier(.2, .8, .2, 1) both; }
.sw-aexp .sw-ax-rp .sw-ax-checks i { animation: sw-ax-tick .45s cubic-bezier(.3, 1.6, .5, 1) both; }
.sw-aexp .sw-ax-rp .sw-ax-pin { animation: sw-ax-blip .6s ease both; }
.sw-aexp .sw-ax-rp .sw-ax-aibox::after { animation: sw-ax-shine2 1s ease both; }
.sw-aexp .is-press { scale: .94; filter: brightness(1.1); transition: scale .15s ease, filter .15s ease; }
.sw-aexp .sw-ax-gen, .sw-aexp .sw-ax-lap-btns span, .sw-aexp .sw-ax-mini-btn, .sw-aexp .sw-ax-btn { transition: scale .2s ease, filter .2s ease, background .3s ease; }
.sw-aexp .sw-ax-tbl tbody tr.is-hl { background: #eef4ff; }
.sw-aexp .sw-ax-badge { transition: background .3s ease, color .3s ease, scale .2s ease; }
.sw-aexp .sw-ax-badge.is-done { background: #e6eefb; color: var(--ax-navy); }
.sw-aexp .sw-ax-badge.is-hl { scale: 1.15; box-shadow: 0 0 0 3px color-mix(in srgb, var(--ax-teal) 22%, transparent); }
.sw-aexp .sw-ax-list li { transition: opacity .35s ease, translate .35s ease; }
.sw-aexp .sw-ax-list li.is-wait { opacity: 0; translate: 10px 0; }
.sw-aexp .sw-ax-pin-tip { transition: opacity .35s ease, translate .35s ease; }
.sw-aexp .sw-ax-pin-tip.is-wait { opacity: 0; translate: 0 6px; }
.sw-aexp .sw-ax-alerts li.is-new { animation: sw-ax-newin .5s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes sw-ax-newin { from { opacity: 0; transform: translateY(-10px); background: #fff7e6; } to { opacity: 1; transform: none; } }
.sw-aexp .sw-ax-mini-btn.is-done { background: #16806f; }
.sw-aexp .sw-ax-seg li { transition: border-color .3s ease, background .3s ease, translate .25s ease; }
.sw-aexp .sw-ax-sugg p, .sw-aexp .sw-ax-tr dd { min-height: 1.5em; }
.sw-aexp .sw-ax-live-cap:empty { opacity: 0; }
.sw-aexp .sw-ax-live-cap { transition: opacity .3s ease; }
/* 라이브커머스 휴대폰: 실제 라이브 앱 화면(앱 머리 · LIVE/시청/좋아요/제목 · AI 실시간 자막 · 공지 · 채팅 · 상품 · 입력창 · 떠오르는 하트) */
.sw-aexp .sw-ax-live::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(rgba(0, 0, 0, .5), transparent 28%, transparent 52%, rgba(0, 0, 0, .62)); pointer-events: none; }
.sw-aexp .sw-lv-app { position: absolute; left: 16px; right: 14px; top: 50px; z-index: 2; display: flex; align-items: center; justify-content: space-between; }
.sw-aexp .sw-lv-logo { padding: 2px 8px; border-radius: 999px; background: #fff; font-size: 12px; font-weight: 900; letter-spacing: -.02em; color: #1f4e8c; }
.sw-aexp .sw-lv-logo em { margin-left: 1px; font-style: normal; color: #ff3b5c; }
.sw-aexp .sw-lv-ic { display: flex; gap: 12px; color: #fff; }
.sw-aexp .sw-lv-ic svg { width: 18px; height: 18px; fill: none; stroke: #fff; stroke-width: 2; }
.sw-aexp .sw-lv-ic svg:first-child { fill: #fff; stroke: none; }
.sw-aexp .sw-lv-meta { position: absolute; left: 16px; right: 14px; top: 80px; z-index: 2; display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, .4); white-space: nowrap; }
.sw-aexp .sw-lv-badge { padding: 2px 6px; border-radius: 4px; background: #ff3b5c; font-size: 10px; font-weight: 800; text-shadow: none; }
.sw-aexp .sw-lv-meta b { font-weight: 800; }
.sw-aexp .sw-lv-title { overflow: hidden; margin-left: 4px; font-size: 12px; text-overflow: ellipsis; }
.sw-aexp .sw-lv-stt { position: absolute; left: 12px; right: 12px; top: 106px; z-index: 2; padding: 8px 11px 9px; border-radius: 8px; background: rgba(18, 18, 22, .62); color: #fff; backdrop-filter: blur(3px); }
.sw-aexp .sw-lv-stt em { display: inline-block; margin-bottom: 3px; font-size: 9.5px; font-style: normal; font-weight: 800; color: #7ff0d6; }
.sw-aexp .sw-lv-stt p { display: -webkit-box; margin: 0; min-height: 4.5em; overflow: hidden; font-size: 12px; line-height: 1.5; word-break: keep-all; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.sw-aexp .sw-lv-chat-wrap { position: absolute; left: 12px; right: 64px; bottom: 136px; z-index: 2; display: flex; flex-direction: column; gap: 6px; }
.sw-aexp .sw-lv-notice { align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: rgba(0, 0, 0, .45); font-size: 10.5px; font-weight: 700; color: #fff; }
.sw-aexp .sw-lv-chat { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 0; list-style: none; }
.sw-aexp .sw-lv-chat li { list-style: none; font-size: 11px; line-height: 1.4; color: #fff; text-shadow: 0 1px 3px rgba(0, 0, 0, .55); }
.sw-aexp .sw-lv-chat li::before { content: none !important; }
.sw-aexp .sw-lv-chat li.is-new { animation: sw-lv-chatin .35s ease both; }
@keyframes sw-lv-chatin { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.sw-aexp .sw-lv-chat b { margin-right: 5px; font-weight: 800; color: #ffd36b; }
.sw-aexp .sw-ax-phone.is-ios .sw-ax-live-prod { bottom: 60px; z-index: 2; }
.sw-aexp .sw-lv-input { position: absolute; left: 12px; right: 12px; bottom: 18px; z-index: 2; display: flex; align-items: center; gap: 8px; }
.sw-aexp .sw-lv-input span { flex: 1; padding: 8px 12px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 999px; background: rgba(0, 0, 0, .38); font-size: 11px; color: rgba(255, 255, 255, .78); }
.sw-aexp .sw-lv-heart { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #ff5a3c; font-size: 15px; font-style: normal; color: #fff; }
.sw-aexp .sw-lv-hearts { position: absolute; right: 12px; bottom: 54px; z-index: 3; width: 40px; height: 230px; pointer-events: none; }
.sw-aexp .sw-lv-hearts i { position: absolute; left: 50%; bottom: 0; font-size: 17px; font-style: normal; color: var(--c, #ff5a7a); animation: sw-lv-float 2.3s ease-out forwards; }
@keyframes sw-lv-float { 0% { opacity: 0; transform: translate(-50%, 0) scale(.5); } 14% { opacity: 1; transform: translate(-50%, -18px) scale(1); } 100% { opacity: 0; transform: translate(calc(-50% + var(--x, 0px)), -210px) scale(1.15); } }
@media (prefers-reduced-motion: reduce) { .sw-aexp .sw-lv-hearts { display: none; } }
/* 아이패드 머리 · sOMP 메뉴 앞 솔루션 로고 마크 */
.sw-aexp .sw-ax-win-h { gap: 9px; }
.sw-aexp .sw-ax-win-mark { flex: none; width: 22px; height: 22px; }
.sw-aexp .sw-ax-lap-nav b .sw-ax-win-mark { width: 18px; height: 18px; }
/* 솔루션 개요의 로고 카드(.sw-ov-logo.sw-wordmark.is-brand — SCOS 등): 흰 빈 칸 → 은은한 빛 · 점 격자 바탕 카드, 마크에 빛 번짐, 이름은 넓은 자간 대신 알약 */
.sw-ov-logo.sw-wordmark.is-brand { position: relative; display: flex !important; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; border: 1px solid #e3e8f0; border-radius: 20px !important; background: radial-gradient(55% 65% at 28% 32%, rgba(47, 107, 216, .14), transparent 70%), radial-gradient(45% 55% at 82% 78%, rgba(255, 122, 48, .12), transparent 70%), linear-gradient(160deg, #fff, #f2f6ff) !important; box-shadow: 0 30px 60px -32px rgba(22, 44, 84, .28); text-align: center; isolation: isolate; }
.sw-ov-logo.sw-wordmark.is-brand::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: radial-gradient(#d3dcec 1px, transparent 1.2px); background-size: 18px 18px; -webkit-mask: radial-gradient(70% 70% at 50% 50%, #000, transparent 75%); mask: radial-gradient(70% 70% at 50% 50%, #000, transparent 75%); opacity: .7; }
.sw-ov-logo.sw-wordmark.is-brand::after { content: ""; position: absolute; left: 50%; top: 50%; z-index: -1; width: 340px; height: 340px; border: 1px dashed rgba(47, 107, 216, .18); border-radius: 50%; transform: translate(-50%, -58%); animation: sw-ov-spin 40s linear infinite; }
@keyframes sw-ov-spin { to { transform: translate(-50%, -58%) rotate(360deg); } }
.sw-ov-logo.sw-wordmark.is-brand .sw-ov-brand { animation: sw-ov-float 6s ease-in-out infinite; }
@keyframes sw-ov-float { 50% { transform: translateY(-5px); } }
.sw-ov-logo.sw-wordmark.is-brand img.sw-ov-mark { filter: drop-shadow(0 12px 20px rgba(47, 107, 216, .35)); }
.sw-ov-logo.sw-wordmark.is-brand small { display: inline-block; margin-top: 24px; padding: 7px 16px; border: 1px solid #dfe6f2; border-radius: 999px; background: rgba(255, 255, 255, .85); font-size: 14.5px; font-weight: 700; letter-spacing: 0 !important; text-transform: none; color: #33415c; box-shadow: 0 6px 16px -10px rgba(22, 44, 84, .3); }
@media (prefers-reduced-motion: reduce) { .sw-ov-logo.sw-wordmark.is-brand::after, .sw-ov-logo.sw-wordmark.is-brand .sw-ov-brand { animation: none; } }
/* MMCS 현장 점검 앱 폰 — 실제 앱 화면처럼(카카오 지도 · 빨간 마커 · 맨홀 정보 팝업 · 센서 표 · 맨홀상세 · 현재 위치 · + 버튼) */
.sw-aexp .sw-ax-fapp { grid-template-columns: 176px minmax(0, 1fr); }
.sw-aexp .sw-ax-fscr { height: 340px; background: #f4f0e6; }
.sw-aexp .sw-ax-fhead { padding: 31px 10px 9px; }
.sw-aexp .sw-ax-fhead b { font-size: 11px; }
.sw-aexp .sw-ax-fmap { position: absolute; left: 0; right: 0; top: 54px; bottom: 0; width: 100%; height: calc(100% - 54px); }
.sw-aexp .sw-ax-fcard { position: absolute; left: 6px; right: 6px; top: 70px; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) 38px; border-radius: 6px; background: #fff; overflow: hidden; box-shadow: 0 6px 16px -6px rgba(0, 0, 0, .35); }
.sw-aexp .sw-ax-finfo { display: flex; flex-direction: column; gap: 1px; min-width: 0; padding: 6px 6px 6px 7px; }
.sw-aexp .sw-ax-finfo > b { font-size: 7.6px; font-weight: 800; color: #1a1a1a; white-space: nowrap; }
.sw-aexp .sw-ax-finfo > b small { font-size: 6.4px; font-weight: 700; }
.sw-aexp .sw-ax-finfo > span { font-size: 6.6px; font-weight: 700; color: #1f6fe5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sw-aexp .sw-ax-finfo > small { font-size: 5.8px; color: #6b7280; white-space: nowrap; }
.sw-aexp .sw-ax-finfo dl { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2px; margin: 4px 0 0; }
.sw-aexp .sw-ax-finfo dl div { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.sw-aexp .sw-ax-finfo dt { font-size: 5.6px; font-weight: 700; color: #374151; white-space: nowrap; }
.sw-aexp .sw-ax-finfo dd { margin: 0; }
.sw-aexp .sw-ax-fchip { display: block; padding: 1.5px 3px; border-radius: 2px; font-size: 5.6px; font-style: normal; font-weight: 800; color: #fff; transition: background .3s ease; }
.sw-aexp .sw-ax-fchip.is-red { background: #e8323c; } .sw-aexp .sw-ax-fchip.is-green { background: #2fb36a; } .sw-aexp .sw-ax-fchip.is-gray { background: #8b919a; } .sw-aexp .sw-ax-fchip.is-blue { background: #2f86e8; }
.sw-aexp .sw-ax-fbtn { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; background: #f57c22; font-size: 5.8px; font-weight: 800; color: #fff; text-align: center; }
.sw-aexp .sw-ax-fbtn i { width: 15px; height: 15px; border: 1.6px solid #fff; border-radius: 50%; background: radial-gradient(circle, #fff 0 2.4px, transparent 2.6px); }
.sw-aexp .sw-ax-floc { position: absolute; left: 8px; bottom: 20px; z-index: 2; width: 20px; height: 20px; border-radius: 50%; background: #fff radial-gradient(circle, #374151 0 2px, transparent 2.2px); box-shadow: 0 2px 6px rgba(0, 0, 0, .25); }
.sw-aexp .sw-ax-ffab { position: absolute; right: 8px; bottom: 24px; z-index: 2; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #f57c22; font-size: 17px; font-style: normal; font-weight: 400; line-height: 1; color: #fff; box-shadow: 0 3px 8px rgba(245, 124, 34, .45); }
.sw-aexp .sw-ax-fkakao { position: absolute; right: 9px; bottom: 11px; z-index: 2; font-size: 6px; font-style: normal; font-weight: 800; color: #3b3b3b; opacity: .8; }
/* 로고 카드: 점 격자 · 점선 원 · 색 번짐 빼고 깔끔하게 — 아주 옅은 그라데이션 + 로고 아래 부드러운 그림자로 떠 있는 느낌 */
.sw-ov-logo.sw-wordmark.is-brand { background: linear-gradient(180deg, #ffffff 0%, #f6f8fc 100%) !important; border-color: #e6eaf1; box-shadow: 0 1px 0 #fff inset, 0 24px 48px -30px rgba(22, 44, 84, .22); }
.sw-ov-logo.sw-wordmark.is-brand::before { content: ""; position: absolute; left: 50%; top: 50%; z-index: -1; width: 62%; height: 26px; border-radius: 50%; background: radial-gradient(closest-side, rgba(22, 44, 84, .16), transparent); background-image: radial-gradient(closest-side, rgba(22, 44, 84, .16), transparent); background-size: auto; -webkit-mask: none; mask: none; opacity: 1; transform: translate(-50%, -22px); animation: sw-ov-shadow 6s ease-in-out infinite; }
.sw-ov-logo.sw-wordmark.is-brand::after { content: none; animation: none; }
@keyframes sw-ov-shadow { 50% { transform: translate(-50%, -22px) scale(.9); opacity: .75; } }
.sw-ov-logo.sw-wordmark.is-brand img.sw-ov-mark { filter: none; }
.sw-ov-logo.sw-wordmark.is-brand small { margin-top: 40px; border-color: #e3e8f0; background: #fff; box-shadow: none; color: #4a5872; font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .sw-ov-logo.sw-wordmark.is-brand::before { animation: none; } }
.sw-aexp .sw-ax-fmap { stroke: none; } /* 공용 아이콘 테두리(currentColor)가 지도 녹지에 검은 선으로 묻던 것 */
.sw-aexp .sw-ax-fscr > span.sw-ax-fhome { left: 50%; right: auto; bottom: 5px; width: 46px; height: 3px; padding: 0; border-radius: 3px; background: rgba(0, 0, 0, .65); box-shadow: none; transform: translateX(-50%); }
/* iOS 상태 막대 아이콘 크기 고정 — 섹션 공용 'svg { width: 100% }' 가 덮어 신호 막대가 크게 늘어나던 것 */
.sw-aexp .sw-ios-status svg.sw-ios-sig, .sw-ios-status svg.sw-ios-sig { width: 17px !important; height: 11px !important; }
.sw-aexp .sw-ios-status svg.sw-ios-wifi, .sw-ios-status svg.sw-ios-wifi { width: 15.5px !important; height: 11px !important; }
.sw-aexp .sw-ios-status svg.sw-ios-bat, .sw-ios-status svg.sw-ios-bat { width: 25px !important; height: 12px !important; }
.sw-ios-status span { gap: 5px; }
/* MMCS 현장 앱 지도: 실제 구로구 지도(OpenStreetMap, © OpenStreetMap contributors) 위에 맨홀 마커 */
.sw-aexp img.sw-ax-fmap { object-fit: cover; object-position: 50% 50%; }
.sw-aexp .sw-ax-fpins { position: absolute; left: 0; right: 0; top: 54px; bottom: 0; z-index: 1; width: 100%; height: calc(100% - 54px); stroke: none; }
.sw-aexp .sw-ax-fkakao { padding: 1px 4px; border-radius: 3px; background: rgba(255, 255, 255, .8); font-size: 5.6px; font-weight: 600; opacity: 1; }
/* 카톡 화면 머리 아이콘: 앞의 '.sw-kk-head i'(26px 남색 칸 · 그림)가 검색 · 메뉴 · 인증 배지를 덮어 이상한 배경이 보이던 것 */
.sw-kk-head i.sw-kk-search, .sw-kk-head i.sw-kk-menu { width: 18px; height: 18px; border-radius: 0; background: #fff; }
.sw-kk-head i.sw-kk-badge { width: 12px; height: 12px; border-radius: 50%; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b0b0b' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 8px no-repeat; }
/* AI 개인화(567) 'AI Experience Commerce' 재생 — AI 인플루언서 영상 느낌(천천히 확대 · 진행 막대 · 말 자막 · 댓글), 가상 피팅 생성 스캔 · 결과 공개, 핏 확인, 담기 */
.sw-aexp .sw-ax-ai.is-inf { background: linear-gradient(90deg, #6a5cf0, #ff5a7a); color: #fff; }
.sw-aexp .sw-ax-creator > img { transform-origin: 50% 30%; }
.sw-aexp .sw-ax-creator.is-playing > img { animation: sw-ax-kb 12s ease-in-out infinite alternate; }
@keyframes sw-ax-kb { from { transform: scale(1); } to { transform: scale(1.09) translateY(-1.5%); } }
.sw-aexp .sw-ax-creator.is-playing .sw-ax-play { opacity: 0; scale: .6; transition: opacity .35s ease, scale .35s ease; }
.sw-aexp .sw-ax-vbar { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; height: 3px; background: rgba(255, 255, 255, .25); }
.sw-aexp .sw-ax-vbar::before { content: ""; display: block; width: 0; height: 100%; background: #ff5a7a; }
.sw-aexp .sw-ax-creator.is-playing-r .sw-ax-vbar::before { animation: sw-ax-vbar 9s linear forwards; }
@keyframes sw-ax-vbar { to { width: 100%; } }
.sw-aexp .sw-ax-say { position: absolute; left: 12px; right: 12px; top: 42%; z-index: 2; padding: 7px 10px; border-radius: 10px; background: rgba(12, 16, 26, .55); font-size: 12.5px; font-weight: 600; line-height: 1.45; color: #fff; text-align: center; word-break: keep-all; backdrop-filter: blur(3px); }
.sw-aexp .sw-ax-say:empty { opacity: 0; }
.sw-aexp .sw-ax-cmts { position: absolute; left: 12px; right: 12px; bottom: 74px; z-index: 2; display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 0; list-style: none; }
.sw-aexp .sw-ax-cmts li { list-style: none; font-size: 11.5px; color: #fff; text-shadow: 0 1px 3px rgba(0, 0, 0, .6); animation: sw-lv-chatin .35s ease both; }
.sw-aexp .sw-ax-cmts li::before { content: none !important; }
.sw-aexp .sw-ax-cmts b { margin-right: 5px; color: #ffd36b; }
.sw-aexp .sw-ax-play { transition: opacity .35s ease, scale .35s ease; }
.sw-aexp .is-swap { animation: sw-ax-swap .5s cubic-bezier(.3, 1.4, .5, 1) both; }
@keyframes sw-ax-swap { from { opacity: 0; transform: scale(.9); } to { opacity: 1; transform: none; } }
.sw-aexp .sw-ax-result > img { transition: filter .4s ease; }
.sw-aexp .sw-ax-result.is-gen > img { filter: blur(8px) saturate(.5) brightness(1.05); }
.sw-aexp .sw-ax-result.is-gen::after { content: ""; position: absolute; left: 0; right: 0; top: -30%; z-index: 2; height: 30%; background: linear-gradient(transparent, rgba(30, 158, 138, .45), transparent); animation: sw-ax-scan 1.1s linear infinite; }
@keyframes sw-ax-scan { to { top: 100%; } }
.sw-aexp .sw-ax-result.is-gen::before { content: "AI가 가상 피팅을 만들고 있어요…"; position: absolute; left: 50%; top: 50%; z-index: 3; padding: 7px 12px; border-radius: 999px; background: rgba(255, 255, 255, .92); font-size: 12px; font-weight: 800; color: var(--ax-navy); white-space: nowrap; transform: translate(-50%, -50%); }
.sw-aexp .sw-ax-result.is-reveal > img { animation: sw-ax-wipe .9s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes sw-ax-wipe { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0); } }
.sw-aexp .sw-ax-tag { transition: opacity .3s ease, translate .3s ease; }
.sw-aexp .sw-ax-tag.is-hide { opacity: 0; translate: 0 8px; }
.sw-aexp .sw-ax-sz em { transition: background .25s ease, color .25s ease, scale .2s ease; }
.sw-aexp .sw-ax-sz em.is-scan { background: color-mix(in srgb, var(--ax-teal) 22%, #fff); color: #16806f; scale: 1.08; }
.sw-aexp .sw-ax-buy .sw-ax-btn.is-done { filter: saturate(1.2) brightness(1.06); }
.sw-aexp .sw-ax-cta { transition: scale .2s ease, filter .2s ease; }
/* 'AI ○○' 큰 제목 둘째 줄 그라데이션을 솔루션마다 다르게(사용자 요청) — 한 · 영 페이지 같은 색 */
:is(.page-id-566, .page-id-1734) .sw-aexp .sw-ax-grad { background: linear-gradient(90deg, #1f6fe5, #ff7a30); -webkit-background-clip: text; background-clip: text; color: transparent; }
:is(.page-id-561, .page-id-1735) .sw-aexp .sw-ax-grad { background: linear-gradient(90deg, #3f5bdc, #a855f7); -webkit-background-clip: text; background-clip: text; color: transparent; }
:is(.page-id-1263, .page-id-1739) .sw-aexp .sw-ax-grad { background: linear-gradient(90deg, #ff3b5c, #8b5cf6); -webkit-background-clip: text; background-clip: text; color: transparent; }
:is(.page-id-1944, .page-id-1945) .sw-aexp .sw-ax-grad { background: linear-gradient(90deg, #0e7490, #10b981); -webkit-background-clip: text; background-clip: text; color: transparent; }
:is(.page-id-1669, .page-id-1723) .sw-aexp .sw-ax-grad { background: linear-gradient(90deg, #e8323c, #f59e0b); -webkit-background-clip: text; background-clip: text; color: transparent; }
/* sOMP 채널 아이콘: 앱 아이콘 모양(SMS · TALK · 메일 · 푸시) */
.sw-aexp .sw-ax-pop.is-app { padding: 0; border-radius: 15px; background: none; box-shadow: none; }
.sw-aexp .sw-ax-pop.is-app svg { display: block; width: 66px !important; height: 66px !important; filter: drop-shadow(0 12px 18px rgba(22, 44, 84, .35)); }
/* CLOUVI CX Console 대시보드 재생(site.js) — 그래프 선 그리기 · 영역 · 점/말풍선 · 도넛 · 행 강조 · 대화 */
.sw-cx .sw-cx-draw { stroke-dasharray: 1; animation: sw-cx-draw 1.4s ease both; }
@keyframes sw-cx-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
.sw-cx .sw-cx-fade { animation: sw-cx-fade 1.2s ease .4s both; }
@keyframes sw-cx-fade { from { opacity: 0; } to { opacity: 1; } }
.sw-cx circle, .sw-cx .sw-cx-tip { transition: opacity .35s ease, transform .4s cubic-bezier(.3, 1.5, .5, 1); transform-box: fill-box; transform-origin: center; }
.sw-cx circle.sw-cx-wait { opacity: 0; transform: scale(.3); }
.sw-cx .sw-cx-tip.sw-cx-wait { opacity: 0; transform: translateY(8px) scale(.92); }
.sw-cx .sw-cx-spin { animation: sw-cx-spin 1.1s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes sw-cx-spin { from { opacity: 0; transform: rotate(-120deg) scale(.7); } to { opacity: 1; transform: none; } }
.sw-cx tbody tr { transition: background .3s ease; }
.sw-cx tbody tr.sw-cx-hl { background: rgba(79, 140, 255, .14); }
.sw-cx .sw-cx-flash { animation: sw-cx-flash 1s ease both; }
@keyframes sw-cx-flash { 0%, 40% { color: #5fe3ff; } 100% { color: inherit; } }
.sw-cx .sw-cx-msgs > * { transition: opacity .4s ease, transform .4s ease; }
.sw-cx .sw-cx-msgs > .sw-cx-wait { opacity: 0; transform: translateY(8px); }
.sw-cx .sw-cx-msgs { overflow: hidden; }
.sw-cx .sw-cx-msgs p.is-me { justify-content: flex-end; }
.sw-cx .sw-cx-msgs p.is-me span { background: linear-gradient(135deg, #2f6bd8, #4fa3ff); color: #fff; }
.sw-cx .sw-cx-msgs p.sw-cx-added { animation: sw-lv-chatin .35s ease both; }
.sw-cx .sw-cx-msgs p.is-dots span { color: rgba(255, 255, 255, .5); letter-spacing: 2px; }
.sw-cx .sw-cx-input span.is-typed { color: #fff; }
.sw-cx .sw-cx-input span.is-typed::after { content: ""; display: inline-block; width: 1.5px; height: 1em; margin-left: 2px; vertical-align: -2px; background: #5fe3ff; animation: sw-ax-caret .8s steps(1) infinite; }
@keyframes sw-ax-caret { 50% { opacity: 0; } }
@keyframes sw-lv-chatin { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
/* 데스크톱 메가메뉴 전용(>1100px) — 휴대폰 메뉴로 새지 않게 */
@media (min-width: 1101px) {
/* 머리 메가메뉴(제품/솔루션)를 제품/솔루션 페이지 카탈로그처럼(사용자 요청): 분류 이름은 분류 색, 아래 분류 설명, 솔루션마다 굵은 한 줄 소개 · 올리면 흰 카드 */
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content .sw-mc-name { -webkit-text-fill-color: transparent !important; background-clip: text !important; -webkit-background-clip: text !important; }
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col:nth-child(1) > .wp-block-navigation-item__content .sw-mc-name { background-image: linear-gradient(90deg, #0f9d76, #22b3a0) !important; }
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col:nth-child(2) > .wp-block-navigation-item__content .sw-mc-name { background-image: linear-gradient(90deg, #1f6fe5, #3b8bff) !important; }
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col:nth-child(3) > .wp-block-navigation-item__content .sw-mc-name { background-image: linear-gradient(90deg, #7c3aed, #a855f7) !important; }
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col:nth-child(4) > .wp-block-navigation-item__content .sw-mc-name { background-image: linear-gradient(90deg, #2f5fd8, #3b82f6) !important; }
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content .sw-mc-ko { display: block !important; max-width: 300px; margin-top: 10px !important; font-size: 13.5px !important; font-weight: 500 !important; line-height: 1.65 !important; color: #5b667a !important; -webkit-text-fill-color: #5b667a !important; white-space: normal !important; word-break: keep-all; letter-spacing: 0 !important; }
html[lang] .sw-site-header .sw-primary-nav .sw-mega .wp-block-navigation-item__description .sw-mc-sub { display: block; margin: 0 0 8px; font-size: 14px; font-weight: 800; line-height: 1.45; color: #111a2b; -webkit-text-fill-color: #111a2b; }
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation-submenu > .wp-block-navigation-item > .wp-block-navigation-item__content, html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content { border-radius: 10px; transition: background .25s ease, box-shadow .25s ease, translate .25s ease; }
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover { background: #fff !important; box-shadow: 0 16px 34px -18px rgba(22, 44, 84, .35); translate: 0 -2px; }
html[lang] .sw-site-header .sw-primary-nav .sw-mega .wp-block-navigation-item__description { display: block !important; }
/* 분류 이름 색: 그라데이션 대신 분명한 단색(겹친 규칙 때문에 모두 파랗게 보이던 것) */
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content .sw-mc-name { background: none !important; }
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col:nth-child(1) > .wp-block-navigation-item__content .sw-mc-name { color: #0f9d76 !important; -webkit-text-fill-color: #0f9d76 !important; }
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col:nth-child(2) > .wp-block-navigation-item__content .sw-mc-name { color: #1f6fe5 !important; -webkit-text-fill-color: #1f6fe5 !important; }
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col:nth-child(3) > .wp-block-navigation-item__content .sw-mc-name { color: #7c3aed !important; -webkit-text-fill-color: #7c3aed !important; }
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col:nth-child(4) > .wp-block-navigation-item__content .sw-mc-name { color: #2f5fd8 !important; -webkit-text-fill-color: #2f5fd8 !important; }
/* 분류 설명 높이를 같게(3줄) — 첫 솔루션이 네 칸 모두 같은 높이에서 시작(수평 정렬) */
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > .wp-block-navigation-item__content .sw-mc-ko { min-height: calc(1.65em * 3) !important; }
/* 분류 색은 칸 순서(nth-child)가 아니라 칸의 링크로 지정 — 앞에 숨은 항목이 있어 순서가 하나씩 밀렸음 */
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > a .sw-mc-name { background-image: none !important; }
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > a:is([href$="/scos/"]) .sw-mc-name { color: #0f9d76 !important; -webkit-text-fill-color: #0f9d76 !important; }
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > a:is([href$="/smro/"]) .sw-mc-name { color: #1f6fe5 !important; -webkit-text-fill-color: #1f6fe5 !important; }
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > a:is([href$="/ums/"], [href$="/somp/"]) .sw-mc-name { color: #7c3aed !important; -webkit-text-fill-color: #7c3aed !important; }
html[lang] .sw-site-header .sw-primary-nav .sw-mega .sw-mega-col > a:is([href$="/mmcs/"]) .sw-mc-name { color: #2f5fd8 !important; -webkit-text-fill-color: #2f5fd8 !important; }
/* 분류 이름 색 — 화면에 보이는 메뉴는 .sw-site-header 밖이라 위 규칙이 닿지 않았음: 범위를 넓혀 다시 */
@media (min-width: 1101px) {
html body .sw-mega-col > a .sw-mc-name { background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; }
html body .sw-mega-col > a[href$="/scos/"] .sw-mc-name { color: #0f9d76 !important; -webkit-text-fill-color: #0f9d76 !important; }
html body .sw-mega-col > a[href$="/smro/"] .sw-mc-name { color: #1f6fe5 !important; -webkit-text-fill-color: #1f6fe5 !important; }
html body .sw-mega-col > a:is([href$="/ums/"], [href$="/somp/"]) .sw-mc-name { color: #7c3aed !important; -webkit-text-fill-color: #7c3aed !important; }
html body .sw-mega-col > a[href$="/mmcs/"] .sw-mc-name { color: #2f5fd8 !important; -webkit-text-fill-color: #2f5fd8 !important; }
}
/* 열린 메가메뉴(.is-mega-open .is-current)는 더 긴 규칙이 파란 그라데이션 글씨를 덮어 씀 — 같은 길이 + body 로 이겨서 칸별 단색 */
html[lang] body .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > a .sw-mc-name { background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; }
html[lang] body .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > a[href$="/scos/"] .sw-mc-name { color: #0f9d76 !important; -webkit-text-fill-color: #0f9d76 !important; }
html[lang] body .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > a[href$="/smro/"] .sw-mc-name { color: #1f6fe5 !important; -webkit-text-fill-color: #1f6fe5 !important; }
html[lang] body .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > a:is([href$="/ums/"], [href$="/somp/"]) .sw-mc-name { color: #7c3aed !important; -webkit-text-fill-color: #7c3aed !important; }
html[lang] body .sw-site-header.is-mega-open .sw-primary-nav .wp-block-navigation__container > .sw-mega.is-current > .wp-block-navigation__submenu-container > .sw-mega-col > a[href$="/mmcs/"] .sw-mc-name { color: #2f5fd8 !important; -webkit-text-fill-color: #2f5fd8 !important; }
}
/* 휴대폰 · 태블릿 메뉴(≤1100px): 메가메뉴와 다르게 — 분류는 작은 색 글자 제목, 솔루션은 로고 + 이름 한 줄 목록(왼쪽 정렬), 긴 설명 · 한 줄 소개 숨김 */
@media (max-width: 1100px) {
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col > a .sw-mc-name, html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col > a { background: none !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col > a .sw-mc-name { display: block !important; width: auto !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; font-size: 12.5px !important; font-weight: 800 !important; letter-spacing: .02em !important; text-align: left !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col > a[href$="/scos/"] .sw-mc-name { color: #0f9d76 !important; -webkit-text-fill-color: #0f9d76 !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col > a[href$="/smro/"] .sw-mc-name { color: #1f6fe5 !important; -webkit-text-fill-color: #1f6fe5 !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col > a:is([href$="/ums/"], [href$="/somp/"]) .sw-mc-name { color: #7c3aed !important; -webkit-text-fill-color: #7c3aed !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col > a[href$="/mmcs/"] .sw-mc-name { color: #2f5fd8 !important; -webkit-text-fill-color: #2f5fd8 !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .sw-mc-ko, html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .sw-mc-sub, html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation-item__description { display: none !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col > a::before, html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col > a::after { display: none !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col > a { margin-top: 14px !important; padding: 6px 0 !important; border: 0 !important; text-align: left !important; justify-content: flex-start !important; display: block !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 10px !important; padding: 9px 0 !important; text-align: left !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation__submenu-container .wp-block-navigation-item__label { display: flex !important; align-items: center !important; gap: 0 !important; font-size: 15px !important; font-weight: 700 !important; text-align: left !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .sw-mc-mark { display: block !important; flex: none; width: 22px !important; height: 22px !important; margin: 0 10px 0 0 !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col { text-align: left !important; align-items: stretch !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col > a { padding-left: 44px !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation__submenu-container { align-items: stretch !important; padding-left: 44px !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation__submenu-container > li { width: 100% !important; text-align: left !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation__submenu-container .wp-block-navigation-item__content { width: 100% !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation__submenu-container > li { display: flex !important; justify-content: flex-start !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation__submenu-container > li > a { margin: 0 !important; align-self: flex-start !important; justify-content: flex-start !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation__submenu-container { justify-content: start !important; justify-items: stretch !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation__submenu-container > li { width: auto !important; justify-self: stretch !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation__submenu-container > li > a { padding-left: 0 !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation__submenu-container > li { justify-self: stretch !important; width: 100% !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation__submenu-container > li > a.wp-block-navigation-item__content { width: 100% !important; max-width: none !important; justify-content: flex-start !important; text-align: left !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation__submenu-container > li > a .wp-block-navigation-item__label { justify-content: flex-start !important; margin: 0 !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation__submenu-container > li > a.wp-block-navigation-item__content { align-items: flex-start !important; }
  /* 눌렀을 때 파란 바탕(기본 강조) 대신 옅은 회색 · 글자는 그대로 */
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col a, html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col a:hover, html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col a:active, html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col a:focus, html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col a:focus-visible { background: transparent !important; -webkit-tap-highlight-color: transparent; outline: none !important; box-shadow: none !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation__submenu-container > li > a:active { background: #f1f4f8 !important; border-radius: 10px !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .current-menu-item > a { background: #f1f4f8 !important; border-radius: 10px !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .current-menu-item > a .wp-block-navigation-item__label, html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation__submenu-container > li > a:is(:hover, :active, :focus) .wp-block-navigation-item__label { color: #111a2b !important; -webkit-text-fill-color: #111a2b !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation__submenu-container > li > a .sw-s { color: #ff7a30 !important; -webkit-text-fill-color: #ff7a30 !important; }
  html[lang] body .sw-site-header .sw-primary-nav .sw-mnav .sw-mega.sw-mega .sw-mega-col.sw-mega-col.sw-mega-col .wp-block-navigation__submenu-container > li > a .sw-en { margin-right: .3em !important; }
}
/* 홈 sOMP 문자 발송 시연: AI 줄(세그먼트 추천 · AI 문구 작성 · 발송 시간 추천 · 대체 채널) + 메시지 칸 AI 작성 중 표시 */
.sw-sms-tabs { margin-bottom: 12px; }
.sw-sms-ai { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; padding: 9px 12px; border: 1px solid #ddd6fe; border-radius: 10px; background: linear-gradient(90deg, #f5f3ff, #eef4ff); font-size: 13.5px; font-weight: 700; color: #3b2fb0; }
.sw-sms-ai em { flex: none; padding: 3px 8px; border-radius: 999px; background: linear-gradient(90deg, #6a5cf0, #2f6bd8); font-size: 11.5px; font-style: normal; font-weight: 800; color: #fff; }
.sw-sms-ai-t { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sw-sms-ai-w { flex: none; font-size: 11.5px; font-weight: 700; color: #16806f; }
.sw-sms-ai.is-pop .sw-sms-ai-t { animation: sw-sms-ai-in .35s ease both; }
@keyframes sw-sms-ai-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.sw-sms-ai.is-think .sw-sms-ai-t::after { content: " • • •"; letter-spacing: 1px; color: #8b7cf5; animation: sw-sms-ai-blink 1s steps(1) infinite; }
@keyframes sw-sms-ai-blink { 50% { opacity: .2; } }
.sw-sms-text.is-ai { border-color: #c4b5fd; box-shadow: 0 0 0 3px rgba(124, 92, 245, .12); }
.sw-sms-text.is-ai::before { content: "✦ AI 작성 중"; position: absolute; right: 10px; top: 8px; padding: 2px 7px; border-radius: 999px; background: #ede9fe; font-size: 10.5px; font-weight: 800; color: #5b4fe0; }
html[lang^="en"] .sw-sms-text.is-ai::before { content: "✦ AI writing"; }
/* 홈 '영상으로 먼저 만나보세요' 제목 앞 sOMP 로고 */
.sw-sms-mark { display: inline-block; width: .9em; height: .9em; margin-right: .3em; vertical-align: -.1em; }
/* AI 줄이 들어간 만큼 콘솔 간격을 줄여 아래 통계가 잘리지 않게 */
.sw-sms-text { height: 84px; }
.sw-sms-con .sw-sms-row { padding-top: 8px !important; padding-bottom: 8px !important; }
.sw-sms-act { margin-top: 6px !important; margin-bottom: 6px !important; }

/* 2026-10-20: SOMP 문자 발송 데모(#demo-video) — 스크롤로 커지지 않고 처음부터 큰 크기로, 뒤 어두운 배경 · 무늬 없앰. 제목 'SOMP' 의 S 뒤 틈 제거 */
html body .sw-vgrow-sec { background: transparent !important; color: inherit; }
html body .sw-vgrow-sec::before, html body .sw-vgrow-sec::after { content: none !important; display: none !important; }
html body .sw-vgrow-sec .sw-vgrow-kicker { color: #2f6bd8; }
html body .sw-vgrow-sec .sw-vgrow-head h2 { display: block !important; color: #0f1b33 !important; }
html body .sw-vgrow-sec .sw-vgrow-head h2 .sw-s { display: inline !important; margin: 0 !important; padding: 0 !important; letter-spacing: inherit !important; }
html body .sw-vgrow-sec .sw-vgrow-head h2 .sw-sms-mark { margin-right: .28em; }
html body .sw-vgrow .sw-vgrow-frame { transform: none !important; border-radius: 16px !important; box-shadow: 0 24px 60px rgba(15, 27, 51, .18); }
html body .sw-vgrow-sec .sw-vgrow-links a { color: #0f1b33; }
html body .sw-vgrow-sec .sw-vgrow-links i { background: #0b2458; color: #fff; }
html body .sw-vgrow-sec .sw-vgrow-links i::before { filter: invert(1) brightness(2); }
html body .sw-vgrow-sec .sw-vgrow-links a:hover i { background: #2f6bff; }

/* 2026-10-20: 사업분야 UMS(64 · 1314)의 SOMP 문자 발송 데모 — 화면 뒤 남색 배경 없이 흰 바탕 위에 콘솔 · 휴대폰만 */
body.page-id-64 .sw-vgrow .sw-vgrow-frame, body.page-id-1314 .sw-vgrow .sw-vgrow-frame { background: transparent !important; box-shadow: none !important; overflow: visible; }
body.page-id-64 .sw-sms, body.page-id-1314 .sw-sms { background: transparent !important; overflow: visible; }
body.page-id-64 .sw-sms-brand, body.page-id-1314 .sw-sms-brand { color: #0f1b33; }
body.page-id-64 .sw-sms-brand small, body.page-id-1314 .sw-sms-brand small { color: #5b6475; }
body.page-id-64 .sw-sms-con, body.page-id-1314 .sw-sms-con { border: 1px solid #e3e8f0; box-shadow: 0 24px 60px rgba(15, 27, 51, .12); }
body.page-id-64 .sw-sms-phone, body.page-id-1314 .sw-sms-phone { filter: drop-shadow(0 24px 40px rgba(15, 27, 51, .18)); }
body.page-id-64 .sw-sms-prog, body.page-id-1314 .sw-sms-prog { color: #5b6475; }
body.page-id-64 .sw-sms-track, body.page-id-1314 .sw-sms-track { background: rgba(15, 27, 51, .12); }

/* 2026-10-20: AI 개인화 플랫폼 AI Experience Commerce 기능 목록 — 'AI 인플루언서' 제목만 그라데이션 강조 */
.sw-ax-feats b .sw-ax-gtxt { font-style: normal; background: linear-gradient(90deg, #6a5cf0 0%, #2f6bd8 55%, #19a7c9 100%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }

/* 2026-10-20: 홈 배너 번호 목록 — 지금 재생 중인 장(과 마우스를 올린 장)을 1.2배로 부드럽게 키운다 */
.sw-vhero-list li:not(.sw-vhero-pause) button { transform-origin: 50% 100%; transition: transform .45s cubic-bezier(.2, .7, .2, 1), color .3s ease; }
.sw-vhero-list li.is-current:not(.sw-vhero-pause) button, .sw-vhero-list li:not(.sw-vhero-pause) button:hover { transform: scale(1.2); }
@media (prefers-reduced-motion: reduce) { .sw-vhero-list li:not(.sw-vhero-pause) button { transition: none; } }

/* 2026-10-20: 홈 배너 번호 목록 항목 사이 간격을 넓힌다(확대된 현재 장과 옆 장이 붙어 보이지 않게) */
.sw-vhero .sw-vhero-list { gap: clamp(44px, 5.2vw, 84px) !important; }

/* 2026-10-21 'AI ○○' 섹션 화면 예시(.sw-ax-stage): 뒤에 깔린 화면(크리에이터 카드 · 관리자 창 등)에 마우스를 올리면 맨 앞으로(site.js 끝 블록이 .is-front 를 옮김). 넓은 화면에서만 겹치므로 그때만 */
@media (min-width: 761px) {
  .sw-ax-stage > * { transition: box-shadow .25s ease, opacity .8s ease var(--d, 0s), transform .9s cubic-bezier(.2, .8, .2, 1) var(--d, 0s); }
  .sw-ax-stage > .is-front { z-index: 5; box-shadow: 0 32px 70px -18px rgba(22, 44, 84, .38), 0 6px 18px rgba(22, 44, 84, .1); }
}

/* 2026-10-21 홈 솔루션 모음(.sw-sol-list): CLOUVI 를 빼서 7개가 되어 마지막 줄을 가운데로. 칸을 둘로 쪼갠 격자(8칸 = 한 줄 4개)에 항목마다 2칸,
   마지막 줄이 1~3개면 첫 항목의 시작 칸을 밀어 가운데 맞춤. 휴대폰(2개씩)은 4칸 격자에서 홀로 남은 항목을 가운데로 */
@media (min-width: 701px) {
  .sw-sol-list { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .sw-sol-list li { grid-column: span 2; }
  .sw-sol-list li:nth-child(4n+1):nth-last-child(3) { grid-column: 2 / span 2; }
  .sw-sol-list li:nth-child(4n+1):nth-last-child(2) { grid-column: 3 / span 2; }
  .sw-sol-list li:nth-child(4n+1):last-child { grid-column: 4 / span 2; }
}
@media (max-width: 700px) {
  .sw-sol-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .sw-sol-list li { grid-column: span 2; }
  .sw-sol-list li:nth-child(odd):last-child { grid-column: 2 / span 2; }
}

/* 2026-10-21 라이브커머스 휴대폰 'AI 실시간 자막' 상자: 재생 처음엔 숨겨 쇼호스트 얼굴이 보이게, 말을 시작하면 위에서 살짝 내려오며 나타남(site.js 가 .is-hide 를 뗌) */
.sw-aexp .sw-lv-stt { transition: opacity .45s ease, transform .45s ease; }
.sw-aexp .sw-lv-stt.is-hide { opacity: 0; transform: translateY(-8px); }

/* 2026-10-21 솔루션 페이지 'AI ○○' 섹션(.sw-aexp) 2×2 기능 카드 — 제목은 한글(b), 영문 원래 이름은 작은 보조 제목(.sw-ax-en), 그 아래 설명(span). 대상: 566 · 561 · 1263 · 1944 · 1669(국문). 567 과 영문 페이지는 그대로 */
.sw-ax-feats li:has(> .sw-ax-en) { grid-template-rows: auto auto auto; }
.sw-ax-feats li:has(> .sw-ax-en) > i { grid-row: 1 / span 3; grid-column: 1; align-self: center; }
.sw-ax-feats li:has(> .sw-ax-en) > b { grid-column: 2; word-break: keep-all; }
.sw-ax-feats li > .sw-ax-en { grid-column: 2; display: block; margin: 3px 0 0; font-size: 12px; font-weight: 600; line-height: 1.3; letter-spacing: .02em; color: color-mix(in srgb, var(--ax-navy, #1f4e8c) 70%, #8a94a6); }
.sw-ax-feats li:nth-child(even) > .sw-ax-en { color: color-mix(in srgb, #16806f 70%, #8a94a6); }
.sw-ax-feats li:has(> .sw-ax-en) > span { grid-column: 2; margin-top: 7px; line-height: 1.5; }
@media (max-width: 760px) { .sw-ax-feats li > .sw-ax-en { font-size: 11.5px; } }
/* 2026-10-21 sOMP(561) 기능 카드는 열이 좁아(약 213px) 한글 제목 · 영문 보조 제목이 한 줄에 들어가도록 제목 글자 크기를 다른 솔루션과 같게(15.5px), 좌우 여백을 조금 줄임 */
.sw-aexp.is-somp .sw-ax-feats li:has(> .sw-ax-en) { padding-inline: 14px; column-gap: 12px; }
.sw-aexp.is-somp .sw-ax-feats li:has(> .sw-ax-en) > b { font-size: 15.5px; }
@media (max-width: 760px) { .sw-aexp.is-somp .sw-ax-feats li:has(> .sw-ax-en) { padding-inline: 16px; column-gap: 14px; } }
.sw-aexp.is-somp .sw-ax-feats li > .sw-ax-en { font-size: 11.5px; letter-spacing: .005em; }

/* 2026-10-21 메뉴 · 푸터의 '라이브커머스 솔루션' — '라이브'에 주황 → 빨강 그라데이션(다른 솔루션 이름의 주황 머리글자와 맞춤) */
.sw-live { background: linear-gradient(90deg, #ff8a2b, #ff3b3b); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }

/* 2026-10-21: AX 컨설팅 · 구축(831) 'AI 준비도 진단 6개 영역' 도식을 영상으로 교체 — .sw-ax-hexmap 자리에 .sw-ax-rdv(영상 + 정지 화면 + 화면 낭독용 목록).
   왼쪽 제목 · 설명(.sw-ax-ready-intro)은 HTML 그대로. site.js [data-aicv] IIFE 가 화면 근처에서 폭별 영상(데스크톱 5:2 · ≤760px 3:5)을 불러와 재생하고 벗어나면 멈춘다.
   움직임 감소 설정 · JS 없음 · 자동 재생 차단이면 정지 화면(모든 카드가 놓인 장면)만 보인다. 제작 소스: docs/video/ai-readiness/
   (같은 날 수정: 사용자 요청으로 일시정지 버튼 제거 — 버튼 규칙 삭제) */
.sw-ax-ready:has(.sw-ax-rdv) { background: #f2f6ff; }
.sw-ax-rdv { position: relative; width: 100%; aspect-ratio: 5 / 2; }
.sw-ax-rdv-video, .sw-ax-rdv-still, .sw-ax-rdv-still img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: contain; }
.sw-ax-rdv-video { z-index: 1; opacity: 0; transition: opacity .6s ease; background: transparent; }
.sw-ax-rdv.is-playing .sw-ax-rdv-video, .sw-ax-rdv.is-paused .sw-ax-rdv-video { opacity: 1; }
.sw-ax-rdv-list { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 760px) {
  .sw-ax-ready:has(.sw-ax-rdv) { padding: 28px 16px; gap: 20px; }
  .sw-ax-rdv { aspect-ratio: 3 / 5; max-width: 420px; margin: 0 auto; }
}
@media (prefers-reduced-motion: reduce) { .sw-ax-rdv-video { display: none !important; } }

/* 2026-10-21 헤더 언어 전환: 지구본 아이콘 → 'KR / EN' 글자(functions.php skyware_corporate_lang_switch). 현재 언어는 진하게, 다른 언어는 연한 회색,
   마우스를 올리면 진해진다. 높이는 예전 지구본 버튼(46px)과 같게. 휴대폰(≤767px)은 'KR ▾' 버튼을 누르면 작은 드롭다운(site.js 끝 블록) */
.sw-header-inner > p:has(.sw-lang) { flex: 0 0 auto; margin: 0; line-height: 1; }
.sw-lang { position: relative; display: inline-flex; align-items: center; height: 46px; font-size: 13.5px; letter-spacing: .03em; }
.sw-lang-btn { display: none; }
.sw-lang-list { display: inline-flex; align-items: center; }
.sw-lang-opt { display: inline-flex; align-items: center; height: 46px; padding: 0 3px; border-radius: 6px; color: #8a93a3; text-decoration: none; transition: color .2s ease; }
.sw-lang-opt .sw-lang-code { font-weight: 600; }
.sw-lang-opt .sw-lang-name { display: none; }
.sw-lang-opt:hover { color: var(--sw-ink); }
.sw-lang-opt.is-current { color: var(--sw-ink); }
.sw-lang-opt.is-current .sw-lang-code { font-weight: 800; }
.sw-lang-opt:focus-visible, .sw-lang-btn:focus-visible { outline: 2px solid var(--sw-blue); outline-offset: 2px; }
.sw-lang-sep { margin: 0; color: #c4cad4; font-weight: 400; }
/* 홈 영상 배너 위 투명 헤더: 흰 글자 */
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part:not(.is-scrolled) .sw-lang-opt { color: rgba(255, 255, 255, .58); }
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part:not(.is-scrolled) .sw-lang-opt:hover,
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part:not(.is-scrolled) .sw-lang-opt.is-current,
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part:not(.is-scrolled) .sw-lang-btn { color: #fff; }
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part:not(.is-scrolled) .sw-lang-sep { color: rgba(255, 255, 255, .35); }
/* 메가메뉴가 열리면 헤더가 흰 바탕이 되므로 다시 진한 글자 */
.sw-site-header.is-mega-open .sw-lang-opt { color: #8a93a3 !important; }
.sw-site-header.is-mega-open .sw-lang-opt.is-current, .sw-site-header.is-mega-open .sw-lang-opt:hover { color: var(--sw-ink) !important; }
.sw-site-header.is-mega-open .sw-lang-sep { color: #c4cad4 !important; }
@media (max-width: 1279px) { .sw-header-inner > p:has(.sw-lang) { order: 2; } }
@media (max-width: 767px) {
  .sw-lang-btn { display: inline-flex; align-items: center; gap: 3px; height: 40px; padding: 0 6px; border: 0; border-radius: 8px; background: none; color: var(--sw-ink); font: inherit; font-size: 14px; font-weight: 800; letter-spacing: .04em; cursor: pointer; transition: color .2s ease, background .2s ease; }
  .sw-lang-btn svg { transition: transform .2s ease; }
  .sw-lang.is-open .sw-lang-btn svg { transform: rotate(180deg); }
  .sw-lang-list { position: absolute; top: calc(100% + 2px); right: 0; z-index: 30; display: none; flex-direction: column; align-items: stretch; min-width: 148px; padding: 6px; border: 1px solid #e3e8f0; border-radius: 12px; background: #fff; box-shadow: 0 14px 34px rgba(16, 47, 103, .16); }
  .sw-lang.is-open .sw-lang-list, .sw-lang:not(.is-js):focus-within .sw-lang-list { display: flex; }
  .sw-lang-sep { display: none; }
  .sw-lang-opt { gap: 8px; height: 42px; padding: 0 12px; border-radius: 8px; color: #5b6578 !important; }
  .sw-lang-opt .sw-lang-name { display: inline; font-weight: 500; letter-spacing: 0; }
  .sw-lang-opt:hover, .sw-lang-opt:focus-visible { background: #f2f5fa; color: var(--sw-ink) !important; }
  .sw-lang-opt.is-current { background: #eef3ff; color: var(--sw-ink) !important; }
}
@media (prefers-reduced-motion: reduce) { .sw-lang-opt, .sw-lang-btn, .sw-lang-btn svg { transition: none; } }

/* 2026-10-21 헤더 언어 전환: 마우스를 올리면 글자가 살짝 커진다(가운데 기준). 휴대폰 드롭다운 안에서는 크기 그대로 */
.sw-lang-opt .sw-lang-code { display: inline-block; transition: transform .2s cubic-bezier(.2, .8, .2, 1); }
.sw-lang-opt:hover .sw-lang-code, .sw-lang-opt:focus-visible .sw-lang-code { transform: scale(1.18); }
@media (max-width: 767px) { .sw-lang-opt:hover .sw-lang-code, .sw-lang-opt:focus-visible .sw-lang-code { transform: none; } }
@media (prefers-reduced-motion: reduce) { .sw-lang-opt .sw-lang-code { transition: none; } }

/* 2026-10-21 자료실 Sales Pack 카드: 마우스를 올리면(또는 키보드 초점) 제목 글자가 파랑으로 바뀐다(아래 내려받기 아이콘과 같은 색) */
.sw-sp-body h3 { transition: color .25s ease; }
.sw-sp-card a:hover .sw-sp-body h3, .sw-sp-card a:focus-visible .sw-sp-body h3 { color: #2f6bd8; }
.sw-sp-card a:focus-visible .sw-sp-dl { background: #2f6bd8; }

/* 2026-10-21 헤더 언어 전환: 마우스를 올리면(키보드 초점 포함) 파란색으로. 홈 영상 배너 위 투명 헤더에서는 어두운 바탕이라 밝은 파랑 */
.sw-lang-opt:hover, .sw-lang-opt:focus-visible, .sw-site-header.is-mega-open .sw-lang-opt:hover { color: var(--sw-blue, #2f6bd8) !important; }
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part:not(.is-scrolled) .sw-site-header:not(.is-mega-open) .sw-lang-opt:hover,
.wp-site-blocks:has(.sw-vhero) > header.wp-block-template-part:not(.is-scrolled) .sw-site-header:not(.is-mega-open) .sw-lang-opt:focus-visible { color: #8cc4ff !important; }

/* 2026-10-21 반응형 · 영문 점검 수정 묶음 ------------------------------------------------------------------ */

/* (1) 영문 헤더 1280~1440: 메뉴 간격(7.5~8vw)이 너무 커서 내비가 1330px 까지 늘어나 로고가 0 폭으로 줄고 Contact Us · KR/EN 이 화면 밖으로 밀렸다.
   영문 메뉴 간격을 한국어 수준으로 줄이고, 로고 · 버튼 · 언어 전환은 절대 줄어들지 않게 한다. */
.sw-header-inner > .wp-block-site-logo, .sw-header-inner > .sw-header-cta, .sw-header-inner > p:has(.sw-lang), .sw-header-inner > p:has(.sw-lang-switch) { flex-shrink: 0 !important; }
.sw-header-inner > .wp-block-site-logo img { min-width: 120px; }
@media (min-width: 1280px) {
  html[lang^="en"] body .sw-site-header .sw-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container,
  html[lang^="en"] body .sw-site-header .sw-primary-nav .wp-block-navigation__container { gap: clamp(20px, 2.2vw, 48px) !important; flex-wrap: nowrap !important; }
  html[lang^="en"] body .sw-site-header .sw-primary-nav { min-width: 0; }
  html[lang^="en"] body .sw-site-header .sw-primary-nav .wp-block-navigation-item__content { white-space: nowrap; }
}

/* (8) 모바일 햄버거: 보이는 모양(22×16)은 그대로, 누르는 영역만 44×44 로 (음수 여백으로 자리 유지) */
@media (max-width: 1279px) {
  .sw-site-header .wp-block-navigation__responsive-container-open:not(.always-shown) { box-sizing: border-box; min-width: 44px; min-height: 44px; padding: 14px 11px !important; margin: -14px -11px !important; align-items: center; justify-content: center; }
}

/* (4) 2열 기능 카드(AI 개인화 '네 가지 기능', 라이브커머스 LIVE/VOD · SHOPPABLE/ADMIN 등)가 390 에서 168px 로 좁아 음절 단위로 끊기던 것 → 480px 이하 1열 */
@media (max-width: 480px) {
  .sw-ums-features, .sw-ums-features.is-2, .sw-ums-features.is-4, .sw-ums-features.is-4:has(> :nth-child(3):last-child) { grid-template-columns: minmax(0, 1fr) !important; }
}

/* (5) 제목이 단어 중간('디지털\n화', '커\n머스')에서 끊기거나 한 글자만 남던 것: 한국어 어절 단위 줄바꿈 + 줄 길이 균형. 너무 긴 낱말만 넘침 대신 줄바꿈 */
body h1, body h2, body h3, body .sw-page-hero h1, body .sw-vhero h1, body .sw-vhero h2 { word-break: keep-all !important; overflow-wrap: break-word !important; text-wrap: balance; }
/* 좁은 화면 배너 제목: '통합메시지발송솔루션'처럼 띄어쓰기 없는 긴 어절이 한 줄에 들어가도록 조금 작게 */
@media (max-width: 420px) {
  body .sw-page-hero h1 { font-size: min(2.35rem, 8.6vw) !important; }
}

/* (6) 홈 배너 일시정지 버튼이 오른쪽 아래 챗봇 버튼 · 안내 말풍선 밑에 깔리던 것 → 일시정지를 장 목록 맨 앞(왼쪽)으로 */
.sw-vhero .sw-vhero-list li.sw-vhero-pause { order: -1; }
/* 떠 있는 인사 카드 · 챗봇 안내 말풍선이 앵커 탭 · 필터 · 슬라이더 화살표 · AX 단계 등을 가리는 동안은 숨김(site.js 가 html.sw-fab-dodge) */
html.sw-fab-dodge .sw-fab-bubble, html.sw-fab-dodge .sw-chat-hint { opacity: 0 !important; transform: translateY(10px); pointer-events: none !important; }

/* (7) 홈 배너 이전/다음 화살표가 390 에서 세로 가운데라 제목 · 설명 위에 겹치던 것 → 모바일은 배너 아래쪽 양 끝으로 */
@media (max-width: 600px) {
  .sw-vhero .sw-vhero-arrow, .sw-vhero .sw-vhero-arrow:hover { top: auto !important; bottom: 28px !important; transform: none !important; }
  .sw-vhero .sw-vhero-arrow:first-child { left: 16px !important; }
  .sw-vhero .sw-vhero-arrow:last-child { right: 16px !important; }
}

/* (9) 회사소개 인증 카드: '제20250204030010호' 같은 긴 번호가 카드 밖으로 → 어디서든 줄바꿈, 좁은 화면은 여백 · 간격을 줄여 2열 유지 */
.sw-cert .sw-cert-title, .sw-cert .sw-cert-sub, .sw-cert .sw-cert-meta { overflow-wrap: anywhere; }
@media (max-width: 480px) {
  .sw-cert-grid { gap: 10px !important; }
  .sw-cert-grid .sw-cert { padding: 12px; }
  .sw-cert .sw-cert-sub { font-size: 14px; }
}

/* (10) 메시징 성과 숫자(20만+ 건/시간 · 200K+ per hour): 2열에서 숫자와 단위가 두 줄로 갈라지던 것 → 480px 이하 1열, 숫자+단위 한 줄.
   영문은 1fr 1fr 이 내용 폭만큼 늘어 넘쳤으므로 minmax(0,1fr) */
@media (max-width: 900px) { .sw-msg-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 480px) {
  .sw-msg-stats { grid-template-columns: minmax(0, 1fr) !important; }
  .sw-msg-stats li { padding: 24px 26px; }
  .sw-msg-stats li + li { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .14); }
  .sw-msg-stats b { flex-wrap: nowrap; white-space: nowrap; }
}

/* (11) 영문 작은 넘침들 */
/* 사업분야 AI · CLOUVI 서비스 범위: 120px 이름 칸에 'recommendations' 가 안 들어감 → 좁은 화면은 번호 + 이름 / 설명 두 줄 */
@media (max-width: 600px) {
  .sw-clv.is-v2 .sw-clv-scope li, .sw-clv-scope li { grid-template-columns: 36px minmax(0, 1fr) !important; row-gap: 6px; }
  .sw-clv-scope li > :nth-child(3) { grid-column: 2; }
}
.sw-clv-scope li b, ol.sw-opm-rows b { overflow-wrap: anywhere; }
/* 회사소개 강조 단어('technology', '기술력') 반짝임 글자 끝이 상자 밖으로 몇 px 넘치던 것 */
.sw-org2-hl.sw-sparkle { padding-right: .08em; margin-right: -.08em; }
/* 인사이트 글 용어 사전: 640px 이하 1열 규칙이 뒤의 210px 열 규칙에 덮여 dd 가 106px 로 좁았다 */
@media (max-width: 640px) { .sw-post-body .sw-glossary dl { grid-template-columns: minmax(0, 1fr) !important; } }
/* 홈 포트폴리오 카드: 글 상자가 width 100% + 안쪽 여백으로 카드보다 44px 넓어 오른쪽 글자('months', 'SCOS')가 잘렸다 */
@media (max-width: 1024px) { .sw-pfs-card .sw-pfs-text { box-sizing: border-box !important; max-width: 100%; min-width: 0; } }
/* sMRO 화면 예시 표: 좁은 화면에서 'Sufficient' 칩이 휴대폰 화면 밖으로 → 칸 여백 · 칩 크기 축소 */
@media (max-width: 480px) {
  .sw-aexp .sw-ax-win-c .sw-ax-tbl th, .sw-aexp .sw-ax-win-c .sw-ax-tbl td { padding-left: 4px; padding-right: 4px; }
  .sw-aexp .sw-ax-tbl .sw-ax-badge { padding: 2px 6px; font-size: 10.5px; }
}

/* (12) 화면 설명 문단의 강제 줄바꿈(…and CLOUVI / to bring, …엔진과 / 연결해)은 좁은 화면에서 자연 줄바꿈으로 (site.js 가 <br> 앞에 공백을 넣어 둠) */
@media (max-width: 600px) { .sw-ax-desc br { display: none; } }
/* (1-b) 닫혀 있는 영문 메가메뉴 판(보이지 않음)이 긴 설명 때문에 1950px 로 넓어져 /en/ 페이지에 가로 스크롤을 만들던 것 → 헤더에서 가로만 잘라 낸다(세로로 펼쳐지는 판은 그대로) */
.sw-site-header { overflow-x: clip; }
/* (7-b) 오른쪽 아래 화살표가 챗봇 버튼 밑에 깔려 → 두 화살표를 배너 아래 가운데에 나란히 (안내 말풍선은 겹치는 동안 숨김) */
@media (max-width: 600px) {
  .sw-vhero .sw-vhero-arrow:first-child { left: calc(50% - 56px) !important; right: auto !important; }
  .sw-vhero .sw-vhero-arrow:last-child { right: calc(50% - 56px) !important; left: auto !important; }
}
/* (9-b) 좁은 2열 인증 카드: 'ISO 14001:2015' 제목이 마지막 숫자만 다음 줄로 넘어가 → 제목을 조금 작게 */
@media (max-width: 480px) { .sw-cert-grid .sw-cert .sw-cert-title { font-size: 16px !important; letter-spacing: -.02em; } }
/* (11-b) 태블릿(768)에서도 서비스 범위 설명이 120px 칸에 갇혀 넘치던 것 → 900px 이하도 번호 + 이름 / 설명 두 줄 */
@media (max-width: 900px) {
  .sw-clv.is-v2 .sw-clv-scope li, .sw-clv-scope li { grid-template-columns: 36px minmax(0, 1fr) !important; row-gap: 6px; }
  .sw-clv-scope li > :nth-child(3) { grid-column: 2; }
}
/* (6-b) 숨겨진 인사 카드의 바깥 상자(.sw-fab)가 투명한 채로 아래 탭 클릭을 가로채지 않게 */
html.sw-fab-dodge .sw-fab, html.sw-fab-quiet .sw-fab { pointer-events: none; }
html.sw-pdf-dodge .sw-pdf-float { opacity: 0 !important; transform: translateY(10px); pointer-events: none !important; transition: opacity .25s ease, transform .25s ease; }
/* (9-c) 4열(768~1100) · 2열(≤700) 인증 카드에서 '직접생산확인증명서' 처럼 긴 한 어절 제목이 마지막 글자만 넘어가던 것 */
@media (max-width: 1100px) { .sw-cert-grid .sw-cert .sw-cert-title { font-size: 15px !important; letter-spacing: -.02em; } }
