@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@600;700;800;900&display=swap');
/* =========================
  style.css (정비 완료)
========================= */

/* ===== Base / Theme ===== */
:root{
  /* Top(Dark) vs Content(White) */
  --bg-dark: #2b2424;
  --bg-dark-2: #342b2b;
  --fg-white: #f6f6f6;

  --bg-white: #ffffff;
  --bg-white-2: #fafafa;
  --fg-dark: #111111;

  --muted-dark: rgba(255,255,255,.72);
  --muted-light: rgba(17,17,17,.70);

  --line-dark: rgba(255,255,255,.12);
  --line-light: rgba(0,0,0,.08);

  --gold: #d2b46f;
  --gold2:#c7a85f;

  --container: 1320px;
  --radius: 16px;
  --header-h: 120px;
}

*{ box-sizing: border-box; }
html,body{ margin:0; padding:0; }

body{
  font-family: "Pretendard Variable", Pretendard, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  background: var(--bg-white);
  color: var(--fg-dark);
  line-height: 1.5;
  letter-spacing: -0.2px;

  /* ✅ fixed header 겹침 방지 (모든 페이지 공통) */
  padding-top: var(--header-h);
}

a{ color: inherit; text-decoration: none; }
img{ max-width:100%; display:block; }

.container{
  width: min(var(--container), calc(100% - 40px));
  margin: 0 auto;
}

/* ===== Header (Top Dark) ===== */
.home-page{
  --header-h: 69px;
  /* 아르떼 무드: 순백 대신 은은한 아이보리 베이스로 히어로와 연결 */
  background:#faf7f0;
}
/* 홈 컨텐츠 섹션의 흰 배경을 아이보리로 살짝 통일 (히어로 이후 구간) */
.home-page .section:not(.alt):not(.section-muted){
  background:transparent;
}

.header{
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--header-h);
  z-index: 50;
  backdrop-filter: blur(12px);
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(0,0,0,.10);
}

.home-page .header{
  background: rgba(0,0,0,.82);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.header-inner{
  height: 100%;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 22px;
  position: relative;
}

.brand{
  display:flex;
  align-items:center;
  gap: 12px;
  min-width: 320px;
  flex-shrink: 0;
}
.brand-logo{
  width: 28px;
  height: 28px;
  object-fit: contain;
  filter: drop-shadow(0 6px 18px rgba(0,0,0,.35));
}

/* 텍스트 로고 자리 */
.brand-textlogo{
  height: 42px;
  width: auto;
  object-fit: contain;
}

.home-page .brand-textlogo{
  height: 28px;
}

/* ✅✅ (수정 핵심) 상호(브랜드 텍스트)만 더 크게/로고처럼 */
.brand-text{
  font-weight: 600;
  letter-spacing: 0.02em;
  font-size: 27px;         /* ✅ 상호 크게 */
  color: #111;
  line-height: 1;
}

/* ===== Nav ===== */
.nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap: clamp(10px, 0.9vw, 18px);
  margin-left:auto;
  flex: 1;
  max-width: 920px;
}

.nav a{
  position: relative;
  color: rgba(17,17,17,.92);
  white-space: nowrap;
  transition: color .18s ease, opacity .18s ease, transform .18s ease;
}

.home-page .nav-bilingual{
  align-items:center;
}

.home-page .nav-bilingual .nav-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap: 3px;
  min-width: 94px;
  padding: 8px 0 6px;
  text-align:center;
  color: rgba(255,255,255,.94);
}

.home-page .nav-bilingual .nav-band{
  display:block;
  width: 100%;
  height: 12px;
  margin-bottom: 2px;
  background: linear-gradient(90deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,.14) 50%, rgba(255,255,255,.02) 100%);
}

.home-page .nav-bilingual .nav-en{
  display:block;
  font-size: 8px;
  line-height: 1;
  letter-spacing: 0.18em;
  color: rgba(255,255,255,.62);
}

.home-page .nav-bilingual .nav-ko{
  display:block;
  font-size: 10px;
  line-height: 1.05;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: rgba(255,255,255,.95);
}

.home-page .nav-bilingual .nav-item:hover .nav-ko,
.home-page .nav-bilingual .nav-item:hover .nav-en{
  color: var(--gold);
}

.home-page .nav-bilingual .nav-item:hover .nav-band{
  background: linear-gradient(90deg, rgba(210,180,111,.05) 0%, rgba(210,180,111,.42) 50%, rgba(210,180,111,.05) 100%);
}

/* 일반 메뉴 hover */
.nav a:not(.nav-cta):hover{
  color: var(--gold);
}

/* 일반 메뉴 밑줄 */
.nav a:not(.nav-cta)::after{
  content:"";
  position:absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  height: 2px;
  transform: scaleX(0);
  transform-origin: left;
  background: linear-gradient(90deg, rgba(0,0,0,0), var(--gold), rgba(0,0,0,0));
  transition: transform .18s ease;
  opacity: .95;
}
.nav a:not(.nav-cta):hover::after{
  transform: scaleX(1);
}

.home-page .nav-bilingual .nav-item::after{
  display:none;
}

/* CTA 텍스트 링크 */
.nav-cta{
  margin-left: 6px;
  padding: 10px 2px;
  border-radius: 0;
  font-weight: 600;
  color: var(--gold) !important;
  background: transparent;
  box-shadow: none;
}
.home-page .nav-bilingual .nav-cta{
  margin-left: 0;
}
.nav-cta::after{
  display: none;
}
.nav-cta:hover{
  color: #111 !important;
  transform: none;
  box-shadow: none;
}
.home-page .nav-bilingual .nav-cta:hover .nav-ko,
.home-page .nav-bilingual .nav-cta:hover .nav-en{
  color: var(--gold) !important;
}

/* Mobile button */

.nav-toggle{
  display:none;
  margin-left:auto;
  width:44px;
  height:44px;
  border:0;
  background:transparent;
  padding:0;
}
.nav-toggle span{
  display:block;
  width: 18px;
  height: 2px;
  margin: 5px auto;
  background: rgba(17,17,17,.92);
  border-radius: 2px;
}

/* Mobile drawer (화이트 톤) */
.mobile-drawer{
  position: absolute;
  top: calc(var(--header-h) - 2px);
  right: 0;
  width: min(320px, calc(100% - 32px));
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  padding: 10px;
  display:none;
  box-shadow: 0 24px 60px rgba(0,0,0,.22);
}
.mobile-drawer a{
  display:block;
  padding: 12px 12px;
  border-radius: 12px;
  color: rgba(17,17,17,.92);
  font-weight: 700;
}
.mobile-drawer a:hover{
  background: rgba(0,0,0,.06);
}
.mobile-drawer .nav-cta{
  display:block;
  justify-content:initial;
  margin: 6px 0 0 0;
  color: var(--gold) !important;
}
.mobile-drawer .nav-cta:hover{
  color:#111 !important;
  background: rgba(0,0,0,.06);
}


.home-page .nav-toggle span{
  background: rgba(255,255,255,.92);
}

.home-page .mobile-drawer{
  background: rgba(10,10,10,.96);
  border: 1px solid rgba(255,255,255,.12);
}
.home-page .mobile-drawer a{
  color: rgba(255,255,255,.92);
}
.home-page .mobile-drawer a:hover{
  background: rgba(255,255,255,.08);
}
.home-page .mobile-drawer .nav-cta:hover{
  color: var(--gold) !important;
  background: rgba(255,255,255,.08);
}

@media (max-width: 1080px){
  .home-page .brand{
    min-width: 250px;
  }
  .home-page .nav-bilingual .nav-item{
    min-width: 90px;
  }
  .home-page .nav-bilingual .nav-en{
    font-size: 9px;
    letter-spacing: 0.18em;
  }
  .home-page .nav-bilingual .nav-ko{
    font-size: 10.6px;
  }
}

@media (max-width: 900px){
  .home-page .brand-textlogo{
    height: 36px;
  }
}

/* ===== Hero ===== */
.hero{
  position: relative;
  height: 80vh;
  min-height: 600px;
  overflow: hidden;
  background: #000;
  color: #111;

  /* ✅ body에서 padding-top 처리했으니 hero는 따로 필요 없음 */
  padding-top: 0;
}

.hero-track{
  height: 100%;
  display:flex;
  transition: transform 700ms cubic-bezier(.2,.8,.2,1);
  will-change: transform;

  /* ✅ 드래그 UX */
  user-select: none;
}

.hero-slide{
  position: relative;
  flex: 0 0 100%;
  height: 100%;
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
}

/* Video background (Index hero uses a fixed video instead of --bg image) */
.hero-video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* Ensure overlay/content stay above the video */
.hero-overlay{ z-index: 1; }
.hero-content{ z-index: 2; }

/* Text-only slider inside hero content (slide-in/out + click-safe)
   - Inactive slides must not block clicks (pointer-events: none)
   - Uses horizontal motion so copy feels like a “slide”
*/
.hero-texts{ position: relative; min-height: 260px; padding-top: 44px; }

/* able-edu.com 스타일의 "1 / 2" 페이지 표기 */
.hero-pagination{
  position: absolute;
  top: 0;
  left: 0;
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  color: rgba(255,255,255,.86);
  font-weight: 700;
  letter-spacing: .2px;
  z-index: 3;
  pointer-events: none;
}
.hero-page{ font-size: 18px; }
.hero-page-sep{ font-size: 14px; opacity: .85; }
.hero-page-total{ opacity: .75; }

/* Text-only slider inside hero content */
.hero-text{
  position: absolute;
  top: 44px;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .55s ease, transform .55s ease;
  pointer-events: none;
}
.hero-text.is-active{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.hero-text.is-exit-left{
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(60% 70% at 25% 35%, rgba(0,0,0,.14), rgba(0,0,0,.52)),
    linear-gradient(to bottom, rgba(0,0,0,.06), rgba(0,0,0,.50));
}

.hero-content{
  position: relative;
  height: 100%;
  display:flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
  padding: 60px 0;
  max-width: 760px;
}

.hero-eyebrow{ color: rgba(255,255,255,.82); font-weight: 500; letter-spacing: 0.2px; font-size: clamp(12px, 1.4vw, 20px); }
/* ===== Hero title: PC 1줄 고정 + 모바일 대응 ===== */
.hero-title{
  font-size: 56px;
  line-height: 1.08;
  letter-spacing: -1.2px;
  margin: 0;
  white-space: nowrap;     /* ✅ PC: 무조건 한 줄 */
}

/* 태블릿 이하: 줄바꿈 허용 + 폰트 자동 축소 */
@media (max-width: 1024px){
  .hero-title{
    white-space: normal;   /* ✅ 줄바꿈 허용 */
    font-size: clamp(30px, 4.8vw, 44px);
  }
}

/* 모바일: 가능하면 1줄 유지(폭이 좁으면 폰트 더 줄임) */
@media (max-width: 560px){
  .hero-title{
    white-space: nowrap;   /* ✅ 모바일도 한 줄 목표 */
    font-size: clamp(22px, 6.2vw, 32px);
  }
}

.hero-desc{ color: rgba(255,255,255,.80); font-size: 20px; max-width: 54ch; }

.hero-cta{ display:flex; gap: 12px; margin-top: 10px; flex-wrap: wrap; }

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 46px;
  padding: 0 18px;
  border-radius: 14px;
  font-weight: 600;
  font-size: 14px;
  transition: .2s ease;
  border: 1px solid transparent;
}
.btn-primary{
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  color: #111;
  box-shadow: 0 14px 30px rgba(210,180,111,.22);
}
.btn-primary:hover{ transform: translateY(-1px); box-shadow: 0 18px 40px rgba(210,180,111,.26); }
.btn-ghost{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.16);
  color: rgba(255,255,255,.92);
}
.btn-ghost:hover{ background: rgba(255,255,255,.12); }

.hero-btn{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.24);
  backdrop-filter: blur(10px);
  color: #fff;
  cursor: pointer;
  z-index: 5;
}
.hero-prev{ left: 18px; }
.hero-next{ right: 18px; }
.hero-btn:hover{ background: rgba(0,0,0,.36); }

.hero-dots{
  position:absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 22px;
  display:flex;
  gap: 8px;
  z-index: 6;
}
.hero-dots button{
  width: 8px;
  height: 8px;
  border-radius: 99px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.22);
  cursor: pointer;
  padding:0;
}
.hero-dots button.is-active{
  width: 22px;
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  border-color: rgba(0,0,0,0);
}

.hero-scroll{
  position:absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 62px;
  width: 28px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  display:flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 8px;
  z-index: 6;
}
.hero-scroll span{
  width: 4px;
  height: 10px;
  border-radius: 99px;
  background: rgba(255,255,255,.78);
  animation: scrollDot 1.3s infinite;
}
@keyframes scrollDot{
  0%{ transform: translateY(0); opacity:.6;}
  60%{ transform: translateY(12px); opacity:1;}
  100%{ transform: translateY(0); opacity:.6;}
}

/* ===== Sections ===== */
.section{
  padding: 84px 0;
  background: var(--bg-white);
  color: var(--fg-dark);
  border-top: 1px solid var(--line-light);
}
.section.alt{ background: var(--bg-white-2); }

.section-head{ margin-bottom: 26px; }
.section-head-row{
  display:flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

.section-title{
  font-size: 28px;
  margin: 0 0 6px 0;
  letter-spacing: -0.8px;
  color: var(--fg-dark);
}
.section-sub{ margin: 0; color: var(--muted-light); }

.grid-2{ display:grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.grid-3{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }

.card{
  background: #ffffff;
  border: 1px solid var(--line-light);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: 0 18px 40px rgba(0,0,0,.08);
}
.card h3{ margin: 0 0 8px 0; font-size: 18px; color: var(--fg-dark); }
.card p{ margin: 0; color: var(--muted-light); }

.link-more{
  color: rgba(17,17,17,.86);
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--line-light);
  background: rgba(0,0,0,.03);
}
.link-more:hover{ background: rgba(0,0,0,.06); }

.news-list{ display:flex; flex-direction: column; gap: 10px; }
.news-item{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid var(--line-light);
  box-shadow: 0 14px 30px rgba(0,0,0,.06);
}
.news-item:hover{ background: rgba(0,0,0,.03); }
.news-date{ color: rgba(17,17,17,.55); font-size: 13px; }
.news-title{ color: rgba(17,17,17,.92); font-weight: 700; }

.contact-card{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 16px;
  border-radius: 26px;
  overflow: hidden;
}

/* ===== Footer ===== */
.footer{
  padding: 48px 0;
  border-top: 1px solid #ddd;
  background: #f4f4f4;
}
.footer-inner{
  display:flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  color: #333;
  font-size: 14px;
}
.footer-logo{
  font-weight: 800;
  font-size: 22px;
  letter-spacing: -0.3px;
  color: #111;
}
.footer-info p{
  margin: 0;
  line-height: 1.9;
  color: rgba(17,17,17,.78);
}
.footer-info strong{
  font-weight: 700;
  color: #111;
}

/* =========================
   Safe Footer (site-footer)
   - Uses f- prefix to avoid conflicts with existing .brand/.footer-inner etc.
========================= */
.site-footer{
  background: #fff;
  border-top: 1px solid rgba(0,0,0,.08);
}

.site-footer .f-inner{
  width: min(var(--container), calc(100% - 40px));
  margin: 0 auto;
  padding: 24px 20px 28px;
  color: rgba(17,17,17,.72);
  font-size: 13px;
}

.site-footer .f-topnav{
  display:flex;
  justify-content:flex-end;
  gap:20px;
  font-size:14px;
  color: rgba(17,17,17,.62);
}

.site-footer .f-topnav a:hover{ text-decoration: underline; }

.site-footer .f-divider{
  border:0;
  border-top:1px solid rgba(0,0,0,.08);
  margin:14px 0 18px;
}

.site-footer .f-main{
  display:flex;
  justify-content:space-between;
  gap:40px;
  align-items:flex-start;
}

.site-footer .f-left{ flex:1; min-width:520px; }
.site-footer .f-right{ width:320px; }

.site-footer .f-brand{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}

.site-footer .f-logo{ width:32px; height:32px; object-fit:contain; }
.site-footer .f-name{ font-size:20px; font-weight:900; color: rgba(17,17,17,.92); }

.site-footer .f-company{ margin-top: 6px; }
.site-footer .f-company p{ margin:6px 0; line-height:1.7; }
.site-footer .f-company b{ color: rgba(17,17,17,.9); margin-right: 3px; }
.site-footer .f-sep{ display:inline-block; padding: 0 13px; color: rgba(17,17,17,.35); }

.site-footer .f-legal{ margin-top: 10px; }
.site-footer .f-policy a:hover{ text-decoration: underline; }

.site-footer .f-cs-title{ font-size:14px; font-weight:700; color: rgba(17,17,17,.9); margin-bottom:8px; }
.site-footer .f-cs-phone{ font-size:28px; font-weight:900; color: rgba(17,17,17,.95); margin-bottom:14px; }

.site-footer .f-row{
  display:grid;
  grid-template-columns: 72px 1fr;
  gap:10px;
  align-items:center;
  margin:8px 0;
}

.site-footer .f-cs-hours dt,
.site-footer .f-cs-hours dd{ margin:0; }

.site-footer .f-tag{
  background:#111;
  color:#fff;
  font-size:12px;
  padding:6px 10px;
  border-radius:4px;
  font-weight:700;
  text-align:center;
}

@media (max-width: 900px){
  .site-footer .f-topnav{ justify-content:flex-start; flex-wrap:wrap; }
  .site-footer .f-main{ flex-direction:column; }
  .site-footer .f-left{ min-width:0; }
  .site-footer .f-right{ width:100%; margin-top:22px; }
}

/* =========================
   Index Hero: Video + Text rotator
========================= */
.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}

.hero .hero-overlay{ z-index:1; }
.hero .hero-content{ position: relative; z-index:2; }

.hero-texts{ position: relative; min-height: 260px; padding-top: 44px; }

/* able-edu.com 스타일의 "1 / 2" 페이지 표기 */
.hero-pagination{
  position: absolute;
  top: 0;
  left: 0;
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  color: rgba(255,255,255,.86);
  font-weight: 700;
  letter-spacing: .2px;
  z-index: 3;
  pointer-events: none;
}
.hero-page{ font-size: 18px; }
.hero-page-sep{ font-size: 14px; opacity: .85; }
.hero-page-total{ opacity: .75; }

.hero-text{
  position: absolute;
  top: 44px;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .55s ease, transform .55s ease;
  pointer-events: none;
}

.hero-text.is-active{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.hero-text.is-exit-left{
  opacity: 0;
  transform: translateY(-10px);
}


/* ===== About ===== */
.about{ background: #fff; color: #111; }
.about .section-title, .about .section-sub{ color: inherit; }

.about-founder{
  display:grid;
  grid-template-columns: 460px 1fr;
  gap: 44px;
  align-items: center;
  padding: 40px 0 24px;
}
.about-founder-media{
  width: min(100%, 460px);
  aspect-ratio: 1 / 1;
  background: #f2f2f2;
  border-radius: 50%;
  overflow: hidden;
  margin-inline: auto;
  box-shadow: 0 18px 40px rgba(0,0,0,.08);
}
.about-founder-media img{ width:100%; height:100%; object-fit: cover; display:block; }

.about-kicker{ margin: 0 0 10px 0; font-size: 14px; font-weight: 700; color: #111; }
.about-headline{ margin: 0 0 18px 0; font-size: 28px; line-height: 1.25; letter-spacing: -0.6px; }
.about-headline-accent{ color: var(--gold); }
.about-headline-brand{ color: var(--gold2); }
.about-text p{ margin: 0 0 14px 0; color: rgba(17,17,17,.78); line-height: 1.8; }

.about-outline-btn{
  height: 46px;
  border-radius: 0;
  background: #fff;
  border: 1px solid #111;
  color: #111;
  box-shadow: none;
}
.about-outline-btn:hover{ transform: translateY(-1px); }

.about-why{ padding: 54px 0 10px; }
.about-title{ text-align:center; margin: 0 0 38px 0; font-size: 34px; line-height: 1.25; letter-spacing: -0.8px; }

.about-why-grid{
  display:grid;
  grid-template-columns: 1fr 520px;
  gap: 36px;
  align-items: stretch;
}
.about-why-card{
  background: #f4f4f4;
  border: 1px solid #ededed;
  padding: 26px 24px;
  margin-bottom: 18px;
}
.about-why-card h3{ margin: 0 0 10px 0; font-size: 20px; letter-spacing: -0.4px; }
.about-why-card p{ margin: 0; color: rgba(17,17,17,.75); line-height: 1.8; }

.about-why-right{ background:#f2f2f2; overflow:hidden; }
.about-why-right img{ width:100%; height:100%; object-fit: cover; display:block; }

/* ===== Reviews (홈 섹션) ===== */
#reviews{ background: #fff; color: #111; }
#reviews .section-title, #reviews .section-sub{ color: inherit; }
#reviews .section-sub{ color: rgba(17,17,17,.70); }

.reviews-tabs{
  display:flex;
  gap: 18px;
  flex-wrap: wrap;
  align-items:center;
  margin: 10px 0 18px;
}
.reviews-tabs .tab{
  border: 0;
  background: transparent;
  padding: 8px 0;
  font-weight: 800;
  font-size: 13px;
  color: rgba(17,17,17,.72);
  cursor: pointer;
  border-bottom: 2px solid transparent;
}
.reviews-tabs .tab:hover{ color: #111; }
.reviews-tabs .tab.is-active{ color:#111; border-bottom-color:#111; }

.reviews-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 26px;
}

.review-poster{
  position: relative;
  overflow:hidden;
  background: #f3f3f3;
  aspect-ratio: 3 / 4;
  display:block;
}
.review-poster img{
  width:100%;
  height:100%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.05);
  transform: scale(1.02);
}
.review-poster-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 14px 14px 16px;
  background: linear-gradient(to bottom, rgba(255,255,255,.0), rgba(0,0,0,.65));
}
.review-year{ font-weight: 900; font-size: 22px; color: rgba(255,255,255,.92); }
.review-poster-mid{ color: rgba(255,255,255,.92); font-weight: 800; font-size: 14px; line-height: 1.35; }
.review-poster-bottom{ color: #fff; font-weight: 900; font-size: 32px; letter-spacing: -0.8px; line-height: 1.0; }
.review-poster:hover img{ transform: scale(1.05); transition: transform .25s ease; }

/* 합격통지서 무한 롤링 */
.cert-marquee{
  position: relative;
  border-radius: 18px;
  background: #000;
  padding: 26px 0;
  overflow: hidden;
}
.cert-marquee::before,
.cert-marquee::after{
  content:"";
  position:absolute;
  top:0; bottom:0;
  width: 140px;
  z-index: 3;
  pointer-events:none;
}
.cert-marquee::before{
  left:0;
  background: linear-gradient(to right, rgba(0,0,0,1), rgba(0,0,0,0));
}
.cert-marquee::after{
  right:0;
  background: linear-gradient(to left, rgba(0,0,0,1), rgba(0,0,0,0));
}
.marquee-row{ overflow:hidden; padding: 10px 0; }
.marquee-track{
  display:flex;
  width: max-content;
  gap: 18px;
  align-items:center;
  will-change: transform;
}
.marquee-set{ display:flex; gap: 18px; align-items:center; }
.marquee-set img{
  width: 160px;
  height: 220px;
  object-fit: cover;
  background: #111;
  border-radius: 6px;
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
  filter: saturate(1.02);
}
@keyframes marqueeLeft{ from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes marqueeRight{ from { transform: translateX(-50%); } to { transform: translateX(0); } }
.to-left .marquee-track{ animation: marqueeLeft 26s linear infinite; }
.to-right .marquee-track{ animation: marqueeRight 28s linear infinite; }
.cert-marquee:hover .marquee-track{ animation-play-state: paused; }

/* ===== Responsive ===== */
@media (max-width: 980px){
  .nav{ display:none; }

  .nav-toggle{
    display:block;
    margin-left:auto;
    width:44px;
    height:44px;
    border:0;
    background:transparent;
    padding:0;
  }

  .grid-3{ grid-template-columns: 1fr; }
  .grid-2{ grid-template-columns: 1fr; }

  .contact-card{ flex-direction: column; align-items: stretch; }

  .hero{ height: 72vh; min-height: 520px; }
  .hero-content{ padding: 44px 0; }
  .hero-prev{ left: 10px; }
  .hero-next{ right: 10px; }

  .about-founder{ grid-template-columns: 1fr; gap: 22px; }
  .about-why-grid{ grid-template-columns: 1fr; }
  .about-title{ font-size: 28px; }

  .reviews-grid{ grid-template-columns: repeat(2, 1fr); }
  .marquee-set img{ width: 130px; height: 190px; }
  .cert-marquee::before, .cert-marquee::after{ width: 90px; }

  /* ✅ 모바일에서 상호/메뉴 살짝 축소 */
  .brand-text{ font-size: 18px; }
  .mobile-drawer a{ font-size: 14px; }
}

/* =========================
   Page Transition (FAST)
========================= */

/* 화면 덮는 전환 레이어 */
.page-transition{
  position: fixed;
  inset: 0;
  background: #ffffff;
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 160ms ease,
    transform 180ms ease;
}

/* 나갈 때(클릭 후) */
.page-transition.is-leaving{
  opacity: 1;
  transform: translateY(0);
}

/* 들어올 때(새 페이지 로드 직후) */
.page-transition.is-entering{
  opacity: 0;
  transform: translateY(0);
}

/* 사용자 설정: 모션 줄이기면 전환 최소화 */
@media (prefers-reduced-motion: reduce){
  .page-transition{
    transition: none;
  }
}

/* =========================
   SIGNAL about page patches
   (요구사항 반영 블록)
========================= */

/* 1) Hero: 이미지 세로길이 4/5 + 2줄 타이틀 */
.page-hero{
  height: 80vh;          /* 화면의 4/5 */
  min-height: 520px;
  max-height: 780px;
  display: flex;
  align-items: center;
}

.page-hero-title{
  font-size: clamp(2.8rem, 5vw, 4.2rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: #fff;
}

.page-hero-title .hero-line2{
  display: block;
  font-weight: 300;
  font-size: 0.75em;
  opacity: 0.9;
  margin-top: 0.25em;
}

/* 이미지처럼 왼쪽 하단 느낌 */
.page-hero-inner{
  align-self: flex-end;
  padding-bottom: 80px;
}

/* 2) Founder: 버튼 삭제 후 아래 여백 정리 */
.split-body .prose{
  margin-bottom: 0;
}

/* 3) Why: 가로 한 줄 카드 + 우측 이미지 */
.why-row{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 4rem;
  align-items: center;
}

.why-cards{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.why-card{
  background: #fff;
  border-radius: 14px;
  padding: 1.8rem;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
  transition: transform .25s ease, box-shadow .25s ease;
}

.why-card h3{
  font-size: 1.1rem;
  margin-bottom: 0.6rem;
  font-weight: 600;
}

.why-card p{
  font-size: .95rem;
  line-height: 1.5;
  color: rgba(17,17,17,.72);
}

.why-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.08);
}

.why-image img{
  width: 100%;
  height: 420px;
  object-fit: cover;
  border-radius: 16px;
}

/* 4) Team: 한 화면 5개 + 무한 롤링 */
.people-marquee{
  position: relative;
  overflow: hidden;
  padding: 10px 0;
}

.people-marquee::before,
.people-marquee::after{
  content:"";
  position:absolute;
  top:0; bottom:0;
  width: 70px;
  z-index: 2;
  pointer-events: none;
}
.people-marquee::before{
  left:0;
  background: linear-gradient(90deg, var(--bg-white, #fff), rgba(255,255,255,0));
}
.people-marquee::after{
  right:0;
  background: linear-gradient(270deg, var(--bg-white, #fff), rgba(255,255,255,0));
}

.people-track{
  display: flex;
  gap: 16px;
  width: max-content;
  animation: peopleRoll 35s linear infinite;
  will-change: transform;
}

/* ✅ 한 화면에 5개 보이게 */
.person-tile{
  flex: 0 0 calc((min(1100px, 100vw) - (16px * 4)) / 5);
  max-width: 240px;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}

.person-tile img{
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}

.person-meta{
  padding: 12px 12px 14px;
  display: grid;
  gap: 4px;
}
.person-meta strong{ font-size: 1rem; }
.person-meta span{ font-size: .85rem; color: rgba(17,17,17,.65); }

/* ✅ JS가 트랙을 2배로 복제하므로 -50%면 정확히 한 세트만큼 이동 */
@keyframes peopleRoll{
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* (선택) 마우스 올리면 멈춤 */
.people-marquee:hover .people-track{
  animation-play-state: paused;
}

/* 5) 문의/오시는 길 통합 섹션 */
.contactloc-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: stretch;
}

.contactloc-map{
  padding: 0;
  overflow: hidden;
}

.contactloc-map .map-placeholder{
  min-height: 380px;
  display: grid;
  place-items: center;
  background: #f2f2f2;
  color: rgba(17,17,17,.6);
}

/* 반응형 */
@media (max-width: 980px){
  .why-row{
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .why-cards{
    grid-template-columns: 1fr;
  }
  .why-image img{
    height: 320px;
  }

  .contactloc-grid{
    grid-template-columns: 1fr;
  }
  .contactloc-map .map-placeholder{
    min-height: 320px;
  }
}

@media (max-width: 980px){
  .person-tile{ flex-basis: calc((100vw - (16px * 2)) / 3.2); }
}
@media (max-width: 560px){
  .person-tile{ flex-basis: calc((100vw - (16px * 1)) / 2.2); }
  .person-tile img{ height: 200px; }
}
/* ===== 숨은 앵커(섹션 삭제했지만 링크 유지용) ===== */
.sr-anchor{
  position: relative;
  top: -80px; /* 고정 헤더 offset */
  height: 1px;
}

/* ===== About: 프로젝트 실적 펼침 ===== */
.about-projects{
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(17,17,17,.12);
}

.about-projects-head{
  margin-bottom: 14px;
}

.about-projects-title{
  font-size: 18px;
  margin: 0 0 6px;
}

.about-projects-sub{
  margin: 0;
  color: rgba(17,17,17,.65);
  font-size: 14px;
}

.about-projects-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}

.project-card{
  border: 1px solid rgba(17,17,17,.10);
  border-radius: 14px;
  padding: 14px 14px;
  background: rgba(255,255,255,.7);
}

.project-card h4{
  margin: 0 0 6px;
  font-size: 15px;
}

.project-card p{
  margin: 0;
  font-size: 14px;
  color: rgba(17,17,17,.72);
}

/* ===== Why: 가로 3카드 ===== */
.why-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}

.why-card{
  background: #fff;
  border: 1px solid rgba(17,17,17,.10);
  border-radius: 18px;
  padding: 26px 20px;
  text-align: center;
  box-shadow: 0 10px 28px rgba(0,0,0,.05);
}

.why-icon{
  font-size: 28px;
  margin-bottom: 12px;
}

.why-card h3{
  margin: 0 0 8px;
  font-size: 18px;
}

.why-card p{
  margin: 0;
  font-size: 14px;
  color: rgba(17,17,17,.72);
}

/* ===== Why: 이미지 카드 + Hover 오버레이 (휴먼인 스타일) ===== */
/* 기존 .why-card(아이콘 카드) 디자인은 다른 페이지에 영향이 있을 수 있어
   index.html에서만 쓰는 .why-card--image로 확장합니다. */
.why .why-card--image{
  position: relative;
  padding: 0;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(17,17,17,.10);
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
  background: #000;
  min-height: 240px;
}

.why .why-card--image .why-bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform .45s ease;
}

/* 어두운 그라데이션 레이어 */
.why .why-card--image::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,.70) 0%,
    rgba(0,0,0,.20) 55%,
    rgba(0,0,0,0) 100%
  );
  opacity: 0;
  transition: opacity .35s ease;
}

.why .why-card--image .why-overlay{
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
  color: #fff;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .35s ease, transform .35s ease;
  z-index: 1;
  text-align: left;
}

.why .why-card--image .why-overlay h3{
  margin: 0 0 6px;
  font-size: 18px;
  color: #fff;
}

.why .why-card--image .why-overlay p{
  margin: 0;
  font-size: 14px;
  color: rgba(255,255,255,.86);
}

/* Hover / Focus 시 등장 */
.why .why-card--image:hover::after,
.why .why-card--image:focus-within::after{
  opacity: 1;
}

.why .why-card--image:hover .why-overlay,
.why .why-card--image:focus-within .why-overlay{
  opacity: 1;
  transform: translateY(0);
}

.why .why-card--image:hover .why-bg,
.why .why-card--image:focus-within .why-bg{
  transform: scale(1.08);
}

/* 터치 기기(hover 없음)에서는 텍스트가 기본 노출되도록 */
@media (hover: none){
  .why .why-card--image::after{ opacity: 1; }
  .why .why-card--image .why-overlay{ opacity: 1; transform: none; }
}

/* ===== Proof(새 디자인) ===== */
.proof{
  padding: 70px 0;
  background: #fff;
}

.proof-strip{
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.proof-metric{
  border: 1px solid rgba(17,17,17,.10);
  border-radius: 18px;
  padding: 18px 16px;
  background: rgba(250,250,250,.9);
}

.proof-metric-top{
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.proof-icon{ font-size: 18px; }
.proof-label{ font-size: 14px; color: rgba(17,17,17,.72); }

.proof-number{
  font-size: 30px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.proof-unit{
  font-size: 18px;
  font-weight: 700;
  margin-left: 2px;
}

.proof-desc{
  margin: 8px 0 0;
  font-size: 13px;
  color: rgba(17,17,17,.62);
}

.proof-cards{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}

.proof-card{
  border: 1px solid rgba(17,17,17,.10);
  border-radius: 18px;
  padding: 18px 16px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(0,0,0,.04);
}

.proof-card h3{
  margin: 0 0 8px;
  font-size: 16px;
}

.proof-card p{
  margin: 0;
  font-size: 14px;
  color: rgba(17,17,17,.72);
}

/* ===== 반응형 ===== */
@media (max-width: 900px){
  .proof-strip{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .proof-cards{ grid-template-columns: 1fr; }
}

@media (max-width: 768px){
  .why-grid{ grid-template-columns: 1fr; }
  .about-projects-grid{ grid-template-columns: 1fr; }
}
/* Why Signal 제목 가운데 정렬 */
#why .section-head {
  text-align: center;
}


/* logo sizing override */
.brand-logo{width:40px;height:40px;}
.brand-textlogo{height:40px;width:auto;}


/* ===== Premium Minimal Motion ===== */
.reveal{
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .6s ease, transform .6s ease;
  will-change: opacity, transform;
}
.reveal.is-visible{
  opacity: 1;
  transform: none;
}

.program-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.program-card{
  text-decoration: none;
  color: inherit;
  padding: 18px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.program-card h3{ margin: 0 0 8px 0; font-size: 16px; }
.program-card p{ margin: 0 0 14px 0; color: rgba(17,17,17,.72); line-height: 1.55; }
.program-card .link{ font-weight: 800; font-size: 13px; color: rgba(17,17,17,.8); }
.program-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(0,0,0,.08);
}

.section-muted{
  background: #fafafa;
  border-top: 1px solid rgba(0,0,0,.06);
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.quick-grid{
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 18px;
  align-items: start;
}
.chip-row{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 10px 0 18px;
}
.chip{
  border: 1px solid rgba(0,0,0,.14);
  background: #fff;
  border-radius: 999px;
  padding: 9px 12px;
  font-weight: 800;
  font-size: 13px;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.chip:hover{ transform: translateY(-1px); box-shadow: 0 10px 20px rgba(0,0,0,.06); }
.chip.is-selected{
  border-color: rgba(0,0,0,.8);
  box-shadow: 0 14px 28px rgba(0,0,0,.08);
}
.quick-actions{
  display:flex;
  gap: 10px;
  margin-top: 10px;
}
.btn.ghost{
  background: transparent;
  border: 1px solid rgba(0,0,0,.18);
  color: rgba(17,17,17,.9);
}
.quick-result .muted{ color: rgba(17,17,17,.58); }
.mini-badges{
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
}
.mini-badges .badge{
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 800;
  background: #fff;
}
.subhead{
  margin: 18px 0 10px;
  font-size: 14px;
  font-weight: 900;
}

@media (max-width: 1180px){
  .program-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px){
  .program-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quick-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 560px){
  .program-grid{ grid-template-columns: 1fr; }
}


/* === Portfolio Grid === */
.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
}

.portfolio-item{
  position:relative;
  display:block;
  border-radius:16px;
  overflow:hidden;
  background:#111;
  min-height:220px;
  box-shadow:0 18px 44px rgba(17,17,17,.12);
  transform:translateZ(0);
}

.portfolio-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.02);
  transition:transform .35s ease;
  filter:saturate(1.02);
}

.portfolio-item::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.72), rgba(0,0,0,.06) 55%, rgba(0,0,0,0));
  pointer-events:none;
}

.portfolio-overlay{
  position:absolute;
  left:16px;
  right:16px;
  bottom:14px;
  z-index:2;
  color:#fff;
}

.portfolio-title{
  font-weight:700;
  letter-spacing:-.02em;
  font-size:18px;
  line-height:1.25;
  text-shadow:0 8px 24px rgba(0,0,0,.28);
}

.portfolio-tags{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}

.portfolio-tags .tag{
  display:inline-flex;
  align-items:center;
  height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  font-size:12px;
  font-weight:600;
  backdrop-filter:blur(6px);
}

.portfolio-item:hover img{
  transform:scale(1.06);
}

/* shape variations */
.portfolio-item.is-tall{ grid-row:span 2; min-height:460px; }
.portfolio-item.is-wide{ grid-column:span 2; min-height:260px; }

@media (max-width: 980px){
  .portfolio-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .portfolio-item.is-wide{ grid-column:span 2; }
}

@media (max-width: 620px){
  .portfolio-grid{ grid-template-columns:1fr; }
  .portfolio-item.is-tall,
  .portfolio-item.is-wide{ grid-column:auto; grid-row:auto; min-height:240px; }
}


/* =========================
   SIGNAL EDU page only (about.html 전용)
   ✅ 기존 CSS 건드리지 않음 / 충돌 방지: edu- prefix
========================= */

/* 1) 상단 이미지 섹션 (메인보다 약간 낮지만 충분한 존재감 유지) */
.edu-hero{
  position: relative;
  height: 60vh;
  min-height: 400px;
  max-height: 700px;
  overflow: hidden;
  background: #000;
}

.edu-hero-bg{
  position: absolute;
  inset: 0;
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
}

.edu-hero-overlay{
  position: absolute;
  inset: 0;
  background:
    radial-gradient(60% 70% at 25% 35%, rgba(0,0,0,.18), rgba(0,0,0,.55)),
    linear-gradient(to bottom, rgba(0,0,0,.10), rgba(0,0,0,.55));
}

.edu-hero-inner{
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 44px 0;
  color: #fff;
}

.edu-hero-eyebrow{
  margin: 0 0 6px;
  color: rgba(255,255,255,.82);
  font-weight: 600;
}

.edu-hero-title{
  margin: 0;
  font-size: clamp(26px, 3.1vw, 44px);
  letter-spacing: -0.8px;
}

@media (max-width: 768px){
  .hero{
    height: 68vh;
    min-height: 460px;
  }

  .edu-hero{
    height: 50vh;
    min-height: 300px;
    max-height: none;
  }
}

/* 버튼(화이트 배경에서도 쓰기 좋은 다크 아웃라인) */
.edu-btn-outline{
  background: transparent;
  border: 1px solid rgba(0,0,0,.18);
  color: rgba(17,17,17,.92);
}
.edu-btn-outline:hover{
  background: rgba(0,0,0,.04);
}

/* 2) 대표 이미지 + 인사말 + 약력 버튼 */
.edu-founder{
  padding: 84px 0;
  background: var(--bg-white);
  border-top: 1px solid var(--line-light);
}

.edu-founder-grid{
  display: grid;
  grid-template-columns: 440px 1fr;
  gap: 28px;
  align-items: start;
}

.edu-founder-photo{
  border-radius: 16px;
  overflow: hidden;
  background: #f2f2f2;
  border: 1px solid rgba(0,0,0,.08);
}

.edu-founder-photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.edu-founder-kicker{
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 700;
  color: rgba(17,17,17,.88);
}

.edu-founder-title{
  margin: 0 0 12px;
  font-size: 28px;
  line-height: 1.25;
  letter-spacing: -0.6px;
}

.edu-founder-text p{
  margin: 0 0 12px;
  color: rgba(17,17,17,.75);
  line-height: 1.8;
}

.edu-founder-actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}

/* 버튼(흰 배경에서 쓰는 다크 아웃라인) */
.edu-btn-dark{
  background: transparent;
  border: 1px solid rgba(0,0,0,.18);
  color: rgba(17,17,17,.92);
}
.edu-btn-dark:hover{
  background: rgba(0,0,0,.04);
}

/* 약력 섹션 */
.edu-bio{
  padding: 84px 0;
  background: var(--bg-white);
  border-top: 1px solid var(--line-light);
}
.edu-bio-list{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.edu-bio-list li{
  padding: 14px 16px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  background: #fff;
  color: rgba(17,17,17,.82);
}

/* 3) 글 + 이미지 섹션 (좌 글 / 우 이미지) */
.edu-split{
  padding: 84px 0;
  background: var(--bg-white);
  border-top: 1px solid var(--line-light);
}

.edu-split-grid{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 24px;
  align-items: center;
}

.edu-split-img img{
  width: 100%;
  height: 360px;
  object-fit: cover;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.08);
}

.edu-points{
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.edu-point{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 14px;
}

.edu-point h3{
  margin: 0 0 6px;
  font-size: 16px;
}

.edu-point p{
  margin: 0;
  color: rgba(17,17,17,.72);
}

/* 4) 강사진 소개 섹션 */
.edu-teachers{
  padding: 84px 0;
  background: var(--bg-white-2);
  border-top: 1px solid rgba(0,0,0,.06);
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.edu-teachers-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
}

.edu-teacher-card{
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 26px rgba(0,0,0,.04);
}

.edu-teacher-card img{
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}

.edu-teacher-meta{
  padding: 12px 12px 14px;
  display: grid;
  gap: 4px;
}

.edu-teacher-meta strong{
  font-size: 16px;
}

.edu-teacher-meta span{
  font-size: 13px;
  color: rgba(17,17,17,.65);
}

/* 5) 글 작성 섹션 (2칸 분할) */
.edu-two-col{
  padding: 84px 0;
  background: var(--bg-white);
  border-top: 1px solid var(--line-light);
}

.edu-two-col-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.edu-two-col-box{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 18px;
}

.edu-two-col-box h3{
  margin: 0 0 8px;
  font-size: 16px;
}

.edu-two-col-box p{
  margin: 0;
  color: rgba(17,17,17,.72);
  line-height: 1.7;
}

/* ===== Responsive (about.html 전용) ===== */
@media (max-width: 980px){
  .edu-founder-grid{ grid-template-columns: 1fr; }
  .edu-split-grid{ grid-template-columns: 1fr; }
  .edu-split-img img{ height: 300px; }
  .edu-teachers-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .edu-two-col-grid{ grid-template-columns: 1fr; }
}
/* ===== Footer patch for new HTML (.site-footer) ===== */
.site-footer{
  background: #fff;
  border-top: 1px solid rgba(0,0,0,.08);
}

.site-footer .footer-inner{
  max-width: var(--container);
  margin: 0 auto;
  padding: 24px 20px 28px;

  /* 기존 .footer-inner(세로 flex) 무력화 */
  display: block;
  align-items: initial;
  gap: 0;
  font-size: 13px;
  color: rgba(17,17,17,.72);
}

/* 상단 메뉴 */
.site-footer .footer-topnav{
  display: flex;
  justify-content: flex-end;
  gap: 20px;
  font-size: 14px;
  color: rgba(17,17,17,.62);
}

.site-footer .footer-topnav a:hover{
  text-decoration: underline;
}

.site-footer .footer-divider{
  border: 0;
  border-top: 1px solid rgba(0,0,0,.08);
  margin: 14px 0 18px;
}

/* 2열 레이아웃 */
.site-footer .footer-main{
  display: flex;
  justify-content: space-between;
  gap: 40px;
  align-items: flex-start;
}

.site-footer .footer-left{ flex: 1; min-width: 520px; }
.site-footer .footer-right{ width: 320px; }

/* 푸터 브랜드(헤더 .brand 영향 줄이기) */
.site-footer .brand{
  display:flex;
  align-items:center;
  gap: 12px;
  min-width: 220px;
  flex-shrink: 0;
}

.site-footer .brand-name{
  font-weight: 800;
  font-size: 20px;
  color: rgba(17,17,17,.92);
}

/* 회사 정보 */
.site-footer .company p{
  margin: 6px 0;
  line-height: 1.7;
}

.site-footer .company b{
  color: rgba(17,17,17,.9);
}

/* 오른쪽 고객센터 */
.site-footer .cs-title{
  font-size: 14px;
  font-weight: 700;
  color: rgba(17,17,17,.9);
  margin-bottom: 8px;
}

.site-footer .cs-phone{
  font-size: 28px;
  font-weight: 900;
  color: rgba(17,17,17,.95);
  margin-bottom: 14px;
}

.site-footer .cs-hours .row{
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 10px;
  align-items: center;
  margin: 8px 0;
}

.site-footer .cs-hours dt,
.site-footer .cs-hours dd{ margin: 0; }

.site-footer .cs-hours .tag{
  background: #111;
  color: #fff;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 4px;
  font-weight: 700;
  text-align: center;
}

/* 하단 링크 */
.site-footer .policy a:hover{ text-decoration: underline; }

/* 반응형 */
@media (max-width: 900px){
  .site-footer .footer-topnav{ justify-content: flex-start; flex-wrap: wrap; }
  .site-footer .footer-main{ flex-direction: column; }
  .site-footer .footer-left{ min-width: 0; }
  .site-footer .footer-right{ width: 100%; margin-top: 22px; }
}


/* logo layout update: text logo starts from the far-left brand position */
.brand{gap:0;min-width:auto;}
.brand-logo{display:none !important;}
.brand-textlogo{display:block;height:40px;width:auto;object-fit:contain;}
.site-footer .f-brand{gap:0;}
.site-footer .f-logo,
.site-footer .f-name{display:none !important;}
.site-footer .f-textlogo{display:block;height:36px;width:auto;object-fit:contain;}

/* hero text alignment update: start at the same left edge as the header logo */
.hero .hero-content{
  max-width: none;
  width: min(var(--container), calc(100% - 40px));
  margin: 0 auto;
  align-items: flex-start;
}
.hero .hero-texts{
  width: min(760px, 100%);
}
.hero .hero-text{
  right: auto;
  width: min(760px, 100%);
}


/* =========================
   Home hero/header polish
========================= */
.home-page{
  background:#fff;
}

.home-page .header{
  background: rgba(0,0,0,.92);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.home-page .brand-textlogo{
  height: 24px;
  width: auto;
  object-fit: contain;
  filter: drop-shadow(0 0 10px rgba(255,255,255,.06));
}

.home-page .nav a{
  color: rgba(255,255,255,.94);
  font-weight: 340;
  letter-spacing: -0.01em;
  text-shadow: 0 1px 10px rgba(0,0,0,.18);
  transition: transform .22s ease, opacity .22s ease, letter-spacing .22s ease, color .22s ease, text-shadow .22s ease, font-weight .22s ease;
}

.home-page .nav a:not(.nav-cta):hover{
  color: #ffffff;
  transform: translateY(-1px) scale(1.08);
  letter-spacing: .015em;
  text-shadow: 0 0 16px rgba(255,255,255,.35);
}

.home-page .nav a:not(.nav-cta)::after{
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.95), rgba(255,255,255,0));
  height: 2px;
}

.home-page .nav-cta{
  color: #f0f0f0 !important;
  font-weight: 430;
  background: rgba(154,154,154,.18);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  padding: 9px 16px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.home-page .nav-cta:hover{
  color: #ffffff !important;
  background: rgba(185,185,185,.28);
  border-color: rgba(255,255,255,.28);
  transform: translateY(-1px) scale(1.05);
  text-shadow: 0 0 14px rgba(255,255,255,.18);
}

.home-page .nav-toggle span{
  background: rgba(255,255,255,.92);
}

.home-page .mobile-drawer{
  background: rgba(17,17,17,.96);
  border: 1px solid rgba(255,255,255,.10);
}

.home-page .mobile-drawer a{
  color: rgba(255,255,255,.92);
}

.home-page .mobile-drawer a:hover{
  background: rgba(255,255,255,.08);
}

.home-page .mobile-drawer .nav-cta{
  color: #ececec !important;
  background: rgba(255,255,255,.10);
}

.home-page .hero{
  height: 72vh;
  min-height: 500px;
}

.home-page .hero-signature{
  background: #000;
  color: #fff;
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
  padding: 16px 0 18px;
}

.home-page .hero-signature-inner{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.home-page .hero-signature-title{
  margin: 0;
  font-size: clamp(22px, 2.7vw, 40px);
  font-weight: 300;
  line-height: 1.08;
  letter-spacing: .34em;
  text-indent: .34em;
}

.home-page .hero-signature-sub{
  margin: 8px 0 0;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .22em;
  color: rgba(255,255,255,.72);
}

@media (max-width: 980px){
  .home-page .header{
    background: rgba(0,0,0,.94);
  }

  .home-page .hero-signature{
    padding: 14px 0 16px;
  }

  .home-page .hero-signature-title{
    letter-spacing: .24em;
    text-indent: .24em;
    font-size: clamp(18px, 5.4vw, 28px);
  }

  .home-page .hero-signature-sub{
    margin-top: 6px;
    font-size: 10px;
  }
}



@media (min-width: 981px){
  .home-page .nav-bilingual,
  .has-overlay-header .nav-bilingual{
    gap: clamp(10px, 0.68vw, 16px);
  }
  .home-page .nav-bilingual .nav-en,
  .has-overlay-header .nav-bilingual .nav-en{
    font-size: 9px;
    letter-spacing: 0.1em;
  }
  .home-page .nav-bilingual .nav-ko,
  .has-overlay-header .nav-bilingual .nav-ko{
    font-size: 13px;
  }
}
.signal-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:28px;
}
.signal-summary-card,
.signal-map-card,
.signal-visit-card,
.signal-value-card{
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  border-radius:24px;
  box-shadow:0 16px 40px rgba(17,17,17,.06);
}
.signal-summary-card{padding:28px 24px;}
.signal-summary-label{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(17,17,17,.05);
  color:#666;
  font-size:11px;
  letter-spacing:.14em;
  font-weight:700;
  margin-bottom:14px;
}
.signal-summary-card h3,
.signal-map-body h3,
.signal-visit-card h3{font-size:22px; margin:0 0 12px;}
.signal-summary-card p,
.signal-map-body p,
.signal-visit-card p{margin:0; color:#555; line-height:1.8;}
.signal-philosophy-grid{align-items:stretch;}
.signal-value-stack{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.signal-value-card{padding:26px 22px; display:flex; flex-direction:column; gap:10px; justify-content:center;}
.signal-value-card strong{font-size:24px; color:#111;}
.signal-value-card span{color:#666; line-height:1.7;}
.signal-location .section-head{margin-bottom:28px;}
.signal-map-wrap{display:grid; gap:22px;}
.signal-map-card{
  display:grid;
  grid-template-columns:1.2fr .9fr;
  overflow:hidden;
}
.signal-map-visual{
  position:relative;
  min-height:320px;
  background:linear-gradient(135deg,#efefef 0%, #fafafa 100%);
}
.signal-map-grid{
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(17,17,17,.05) 1px, transparent 1px),linear-gradient(90deg, rgba(17,17,17,.05) 1px, transparent 1px);
  background-size:48px 48px;
}
.signal-map-pin{
  position:absolute; left:58%; top:42%; width:22px; height:22px; border-radius:50% 50% 50% 0;
  background:#111; transform:rotate(-45deg);
  box-shadow:0 14px 28px rgba(17,17,17,.2);
}
.signal-map-pin::after{
  content:""; position:absolute; inset:5px; border-radius:50%; background:#fff;
}
.signal-map-route{position:absolute; border:3px solid transparent; border-top-color:#111; border-right-color:#111; opacity:.45;}
.signal-map-route.route-a{left:18%; top:28%; width:30%; height:20%; border-radius:0 26px 0 0;}
.signal-map-route.route-b{left:52%; top:44%; width:18%; height:24%; border-radius:0 0 26px 0;}
.signal-map-body{padding:34px 30px; display:flex; flex-direction:column; justify-content:center;}
.signal-visit-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;}
.signal-visit-card{padding:24px 22px;}
@media (max-width: 1180px){
  .signal-summary-grid,
  .signal-visit-grid{grid-template-columns:1fr;}
  .signal-map-card,
  .signal-philosophy-grid{grid-template-columns:1fr;}
  .signal-value-stack{grid-template-columns:1fr 1fr;}
}
@media (max-width: 780px){
  .signal-value-stack{grid-template-columns:1fr;}
  .signal-map-visual{min-height:240px;}
  .signal-summary-card,
  .signal-map-body,
  .signal-visit-card,
  .signal-value-card{padding:22px 18px;}
}


/* ===== Menu restructure 2026 ===== */
.menu-overview{padding-top:32px;}
.menu-board-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
/* 반응형: 데스크톱 4열 → 큰폰 2열 → 작은폰 1열 */
@media (max-width:900px){ .menu-board-grid{grid-template-columns:repeat(2,1fr);gap:14px;} }
@media (max-width:480px){ .menu-board-grid{grid-template-columns:1fr;} }
.menu-board-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:22px;padding:24px;box-shadow:0 12px 28px rgba(15,23,42,.06);}
.menu-board-label{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:#f3f6fb;color:#18407f;font-size:12px;font-weight:700;margin-bottom:12px;}
.menu-board-card h3{margin:0 0 10px;font-size:20px;}
.menu-board-card p{margin:0;color:#475569;line-height:1.7;min-height:72px;}
.menu-board-card .link-more{display:inline-block;margin-top:16px;}
.page-subnav-wrap{position:relative;z-index:2;margin-top:-30px;}
.page-subnav{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:20px;border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(15,23,42,.08);backdrop-filter:blur(12px);}
.page-subnav a{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;background:#f8fafc;color:#0f172a;font-weight:600;border:1px solid rgba(15,23,42,.08);}
.page-subnav a:hover{background:#18407f;color:#fff;border-color:#18407f;}
.faq-grid .card h3{font-size:18px;}
@media (max-width: 900px){
  .page-subnav-wrap{margin-top:0;padding:18px 0 0;}
  .page-subnav{justify-content:flex-start;padding:14px;}
}


/* ===== Header dropdown navigation ===== */
.nav-dropdowns{display:flex;align-items:center;gap:8px;}
.nav-group{position:relative;display:flex;flex-direction:column;align-items:center;}
.nav-group::after{content:"";position:absolute;left:0;right:0;top:100%;height:18px;}
.nav-group > .nav-item{position:relative;z-index:3;}
.nav-dropdown{
  position:absolute;
  top:calc(100% + 12px);
  left:50%;
  transform:translateX(-50%) translateY(10px);
  min-width:248px;
  padding:14px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease, transform .24s ease, visibility .24s ease;
  display:grid;
  gap:6px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(15,23,42,.08);
  border-radius:22px;
  box-shadow:0 22px 55px rgba(15,23,42,.14);
  backdrop-filter:blur(12px);
}
.nav-dropdown::before{
  content:"";
  position:absolute;
  top:-8px;
  left:50%;
  width:14px;
  height:14px;
  background:rgba(255,255,255,.98);
  border-left:1px solid rgba(15,23,42,.08);
  border-top:1px solid rgba(15,23,42,.08);
  transform:translateX(-50%) rotate(45deg);
}
.nav-dropdown a{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:11px 14px;
  border-radius:14px;
  color:#1e293b !important;
  font-size:14px;
  font-weight:600;
  white-space:nowrap;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  text-align:left;
  transition:background .18s ease, color .18s ease, transform .18s ease;
}
.nav-dropdown a:hover{
  color:#0f172a !important;
  text-decoration:none;
  background:#f8fafc !important;
  transform:translateX(2px);
}
.nav-group:hover .nav-dropdown,
.nav-group:focus-within .nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.has-overlay-header .header,.home-page .header{overflow:visible;}

.mobile-nav-section{border-bottom:1px solid rgba(15,23,42,.08);padding:4px 0;}
.mobile-nav-section:last-child{border-bottom:0;}
.mobile-nav-trigger{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:0;background:transparent;padding:14px 8px;font-size:15px;font-weight:700;color:#0f172a;cursor:pointer;
}
.mobile-nav-trigger::after{content:"+";font-size:18px;line-height:1;color:#64748b;transition:transform .2s ease;}
.mobile-nav-section.is-open .mobile-nav-trigger::after{content:"−";transform:translateY(-1px);}
.mobile-nav-panel{display:none;padding:0 0 10px;}
.mobile-nav-section.is-open .mobile-nav-panel{display:block;}
.mobile-nav-panel a{
  display:block;padding:10px 12px 10px 18px;border-radius:12px;font-size:14px;font-weight:600;color:#475569;
}
.mobile-nav-panel a:hover{background:#f8fafc;color:#0f172a;}
.mobile-nav-panel a.mobile-nav-overview{color:#18407f;font-weight:700;}

@media (max-width: 1280px){
  .nav-dropdowns{gap:2px;}
  .nav-dropdown{min-width:228px;}
}
@media (max-width: 1100px){
  .nav-dropdown{min-width:210px;padding:12px;}
  .nav-dropdown a{padding:10px 12px;font-size:13px;}
}
@media (max-width: 900px){
  .nav-dropdown{display:none;}
}




/* ===== Unified mega dropdown ===== */
.nav-dropdown{display:none !important;}
.header-inner{position:relative;}
.nav-mega-panel{
  position:absolute;
  left:50%;
  top:calc(100% + 10px);
  transform:translateX(-50%) translateY(8px);
  width:min(1160px, calc(100vw - 48px));
  padding:26px 28px;
  border-radius:28px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 28px 70px rgba(15,23,42,.16);
  backdrop-filter:blur(14px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease, transform .24s ease, visibility .24s ease;
  z-index:30;
}
.nav-mega-panel.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.nav-mega-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:16px;
}
.nav-mega-column{
  min-width:0;
  padding:6px;
  border-radius:18px;
  transition:background .18s ease, box-shadow .18s ease;
}
.nav-mega-column.is-active{
  background:#f8fafc;
  box-shadow:inset 0 0 0 1px rgba(24,64,127,.06);
}
.nav-mega-heading{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:12px;
  padding:6px 8px 10px;
  border-bottom:1px solid rgba(15,23,42,.08);
}
.nav-mega-heading strong{font-size:14px;color:#0f172a;letter-spacing:.02em;}
.nav-mega-heading span{font-size:13px;color:#64748b;font-weight:600;}
.nav-mega-heading:hover strong,
.nav-mega-heading:hover span{color:#18407f;}
.nav-mega-links{display:grid;gap:4px;}
.nav-mega-links a{
  display:block;
  padding:10px 10px;
  border-radius:12px;
  color:#334155;
  font-size:14px;
  font-weight:600;
  transition:background .18s ease, color .18s ease, transform .18s ease;
}
.nav-mega-links a:hover{background:#fff;color:#0f172a;transform:translateX(2px);}
@media (max-width: 1100px){
  .nav-mega-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width: 900px){
  .nav-mega-panel{display:none !important;}
}


/* ===== Mega dropdown black full-width override ===== */
.nav-mega-panel{
  position:absolute;
  left:50%;
  top:100%;
  transform:translateX(-50%) translateY(-6px);
  width:100vw;
  max-width:100vw;
  padding:24px 0 26px;
  border-radius:0;
  background:rgba(8,8,9,.98);
  border:0;
  border-top:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 44px rgba(0,0,0,.34);
  backdrop-filter:blur(14px);
}
.nav-mega-panel.is-open{
  transform:translateX(-50%) translateY(0);
}
.nav-mega-grid{
  width:min(1240px, calc(100vw - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(6, minmax(0,1fr));
  gap:24px;
}
.nav-mega-column{
  padding:0 6px;
  border-radius:0;
  background:transparent !important;
  box-shadow:none !important;
}
.nav-mega-column.is-active{
  background:transparent !important;
  box-shadow:none !important;
}
.nav-mega-heading{display:none !important;}
.nav-mega-links{
  display:grid;
  gap:8px;
  padding-top:4px;
}
.nav-mega-links a{
  display:block;
  padding:6px 0;
  border-radius:0;
  color:rgba(255,255,255,.84);
  font-size:14px;
  font-weight:500;
  line-height:1.7;
  background:transparent !important;
  border:0 !important;
  text-align:left;
  transition:color .18s ease, opacity .18s ease;
}
.nav-mega-links a:hover{
  color:#fff;
  transform:none;
  background:transparent !important;
}
@media (max-width: 1100px){
  .nav-mega-grid{grid-template-columns:repeat(3, minmax(0,1fr));row-gap:18px;}
}
@media (max-width: 900px){
  .nav-mega-panel{display:none !important;}
}


/* ===== Mega menu alignment refinement ===== */
.nav-mega-grid{
  margin-left:0;
  align-items:start;
  justify-content:start;
}
.nav-mega-column{
  min-width:0;
}
.nav-mega-links{
  align-content:start;
}
.nav-mega-links a{
  word-break:keep-all;
}


/* ===== Mega menu center alignment fix ===== */
.nav-mega-grid{
  position:relative;
  width:100%;
  min-height:220px;
}
.nav-mega-column{
  position:absolute;
  top:0;
  transform:translateX(-50%);
  width:max-content;
  max-width:220px;
}
.nav-mega-links{
  display:grid;
  gap:8px;
}
.nav-mega-links a{
  display:block;
  white-space:normal;
}


/* ===== Mega menu centered links single-line ===== */
.nav-mega-column{
  text-align:center;
}
.nav-mega-links{
  justify-items:center;
}
.nav-mega-links a{
  text-align:center;
  font-size:12px;
  letter-spacing:-0.02em;
  line-height:1.45;
  white-space:nowrap !important;
  word-break:keep-all;
}


/* ===== Mega menu compact spacing ===== */
.nav-mega-panel{
  padding:10px 0 14px !important;
}
.nav-mega-grid{
  min-height:140px !important;
}
.nav-mega-column{
  top:0 !important;
}
.nav-mega-links{
  gap:4px !important;
  padding-top:0 !important;
}
.nav-mega-links a{
  padding:2px 0 !important;
  line-height:1.28 !important;
}


/* ===== Main menu gold hover unified ===== */
:root{
  --menu-gold:#c7a45a;
}
.nav-bilingual .nav-item,
.nav-bilingual .nav-cta{
  transition:transform .18s ease, color .18s ease, text-shadow .18s ease;
}
.nav-bilingual .nav-item .nav-en,
.nav-bilingual .nav-item .nav-ko,
.nav-bilingual .nav-cta .nav-en,
.nav-bilingual .nav-cta .nav-ko{
  transition:color .18s ease, text-shadow .18s ease;
}
.nav-bilingual .nav-group:hover > .nav-item,
.nav-bilingual .nav-group:focus-within > .nav-item{
  transform:translateY(-2px);
}
.nav-bilingual .nav-group:hover > .nav-item .nav-en,
.nav-bilingual .nav-group:hover > .nav-item .nav-ko,
.nav-bilingual .nav-group:focus-within > .nav-item .nav-en,
.nav-bilingual .nav-group:focus-within > .nav-item .nav-ko,
.nav-bilingual .nav-group:hover > .nav-cta .nav-en,
.nav-bilingual .nav-group:hover > .nav-cta .nav-ko,
.nav-bilingual .nav-group:focus-within > .nav-cta .nav-en,
.nav-bilingual .nav-group:focus-within > .nav-cta .nav-ko{
  color:var(--menu-gold) !important;
  text-shadow:0 0 12px rgba(199,164,90,.12);
}
.nav-bilingual .nav-group:hover > .nav-item::after,
.nav-bilingual .nav-group:focus-within > .nav-item::after,
.nav-bilingual .nav-group:hover > .nav-cta::after,
.nav-bilingual .nav-group:focus-within > .nav-cta::after{
  transform:scaleX(1);
  background:linear-gradient(90deg, rgba(0,0,0,0), var(--menu-gold), rgba(0,0,0,0));
}


/* ===== Mega menu gold underline hover ===== */
.nav-mega-links a{
  position:relative;
}
.nav-mega-links a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:0;
  height:1.5px;
  background:var(--menu-gold, #c7a45a);
  transform:translateX(-50%);
  transition:width .18s ease;
}
.nav-mega-links a:hover::after,
.nav-mega-links a:focus-visible::after{
  width:100%;
}

/* =====================================
   2026 SIGNAL EDUCATION redesign override
===================================== */
:root{
  --se-bg:#f7f4ee;
  --se-surface:#ffffff;
  --se-surface-soft:#f3efe8;
  --se-text:#171717;
  --se-muted:#6b665f;
  --se-line:#ddd5ca;
  --se-point:#8f6b3d;
  --se-point-soft:#efe6d9;
  --se-shadow:0 18px 50px rgba(33, 24, 13, 0.08);
  --header-h:84px;
}
html{scroll-behavior:smooth;}
body{
  background:var(--se-bg);
  color:var(--se-text);
}
.home-page .header,
.has-overlay-header .header,
.header{
  background:rgba(247,244,238,.94) !important;
  border-bottom:1px solid var(--se-line) !important;
  backdrop-filter:blur(16px);
  overflow:visible !important;
}
.brand{min-width:auto;}
.brand-textlogo{height:36px;}
.nav{
  gap:clamp(10px,0.8vw,18px);
  max-width:none;
}
.home-page .nav-bilingual .nav-item,
.nav-bilingual .nav-item{
  min-width:auto;
  padding:10px 8px 12px !important;
  color:var(--se-text) !important;
  align-items:center;
  gap:3px;
}
.nav-en{
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  color:rgba(23,23,23,.55);
}
.nav-ko{
  font-size:15px;
  font-weight:700;
  letter-spacing:-0.02em;
  color:var(--se-text);
}
.nav-group{position:relative;}
.nav-group::after{height:22px;}
.nav-group > .nav-item::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:0;
  height:2px;
  border-radius:999px;
  background:transparent;
  transition:background .2s ease;
}
.nav-group:hover > .nav-item::after,
.nav-group:focus-within > .nav-item::after{background:var(--se-point);}
.nav-dropdown{
  min-width:240px;
  top:calc(100% + 14px);
  padding:16px;
  border:1px solid var(--se-line);
  border-radius:20px;
  background:rgba(255,255,255,.98);
  box-shadow:var(--se-shadow);
}
.nav-dropdown::before{
  background:rgba(255,255,255,.98);
  border-left:1px solid var(--se-line);
  border-top:1px solid var(--se-line);
}
.nav-dropdown a{
  padding:11px 14px;
  border-radius:12px;
  color:var(--se-text) !important;
  font-size:14px;
  font-weight:600;
}
.nav-dropdown a:hover{background:var(--se-surface-soft) !important;color:var(--se-point) !important;transform:none;}
.nav-toggle{
  border:1px solid var(--se-line);
  background:rgba(255,255,255,.85);
  border-radius:999px;
}
.mobile-drawer{
  background:rgba(255,255,255,.98) !important;
  border:1px solid var(--se-line);
  box-shadow:var(--se-shadow);
}
.mobile-drawer a{color:var(--se-text) !important;}

/* Home showcase */
.home-showcase{
  padding:132px 0 48px;
  background:var(--se-bg);
}
.showcase-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:28px;
}
.showcase-eyebrow{
  margin:0 0 12px;
  color:var(--se-point);
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
}
.showcase-title{
  margin:0;
  font-size:clamp(2.1rem,4vw,3.7rem);
  line-height:1.12;
  letter-spacing:-0.04em;
  color:var(--se-text);
}
.showcase-copy{
  margin:18px 0 0;
  max-width:760px;
  color:var(--se-muted);
  font-size:17px;
  line-height:1.75;
}
.showcase-actions{display:flex;gap:12px;flex-wrap:wrap;}
.showcase-shell{
  position:relative;
  display:flex;
  align-items:center;
  gap:20px;
}
.showcase-slider{
  position:relative;
  flex:1;
  min-height:560px;
}
.showcase-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .5s ease, transform .5s ease, visibility .5s ease;
  display:grid;
  grid-template-columns:1.3fr .8fr;
  gap:0;
  border:1px solid var(--se-line);
  border-radius:34px;
  overflow:hidden;
  background:var(--se-surface);
  box-shadow:var(--se-shadow);
}
.showcase-slide.is-active{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.showcase-media{min-height:560px;background:#ddd;}
.showcase-media img{width:100%;height:100%;object-fit:cover;display:block;}
.showcase-panel{
  padding:42px 38px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:linear-gradient(180deg,#fff 0%, #f5efe6 100%);
}
.showcase-tag{
  align-self:flex-start;
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:var(--se-point-soft);
  color:var(--se-point);
  font-size:13px;
  font-weight:800;
  margin-bottom:18px;
}
.showcase-panel h2{
  margin:0;
  font-size:clamp(1.8rem,2.2vw,2.6rem);
  line-height:1.2;
  letter-spacing:-0.03em;
}
.showcase-panel p{
  margin:18px 0 0;
  color:var(--se-muted);
  font-size:16px;
  line-height:1.8;
}
.showcase-link{
  margin-top:26px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  color:var(--se-point);
}
.showcase-link::after{content:"→";}
.showcase-nav{
  width:52px;
  height:52px;
  border-radius:999px;
  border:1px solid var(--se-line);
  background:rgba(255,255,255,.92);
  color:var(--se-text);
  font-size:30px;
  line-height:1;
  box-shadow:0 10px 24px rgba(33,24,13,.08);
}
.showcase-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:22px;
}
.showcase-index{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:28px;
  font-weight:700;
  letter-spacing:-0.03em;
}
.showcase-index .divider{
  width:72px;
  height:1px;
  background:var(--se-line);
}
.showcase-dots{display:flex;gap:10px;}
.showcase-dot{
  width:10px;height:10px;border-radius:999px;border:none;
  background:#d5cec3;cursor:pointer;
}
.showcase-dot.is-active{background:var(--se-point);}

/* Buttons */
.btn{
  border-radius:999px;
  padding:14px 22px;
  font-weight:700;
  letter-spacing:-0.02em;
}
.btn-primary{
  background:var(--se-point);
  color:#fff !important;
  border:1px solid var(--se-point);
}
.btn-ghost{
  background:transparent;
  color:var(--se-text) !important;
  border:1px solid var(--se-line);
}
.btn-ghost:hover{background:var(--se-surface);}

/* Page hero and sections */
.page-hero{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  padding:132px 0 42px !important;
  background:var(--se-bg) !important;
}
.page-hero-inner,
.page-hero .container{
  align-self:auto !important;
  padding-bottom:0 !important;
}
.page-hero-title{
  color:var(--se-text) !important;
  font-size:clamp(2.2rem,4vw,3.4rem) !important;
  letter-spacing:-0.04em;
}
.page-hero-title .hero-line2{color:var(--se-muted);font-weight:500;}
.page-hero-copy,
.page-hero p,
.lead,
.prose p{color:var(--se-muted) !important;line-height:1.8;}
.section,
.section.alt{background:transparent !important;border-top:none !important;padding:52px 0 !important;}
.section-title{font-size:32px;color:var(--se-text);letter-spacing:-0.04em;}
.section-sub{color:var(--se-muted);}
.card,
.news-item,
.contact-card,
.why-card,
.timeline-item,
.metric,
.kpi-card,
.feature-card,
.info-card,
.review-card,
.case-card{
  background:rgba(255,255,255,.86) !important;
  border:1px solid var(--se-line) !important;
  box-shadow:var(--se-shadow) !important;
  border-radius:24px !important;
}
.news-item{padding:18px 20px !important;}
.news-title{color:var(--se-text) !important;}
.news-date{color:var(--se-muted) !important;}
.site-footer{background:#f1ece3;border-top:1px solid var(--se-line);}
.site-footer .f-inner{color:var(--se-muted);}
.site-footer .f-name{color:var(--se-text);}

@media (max-width: 1180px){
  .nav{display:none;}
  .showcase-head{flex-direction:column;align-items:flex-start;}
  .showcase-shell{gap:12px;}
  .showcase-slide{grid-template-columns:1fr;}
  .showcase-media{min-height:340px;}
  .showcase-slider{min-height:780px;}
}
@media (max-width: 768px){
  .home-showcase{padding:112px 0 30px;}
  .showcase-title{font-size:2rem;}
  .showcase-copy{font-size:15px;}
  .showcase-slider{min-height:700px;}
  .showcase-panel{padding:28px 22px;}
  .showcase-index{font-size:22px;}
  .showcase-nav{display:none;}
  .showcase-footer{flex-direction:column;align-items:flex-start;}
  .section-title{font-size:28px;}
}

/* =====================================
   ARTE-like homepage override v2
===================================== */
.home-page{
  background:#f4f1ea;
}
.home-page .header{
  background:rgba(244,241,234,.96) !important;
  border-bottom:1px solid rgba(0,0,0,.08) !important;
}
.home-page .brand-textlogo{height:30px;}
.home-page .nav{
  justify-content:center;
  gap:16px;
}
.home-page .nav-en{display:none !important;}
.home-page .nav-bilingual .nav-item,
.home-page .nav-item{
  min-width:auto !important;
  padding:8px 8px 16px !important;
}
.home-page .nav-ko{
  font-size:15px;
  font-weight:700;
  color:#1a1a1a;
}
.home-page .nav-group:hover > .nav-item::after,
.home-page .nav-group:focus-within > .nav-item::after{background:linear-gradient(90deg, rgba(169,132,71,0) 0%, rgba(185,144,82,.16) 10%, rgba(191,149,86,.72) 28%, #c9a56c 50%, rgba(191,149,86,.72) 72%, rgba(185,144,82,.16) 90%, rgba(169,132,71,0) 100%);}
.home-page .nav-dropdown{
  border-radius:18px;
  min-width:220px;
  box-shadow:0 18px 40px rgba(0,0,0,.09);
}
/* ===== ARTE-style home hero (가로 회전형 coverflow 캐러셀) ===== */
.arte-home{
  position:relative;
  padding:64px 0 64px;
  overflow:hidden;
  /* 따뜻한 그라데이션 배경 (아르떼 무드) */
  background:
    radial-gradient(140% 120% at 82% 8%, rgba(210,180,111,.34) 0%, rgba(210,180,111,0) 55%),
    linear-gradient(180deg, #f6f2e9 0%, #efe8da 46%, #e7ddca 100%);
}
.arte-home::before{ content:none; }
.arte-home-inner{position:relative;z-index:2;}

.arte-eyebrow{
  margin:0 0 26px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.28em;
  color:#8b6b34;
}

/* 캐러셀 무대 */
.arte-carousel{
  position:relative;
  height:520px;
  margin:0 auto;
}

/* 카드 (한 장씩, 절대배치로 겹쳐 회전) */
.arte-card{
  position:absolute;
  top:0;
  left:50%;
  width:60%;
  height:100%;
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 26px 60px rgba(90,68,28,.18);
  color:#fff;
  opacity:0;
  transform:translateX(-50%) scale(1);
  transition:transform .6s cubic-bezier(.4,.05,.2,1), opacity .6s ease, filter .6s ease;
}
.arte-card-visual{
  position:absolute;inset:0;
  display:grid;place-items:center;
  background:
    radial-gradient(120% 120% at 28% 22%, rgba(255,255,255,.5), rgba(255,255,255,0) 55%),
    linear-gradient(150deg, var(--tint-a) 0%, var(--tint-b) 100%);
}
.arte-card-visual::after{
  content:"";
  position:absolute;inset:0;
  background:repeating-linear-gradient(135deg, rgba(255,255,255,.06) 0 14px, rgba(255,255,255,0) 14px 28px);
  mix-blend-mode:overlay;
}
.arte-card-ico{
  font-size:120px;
  color:rgba(255,255,255,.78);
  text-shadow:0 6px 20px rgba(90,68,28,.3);
}
.arte-card-copy{
  position:absolute;
  left:0;right:0;bottom:0;
  z-index:2;
  padding:38px 40px 34px;
  background:linear-gradient(180deg, rgba(40,28,12,0) 0%, rgba(40,28,12,.28) 45%, rgba(40,28,12,.6) 100%);
}
.arte-card-tag{
  margin:0 0 12px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  color:#f2e6cf;
}
.arte-card-copy h2{
  margin:0 0 14px;
  font-size:clamp(1.7rem,2.4vw,2.35rem);
  line-height:1.24;
  letter-spacing:-0.03em;
  color:#fff;
}
.arte-card-more{
  display:inline-block;
  font-size:14px;
  font-weight:800;
  color:#fff;
  opacity:.92;
  transition:transform .25s ease;
}
.arte-card:hover .arte-card-more{transform:translateX(4px);}

/* 회전 상태 (coverflow) */
.arte-card.is-current{
  opacity:1;
  transform:translateX(-50%) scale(1);
  z-index:3;
}
.arte-card.is-prev{
  opacity:1;
  transform:translateX(-108%) scale(.86);
  z-index:2;
  filter:brightness(.9);
}
.arte-card.is-next{
  opacity:1;
  transform:translateX(8%) scale(.86);
  z-index:2;
  filter:brightness(.9);
}
.arte-card.is-prev2{
  opacity:.5;
  transform:translateX(-150%) scale(.74);
  z-index:1;
  filter:brightness(.86);
}
.arte-card.is-next2{
  opacity:.5;
  transform:translateX(50%) scale(.74);
  z-index:1;
  filter:brightness(.86);
}

/* 하단 카운터 + 좌우 버튼 */
.arte-home-foot{
  display:flex;
  justify-content:center;
  margin-top:30px;
}
.arte-meta{
  display:flex;
  align-items:center;
  gap:20px;
}
.arte-counter{
  font-size:22px;
  font-weight:800;
  letter-spacing:.02em;
  color:#3f3626;
}
.arte-counter #arteCurrent{color:#8b6b34;}
.arte-counter .slash{margin:0 8px;color:rgba(63,54,38,.35);}
.arte-counter #arteTotal{color:rgba(63,54,38,.5);}
.arte-buttons{display:flex;gap:10px;}
.arte-btn{
  width:46px;height:46px;
  border-radius:999px;
  border:1px solid rgba(120,95,45,.28);
  background:rgba(255,255,255,.7);
  color:#6b5427;
  font-size:22px;line-height:1;
  cursor:pointer;
  transition:background .25s ease, transform .2s ease, box-shadow .25s ease;
}
.arte-btn:hover{
  background:#fff;
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(120,95,45,.2);
}

@media (max-width:1100px){
  .arte-carousel{height:460px;}
  .arte-card{width:74%;}
  .arte-card.is-prev{transform:translateX(-96%) scale(.82);}
  .arte-card.is-next{transform:translateX(-4%) scale(.82);}
  .arte-card.is-prev2,.arte-card.is-next2{display:none;}
  .arte-card-ico{font-size:96px;}
}
@media (max-width:768px){
  .arte-home{padding:44px 0 52px;}
  .arte-eyebrow{margin-bottom:18px;}
  .arte-carousel{height:400px;}
  .arte-card{width:100%;left:0;transform:none !important;}
  .arte-card.is-current{left:0;transform:none !important;opacity:1;}
  .arte-card.is-prev,.arte-card.is-next,.arte-card.is-prev2,.arte-card.is-next2{opacity:0;pointer-events:none;}
  .arte-card-ico{font-size:80px;}
  .arte-card-copy{padding:28px 26px 26px;}
  .arte-card-copy h2{font-size:1.55rem;}
}

/* =====================================
   small tweak request - black header text, beige dropdown, remove top intro
===================================== */
.home-page .brand,
.home-page .brand *{color:#8b6b34 !important;filter:none !important;}
.home-page .nav-ko,
.home-page .nav-item,
.home-page .nav a{color:#8b6b34 !important;}
.home-page .nav-group:hover > .nav-item::after,
.home-page .nav-group:focus-within > .nav-item::after{background:linear-gradient(90deg, rgba(169,132,71,0) 0%, rgba(185,144,82,.16) 10%, rgba(191,149,86,.72) 28%, #c9a56c 50%, rgba(191,149,86,.72) 72%, rgba(185,144,82,.16) 90%, rgba(169,132,71,0) 100%) !important;}
.home-page .nav-dropdown{
  background:#f4f1ea !important;
  border:1px solid rgba(0,0,0,.10) !important;
}
.home-page .nav-dropdown::before{
  background:#f4f1ea !important;
  border-left:1px solid rgba(0,0,0,.10) !important;
  border-top:1px solid rgba(0,0,0,.10) !important;
}
.home-page .nav-dropdown a{
  color:#8b6b34 !important;
  background:transparent !important;
}
.home-page .nav-dropdown a:hover{
  background:rgba(0,0,0,.04) !important;
  color:#8b6b34 !important;
}
.arte-home{padding-top:64px !important;}
@media (max-width:768px){
  .arte-home{padding-top:40px !important;}
}


/* ===== Final unified header: home and subpages use the same layout ===== */
body.home-page,
body.has-overlay-header,
body{
  padding-top: var(--header-h) !important;
}
body.home-page,
body.has-overlay-header{
  --header-h: 86px;
}

.header,
.home-page .header,
.has-overlay-header .header{
  height: 86px !important;
  min-height: 86px !important;
  background: #f3efe6 !important;
  border-bottom: 1px solid #d6cfbf !important;
  backdrop-filter: none !important;
  overflow: visible !important;
}
.header::before,
.header::after,
.home-page .header::before,
.home-page .header::after,
.has-overlay-header .header::before,
.has-overlay-header .header::after,
.brand::before,
.brand::after,
.home-page .brand::before,
.home-page .brand::after,
.has-overlay-header .brand::before,
.has-overlay-header .brand::after{
  display: none !important;
}

.header-inner,
.home-page .header-inner,
.has-overlay-header .header-inner{
  height: 86px !important;
  min-height: 86px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  align-items: center !important;
}

@media (min-width: 981px){
  .header-inner,
  .home-page .header-inner,
  .has-overlay-header .header-inner{
    display: grid !important;
    grid-template-columns: 320px minmax(0, 1fr) 200px !important;
    gap: 0 !important;
  }

  .brand,
  .home-page .brand,
  .has-overlay-header .brand{
    min-width: 0 !important;
    width: 320px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    justify-self: start !important;
    align-self: center !important;
  }

  .brand-textlogo,
  .home-page .brand-textlogo,
  .has-overlay-header .brand-textlogo{
    height: 46px !important;
    width: auto !important;
    object-fit: contain !important;
    filter: none !important;
    opacity: 1 !important;
  }

  .nav,
  .nav-bilingual,
  .home-page .nav,
  .home-page .nav-bilingual,
  .has-overlay-header .nav,
  .has-overlay-header .nav-bilingual{
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 18px !important;
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-self: center !important;
  }

  .nav-group,
  .home-page .nav-group,
  .has-overlay-header .nav-group{
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .nav-group > .nav-item,
  .home-page .nav-group > .nav-item,
  .has-overlay-header .nav-group > .nav-item{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: auto !important;
    padding: 8px 4px !important;
    gap: 0 !important;
    text-align: center !important;
    color: #221d15 !important;
  }

  .nav-en,
  .home-page .nav-en,
  .has-overlay-header .nav-en{
    display: none !important;
  }

  .nav-ko,
  .home-page .nav-ko,
  .has-overlay-header .nav-ko{
    display: block !important;
    position: relative !important;
    top: 1px !important;
    font-family: 'Noto Serif KR', Georgia, 'Times New Roman', serif !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: -0.03em !important;
    color: #2a241b !important;
    white-space: nowrap !important;
    line-height: 1 !important;
  }

  .nav a:not(.nav-cta)::after,
  .nav-group > .nav-item::after,
  .home-page .nav a:not(.nav-cta)::after,
  .home-page .nav-group > .nav-item::after,
  .has-overlay-header .nav a:not(.nav-cta)::after,
  .has-overlay-header .nav-group > .nav-item::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -12px;
    height: 1px;
    transform: scaleX(0);
    transform-origin: center;
    background:linear-gradient(90deg, rgba(169,132,71,0) 0%, rgba(185,144,82,.16) 10%, rgba(191,149,86,.72) 28%, #c9a56c 50%, rgba(191,149,86,.72) 72%, rgba(185,144,82,.16) 90%, rgba(169,132,71,0) 100%);
    transition: transform .18s ease;
    opacity: 1;
    display: block !important;
  }

  .nav a:not(.nav-cta):hover::after,
  .nav-group:hover > .nav-item::after,
  .nav-group:focus-within > .nav-item::after,
  .home-page .nav a:not(.nav-cta):hover::after,
  .home-page .nav-group:hover > .nav-item::after,
  .home-page .nav-group:focus-within > .nav-item::after,
  .has-overlay-header .nav a:not(.nav-cta):hover::after,
  .has-overlay-header .nav-group:hover > .nav-item::after,
  .has-overlay-header .nav-group:focus-within > .nav-item::after{
    transform: scaleX(1);
  }

  .nav a:not(.nav-cta):hover .nav-ko,
  .nav-group:hover > .nav-item .nav-ko,
  .nav-group:focus-within > .nav-item .nav-ko,
  .home-page .nav a:not(.nav-cta):hover .nav-ko,
  .home-page .nav-group:hover > .nav-item .nav-ko,
  .home-page .nav-group:focus-within > .nav-item .nav-ko,
  .has-overlay-header .nav a:not(.nav-cta):hover .nav-ko,
  .has-overlay-header .nav-group:hover > .nav-item .nav-ko,
  .has-overlay-header .nav-group:focus-within > .nav-item .nav-ko{
    color: #8b6b34 !important;
  }

  .nav-cta,
  .home-page .nav-cta,
  .has-overlay-header .nav-cta{
    margin-left: 12px !important;
    padding: 7px 24px !important;
    min-height: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    border: 1px solid #ccbda5 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #211b12 !important;
    box-shadow: none !important;
  }
  .nav-cta::after,
  .home-page .nav-cta::after,
  .has-overlay-header .nav-cta::after{
    display: none !important;
  }

  .nav-toggle,
  .home-page .nav-toggle,
  .has-overlay-header .nav-toggle{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 4px !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    margin: 0 0 0 auto !important;
    border: 1px solid #b8ac97 !important;
    border-radius: 999px !important;
    background: transparent !important;
    justify-self: end !important;
    align-self: center !important;
  }

  .nav-toggle span,
  .home-page .nav-toggle span,
  .has-overlay-header .nav-toggle span{
    display: block !important;
    width: 16px !important;
    height: 1.6px !important;
    margin: 0 !important;
    background: #8c7b61 !important;
    border-radius: 999px !important;
  }
}

.mobile-drawer,
.home-page .mobile-drawer,
.has-overlay-header .mobile-drawer{
  background: rgba(250,247,240,.99) !important;
  border: 1px solid #ddd2c2 !important;
}
.mobile-drawer a,
.home-page .mobile-drawer a,
.has-overlay-header .mobile-drawer a{
  color: #2a241b !important;
  font-family: 'Noto Serif KR', Georgia, 'Times New Roman', serif !important;
  font-weight: 500 !important;
}

@media (max-width: 980px){
  body.home-page,
  body.has-overlay-header{
    --header-h: 74px;
  }
  .header,
  .home-page .header,
  .has-overlay-header .header,
  .header-inner,
  .home-page .header-inner,
  .has-overlay-header .header-inner{
    height: 74px !important;
    min-height: 74px !important;
  }
  .brand-textlogo,
  .home-page .brand-textlogo,
  .has-overlay-header .brand-textlogo{
    height: 36px !important;
  }
  .nav,
  .nav-bilingual,
  .home-page .nav,
  .home-page .nav-bilingual,
  .has-overlay-header .nav,
  .has-overlay-header .nav-bilingual{
    display: none !important;
  }
  .nav-toggle,
  .home-page .nav-toggle,
  .has-overlay-header .nav-toggle{
    width: 38px !important;
    height: 38px !important;
    gap: 3.5px !important;
    margin-left: auto !important;
  }
  .nav-toggle span,
  .home-page .nav-toggle span,
  .has-overlay-header .nav-toggle span{
    width: 15px !important;
  }
}


/* ===== Menu cleanup: disable top nav dropdowns, keep only all-menu drawer ===== */
.nav-dropdown,
.nav-mega-panel{display:none !important;}

.mobile-drawer{
  width:min(284px, calc(100% - 40px)) !important;
  border-radius:18px !important;
  padding:10px 10px 12px !important;
}
.mobile-nav-section{border-bottom:1px solid rgba(15,23,42,.08);padding:2px 0;}
.mobile-nav-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.mobile-nav-title{
  flex:1;
  display:block;
  padding:14px 8px;
  color:#0f172a !important;
  font-size:15px;
  font-weight:700;
  text-decoration:none;
}
.mobile-nav-title:hover{color:#0f172a !important;}
.mobile-nav-trigger{
  flex:0 0 28px;
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
}
.mobile-nav-trigger::after{content:"+";font-size:20px;line-height:1;color:#64748b;transition:transform .2s ease;}
.mobile-nav-section.is-open .mobile-nav-trigger::after{content:"−";transform:translateY(-1px);}
.mobile-nav-panel{display:none;padding:0 0 10px 0;}
.mobile-nav-section.is-open .mobile-nav-panel{display:block;}
.mobile-nav-panel a{display:block;padding:10px 12px 10px 16px;border-radius:10px;font-size:14px;font-weight:600;color:#475569;}
.mobile-nav-panel a:hover{background:#f8fafc;color:#0f172a;}


/* ===== Final underline unification: home menu matches subpages exactly ===== */
@media (min-width: 981px){
  .home-page .nav-group > .nav-item::after,
  .home-page .nav a:not(.nav-cta)::after{
    left: 0 !important;
    right: 0 !important;
    bottom: -14px !important;
    height: 2px !important;
    border-radius: 0 !important;
    background: linear-gradient(90deg, rgba(169,132,71,0) 0%, rgba(185,144,82,.16) 10%, rgba(191,149,86,.72) 28%, #c9a56c 50%, rgba(191,149,86,.72) 72%, rgba(185,144,82,.16) 90%, rgba(169,132,71,0) 100%) !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;
    transition: transform .18s ease !important;
  }
  .home-page .nav-group:hover > .nav-item::after,
  .home-page .nav-group:focus-within > .nav-item::after,
  .home-page .nav a:not(.nav-cta):hover::after{
    transform: scaleX(1) !important;
  }
}


/* ===== Final menu parity: home and subpages match exactly ===== */
@media (min-width: 981px){
  .home-page .nav,
  .home-page .nav-bilingual,
  .has-overlay-header .nav,
  .has-overlay-header .nav-bilingual{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:18px !important;
    margin:0 !important;
    padding:0 !important;
  }

  .home-page .nav-item,
  .home-page .nav a,
  .home-page .nav-ko,
  .home-page .nav-en,
  .home-page .nav a:visited,
  .home-page .nav-item:visited,
  .has-overlay-header .nav-item,
  .has-overlay-header .nav a,
  .has-overlay-header .nav-ko,
  .has-overlay-header .nav-en,
  .has-overlay-header .nav a:visited,
  .has-overlay-header .nav-item:visited{
    color:#2a241b !important;
    text-decoration:none !important;
  }

  .home-page .nav-en,
  .has-overlay-header .nav-en{
    display:none !important;
  }

  .home-page .nav-ko,
  .has-overlay-header .nav-ko{
    display:block !important;
    position:relative !important;
    top:1px !important;
    font-family:'Noto Serif KR', Georgia, 'Times New Roman', serif !important;
    font-size:15px !important;
    line-height:1 !important;
    font-weight:500 !important;
    letter-spacing:-0.03em !important;
    white-space:nowrap !important;
  }

  .home-page .nav-group > .nav-item::after,
  .home-page .nav a:not(.nav-cta)::after,
  .has-overlay-header .nav-group > .nav-item::after,
  .has-overlay-header .nav a:not(.nav-cta)::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:-12px !important;
    height:1px !important;
    border-radius:999px !important;
    background:linear-gradient(90deg, rgba(169,132,71,0) 0%, rgba(185,144,82,.16) 10%, rgba(191,149,86,.72) 28%, #c9a56c 50%, rgba(191,149,86,.72) 72%, rgba(185,144,82,.16) 90%, rgba(169,132,71,0) 100%) !important;
    transform:scaleX(0) !important;
    transform-origin:center !important;
    transition:transform .18s ease !important;
    opacity:1 !important;
    display:block !important;
  }

  .home-page .nav-group:hover > .nav-item::after,
  .home-page .nav-group:focus-within > .nav-item::after,
  .home-page .nav a:not(.nav-cta):hover::after,
  .has-overlay-header .nav-group:hover > .nav-item::after,
  .has-overlay-header .nav-group:focus-within > .nav-item::after,
  .has-overlay-header .nav a:not(.nav-cta):hover::after{
    transform:scaleX(1) !important;
  }

  .home-page .nav-group:hover > .nav-item .nav-ko,
  .home-page .nav-group:focus-within > .nav-item .nav-ko,
  .home-page .nav a:not(.nav-cta):hover .nav-ko,
  .home-page .nav-group:hover > .nav-item,
  .home-page .nav a:not(.nav-cta):hover,
  .has-overlay-header .nav-group:hover > .nav-item .nav-ko,
  .has-overlay-header .nav-group:focus-within > .nav-item .nav-ko,
  .has-overlay-header .nav a:not(.nav-cta):hover .nav-ko,
  .has-overlay-header .nav-group:hover > .nav-item,
  .has-overlay-header .nav a:not(.nav-cta):hover{
    color:#8b6b34 !important;
  }

  .home-page .nav-cta,
  .home-page .nav-cta:visited,
  .has-overlay-header .nav-cta,
  .has-overlay-header .nav-cta:visited{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin-left:12px !important;
    padding:7px 24px !important;
    border:1px solid #ccbda5 !important;
    border-radius:999px !important;
    background:transparent !important;
    color:#2a241b !important;
    box-shadow:none !important;
    line-height:1 !important;
    min-height:0 !important;
  }

  .home-page .nav-cta::after,
  .has-overlay-header .nav-cta::after{
    display:none !important;
  }

  .home-page .nav-cta:hover,
  .has-overlay-header .nav-cta:hover,
  .home-page .nav-cta:hover .nav-ko,
  .has-overlay-header .nav-cta:hover .nav-ko{
    color:#8b6b34 !important;
    border-color:#ccbda5 !important;
    background:transparent !important;
  }
}


.arte-home-foot-minimal{justify-content:center !important;gap:0 !important;}
.arte-home-foot-minimal .arte-meta-bottom{margin:0 auto !important;}
.arte-home-links{display:none !important;}
.arte-section-label,.arte-section-desc{display:none !important;}

/* ===== SIGNAL EDU page refinement ===== */
.edu-hero-desc{
  margin:16px auto 0;
  max-width:720px;
  color:rgba(255,255,255,.88);
  font-size:18px;
  line-height:1.7;
  word-break:keep-all;
}
.signal-method-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:30px;
}
.signal-method-card,
.signal-person-card,
.signal-method-banner,
.signal-people-intro{
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  border-radius:24px;
  box-shadow:0 16px 40px rgba(17,17,17,.06);
}
.signal-method-card{
  padding:28px 22px;
  min-height:230px;
}
.signal-method-no{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#111;
  color:#fff;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  margin-bottom:22px;
}
.signal-method-card h3{margin:0 0 12px;font-size:22px;}
.signal-method-card p{margin:0;color:#555;line-height:1.8;word-break:keep-all;}
.signal-method-banner{
  margin-top:22px;
  padding:34px 30px;
  background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);
}
.signal-method-banner h3{margin:0 0 12px;font-size:26px;line-height:1.4;word-break:keep-all;}
.signal-method-banner p:last-child{margin:0;color:#555;line-height:1.8;word-break:keep-all;}
.signal-people-intro{
  padding:28px 30px;
  margin-bottom:24px;
}
.signal-people-intro p{margin:0;color:#555;line-height:1.9;word-break:keep-all;}
.signal-people-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.signal-person-card{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:24px;
  padding:24px;
  align-items:start;
}
.signal-person-photo{
  width:160px;
  aspect-ratio:1/1;
  border-radius:24px;
  overflow:hidden;
  background:#f2f2f2;
}
.signal-person-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.signal-person-role{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(24,64,127,.08);
  color:#18407f;
  font-size:12px;
  font-weight:800;
  margin-bottom:10px;
}
.signal-person-body h3{margin:0 0 8px;font-size:24px;}
.signal-person-field{margin:0 0 14px;color:#444;font-weight:700;line-height:1.6;}
.signal-person-body ul{margin:0;padding-left:18px;color:#666;line-height:1.8;}
.signal-person-body li{margin:0 0 4px;}
@media (max-width:1180px){
  .signal-method-steps{grid-template-columns:repeat(2,minmax(0,1fr));}
  .signal-people-grid{grid-template-columns:1fr;}
}
@media (max-width:780px){
  .edu-hero-desc{font-size:15px;}
  .signal-method-steps{grid-template-columns:1fr;}
  .signal-method-card,.signal-method-banner,.signal-people-intro{padding:22px 18px;}
  .signal-method-card{min-height:auto;}
  .signal-method-banner h3{font-size:21px;}
  .signal-person-card{grid-template-columns:1fr;padding:20px;}
  .signal-person-photo{width:100%;max-width:220px;}
}

/* ===== Consulting program structure update ===== */
.nav-mega-links a.nav-sub-link,
.nav-dropdown a.nav-sub-link{
  font-size:11px !important;
  opacity:.72;
  font-weight:400 !important;
}
.nav-mega-links a.nav-sub-link::before,
.nav-dropdown a.nav-sub-link::before{
  content:"- ";
}
.consulting-menu-grid{
  align-items:stretch;
}
.consulting-program-card{
  height:100%;
}
.program-sublist{
  list-style:none;
  margin:22px 0 0;
  padding:16px 0 0;
  border-top:1px solid rgba(15,23,42,.08);
  display:grid;
  gap:10px;
}
.program-sublist li{
  position:relative;
  padding-left:18px;
  color:#334155;
  font-size:15px;
  font-weight:600;
  line-height:1.5;
  scroll-margin-top:110px;
}
.program-sublist li::before{
  content:"";
  position:absolute;
  left:0;
  top:.68em;
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--se-point, #18407f);
}
@media (max-width: 900px){
  .consulting-menu-grid{grid-template-columns:1fr !important;}
}
.nav-mega-grid{min-height:260px !important;}


/* ===== Consulting complete pages ===== */
.consult-hero .edu-hero-overlay{background:radial-gradient(62% 76% at 26% 34%, rgba(24,64,127,.40), rgba(0,0,0,.62)),linear-gradient(to bottom, rgba(0,0,0,.08), rgba(0,0,0,.62));}
.page-subnav a.active{background:#18407f;color:#fff;border-color:#18407f;}
.consult-kicker{margin:0 0 14px;color:#18407f;font-size:13px;font-weight:900;letter-spacing:.12em;}
.consult-lead-card,.consult-detail-lead{max-width:980px;padding:42px 46px;border-radius:30px;background:linear-gradient(135deg,#ffffff 0%,#f7f9fd 100%);border:1px solid rgba(15,23,42,.08);box-shadow:0 24px 60px rgba(15,23,42,.08);}
.consult-lead-card h2,.consult-detail-lead h2{margin:0 0 20px;font-size:clamp(28px,3vw,42px);line-height:1.35;letter-spacing:-1.2px;color:#111827;word-break:keep-all;}
.consult-lead-card p,.consult-detail-lead p{margin:0 0 12px;color:#4b5563;font-size:17px;line-height:1.9;word-break:keep-all;}
.consult-lead-card p:last-child,.consult-detail-lead p:last-child{margin-bottom:0;}
.consult-question-grid,.consult-program-grid,.consult-feature-grid,.consult-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.consult-question-card,.consult-program-tile,.consult-feature-item,.consult-detail-card,.consult-step-item{border:1px solid rgba(15,23,42,.08);background:#fff;border-radius:26px;box-shadow:0 18px 46px rgba(15,23,42,.07);}
.consult-question-card{padding:26px 24px;min-height:230px;}
.consult-question-card span,.consult-card-num{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:16px;background:rgba(24,64,127,.08);color:#18407f;font-weight:900;margin-bottom:18px;}
.consult-question-card h3,.consult-detail-card h3,.consult-step-item h3{margin:0 0 12px;font-size:21px;line-height:1.4;letter-spacing:-.5px;color:#111827;word-break:keep-all;}
.consult-question-card p,.consult-feature-item p,.consult-detail-card p,.consult-step-item p{margin:0;color:#5b6472;line-height:1.75;word-break:keep-all;}
.consult-program-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.consult-program-tile{display:block;padding:34px 32px;text-decoration:none;color:inherit;transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;}
.consult-program-tile:hover{transform:translateY(-6px);border-color:rgba(24,64,127,.28);box-shadow:0 28px 70px rgba(24,64,127,.14);}
.consult-program-tile small{display:block;color:#18407f;font-weight:900;letter-spacing:.08em;margin-bottom:14px;}
.consult-program-tile h3{margin:0 0 10px;font-size:30px;letter-spacing:-.8px;}
.consult-program-tile p{margin:0 0 24px;color:#5b6472;line-height:1.8;word-break:keep-all;}
.consult-program-tile span{font-weight:800;color:#111827;}
.consult-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.consult-feature-item{padding:24px 22px;}
.consult-feature-item b{display:block;margin-bottom:10px;font-size:19px;color:#111827;}
.consult-cta-box,.consult-message-box{padding:44px 46px;border-radius:32px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:28px;}
.consult-cta-box h2,.consult-message-box h2{margin:0 0 10px;font-size:30px;letter-spacing:-.8px;}
.consult-cta-box p,.consult-message-box p{margin:0;color:rgba(255,255,255,.74);line-height:1.8;word-break:keep-all;}
.consult-cta-box .btn,.consult-message-box .btn{flex:0 0 auto;background:#fff;color:#111827;}
.consult-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.consult-detail-card{padding:30px 28px;min-height:320px;}
.consult-detail-card em{display:block;margin-top:18px;padding-top:18px;border-top:1px solid rgba(15,23,42,.08);color:#18407f;font-style:normal;font-weight:700;line-height:1.7;word-break:keep-all;}
.consult-step-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.consult-step-item{position:relative;padding:30px 28px;overflow:hidden;}
.consult-step-item span{display:block;margin-bottom:18px;color:rgba(24,64,127,.18);font-size:52px;font-weight:900;line-height:1;}
@media (max-width:1100px){.consult-question-grid,.consult-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.consult-detail-grid{grid-template-columns:1fr;}}
@media (max-width:780px){.consult-lead-card,.consult-detail-lead{padding:28px 22px;border-radius:24px;}.consult-question-grid,.consult-program-grid,.consult-feature-grid,.consult-step-line{grid-template-columns:1fr;}.consult-question-card{min-height:auto;}.consult-program-tile,.consult-detail-card,.consult-step-item{padding:26px 22px;}.consult-cta-box,.consult-message-box{display:block;padding:30px 24px;}.consult-cta-box .btn,.consult-message-box .btn{margin-top:22px;}.consult-program-tile h3{font-size:25px;}}

/* ===== AI Connects complete page ===== */
.ai-hero .edu-hero-overlay{background:radial-gradient(60% 74% at 28% 32%, rgba(28,92,154,.42), rgba(0,0,0,.64)),linear-gradient(to bottom, rgba(0,0,0,.08), rgba(0,0,0,.68));}
.ai-intro-card{max-width:1040px;padding:44px 48px;border-radius:32px;background:linear-gradient(135deg,#ffffff 0%,#f6f9ff 100%);border:1px solid rgba(15,23,42,.08);box-shadow:0 24px 60px rgba(15,23,42,.08);}
.ai-intro-card h2{margin:0 0 20px;font-size:clamp(30px,3vw,44px);line-height:1.35;letter-spacing:-1.2px;color:#111827;word-break:keep-all;}
.ai-intro-card p{margin:0 0 12px;color:#4b5563;font-size:17px;line-height:1.9;word-break:keep-all;}
.ai-intro-card p:last-child{margin-bottom:0;}
.ai-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch;}
.ai-service-card{scroll-margin-top:120px;display:flex;flex-direction:column;min-height:560px;padding:34px 30px;border-radius:30px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 46px rgba(15,23,42,.07);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.ai-service-card:hover{transform:translateY(-6px);border-color:rgba(24,64,127,.28);box-shadow:0 28px 70px rgba(24,64,127,.14);}
.ai-card-label{display:inline-flex;align-items:center;margin-bottom:14px;padding:7px 11px;border-radius:999px;background:rgba(24,64,127,.08);color:#18407f;font-size:12px;font-weight:900;letter-spacing:.08em;}
.ai-service-card h3{margin:0 0 16px;font-size:28px;line-height:1.35;letter-spacing:-.8px;color:#111827;word-break:keep-all;}
.ai-card-lead{margin:0 0 24px;color:#374151;font-size:17px;font-weight:700;line-height:1.75;word-break:keep-all;}
.ai-feature-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.ai-feature-list li{position:relative;padding-left:22px;color:#5b6472;line-height:1.7;word-break:keep-all;}
.ai-feature-list li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;border-radius:999px;background:#18407f;}
.ai-card-note{margin-top:auto;padding-top:24px;color:#18407f;font-size:15px;font-weight:700;line-height:1.75;word-break:keep-all;border-top:1px solid rgba(15,23,42,.08);}
.ai-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.ai-value-item{padding:28px 24px;border-radius:26px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 46px rgba(15,23,42,.06);}
.ai-value-item b{display:block;margin-bottom:10px;font-size:22px;color:#111827;}
.ai-value-item p{margin:0;color:#5b6472;line-height:1.75;word-break:keep-all;}
.ai-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.ai-link-card{padding:30px 28px;border-radius:28px;background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 46px rgba(15,23,42,.06);}
.ai-link-card span{display:block;margin-bottom:12px;color:#18407f;font-size:13px;font-weight:900;letter-spacing:.08em;}
.ai-link-card h3{margin:0 0 12px;font-size:25px;letter-spacing:-.6px;color:#111827;}
.ai-link-card p{margin:0 0 24px;color:#5b6472;line-height:1.75;word-break:keep-all;}
.ai-link-card .btn{width:100%;justify-content:center;}
.ai-cta-box{padding:44px 46px;border-radius:32px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:28px;}
.ai-cta-box .consult-kicker{color:rgba(255,255,255,.78);}
.ai-cta-box h2{margin:0 0 12px;font-size:30px;letter-spacing:-.8px;line-height:1.35;word-break:keep-all;}
.ai-cta-box p{margin:0;color:rgba(255,255,255,.74);line-height:1.8;word-break:keep-all;}
.ai-cta-box .btn{flex:0 0 auto;background:#fff;color:#111827;}
@media (max-width:1100px){.ai-service-grid,.ai-link-grid{grid-template-columns:1fr;}.ai-service-card{min-height:auto;}.ai-value-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:780px){.ai-intro-card{padding:28px 22px;border-radius:24px;}.ai-service-card,.ai-link-card,.ai-value-item{padding:26px 22px;}.ai-service-card h3{font-size:24px;}.ai-value-grid{grid-template-columns:1fr;}.ai-cta-box{display:block;padding:30px 24px;}.ai-cta-box .btn{margin-top:22px;}}

/* Partnerships complete page */
.partner-hero .edu-hero-overlay{background:radial-gradient(62% 76% at 26% 34%, rgba(24,64,127,.38), rgba(0,0,0,.64)),linear-gradient(to bottom, rgba(0,0,0,.08), rgba(0,0,0,.68));}
.partner-intro-card{max-width:1080px;padding:46px 50px;border-radius:34px;background:linear-gradient(135deg,#ffffff 0%,#f7f9fd 100%);border:1px solid rgba(15,23,42,.08);box-shadow:0 24px 60px rgba(15,23,42,.08);}
.partner-intro-card h2{margin:0 0 20px;font-size:clamp(30px,3vw,44px);line-height:1.35;letter-spacing:-1.2px;color:#111827;word-break:keep-all;}
.partner-intro-card p{margin:0 0 12px;color:#4b5563;font-size:17px;line-height:1.9;word-break:keep-all;}
.partner-intro-card p:last-child{margin-bottom:0;}
.partner-program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.partner-program-card{scroll-margin-top:120px;padding:34px 32px;border-radius:30px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 46px rgba(15,23,42,.07);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.partner-program-card:hover{transform:translateY(-6px);border-color:rgba(24,64,127,.28);box-shadow:0 28px 70px rgba(24,64,127,.14);}
.partner-label{display:inline-flex;align-items:center;margin-bottom:14px;padding:7px 11px;border-radius:999px;background:rgba(24,64,127,.08);color:#18407f;font-size:12px;font-weight:900;letter-spacing:.08em;}
.partner-program-card h3{margin:0 0 14px;font-size:30px;line-height:1.35;letter-spacing:-.8px;color:#111827;word-break:keep-all;}
.partner-program-card p{margin:0 0 22px;color:#4b5563;font-size:16.5px;line-height:1.8;word-break:keep-all;}
.partner-list{list-style:none;margin:0;padding:0;display:grid;gap:11px;}
.partner-list li{position:relative;padding-left:22px;color:#5b6472;line-height:1.7;word-break:keep-all;}
.partner-list li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;border-radius:999px;background:#18407f;}
.partner-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.partner-process-item{padding:28px 24px;border-radius:26px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 46px rgba(15,23,42,.06);}
.partner-process-item span{display:block;margin-bottom:18px;color:rgba(24,64,127,.20);font-size:48px;font-weight:900;line-height:1;}
.partner-process-item h3{margin:0 0 10px;font-size:22px;color:#111827;letter-spacing:-.5px;}
.partner-process-item p{margin:0;color:#5b6472;line-height:1.75;word-break:keep-all;}
.partner-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.partner-gallery-card{margin:0;border-radius:30px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 46px rgba(15,23,42,.07);overflow:hidden;}
.partner-gallery-card img{display:block;width:100%;height:250px;object-fit:cover;background:#f3f4f6;}
.partner-gallery-card figcaption{display:block;padding:22px 24px;}
.partner-gallery-card b{display:block;margin-bottom:8px;font-size:20px;color:#111827;}
.partner-gallery-card span{display:block;color:#5b6472;line-height:1.7;word-break:keep-all;}
.partner-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.partner-case-card{padding:30px 28px;border-radius:30px;background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 46px rgba(15,23,42,.06);}
.partner-case-card>span{display:block;margin-bottom:12px;color:#18407f;font-size:13px;font-weight:900;letter-spacing:.08em;}
.partner-case-card h3{margin:0 0 22px;font-size:25px;line-height:1.35;letter-spacing:-.6px;color:#111827;word-break:keep-all;}
.partner-case-card dl{margin:0;display:grid;gap:12px;}
.partner-case-card dl div{display:grid;grid-template-columns:58px 1fr;gap:12px;padding-top:12px;border-top:1px solid rgba(15,23,42,.08);}
.partner-case-card dt{font-weight:900;color:#111827;}
.partner-case-card dd{margin:0;color:#5b6472;line-height:1.7;word-break:keep-all;}
.partner-cta-box{padding:46px 48px;border-radius:34px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:32px;}
.partner-cta-box .consult-kicker{color:rgba(255,255,255,.78);}
.partner-cta-box h2{margin:0 0 12px;font-size:32px;line-height:1.35;letter-spacing:-.9px;word-break:keep-all;}
.partner-cta-box p{margin:0;color:rgba(255,255,255,.74);line-height:1.8;word-break:keep-all;}
.partner-cta-box .btn{flex:0 0 auto;background:#fff;color:#111827;}
@media (max-width:1100px){.partner-process-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.partner-gallery-grid,.partner-case-grid{grid-template-columns:1fr;}.partner-gallery-card img{height:300px;}}
@media (max-width:780px){.partner-intro-card{padding:28px 22px;border-radius:24px;}.partner-program-grid,.partner-process-grid{grid-template-columns:1fr;}.partner-program-card,.partner-process-item,.partner-case-card{padding:26px 22px;}.partner-program-card h3{font-size:25px;}.partner-cta-box{display:block;padding:30px 24px;}.partner-cta-box .btn{margin-top:22px;}.partner-gallery-card img{height:220px;}}

/* Portfolio complete page */
.portfolio-hero .edu-hero-overlay{background:radial-gradient(62% 76% at 26% 34%, rgba(24,64,127,.40), rgba(0,0,0,.64)),linear-gradient(to bottom, rgba(0,0,0,.08), rgba(0,0,0,.68));}
.portfolio-intro-card{max-width:1080px;padding:46px 50px;border-radius:34px;background:linear-gradient(135deg,#ffffff 0%,#f7f9fd 100%);border:1px solid rgba(15,23,42,.08);box-shadow:0 24px 60px rgba(15,23,42,.08);}
.portfolio-intro-card h2{margin:0 0 20px;font-size:clamp(30px,3vw,44px);line-height:1.35;letter-spacing:-1.2px;color:#111827;word-break:keep-all;}
.portfolio-intro-card p{margin:0 0 12px;color:#4b5563;font-size:17px;line-height:1.9;word-break:keep-all;}
.portfolio-intro-card p:last-child{margin-bottom:0;}
.portfolio-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.portfolio-case-card{padding:34px 32px;border-radius:30px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 46px rgba(15,23,42,.07);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.portfolio-case-card:hover{transform:translateY(-6px);border-color:rgba(24,64,127,.28);box-shadow:0 28px 70px rgba(24,64,127,.14);}
.portfolio-case-card span{display:inline-flex;margin-bottom:14px;padding:7px 11px;border-radius:999px;background:rgba(24,64,127,.08);color:#18407f;font-size:12px;font-weight:900;letter-spacing:.08em;}
.portfolio-case-card h3{margin:0 0 14px;font-size:28px;line-height:1.35;letter-spacing:-.8px;color:#111827;word-break:keep-all;}
.portfolio-case-card p{margin:0 0 22px;color:#4b5563;font-size:16.5px;line-height:1.8;word-break:keep-all;}
.portfolio-case-card ul{list-style:none;margin:0;padding:0;display:grid;gap:11px;}
.portfolio-case-card li{position:relative;padding-left:22px;color:#5b6472;line-height:1.7;word-break:keep-all;}
.portfolio-case-card li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;border-radius:999px;background:#18407f;}
.portfolio-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.portfolio-gallery-card{margin:0;border-radius:30px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 46px rgba(15,23,42,.07);overflow:hidden;}
.portfolio-gallery-card img{display:block;width:100%;height:250px;object-fit:cover;background:#f3f4f6;}
.portfolio-gallery-card figcaption{display:block;padding:22px 24px;}
.portfolio-gallery-card b{display:block;margin-bottom:8px;font-size:20px;color:#111827;}
.portfolio-gallery-card span{display:block;color:#5b6472;line-height:1.7;word-break:keep-all;}
.portfolio-growth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.portfolio-growth-card{padding:32px 30px;border-radius:30px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 46px rgba(15,23,42,.06);}
.portfolio-growth-step{display:inline-flex;margin-bottom:18px;padding:8px 13px;border-radius:999px;background:#111827;color:#fff;font-size:13px;font-weight:900;letter-spacing:.08em;}
.portfolio-growth-card h3{margin:0 0 12px;font-size:25px;letter-spacing:-.6px;color:#111827;word-break:keep-all;}
.portfolio-growth-card p{margin:0;color:#5b6472;line-height:1.8;word-break:keep-all;}
.portfolio-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.portfolio-review-card{margin:0;padding:32px 30px;border-radius:30px;background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 46px rgba(15,23,42,.06);}
.portfolio-review-card p{position:relative;margin:0 0 22px;color:#111827;font-size:20px;font-weight:700;line-height:1.75;letter-spacing:-.4px;word-break:keep-all;}
.portfolio-review-card p::before{content:"“";display:block;margin-bottom:4px;color:rgba(24,64,127,.20);font-size:54px;font-weight:900;line-height:.6;}
.portfolio-review-card cite{font-style:normal;color:#18407f;font-weight:900;}
.portfolio-archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.portfolio-archive-card{padding:28px 24px;border-radius:26px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 46px rgba(15,23,42,.06);}
.portfolio-archive-card span{display:block;margin-bottom:18px;color:rgba(24,64,127,.20);font-size:48px;font-weight:900;line-height:1;}
.portfolio-archive-card h3{margin:0 0 10px;font-size:22px;color:#111827;letter-spacing:-.5px;word-break:keep-all;}
.portfolio-archive-card p{margin:0;color:#5b6472;line-height:1.75;word-break:keep-all;}
.portfolio-cta-box{padding:46px 48px;border-radius:34px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:32px;}
.portfolio-cta-box .consult-kicker{color:rgba(255,255,255,.78);}
.portfolio-cta-box h2{margin:0 0 12px;font-size:32px;line-height:1.35;letter-spacing:-.9px;word-break:keep-all;}
.portfolio-cta-box p{margin:0;color:rgba(255,255,255,.74);line-height:1.8;word-break:keep-all;}
.portfolio-cta-box .btn{flex:0 0 auto;background:#fff;color:#111827;}
#program-cases,#activity-gallery,#growth-records,#participant-reviews,#result-archive{scroll-margin-top:110px;}
@media (max-width:1100px){.portfolio-case-grid,.portfolio-gallery-grid,.portfolio-growth-grid,.portfolio-review-grid{grid-template-columns:1fr;}.portfolio-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.portfolio-gallery-card img{height:300px;}}
@media (max-width:780px){.portfolio-intro-card{padding:28px 22px;border-radius:24px;}.portfolio-case-card,.portfolio-growth-card,.portfolio-review-card{padding:26px 22px;}.portfolio-case-card h3{font-size:25px;}.portfolio-archive-grid{grid-template-columns:1fr;}.portfolio-cta-box{display:block;padding:30px 24px;}.portfolio-cta-box .btn{margin-top:22px;}.portfolio-gallery-card img{height:220px;}}


/* =========================
   AI CONNECTS redesign
========================= */
.ai-connects-overview{
  padding-top: 92px;
}

.ai-connects-intro{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);
  gap:42px;
  align-items:stretch;
}

.ai-connects-copy{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  height:100%;
}

.ai-connects-copy h2{
  margin:0 0 24px;
  font-size:clamp(38px,4vw,60px);
  line-height:1.16;
  letter-spacing:-.078em;
  color:#111827;
  max-width:900px;
  word-break:keep-all;
}

.ai-connects-copy p{
  margin:0 0 16px;
  color:#4b5563;
  font-size:18px;
  line-height:1.95;
  word-break:keep-all;
}

.ai-connects-copy p:last-child{margin-bottom:0;}

.ai-connects-intro-side{
  display:grid;
  grid-template-rows:repeat(3, minmax(0, 1fr));
  gap:18px;
  height:100%;
}

.ai-connects-mini-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:0;
  padding:26px 24px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(17,24,39,.08);
  box-shadow:0 18px 44px rgba(17,24,39,.06);
}

.ai-connects-mini-card span{
  display:inline-flex;
  width:38px;
  height:38px;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
  border-radius:50%;
  background:#f6f1e8;
  color:#b89455;
  font-family:"Noto Serif KR",serif;
  font-size:18px;
}

.ai-connects-mini-card strong{
  display:block;
  margin-bottom:8px;
  font-size:20px;
  line-height:1.4;
  letter-spacing:-.05em;
  color:#111827;
}

.ai-connects-mini-card p{
  margin:0;
  color:#5b6472;
  line-height:1.8;
  word-break:keep-all;
}

.ai-service-showcase{
  background:#f7f4ef;
}

.ai-service-list{
  display:grid;
  gap:18px;
}

.ai-service-row{
  scroll-margin-top:120px;
  display:grid;
  grid-template-columns:minmax(190px, 240px) minmax(0,1fr) 96px;
  gap:24px;
  align-items:center;
  padding:20px 26px;
  border-radius:26px;
  background:#fff;
  border:1px solid rgba(17,24,39,.07);
  box-shadow:0 16px 36px rgba(17,24,39,.06);
}

.ai-service-brand{
  display:flex;
  align-items:center;
  justify-content:center;
}

.ai-service-brand-frame{
  width:100%;
  padding:14px 16px;
  border-radius:20px;
  background:#faf8f4;
  border:1px solid rgba(180,148,85,.18);
  text-align:center;
}

.ai-service-brand-media{
  display:flex;
  min-height:78px;
  align-items:center;
  justify-content:center;
  border-radius:16px;
}

.ai-service-brand-media img{
  max-width:100%;
  max-height:60px;
  width:auto;
  height:auto;
  object-fit:contain;
}

.ai-service-brand-media.text-only{
  background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(246,241,232,.9));
  border:1px dashed rgba(180,148,85,.28);
  flex-direction:column;
  gap:6px;
  padding:10px 8px;
}

.ai-service-mark-top{
  display:block;
  color:#6b7280;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
}

.ai-service-brand-frame strong{
  display:block;
  font-size:34px;
  line-height:1;
  letter-spacing:-.08em;
  color:#111827;
  font-family:"Noto Serif KR",serif;
  font-weight:600;
}

.ai-service-brand-frame em{
  display:block;
  margin-top:10px;
  color:#374151;
  font-size:14px;
  line-height:1.45;
  font-style:normal;
}

.ai-service-content h3{
  margin:0 0 10px;
  font-size:27px;
  line-height:1.28;
  letter-spacing:-.06em;
  color:#111827;
  word-break:keep-all;
}

.ai-service-summary{
  margin:0 0 10px;
  color:#1f2937;
  font-size:17px;
  font-weight:700;
  line-height:1.7;
  word-break:keep-all;
}

.ai-service-bullets{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px 18px;
}

.ai-service-bullets li{
  position:relative;
  padding-left:13px;
  color:#4b5563;
  font-size:15px;
  line-height:1.65;
  word-break:keep-all;
}

.ai-service-bullets li::before{
  content:"";
  position:absolute;
  left:0;
  top:.78em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#b89455;
}

.ai-service-note{
  margin:10px 0 0;
  color:#5b6472;
  font-size:14px;
  line-height:1.6;
  word-break:keep-all;
}

.ai-service-action{
  display:flex;
  align-items:center;
  justify-content:center;
}

.ai-view-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:72px;
  height:72px;
  border-radius:50%;
  background:#111827;
  color:#fff;
  font-size:18px;
  font-weight:800;
  letter-spacing:-.04em;
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  box-shadow:0 12px 24px rgba(17,24,39,.15);
}

.ai-view-btn:hover{
  transform:translateY(-2px);
  background:#182d4f;
  color:#fff;
}

.ai-connects-value{
  background:#f7f4ef;
}

.ai-connects-value-simple-head{
  margin-bottom:24px;
}

.ai-connects-value-simple-head .section-title{
  margin-bottom:10px;
  color:#111827;
  letter-spacing:-.06em;
}

.ai-connects-value-simple-head .section-sub{
  color:#8b6f43;
}

.ai-value-grid-simple{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}

.ai-value-simple-card{
  min-height:154px;
  padding:28px 24px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(17,24,39,.06);
  box-shadow:0 14px 32px rgba(17,24,39,.05);
}

.ai-value-simple-card strong{
  display:block;
  margin-bottom:12px;
  font-size:24px;
  line-height:1.25;
  letter-spacing:-.05em;
  color:#111827;
}

.ai-value-simple-card p{
  margin:0;
  color:#4b5563;
  font-size:16px;
  line-height:1.75;
  word-break:keep-all;
}

.ai-detail-overview{
  padding-top:92px;
}

.ai-detail-shell{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);
  gap:28px;
  align-items:start;
}

.ai-detail-copy h2{
  margin:0 0 20px;
  font-size:clamp(34px,3.2vw,48px);
  line-height:1.22;
  letter-spacing:-.07em;
  color:#111827;
}

.ai-detail-copy p{
  margin:0 0 14px;
  color:#4b5563;
  font-size:17px;
  line-height:1.9;
  word-break:keep-all;
}

.ai-detail-summary-card{
  padding:28px;
  background:#fff;
  border:1px solid rgba(17,24,39,.08);
  border-radius:28px;
  box-shadow:0 18px 44px rgba(17,24,39,.06);
}

.ai-detail-summary-card span{
  display:inline-flex;
  margin-bottom:14px;
  padding:6px 10px;
  border-radius:999px;
  background:#f6f1e8;
  color:#b89455;
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
}

.ai-detail-summary-card strong{
  display:block;
  margin-bottom:10px;
  font-size:24px;
  line-height:1.4;
  letter-spacing:-.05em;
  color:#111827;
}

.ai-detail-summary-card p{
  margin:0;
  color:#5b6472;
  line-height:1.8;
}

@media (max-width: 1180px){
  .ai-connects-intro,
  .ai-detail-shell{
    grid-template-columns:1fr;
  }
  .ai-connects-intro-side{
    grid-template-rows:none;
  }
  .ai-service-row{
    grid-template-columns:1fr;
    gap:18px;
  }
  .ai-service-brand{
    justify-content:flex-start;
  }
  .ai-service-brand-frame{
    max-width:260px;
  }
  .ai-service-action{
    justify-content:flex-start;
  }
  .ai-value-grid-simple{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 820px){
  .ai-connects-copy h2{
    font-size:clamp(30px,9vw,44px);
  }
  .ai-connects-copy p,
  .ai-connects-mini-card p,
  .ai-value-simple-card p,
  .ai-detail-copy p{
    font-size:16px;
  }
  .ai-service-row{
    padding:18px 20px;
    border-radius:22px;
  }
  .ai-service-content h3{
    font-size:24px;
  }
  .ai-service-brand-frame strong{
    font-size:30px;
  }
  .ai-service-bullets{
    grid-template-columns:1fr;
  }
  .ai-value-simple-card{
    min-height:auto;
  }
}

@media (max-width: 680px){
  .ai-connects-overview,
  .ai-detail-overview{padding-top:72px;}
  .ai-connects-intro-side{
    gap:14px;
  }
  .ai-connects-mini-card{
    padding:22px 20px;
  }
  .ai-view-btn{width:66px;height:66px;font-size:17px;}
  .ai-value-grid-simple{grid-template-columns:1fr;}
}

/* ============================================================
   서브페이지 ARTE 톤 통일 (아르떼 따뜻한 무드 + 골드 액센트)
   - 대상: body.has-overlay-header (6개 서브페이지 공통)
   - 기존 네이비(#18407f) 액센트 → 브랜드 골드/브라운으로 교체
   ============================================================ */

/* 1) 페이지 베이스: 순백 → 아이보리 (홈과 동일) */
.has-overlay-header{ background:#faf7f0; }
.has-overlay-header .section{
  background:transparent;
  border-top:1px solid rgba(120,95,45,.10);
}
.has-overlay-header .section:first-of-type{ border-top:none; }
.has-overlay-header .section.alt{ background:#f2ece0 !important; }
.has-overlay-header .section-muted{ background:#f2ece0; }

/* 2) 히어로 밴드: 블랙 → 따뜻한 에스프레소 + 골드 글로우 */
.has-overlay-header .edu-hero{ background:#241c12; }
.has-overlay-header .edu-hero-overlay{
  background:
    radial-gradient(62% 76% at 26% 30%, rgba(210,180,111,.36), rgba(36,28,18,.72)),
    linear-gradient(to bottom, rgba(36,28,18,.12), rgba(36,28,18,.80));
}
.has-overlay-header .edu-hero-eyebrow{
  color:#e9d4a4;
  font-weight:800;
  letter-spacing:.18em;
}
.has-overlay-header .edu-hero-desc{ color:rgba(255,255,255,.85); }

/* 3) 서브 탭(알약형): 네이비 → 골드 */
.has-overlay-header .page-subnav{
  background:rgba(255,255,255,.97);
  box-shadow:0 14px 34px rgba(120,95,45,.14);
}
.has-overlay-header .page-subnav a{
  background:#f6f1e8;
  color:#4a3b23;
  border:1px solid rgba(120,95,45,.18);
}
.has-overlay-header .page-subnav a:hover{
  background:#8b6b34;
  color:#fff;
  border-color:#8b6b34;
}
.has-overlay-header .page-subnav a.active{
  background:#8b6b34;
  color:#fff;
  border-color:#8b6b34;
}

/* 4) 콘텐츠 내 네이비 계열 강조 색을 골드/브라운으로 통일 */
.has-overlay-header .consult-kicker,
.has-overlay-header .section-kicker,
.has-overlay-header .eyebrow,
.has-overlay-header [class$="-kicker"]{ color:#8b6b34 !important; }
.has-overlay-header .link-more,
.has-overlay-header .link{ color:#6b5427; }
/* 5) 서브페이지 컴포넌트의 네이비(#18407f / #111827) 액센트 → 골드/브라운 통일 */
.has-overlay-header{ --se-point:#8b6b34; }

/* 텍스트 액센트 */
.has-overlay-header .consult-kicker,
.has-overlay-header .consult-program-tile small,
.has-overlay-header .consult-detail-card em,
.has-overlay-header .ai-card-note,
.has-overlay-header .portfolio-review-card cite{ color:#8b6b34; }

/* 알약형 뱃지 (번호/라벨) */
.has-overlay-header .consult-question-card span,
.has-overlay-header .consult-card-num,
.has-overlay-header .ai-card-label,
.has-overlay-header .portfolio-case-card span{
  background:rgba(139,107,52,.12);
  color:#8b6b34;
}

/* 리스트 불릿 */
.has-overlay-header .ai-feature-list li::before,
.has-overlay-header .portfolio-case-card li::before{ background:#b7975a; }

/* 큰 따옴표 / 아카이브 숫자 */
.has-overlay-header .portfolio-review-card p::before,
.has-overlay-header .portfolio-archive-card span{ color:rgba(139,107,52,.24); }

/* View 원형 버튼 */
.has-overlay-header .ai-view-btn{
  background:#8b6b34;
  box-shadow:0 12px 24px rgba(120,95,45,.22);
}
.has-overlay-header .ai-view-btn:hover{ background:#6b5427; }

/* ============================================================
   BLUE THEME — 전체 블루톤 리컬러 (밝고 · 역동적 · 세련된)
   기존 골드/아이보리/에스프레소 팔레트를 블루 계열로 교체.
   파일 맨 끝 = 이전 규칙들 위에서 최종 적용.
   ============================================================ */
:root{
  --gold:#2563eb;            /* 기존 --gold 사용처 자동 전환 */
  --gold2:#1d4ed8;
  --blue:#2563eb;
  --blue-bright:#3b9dff;
  --blue-cyan:#22d3ee;
  --blue-deep:#0b2350;
}

/* ---------- HOME 히어로 ---------- */
.home-page{ background:#f2f6ff !important; }
.arte-home{
  background:
    radial-gradient(140% 120% at 82% 8%, rgba(59,157,255,.30) 0%, rgba(59,157,255,0) 55%),
    linear-gradient(180deg, #eef4ff 0%, #e3ecff 46%, #d7e5ff 100%) !important;
}
.arte-eyebrow{ color:#2563eb !important; }
.arte-counter{ color:#1e3355 !important; }
.arte-counter #arteCurrent{ color:#2563eb !important; }
.arte-counter #arteTotal{ color:rgba(30,51,85,.5) !important; }
.arte-counter .slash{ color:rgba(30,51,85,.35) !important; }
.arte-btn{
  border:1px solid rgba(37,99,235,.30) !important;
  background:rgba(255,255,255,.82) !important;
  color:#2563eb !important;
}
.arte-btn:hover{ background:#fff !important; box-shadow:0 8px 18px rgba(37,99,235,.22) !important; }
.arte-card-tag{ color:#dbeafe !important; }

/* 카드 비주얼: 역동적인 블루→시안/인디고 그라데이션 (슬라이드별) */
.arte-carousel .arte-card:nth-child(1) .arte-card-visual{
  background:radial-gradient(120% 120% at 28% 22%, rgba(255,255,255,.5), rgba(255,255,255,0) 55%),
    linear-gradient(150deg,#3b82f6 0%,#1d4ed8 100%) !important; }
.arte-carousel .arte-card:nth-child(2) .arte-card-visual{
  background:radial-gradient(120% 120% at 28% 22%, rgba(255,255,255,.5), rgba(255,255,255,0) 55%),
    linear-gradient(150deg,#38bdf8 0%,#2563eb 100%) !important; }
.arte-carousel .arte-card:nth-child(3) .arte-card-visual{
  background:radial-gradient(120% 120% at 28% 22%, rgba(255,255,255,.5), rgba(255,255,255,0) 55%),
    linear-gradient(150deg,#6d8bf5 0%,#3730a3 100%) !important; }
.arte-carousel .arte-card:nth-child(4) .arte-card-visual{
  background:radial-gradient(120% 120% at 28% 22%, rgba(255,255,255,.5), rgba(255,255,255,0) 55%),
    linear-gradient(150deg,#22d3ee 0%,#2f7fe0 100%) !important; }

/* ---------- 헤더 (홈+서브 공통): 쿨 화이트 + 블루 텍스트 ---------- */
.home-page .header,
.has-overlay-header .header{
  background:rgba(255,255,255,.92) !important;
  border-bottom:1px solid rgba(37,99,235,.14) !important;
}
.home-page .brand, .home-page .brand *,
.has-overlay-header .brand, .has-overlay-header .brand *{ color:#2563eb !important; }
.home-page .nav-ko, .home-page .nav-item, .home-page .nav a,
.has-overlay-header .nav-ko, .has-overlay-header .nav-item, .has-overlay-header .nav a,
.home-page .nav-group > .nav-item,
.has-overlay-header .nav-group > .nav-item{ color:#12305c !important; }
.home-page .nav-group:hover > .nav-item::after,
.home-page .nav-group:focus-within > .nav-item::after,
.has-overlay-header .nav-group:hover > .nav-item::after,
.has-overlay-header .nav-group:focus-within > .nav-item::after{
  background:linear-gradient(90deg, rgba(37,99,235,0) 0%, rgba(37,99,235,.16) 10%, rgba(37,99,235,.7) 28%, #2563eb 50%, rgba(37,99,235,.7) 72%, rgba(37,99,235,.16) 90%, rgba(37,99,235,0) 100%) !important;
}
.home-page .nav-dropdown{ background:#f2f6ff !important; border:1px solid rgba(37,99,235,.14) !important; }
.home-page .nav-dropdown::before{ background:#f2f6ff !important; border-left:1px solid rgba(37,99,235,.14) !important; border-top:1px solid rgba(37,99,235,.14) !important; }
.home-page .nav-dropdown a{ color:#12305c !important; }
.home-page .nav-dropdown a:hover{ background:rgba(37,99,235,.06) !important; color:#2563eb !important; }

/* ---------- 서브페이지 ---------- */
.has-overlay-header{ background:#f2f6ff !important; }
.has-overlay-header .section.alt{ background:#e8f0ff !important; }
.has-overlay-header .section-muted{ background:#e8f0ff !important; }
.has-overlay-header .edu-hero{ background:#0b2350 !important; }
.has-overlay-header .edu-hero-overlay{
  background:
    radial-gradient(62% 76% at 26% 30%, rgba(59,157,255,.46), rgba(9,26,58,.78)),
    linear-gradient(to bottom, rgba(9,26,58,.14), rgba(7,20,48,.88)) !important;
}
.has-overlay-header .edu-hero-eyebrow{ color:#bfdbff !important; }
.has-overlay-header .page-subnav a{
  background:#eef3ff !important; color:#14346a !important; border:1px solid rgba(37,99,235,.18) !important;
}
.has-overlay-header .page-subnav a:hover,
.has-overlay-header .page-subnav a.active{
  background:#2563eb !important; color:#fff !important; border-color:#2563eb !important;
}
/* 콘텐츠 액센트 → 블루 */
.has-overlay-header .consult-kicker,
.has-overlay-header .consult-program-tile small,
.has-overlay-header .consult-detail-card em,
.has-overlay-header .ai-card-note,
.has-overlay-header .portfolio-review-card cite,
.has-overlay-header [class$="-kicker"],
.has-overlay-header .link-more,
.has-overlay-header .link{ color:#2563eb !important; }
.has-overlay-header .consult-question-card span,
.has-overlay-header .consult-card-num,
.has-overlay-header .ai-card-label,
.has-overlay-header .portfolio-case-card span{ background:rgba(37,99,235,.12) !important; color:#2563eb !important; }
.has-overlay-header .ai-feature-list li::before,
.has-overlay-header .portfolio-case-card li::before{ background:#2563eb !important; }
.has-overlay-header .portfolio-review-card p::before,
.has-overlay-header .portfolio-archive-card span{ color:rgba(37,99,235,.24) !important; }
.has-overlay-header .ai-view-btn{
  background:linear-gradient(135deg,#2563eb 0%,#22a7f0 100%) !important;
  box-shadow:0 12px 24px rgba(37,99,235,.28) !important;
}
.has-overlay-header .ai-view-btn:hover{ background:linear-gradient(135deg,#1d4ed8 0%,#0ea5e9 100%) !important; }

/* 디자인 토큰(--se-*) 블루 전환 — btn-primary/footer/각종 컴포넌트 일괄 */
:root{
  --se-bg:#f2f6ff;
  --se-surface-soft:#eaf1ff;
  --se-line:#d3e0f5;
  --se-point:#2563eb;
  --se-point-soft:#e4edff;
  --se-shadow:0 18px 50px rgba(20,40,90,.08);
}
.has-overlay-header{ --se-point:#2563eb; }
body{ background:#f2f6ff; }
.site-footer{ background:#eef3fb !important; border-top:1px solid rgba(37,99,235,.14) !important; }
.btn-primary{ color:#fff !important; box-shadow:0 14px 30px rgba(37,99,235,.24) !important; }

/* 헤더 잔여 골드 제거 — CTA 알약/햄버거 버튼/메뉴 hover 변수 */
:root{ --menu-gold:#2563eb; }
.nav-cta,
.home-page .nav-cta,
.has-overlay-header .nav-cta{
  border-color:#2563eb !important;
  color:#2563eb !important;
}
.home-page .nav-cta:hover,
.has-overlay-header .nav-cta:hover{ background:rgba(37,99,235,.08) !important; }
.nav-toggle,
.home-page .nav-toggle,
.has-overlay-header .nav-toggle{ border-color:rgba(37,99,235,.45) !important; }
.nav-toggle span,
.home-page .nav-toggle span,
.has-overlay-header .nav-toggle span{ background:#2563eb !important; }

/* AI커넥츠 전용 컴포넌트 잔여 골드 → 블루 */
.has-overlay-header .ai-connects-mini-card span,
.has-overlay-header .ai-detail-summary-card span{
  background:#e4edff !important;
  color:#2563eb !important;
}
.has-overlay-header .ai-service-bullets li::before{ background:#2563eb !important; }
.has-overlay-header .ai-connects-value-simple-head .section-sub{ color:#2563eb !important; }

/* ============================================================
   히어로 카드 사진 슬롯 + 블루 듀오톤 (어떤 사진이든 파란 톤으로 통일)
   - .arte-card-visual 안에 <img class="arte-card-photo"> 를 넣으면 자동 적용
   - 파일이 없으면 onerror로 제거 → 기존 그라데이션으로 폴백
   ============================================================ */
.arte-card-visual{ isolation:isolate; }
.arte-card-photo{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  filter:grayscale(1) contrast(1.05) brightness(1.03);
  z-index:1;
}
/* 사진 있으면 중앙 아이콘 숨김 */
.arte-card-visual:has(.arte-card-photo) .arte-card-ico{ display:none; }
/* 그레이스케일 사진을 블루로 물들임 (color 블렌드 = 파란 모노톤) */
.arte-card-visual:has(.arte-card-photo)::after{
  background:linear-gradient(150deg, #2f7fe0 0%, #1e40af 100%);
  mix-blend-mode:color;
  z-index:2;
  opacity:1;
}
/* 하단 살짝 더 진하게 (글씨 가독성 + 깊이) */
.arte-card-visual:has(.arte-card-photo)::before{
  content:"";
  position:absolute; inset:0;
  z-index:3;
  background:linear-gradient(180deg, rgba(11,35,80,0) 32%, rgba(11,35,80,.5) 100%);
}

/* ============================================================
   히어로 카드 커스텀 일러스트 (직접 그린 SVG, 블루 톤)
   - 사진(hero-N.jpg)이 있으면 자동으로 숨김 → 사진 우선
   ============================================================ */
.arte-card-illust{
  position:absolute;
  left:50%; top:42%;
  transform:translate(-50%,-50%);
  width:62%;
  max-width:300px;
  z-index:1;
  pointer-events:none;
  filter:drop-shadow(0 10px 26px rgba(11,35,80,.28));
}
/* 일러스트가 있으면 기존 글리프 아이콘 숨김 */
.arte-card-visual:has(.arte-card-illust) .arte-card-ico{ display:none; }
/* 사진이 들어오면 일러스트 숨김(사진 우선) */
.arte-card-visual:has(.arte-card-photo) .arte-card-illust{ display:none; }
@media (max-width:768px){
  .arte-card-illust{ width:46%; max-width:180px; top:38%; }
}

/* ============================================================
   서브페이지 히어로 장식 일러스트 (오른쪽 여백 채우기)
   ============================================================ */
.edu-hero-illust{
  position:absolute;
  right:5%;
  top:54%;
  transform:translateY(-50%);
  width:min(34%, 400px);
  z-index:1;
  opacity:.92;
  pointer-events:none;
}
@media (max-width:1000px){
  .edu-hero-illust{ opacity:.5; width:50%; right:-2%; }
}
@media (max-width:640px){
  .edu-hero-illust{ display:none; }
}

/* ============================================================
   회원가입 / 로그인 / 마이페이지 (블루 톤)
   ============================================================ */
.auth-wrap{
  min-height:calc(100vh - 200px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:60px 20px 80px;
}
.auth-card{
  width:100%;
  max-width:440px;
  background:#ffffff;
  border:1px solid rgba(37,99,235,.12);
  border-radius:20px;
  box-shadow:0 24px 60px rgba(20,40,90,.10);
  padding:40px 36px;
}
.auth-head{ text-align:center; margin-bottom:26px; }
.auth-eyebrow{ margin:0 0 8px; font-size:12px; font-weight:800; letter-spacing:.18em; color:#2563eb; }
.auth-title{ margin:0 0 8px; font-size:26px; letter-spacing:-.03em; color:#12305c; }
.auth-sub{ margin:0; font-size:14px; color:rgba(18,48,92,.6); line-height:1.6; }
.auth-form{ display:flex; flex-direction:column; gap:16px; margin-top:8px; }
.auth-field{ display:flex; flex-direction:column; gap:7px; }
.auth-field label{ font-size:13px; font-weight:700; color:#334a72; }
.auth-field input{
  height:48px; padding:0 14px;
  border:1px solid rgba(37,99,235,.2);
  border-radius:12px;
  font-size:15px; color:#12305c;
  background:#f7faff;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.auth-field input:focus{
  outline:none; background:#fff;
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.14);
}
.auth-field input::placeholder{ color:#9db4d8; }
.auth-type{ display:flex; gap:10px; }
.auth-type label{
  flex:1; display:flex; align-items:center; justify-content:center; gap:6px;
  height:46px; border:1px solid rgba(37,99,235,.2); border-radius:12px;
  font-size:14px; font-weight:700; color:#334a72; cursor:pointer; background:#f7faff;
  transition:all .15s ease;
}
.auth-type input{ display:none; }
.auth-type input:checked + span{ color:#fff; }
.auth-type label:has(input:checked){ background:#2563eb; border-color:#2563eb; color:#fff; }
.auth-agree{ display:flex; align-items:flex-start; gap:9px; font-size:13px; color:#4a5b78; }
.auth-agree input{ width:18px; height:18px; margin-top:1px; accent-color:#2563eb; flex-shrink:0; }
.auth-agree a{ color:#2563eb; text-decoration:underline; }
.auth-btn{
  height:50px; border:none; border-radius:12px;
  background:linear-gradient(135deg,#2563eb,#1d4ed8);
  color:#fff; font-size:16px; font-weight:800; cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.auth-btn:hover{ transform:translateY(-1px); box-shadow:0 12px 26px rgba(37,99,235,.28); }
.auth-btn:disabled{ opacity:.55; cursor:default; transform:none; box-shadow:none; }
.auth-divider{ display:flex; align-items:center; gap:12px; margin:22px 0 18px; color:#9db4d8; font-size:12px; }
.auth-divider::before,.auth-divider::after{ content:""; flex:1; height:1px; background:rgba(37,99,235,.14); }
.auth-social{ display:flex; flex-direction:column; gap:10px; }
.auth-social button{
  height:48px; border-radius:12px; border:1px solid rgba(37,99,235,.2);
  background:#fff; font-size:14px; font-weight:700; color:#334a72; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:8px;
  transition:background .15s ease;
}
.auth-social button:hover{ background:#f2f6ff; }
.auth-social .kakao{ background:#FEE500; border-color:#FEE500; color:#3c1e1e; }
.auth-foot{ margin-top:22px; text-align:center; font-size:14px; color:#526b92; }
.auth-foot a{ color:#2563eb; font-weight:800; }
.auth-msg{
  margin:0; padding:12px 14px; border-radius:10px; font-size:13.5px; line-height:1.55;
  display:none;
}
.auth-msg.show{ display:block; }
.auth-msg.err{ background:#fdeaea; color:#a12626; border:1px solid #f3c9c9; }
.auth-msg.ok{ background:#e7f3ea; color:#1e6b3a; border:1px solid #c3e2cc; }
.auth-msg.info{ background:#eaf1ff; color:#1e4fa5; border:1px solid #cfe0ff; }
/* 마이페이지 */
.mypage-grid{ display:grid; gap:16px; margin-top:8px; }
.mypage-row{ display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid rgba(37,99,235,.1); font-size:15px; }
.mypage-row .k{ color:#526b92; }
.mypage-row .v{ color:#12305c; font-weight:700; }
.mypage-actions{ display:flex; flex-direction:column; gap:10px; margin-top:24px; }
.mypage-link{
  display:flex; align-items:center; justify-content:space-between;
  height:52px; padding:0 18px; border-radius:12px;
  background:#f2f6ff; border:1px solid rgba(37,99,235,.16);
  color:#12305c; font-weight:700; font-size:15px;
}
.mypage-link:hover{ background:#e8f0ff; }
.auth-signout{ background:none; border:none; color:#a12626; font-weight:700; font-size:14px; cursor:pointer; margin-top:8px; }
/* 헤더 로그인 링크 (그리드 방해 없이 절대배치) */
.header-auth{
  position:absolute;
  right:62px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  gap:12px;
  z-index:4;
}
.header-auth a{ font-size:14px; font-weight:700; color:#2563eb !important; white-space:nowrap; }
.header-auth .greet{ font-size:13px; color:#526b92; font-weight:600; }
@media (max-width:1180px){ .header-auth{ display:none; } }

/* 휴대폰 인증(OTP) UI */
.auth-phone-row{ display:flex; gap:8px; }
.auth-phone-row input{ flex:1; }
.auth-otp-btn{
  flex-shrink:0; height:48px; padding:0 14px;
  border-radius:12px; border:1px solid #2563eb;
  background:#eaf1ff; color:#1d4ed8;
  font-size:13.5px; font-weight:800; cursor:pointer; white-space:nowrap;
  transition:background .15s ease, opacity .15s ease;
}
.auth-otp-btn:hover{ background:#dce8ff; }
.auth-otp-btn:disabled{ opacity:.5; cursor:default; }
.auth-otp{ display:none; margin-top:10px; }
.auth-otp.show{ display:flex; flex-direction:column; gap:7px; }
.auth-otp-inrow{ display:flex; gap:8px; align-items:center; }
.auth-otp-inrow input{ flex:1; letter-spacing:.35em; text-align:center; font-weight:800; }
.auth-otp-timer{ font-size:13px; color:#2563eb; font-weight:800; min-width:46px; text-align:center; }
.auth-otp-ok{ color:#1e6b3a; font-size:13px; font-weight:800; }

/* ============================================================
   입시결과 데이터 페이지 (수시터치 > 입시결과보기)
   ============================================================ */
.data-head{
  position:relative;
  background:linear-gradient(160deg,#123a7a 0%,#0b2350 100%);
  color:#fff;
  padding:44px 0 38px;
}
.data-head .data-eyebrow{ margin:0 0 8px; font-size:12px; font-weight:800; letter-spacing:.18em; color:#bfdbff; }
.data-head h1{ margin:0 0 8px; font-size:clamp(26px,3vw,38px); letter-spacing:-.03em; }
.data-head p{ margin:0; font-size:15px; color:rgba(255,255,255,.82); }
.data-section{ padding:36px 0 72px; }
.data-note{
  background:#eaf1ff; color:#1e4fa5; border:1px solid #cfe0ff;
  border-radius:12px; padding:12px 16px; font-size:13.5px; line-height:1.6; margin-bottom:20px;
}
.data-toolbar{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:14px; }
.data-filters{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; flex:1; min-width:0; }
.data-filters select, .data-search input{
  width:100%; height:44px; padding:0 12px;
  border:1px solid rgba(37,99,235,.2); border-radius:10px;
  font-size:14px; background:#f7faff; color:#12305c;
}
.data-filters select:focus, .data-search input:focus{ outline:none; border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.14); background:#fff; }
.data-search{ flex:1; min-width:180px; }
.data-count{ font-size:14px; color:#526b92; margin:0 0 12px; }
.data-count b{ color:#2563eb; }
.data-table-wrap{ overflow-x:auto; border:1px solid rgba(37,99,235,.12); border-radius:14px; box-shadow:0 14px 34px rgba(20,40,90,.06); }
.data-table{ width:100%; border-collapse:collapse; font-size:14px; min-width:760px; background:#fff; }
.data-table thead th{
  background:#eaf1ff; color:#1e4fa5; font-weight:800;
  padding:13px 14px; text-align:left; white-space:nowrap;
  border-bottom:1px solid rgba(37,99,235,.14);
}
.data-table tbody td{ padding:12px 14px; border-top:1px solid rgba(37,99,235,.08); color:#22345a; white-space:nowrap; }
.data-table tbody tr:hover{ background:#f4f8ff; }
.data-table .num{ text-align:right; font-variant-numeric:tabular-nums; }
.data-badge{ display:inline-block; padding:3px 10px; border-radius:999px; font-size:12px; font-weight:800; background:rgba(37,99,235,.1); color:#2563eb; }
.data-badge.jong{ background:rgba(99,102,241,.12); color:#4f46e5; }
.data-badge.nonsul{ background:rgba(14,165,233,.12); color:#0284c7; }
.data-empty{ text-align:center; padding:48px 20px; color:#8aa0c0; font-size:15px; }
@media (max-width:640px){
  .data-toolbar{ flex-direction:column; align-items:stretch; }
}

/* ============================================================
   로그인 게이트 팝업 (플로팅) + 콘텐츠 블러
   ============================================================ */
.gate-overlay{
  position:fixed; inset:0; z-index:2000;
  display:flex; align-items:center; justify-content:center;
  padding:20px;
  background:rgba(11,35,80,.55);
  backdrop-filter:blur(2px);
  animation:gateFade .18s ease;
}
.gate-overlay[hidden]{ display:none; }
@keyframes gateFade{ from{opacity:0} to{opacity:1} }
.gate-modal{
  position:relative;
  width:100%; max-width:400px;
  background:#fff; border-radius:20px;
  box-shadow:0 30px 70px rgba(11,35,80,.35);
  padding:38px 32px 28px;
  text-align:center;
  animation:gatePop .22s cubic-bezier(.2,.7,.3,1);
}
@keyframes gatePop{ from{opacity:0; transform:translateY(14px) scale(.97)} to{opacity:1; transform:none} }
.gate-close{
  position:absolute; top:12px; right:14px;
  width:34px; height:34px; border:none; background:none;
  font-size:26px; line-height:1; color:#8aa0c0; cursor:pointer; border-radius:8px;
}
.gate-close:hover{ background:#f2f6ff; color:#2563eb; }
.gate-lock{
  width:60px; height:60px; margin:0 auto 14px;
  display:grid; place-items:center;
  background:#eaf1ff; border-radius:50%;
}
.gate-title{ margin:0 0 8px; font-size:20px; letter-spacing:-.02em; color:#12305c; }
.gate-desc{ margin:0 0 18px; font-size:14.5px; line-height:1.6; color:#4a5b78; }
.gate-desc b{ color:#2563eb; }
.gate-msg{ display:none; margin:0 0 12px; padding:10px 12px; border-radius:10px; font-size:13px; line-height:1.5; }
.gate-msg.show{ display:block; }
.gate-msg.info{ background:#eaf1ff; color:#1e4fa5; }
.gate-msg.err{ background:#fdeaea; color:#a12626; }
.gate-social{ display:flex; flex-direction:column; gap:10px; }
.gate-social button{
  height:48px; border-radius:12px; border:1px solid rgba(37,99,235,.2);
  background:#fff; font-size:14px; font-weight:800; color:#334a72; cursor:pointer;
  transition:background .15s ease;
}
.gate-social button:hover{ background:#f2f6ff; }
.gate-social .kakao{ background:#FEE500; border-color:#FEE500; color:#3c1e1e; }
.gate-extra{ margin-top:12px; }
.gate-foot{ margin:18px 0 0; font-size:12px; color:#8aa0c0; }
.gate-foot a{ color:#2563eb; text-decoration:underline; }
/* 게이트된 콘텐츠는 흐리게 + 조작 불가 */
.gate-blur{ filter:blur(5px); pointer-events:none; user-select:none; }

/* 헤더 브랜드 로고: 굵은 대문자 워드마크(text-logo.png, 16:1 비율)에 맞춘 높이 */
.brand-textlogo,
.home-page .brand-textlogo,
.has-overlay-header .brand-textlogo{
  height:19px !important;
  width:auto !important;
  max-width:300px;
}

/* 나브 메뉴: About 헤드라인과 같은 Pretendard(고딕) 볼드 + 카테고리 간격 10% 확대 */
.nav-ko,
.home-page .nav-ko,
.has-overlay-header .nav-ko{
  font-family:"Pretendard Variable", Pretendard, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  font-weight:700 !important;
}
.nav.nav-bilingual,
.home-page .nav.nav-bilingual,
.has-overlay-header .nav.nav-bilingual{
  gap:20px !important;
}

/* ============================================================
   수시터치 이벤트 팝업 (첫 화면)
   ============================================================ */
.event-pop{
  position:fixed; inset:0; z-index:2100;
  display:flex; align-items:center; justify-content:center;
  padding:20px;
  background:rgba(11,35,80,.55); backdrop-filter:blur(2px);
  animation:gateFade .2s ease;
}
.event-pop[hidden]{ display:none; }
.event-card{
  position:relative; width:100%; max-width:420px;
  background:#fff; border-radius:22px; overflow:hidden;
  box-shadow:0 34px 80px rgba(11,35,80,.4);
  animation:gatePop .24s cubic-bezier(.2,.7,.3,1);
}
.event-close{
  position:absolute; top:12px; right:14px; z-index:3;
  width:34px; height:34px; border:none; background:rgba(255,255,255,.2);
  color:#fff; font-size:24px; line-height:1; cursor:pointer; border-radius:9px;
}
.event-close:hover{ background:rgba(255,255,255,.35); }
.event-visual{
  position:relative; padding:30px 28px 26px; color:#fff; overflow:hidden;
  background:
    radial-gradient(120% 130% at 78% 20%, rgba(56,189,248,.5), rgba(56,189,248,0) 55%),
    linear-gradient(140deg,#2f7fe0 0%,#1e40af 60%,#0b2350 100%);
}
.event-badge{
  display:inline-block; padding:5px 12px; border-radius:999px;
  background:rgba(255,255,255,.18); font-size:11.5px; font-weight:800; letter-spacing:.08em;
}
.event-title{ margin:12px 0 0; font-size:24px; line-height:1.3; letter-spacing:-.03em; font-weight:800; }
.event-illust{ position:absolute; right:-6px; bottom:-14px; width:118px; opacity:.9; }
.event-body{ padding:22px 26px 6px; }
.event-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.event-list li{ display:flex; gap:12px; align-items:flex-start; }
.event-tag{
  flex-shrink:0; margin-top:2px; padding:4px 10px; border-radius:999px;
  font-size:12px; font-weight:800; white-space:nowrap;
}
.event-tag.free{ background:#e3f6ec; color:#1e8a4c; }
.event-tag.paid{ background:#eae7ff; color:#4f46e5; }
.event-list b{ color:#12305c; font-size:15px; }
.event-list p{ margin:4px 0 0; font-size:13.5px; line-height:1.6; color:#526b92; }
.event-list p b{ color:#2563eb; font-size:inherit; }
.event-cta{
  display:block; margin:20px 0 0; height:50px; line-height:50px; text-align:center;
  border-radius:12px; background:linear-gradient(135deg,#2563eb,#1d4ed8);
  color:#fff; font-size:15.5px; font-weight:800;
  transition:transform .15s ease, box-shadow .15s ease;
}
.event-cta:hover{ transform:translateY(-1px); box-shadow:0 12px 26px rgba(37,99,235,.28); }
.event-foot{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 26px 20px; margin-top:8px;
}
.event-hide{ display:flex; align-items:center; gap:7px; font-size:13px; color:#8090ab; cursor:pointer; }
.event-hide input{ width:16px; height:16px; accent-color:#2563eb; }
.event-dismiss{ background:none; border:none; font-size:13.5px; font-weight:700; color:#526b92; cursor:pointer; }
.event-dismiss:hover{ color:#2563eb; }
@media (max-width:480px){
  .event-title{ font-size:21px; }
  .event-illust{ width:92px; }
}

/* ===== 수시진단 결제 팝업 ===== */
.pay-overlay{
  position:fixed; inset:0; z-index:2200;
  display:flex; align-items:center; justify-content:center;
  padding:20px; overflow:auto;
  background:rgba(11,35,80,.55); backdrop-filter:blur(2px);
  animation:gateFade .2s ease;
}
.pay-overlay[hidden]{ display:none; }
.pay-modal{
  position:relative; width:100%; max-width:440px; margin:auto;
  background:#fff; border-radius:22px; overflow:hidden;
  box-shadow:0 34px 80px rgba(11,35,80,.4);
  animation:gatePop .24s cubic-bezier(.2,.7,.3,1);
}
.pay-close{
  position:absolute; top:12px; right:14px; z-index:3;
  width:34px; height:34px; border:none; background:rgba(255,255,255,.2);
  color:#fff; font-size:24px; line-height:1; cursor:pointer; border-radius:9px;
}
.pay-close:hover{ background:rgba(255,255,255,.35); }
.pay-head{
  padding:28px 28px 24px; color:#fff;
  background:
    radial-gradient(120% 130% at 82% 18%, rgba(56,189,248,.5), rgba(56,189,248,0) 55%),
    linear-gradient(140deg,#2f7fe0 0%,#1e40af 60%,#0b2350 100%);
}
.pay-badge{
  display:inline-block; padding:5px 12px; border-radius:999px;
  background:rgba(255,255,255,.18); font-size:11.5px; font-weight:800; letter-spacing:.06em;
}
.pay-head h3{ margin:12px 0 0; font-size:21px; line-height:1.35; letter-spacing:-.03em; font-weight:800; }
.pay-head p{ margin:8px 0 0; font-size:13px; line-height:1.6; color:rgba(255,255,255,.82); }
.pay-body{ padding:22px 26px 24px; }
.pay-steps{
  list-style:none; margin:0 0 20px; padding:0;
  display:flex; align-items:center; justify-content:space-between; gap:6px;
}
.pay-steps li{
  flex:1; display:flex; flex-direction:column; align-items:center; gap:6px;
  font-size:12px; font-weight:700; color:#9aa8c2; text-align:center; position:relative;
}
.pay-steps li span{
  width:26px; height:26px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#eef2f9; color:#9aa8c2; font-size:12.5px; font-weight:800;
}
.pay-steps li.on{ color:#2563eb; }
.pay-steps li.on span{ background:#2563eb; color:#fff; }
.pay-steps li:not(:last-child)::after{
  content:""; position:absolute; top:13px; left:calc(50% + 20px); right:calc(-50% + 20px);
  height:2px; background:#eef2f9;
}
.pay-label{ display:block; font-size:13px; font-weight:700; color:#12305c; margin-bottom:8px; }
.pay-upload{
  display:flex; align-items:center; gap:10px; cursor:pointer;
  padding:12px 12px 12px 16px; border:1.5px dashed #c3d0e6; border-radius:12px;
  background:#f7faff; transition:border-color .15s ease, background .15s ease;
}
.pay-upload:hover{ border-color:#2563eb; background:#eef4ff; }
.pay-upload input{ display:none; }
.pay-filename{ flex:1; font-size:13.5px; color:#8090ab; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pay-filename.has-file{ color:#12305c; font-weight:700; }
.pay-browse{
  flex-shrink:0; padding:7px 14px; border-radius:8px;
  background:#2563eb; color:#fff; font-size:12.5px; font-weight:700;
}
.pay-hint{ margin:8px 2px 0; font-size:12px; line-height:1.5; color:#8090ab; }
.pay-price-row{
  display:flex; align-items:center; justify-content:space-between;
  margin:20px 0 14px; padding:14px 16px; border-radius:12px; background:#f3f6fb;
}
.pay-price-row span{ font-size:13.5px; font-weight:700; color:#526b92; }
.pay-price-row strong{ font-size:20px; font-weight:800; color:#12305c; letter-spacing:-.02em; }
.pay-methods{ display:flex; gap:10px; }
.pay-methods label{
  flex:1; display:flex; align-items:center; justify-content:center; gap:7px;
  padding:12px; border:1.5px solid #dde5f0; border-radius:12px;
  font-size:13.5px; font-weight:700; color:#526b92; cursor:pointer;
  transition:border-color .15s ease, background .15s ease, color .15s ease;
}
.pay-methods label.on{ border-color:#2563eb; background:#eef4ff; color:#2563eb; }
.pay-methods input{ accent-color:#2563eb; }
.pay-msg{ display:none; margin:16px 2px 0; font-size:13px; line-height:1.55; }
.pay-msg.show{ display:block; }
.pay-msg.err{ color:#d64545; }
.pay-msg.info{ color:#2563eb; }
.pay-msg b{ font-weight:800; }
.pay-cta{
  display:block; width:100%; margin:18px 0 0; height:52px;
  border:none; border-radius:12px; cursor:pointer;
  background:linear-gradient(135deg,#2563eb,#1d4ed8);
  color:#fff; font-size:15.5px; font-weight:800;
  transition:transform .15s ease, box-shadow .15s ease;
}
.pay-cta:hover{ transform:translateY(-1px); box-shadow:0 12px 26px rgba(37,99,235,.28); }
.pay-note{ margin:14px 2px 0; font-size:11.5px; line-height:1.5; color:#a3aec2; text-align:center; }
@media (max-width:480px){
  .pay-head h3{ font-size:19px; }
  .pay-steps li{ font-size:11px; }
}

/* ===== 브랜드 워드마크 (SIGNAL 로고 글자체) ===== */
.brand-wordmark,
.f-wordmark{
  font-family:'Orbitron', 'Pretendard Variable', sans-serif !important;
  font-weight:800 !important;
  white-space:nowrap; line-height:1; display:inline-block;
  filter:none !important;
}
/* 헤더 상호명 */
.brand-wordmark{ font-size:18px; letter-spacing:.01em; }
.brand-wordmark,
.home-page .brand-wordmark,
.has-overlay-header .brand-wordmark{ color:#12305c !important; }
/* 푸터 상호명 */
.f-wordmark{ font-size:30px; letter-spacing:0; color:#12305c !important; }
@media (max-width:768px){
  .brand-wordmark{ font-size:15px; }
  .f-wordmark{ font-size:23px; }
}
@media (max-width:480px){
  .brand-wordmark{ font-size:13px; letter-spacing:0; }
  .f-wordmark{ font-size:19px; }
}
