
/* ── Nova design tokens (mirrored from Nova globals.css @theme) ── */
:root {
  --color-customBlue: #121A42;
  --color-customLightblue: #192356;
  --color-customRed: #EC1C24;
  --color-customLightGray: #F5F7FA;
  --color-customFontGray: #6A7092;
  --color-customGray: #F0F2F6;
  --color-customResearch: #788CDD;
  --color-customStaff: #F66F74;
  --color-imgPlaceholder: #E3E9FB;
  --color-border: #E5E7EB;
  --background: #ffffff;
  --foreground: #121A42;
  --container: 1240px;
  --header-h: 120px;
}

@font-face { font-family:'Pretendard'; font-weight:400; font-display:swap;
  src: local('Pretendard Regular'), url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-Regular.woff2') format('woff2'); }
@font-face { font-family:'Pretendard'; font-weight:600; font-display:swap;
  src: local('Pretendard SemiBold'), url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-SemiBold.woff2') format('woff2'); }
@font-face { font-family:'Pretendard'; font-weight:700; font-display:swap;
  src: local('Pretendard Bold'), url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-Bold.woff2') format('woff2'); }

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--background);
  color: var(--foreground);
  font-family: 'Pretendard', system-ui, -apple-system, BlinkMacSystemFont, Roboto, sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
h1,h2,h3,h4 { margin: 0; }

.nova-container { max-width: var(--container); width: 100%; margin: 0 auto; padding: 0 20px; }
@media (min-width:1280px){ .nova-container{ padding: 0; } }

/* ── Header (Nova fixed two-row) ── */
.nova-header {
  position: fixed; inset: 0 0 auto 0; z-index: 50;
  background: rgba(245,247,250,.95); backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--color-border); padding-top: 20px;
}
.nova-header__top { display:flex; align-items:center; justify-content:space-between; }
.nova-logo img { height:32px; width:auto; display:block; }
@media (max-width:767px){ .nova-logo img { height:28px; } }
.nova-utility { display:flex; align-items:center; gap:4px; }
.nova-utility a { font-size:11.5px; letter-spacing:.03em; text-transform:uppercase; color:var(--color-customBlue); padding:6px 12px; font-weight:600; }
.nova-utility a:hover { color:var(--color-customRed); }
.nova-header__bottom { display:flex; align-items:center; justify-content:space-between; margin-top:32px; padding-bottom:12px; }
.nova-nav { display:flex; gap:36px; list-style:none; margin:0; padding:0; }
.nova-nav a { font-weight:700; color:var(--color-customBlue); font-size:15px; }
.nova-nav a:hover,
.nova-nav .current-menu-item > a { color:var(--color-customRed); }
.nova-icons { display:flex; gap:22px; }
.nova-icons button { background:none; border:0; color:var(--color-customBlue); padding:0; display:flex; }
.nova-icons button:hover { color:var(--color-customRed); }
.nova-hamburger { display:none; background:none; border:0; color:var(--color-customBlue); }
.nova-body-offset { margin-top: var(--header-h); }

/* Mobile drawer */
.nova-drawer__backdrop { position:fixed; inset:0; background:rgba(0,0,0,.3); z-index:59; opacity:0; pointer-events:none; transition:.3s; }
.nova-drawer__backdrop.is-open { opacity:1; pointer-events:auto; }
.nova-drawer { position:fixed; top:0; right:0; width:min(320px,85vw); height:100vh; background:var(--color-customLightGray); z-index:60; transform:translateX(100%); transition:transform .3s ease; padding:88px 24px 24px; overflow-y:auto; }
.nova-drawer.is-open { transform:translateX(0); }
.nova-drawer__list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.nova-drawer__list a { display:block; font-weight:700; color:var(--color-customBlue); font-size:17px; padding:14px 0; border-bottom:1px solid var(--color-border); }

@media (max-width:767px){
  :root{ --header-h: 72px; }
  .nova-header { padding-top:14px; }
  .nova-header__bottom { display:none; }
  .nova-utility { display:none; }
  .nova-hamburger { display:flex; }
}

/* ── Section rhythm ── */
.sec { padding: 56px 0; }
.sec--lg { padding: 80px 0; }
.sec--gray { background: var(--color-customLightGray); }
.sec--white { background: #fff; }
.sec-title { color:var(--color-customBlue); font-weight:700; font-size:28px; letter-spacing:-.01em; }
@media (min-width:768px){ .sec-title{ font-size:34px; } .sec{padding:80px 0;} }
.sec-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:32px; gap:16px; }
.readmore { display:inline-flex; align-items:center; gap:8px; border:0; border-radius:999px; padding:12px 24px; font-weight:700; font-size:14px; color:#fff; background:var(--color-customRed); transition:.2s; white-space:nowrap; }
.readmore:hover { filter:brightness(.92); }

/* Tag pills */
.tag { font-size:11px; font-weight:700; color:var(--color-customFontGray); background:var(--color-customGray); padding:3px 10px; border-radius:6px; letter-spacing:.02em; }
.tag--report { background:transparent; color:var(--color-customRed); padding:0; }

/* ── Hero ── */
.hero { display:grid; grid-template-columns:1fr; gap:32px; align-items:center; }
@media (min-width:768px){ .hero{ grid-template-columns:1fr minmax(0,600px); gap:56px; min-height:400px; } }
.hero__text { display:flex; flex-direction:column; }
.hero__eyebrow { font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.12em; color:var(--color-customResearch); margin-bottom:16px; }
.hero__title { font-weight:700; color:var(--color-customBlue); font-size:38px; line-height:1.12; letter-spacing:-.02em;
  display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
@media (min-width:768px){ .hero__title{ font-size:52px; } }
.hero__cta { display:inline-flex; align-items:center; gap:10px; margin-top:28px; border-radius:999px; background:var(--color-customBlue); color:#fff; padding:14px 26px; font-weight:600; transition:.2s; align-self:flex-start; }
.hero__cta:hover { background:var(--color-customLightblue); }
.hero__cta-arrow { display:inline-flex; align-items:center; justify-content:center; }
.hero__dots { display:flex; gap:8px; margin-top:36px; }
.hero__dot { height:8px; width:8px; border-radius:999px; border:0; background:var(--color-border); padding:0; transition:.2s; cursor:pointer; }
.hero__dot.is-active { width:26px; background:var(--color-customRed); }
.hero__media { position:relative; }
.hero__img { border-radius:16px; overflow:hidden; background:var(--color-imgPlaceholder); aspect-ratio:16/10; }
.hero__img img { width:100%; height:100%; object-fit:cover; }
.hero__img[hidden] { display:none; }

.card__date { color:var(--color-customFontGray); font-size:13px; }

/* ── Card grid (trending / data) ── */
.grid { display:grid; gap:24px; grid-template-columns:1fr; }
@media (min-width:640px){ .grid--4{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:768px){ .grid--3{ grid-template-columns:repeat(3,1fr); } .grid--2{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .grid--4{ grid-template-columns:repeat(4,1fr); } }
.card { border:1px solid var(--color-border); border-radius:12px; background:#fff; overflow:hidden; transition:.2s; display:flex; flex-direction:column; }
.card:hover { box-shadow:0 8px 24px rgba(18,26,66,.08); }
.card__thumb { height:176px; background:var(--color-customLightGray); overflow:hidden; }
.card__thumb img { width:100%; height:100%; object-fit:cover; }
/* Chart/infographic graphics: match prod (6:5 box, cover, full-res source image). */
.card__thumb--contain { height:auto; aspect-ratio:6/5; }
.card__thumb--contain img { width:100%; height:100%; object-fit:cover; }
.card__body { padding:20px; display:flex; flex-direction:column; gap:8px; }
.card__tags { display:flex; gap:8px; font-size:12px; color:var(--color-customFontGray); font-weight:600; }
.card__title { font-weight:700; font-size:18px; color:var(--color-customBlue); line-height:1.35;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.card:hover .card__title { color:var(--color-customRed); }
.card__excerpt { color:var(--color-customFontGray); font-size:14px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* ── Youtube Channel (mirrors global site "Listen & Watch") ── */
.yt { display: grid; grid-template-columns: 1fr; gap: 32px; }
@media (min-width:900px){ .yt{ grid-template-columns: 1fr 1fr; gap: 40px; } }
.yt__thumb { display: block; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: var(--color-imgPlaceholder); }
.yt__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.yt__feat:hover .yt__thumb img, .yt__item:hover .yt__thumb img { transform: scale(1.05); }
.yt__feat { display: flex; flex-direction: column; gap: 16px; }
.yt__feat-title { font-weight: 700; font-size: 22px; line-height: 1.35; color: var(--color-customBlue);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.yt__feat:hover .yt__feat-title { color: var(--color-customRed); }
.yt__list { display: flex; flex-direction: column; gap: 20px; justify-content: space-between; }
.yt__item { display: grid; grid-template-columns: 180px 1fr; gap: 18px; align-items: center; }
.yt__item .yt__thumb { border-radius: 10px; }
.yt__item-title { font-weight: 700; font-size: 16px; line-height: 1.4; color: var(--color-customBlue);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.yt__item:hover .yt__item-title { color: var(--color-customRed); }
@media (max-width:480px){ .yt__item{ grid-template-columns: 128px 1fr; gap: 12px; } }

/* ── Clients + Testimonials band (mirrors global site) ── */
.cta-band > * + * { margin-top: 56px; }
.sec-title--center { text-align: center; display: block; margin-bottom: 32px; }

/* Shared carousel (driven by initCarousels() in nova.js) */
.carousel { position: relative; padding: 0 22px; }
.carousel__viewport { overflow: hidden; }
.carousel__track { display: flex; transition: transform .5s ease-in-out; }
.carousel__item { flex: 0 0 calc(100% / var(--per-view, 1)); min-width: 0; padding: 0 12px; }
.carousel__nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
  width: 44px; height: 44px; border-radius: 999px; background: #fff; border: 0; cursor: pointer;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);
  color: var(--color-customBlue); display: flex; align-items: center; justify-content: center; transition: .2s; }
.carousel__nav:hover { color: var(--color-customRed); }
.carousel__nav svg { width: 18px; height: 18px; }
.carousel__nav--prev { left: 0; } .carousel__nav--next { right: 0; }

/* Our Clients — grayscale logos inside a white rounded card */
.clients-carousel { --per-view: 2; }
@media (min-width:640px){ .clients-carousel{ --per-view: 3; } }
@media (min-width:1024px){ .clients-carousel{ --per-view: 5; } }
.clients-carousel .carousel__viewport { background: #fff; border-radius: 16px; padding: 10px 20px; }
@media (min-width:768px){ .clients-carousel .carousel__viewport{ padding: 16px 48px; } }
.clients-carousel .carousel__item { display: flex; align-items: center; justify-content: center; height: 84px; }
.clients-carousel img { max-height: 34px; max-width: 78%; width: auto; object-fit: contain; filter: grayscale(1); opacity: .55; transition: .25s; }
.clients-carousel img:hover { filter: grayscale(0); opacity: 1; }

/* Client Testimonials — white cards with an avatar overlapping the top edge */
.testi-carousel { --per-view: 1; }
@media (min-width:768px){ .testi-carousel{ --per-view: 2; } }
@media (min-width:1024px){ .testi-carousel{ --per-view: 3; } }
.testi-carousel .carousel__viewport { padding-top: 72px; }
.testi-carousel .carousel__item { display: flex; align-items: stretch; }
.tcard { position: relative; width: 100%; background: #fff; border: 0; border-radius: 16px; padding: 96px 32px 44px;
  text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; min-height: 420px; }
.tcard__avatar { position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%);
  width: 128px; height: 128px; border-radius: 999px; background: #fff; overflow: hidden;
  box-shadow: 0 8px 24px rgba(18,26,66,.12); display: flex; align-items: center; justify-content: center; }
.tcard__avatar img { max-width: 64%; max-height: 48%; width: auto; height: auto; object-fit: contain; }
.tcard__role { color: var(--color-customFontGray); font-size: 14px; }
.tcard__co { font-weight: 700; font-size: 20px; color: var(--color-customBlue); }
.tcard__text { color: #25304f; font-size: 15px; line-height: 1.75; margin: 0; padding: 0; border: 0; background: none; quotes: none; }
.tcard__text::before, .tcard__text::after { content: none; }

/* ── Newsletter (heading + link button) ── */
.newsletter { max-width:1000px; margin:0 auto; text-align:center; }
.newsletter h2 { color:var(--color-customBlue); font-weight:700; font-size:24px; line-height:1.4; }
@media (min-width:768px){ .newsletter h2{ font-size:28px; } }
.newsletter__btn { display:inline-flex; align-items:center; gap:10px; margin-top:24px; border-radius:999px; background:var(--color-customBlue); color:#fff; padding:16px 36px; font-weight:700; font-size:16px; transition:.2s; }
.newsletter__btn:hover { background:var(--color-customLightblue); }

/* ── Footer (korea Contact form, Nova design system) ── */
.nova-footer { background:var(--color-customBlue); color:#fff; padding:64px 0; }
.nova-footer__grid { display:grid; grid-template-columns:1fr; gap:40px; }
@media (min-width:900px){ .nova-footer__grid{ grid-template-columns:1fr 1.1fr; gap:64px; } }
.nova-footer__h { font-size:28px; font-weight:700; margin-bottom:20px; color:#fff; }
.nova-footer__phone { font-size:24px; font-weight:700; margin:0 0 16px; }
.nova-footer__msg { color:rgba(255,255,255,.7); font-size:15px; line-height:1.7; margin:0; }
.nova-footer__divider { height:1px; background:rgba(255,255,255,.12); margin:48px 0 24px; }
.nova-footer__bottom { display:flex; flex-direction:column; gap:12px; justify-content:space-between; color:rgba(255,255,255,.5); font-size:14px; }
.nova-footer__bottom a { color:rgba(255,255,255,.5); }
.nova-footer__bottom a:hover { color:#fff; }
@media (min-width:768px){ .nova-footer__bottom{ flex-direction:row; align-items:center; } }

/* Contact form */
.nova-form { display:flex; flex-direction:column; gap:12px; }
.nova-form__row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.nova-form input[type=text], .nova-form input[type=tel], .nova-form input[type=email], .nova-form textarea {
  width:100%; border:0; border-radius:8px; background:rgba(255,255,255,.08); color:#fff;
  padding:14px 16px; font-size:15px; font-family:inherit; outline:none;
}
.nova-form input::placeholder, .nova-form textarea::placeholder { color:rgba(255,255,255,.45); }
.nova-form input:focus, .nova-form textarea:focus { background:rgba(255,255,255,.14); }
.nova-form textarea { resize:vertical; }
.nova-form__agree { display:flex; align-items:center; gap:8px; color:rgba(255,255,255,.7); font-size:14px; }
.nova-form__submit { align-self:flex-start; background:var(--color-customRed); color:#fff; border:0; border-radius:999px; padding:14px 40px; font-weight:700; font-size:15px; transition:.2s; }
.nova-form__submit:hover { filter:brightness(.92); }

/* ── Article / static page ── */
.article-layout { display:grid; grid-template-columns:1fr; gap:48px; align-items:start; }
@media (min-width:1000px){ .article-layout{ grid-template-columns:minmax(0,1fr) 320px; gap:64px; } }
.article { min-width:0; }
.article__meta-sep { margin:0 8px; opacity:.5; }

/* Sidebar */
.sidebar { display:flex; flex-direction:column; gap:40px; }
@media (min-width:1000px){ .sidebar{ position:sticky; top:calc(var(--header-h) + 20px); } }
.widget__title { font-size:18px; font-weight:700; color:var(--color-customBlue); padding-bottom:12px; border-bottom:2px solid var(--color-customBlue); margin-bottom:16px; }
.mini { display:flex; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid var(--color-border); }
.mini:last-child { border-bottom:0; }
.mini__thumb { flex:0 0 auto; width:64px; height:48px; border-radius:6px; overflow:hidden; background:var(--color-imgPlaceholder); }
.mini__thumb img { width:100%; height:100%; object-fit:cover; }
.mini__title { font-size:13px; font-weight:600; line-height:1.4; color:var(--color-customBlue);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.mini:hover .mini__title { color:var(--color-customRed); }
.tagcloud { display:flex; flex-wrap:wrap; gap:8px; }
.tagcloud__tag { font-size:12px; color:var(--color-customFontGray); background:var(--color-customLightGray); padding:6px 12px; border-radius:999px; }
.tagcloud__tag:hover { color:var(--color-customRed); }
.breadcrumb { display:flex; gap:8px; align-items:center; font-size:13px; color:var(--color-customFontGray); margin-bottom:24px; }
.breadcrumb a:hover { color:var(--color-customRed); }
.article__tags { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.article__title { font-weight:700; font-size:32px; line-height:1.3; color:var(--color-customBlue); letter-spacing:-.01em; }
@media (min-width:768px){ .article__title{ font-size:40px; } }
.article__meta { color:var(--color-customFontGray); font-size:14px; margin-top:16px; }
.article__hero { margin:32px 0; border-radius:16px; overflow:hidden; background:var(--color-imgPlaceholder); }
.article__hero img { width:100%; height:auto; }
.article__body { font-size:17px; line-height:1.85; color:#25304f; margin-top:8px; }
.article__body p { margin:0 0 1.25em; }
.article__body img { border-radius:12px; margin:1.5em 0; height:auto; }
.article__body h2 { font-size:26px; font-weight:700; color:var(--color-customBlue); margin:1.6em 0 .6em; }
.article__body h3 { font-size:21px; font-weight:700; color:var(--color-customBlue); margin:1.4em 0 .5em; }
.article__body a { color:var(--color-customRed); text-decoration:underline; }
.article__body ul, .article__body ol { padding-left:1.4em; margin:0 0 1.25em; }
.article__body blockquote { border-left:4px solid var(--color-customResearch); padding:4px 0 4px 20px; margin:1.5em 0; color:var(--color-customFontGray); }
.article__foot { margin-top:48px; padding-top:24px; border-top:1px solid var(--color-border); }

/* ── Pagination ── */
.pagination { display:flex; justify-content:center; gap:8px; margin-top:56px; flex-wrap:wrap; }
.pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 12px; border-radius:8px; background:#fff; border:1px solid var(--color-border); color:var(--color-customBlue); font-weight:600; font-size:14px; }
.pagination .page-numbers.current { background:var(--color-customBlue); color:#fff; border-color:var(--color-customBlue); }
.pagination a.page-numbers:hover { border-color:var(--color-customRed); color:var(--color-customRed); }

/* Footer family-site dropdown */
.nova-familysite__select {
  appearance:none; -webkit-appearance:none;
  background:rgba(255,255,255,.08); color:#fff;
  border:1px solid rgba(255,255,255,.2); border-radius:8px;
  padding:8px 34px 8px 14px; font-size:14px; font-family:inherit; cursor:pointer;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center;
}
.nova-familysite__select:hover { background-color:rgba(255,255,255,.14); }
.nova-familysite__select option { color:#111; }

/* ── Search overlay (Nova UI) ── */
.nova-search { position:fixed; inset:0; z-index:9998; }
.nova-search[hidden] { display:none; }
.nova-search__panel {
  position:absolute; left:0; right:0; top:var(--header-h);
  background:rgba(245,247,250,.98); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--color-border);
  padding:48px 20px 56px; text-align:center;
}
.nova-search__close { position:absolute; right:24px; top:24px; background:none; border:0; color:var(--color-customBlue); cursor:pointer; padding:8px; border-radius:999px; display:flex; }
.nova-search__close:hover { background:rgba(18,26,66,.06); }
.nova-search__title { color:var(--color-customBlue); font-weight:700; font-size:26px; margin-bottom:28px; }
@media (min-width:768px){ .nova-search__title{ font-size:36px; } }
.nova-search__form { display:flex; gap:8px; max-width:900px; margin:0 auto; background:#fff; border:1px solid var(--color-border); border-radius:12px; padding:8px; }
.nova-search__input { flex:1; border:0; outline:none; background:transparent; padding:0 16px; font-size:16px; color:#111; }
.nova-search__btn { border:0; background:var(--color-customBlue); color:#fff; border-radius:8px; padding:12px 28px; font-weight:700; font-size:15px; cursor:pointer; transition:.2s; }
.nova-search__btn:hover { background:var(--color-customLightblue); }
.nova-search__chips { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; max-width:900px; margin:24px auto 0; }
.nova-search__chip { background:rgba(18,26,66,.08); color:var(--color-customBlue); padding:8px 16px; border-radius:999px; font-size:14px; transition:.2s; }
.nova-search__chip:hover { background:rgba(18,26,66,.16); }
