/* 가로 스크롤 방지(권장) */
html, body { overflow-x: hidden; }
h2 {display: none;}
h3 {background: none; padding-top: 0px;}
.ui-page-tab .nav-red {margin-bottom: 0px; margin-top: 20px;}
/*#sub_visual {height: 250px !important}
#sub_visual h3,#sub_visual .page-role,#sub_visual .page-ctrl {display: none;}*/
.ui-page-tab li.on a, .ui-page-tab li a:hover {background: #3F51B5; border: 5px solid #3F51B5;}
.nav-red > li > a:hover, .nav-red > li > a:focus, .nav-red > li.active > a, .nav-red > li.active > a:hover, .nav-red > li.active > a:focus {background: #3F51B5; border: 5px solid #3F51B5;}

:root{
  --reveal-dur: .60s;
  --reveal-ease: cubic-bezier(.22,.61,.36,1);
  --reveal-offset: 28px; /* 올라오는 거리 */
}

/* 초기 상태 */
.reveal{
  opacity: 0;
  transform: translateY(var(--reveal-offset));
  transition:
    opacity var(--reveal-dur) var(--reveal-ease),
    transform var(--reveal-dur) var(--reveal-ease);
  will-change: opacity, transform;
}

/* 표시 상태 */
.reveal.show{
  opacity: 1;
  transform: translateY(0);
}

/* 공통: 순차 지연(원하는 만큼 늘려 쓰세요) */
.delay-0{transition-delay:0s}
.delay-1{transition-delay:.06s}
.delay-2{transition-delay:.12s}
.delay-3{transition-delay:.18s}
.delay-4{transition-delay:.24s}
.delay-5{transition-delay:.30s}

/* 기본 페이드업 */
.reveal-up{opacity:0; transform:translateY(40px); transition:opacity .7s ease-out, transform .7s ease-out; will-change:opacity,transform}
.reveal-up.show{opacity:1; transform:none}

/* 블러+페이드 */
.reveal-blur{opacity:0; filter:blur(10px); transform:translateY(20px); transition:opacity .8s ease, transform .8s ease, filter .8s ease}
.reveal-blur.show{opacity:1; filter:blur(0); transform:none}

/* 스케일 업 (버튼/칩/배지) */
.reveal-scale{opacity:0; transform:scale(.92); transition:opacity .6s cubic-bezier(.22,.61,.36,1), transform .6s cubic-bezier(.22,.61,.36,1)}
.reveal-scale.show{opacity:1; transform:scale(1)}

/* 틸트(입체감) 카드 */
.reveal-tilt{opacity:0; transform:translateY(36px) rotateX(8deg); transform-origin:bottom; transition:opacity .8s ease-out, transform .8s ease-out}
.reveal-tilt.show{opacity:1; transform:none}

.reveal-clip{opacity: 0; transform: translateY(20px);transition: opacity .7s ease-out, transform .7s ease-out;/* clip-path 완전 비활성화 */-webkit-clip-path: none !important; clip-path: none !important;filter: none !important; display: inline-block; /* 텍스트 안정화 */will-change: opacity, transform;}
.reveal-clip.show{opacity: 1;transform: translateY(0);}

/* 접근성: 모션 줄임 */
@media (prefers-reduced-motion:reduce){
  .reveal-up,.reveal-blur,.reveal-scale,.reveal-tilt,.reveal-clip{opacity:1!important; transform:none!important; filter:none!important; transition:none!important}
}

/* 섹션 기본 레이아웃 */
.ait-section.hero{position: relative;          /* ::before 기준 */ z-index: 0;min-height: 100vh;display: grid; place-items: center;text-align: center;padding: 64px 20px;color:#fff;}

/* ★ 풀배경: 컨테이너(max-width:1750px)의 영향 없이 뷰포트 전체로 확장 */
.ait-section.hero::before{content:"";position:absolute; z-index:-1;inset: 0 calc(50% - 50vw);background:radial-gradient(120% 60% at 50% 30%, rgba(0,0,0,0) 40%, rgba(0,0,0,.55) 100%),linear-gradient(to bottom, #08090c 0%, #0e1630 55%, #0a1e3a 100%);
}

/* 내부 컨텐츠 폭 제한 */
.ait-section .hero-inner{ width:100%; max-width:1000px;    /* 필요 시 조정 */margin:0 auto;}
.ait-section .hero-inner h2 {border-bottom: 0; text-align: center; color: #fff;}
.ait-section .hero-inner h3 {border-bottom: 0; text-align: center; color: #fff;}
/* 윗칸 */
.top-area{ margin-bottom:60px; }
.ait-logo{ width:200px; display:block; margin:0 auto 20px; }
.title{ font-size:48px; font-weight:700; }

/* 아래칸 */
.bottom-area p{ margin:8px 0; text-align: center;}
.line1{ font-size:32px; font-weight:600; }
.line2{ font-size:64px; font-weight:800; color:#00d0ff; }
.line3{ font-size:24px; line-height:1.6; color:rgba(255,255,255,.85); margin-top:20px; }

/* 모바일 여백 */
@media (max-width:480px){
  .ait-section.hero{ padding:48px 16px; }
}

/* ====== 2번째 영역 스타일 ====== */
.ait-sec2{padding: 80px 20px; color:#0b0b0b;}
.ait-sec2-wrap{ /*max-width:1400px;*/ margin:0 auto; }

/* 상단: 중앙정렬 */
.ait-sec2-header{ text-align:center; margin-bottom:56px; }
.ait-sec2-header h2 {border-bottom: 0;}
.ait-sec2-title{ text-align:center;font-size: clamp(28px, 4vw, 40px);font-weight: 800;letter-spacing:-.02em;margin: 0 0 14px; color:#000;}
.ait-sec2-sub{margin: 0 auto 18px;line-height: 1.7; color:#333;font-weight:600;font-size: clamp(14px, 2.2vw, 20px);text-align: center;}
.ait-sec2-btn{display:inline-block;padding: 10px 18px;border:1px solid #cfd6e4;border-radius: 999px;font-weight: 600;font-size: 18px; color:#1a1a1a;background:#fff;transition: transform .12s ease, box-shadow .12s ease, background .12s ease;}
.ait-sec2-btn:hover{ transform: translateY(-1px); box-shadow:0 6px 18px rgba(0,0,0,.06); background:#f9fafc; }

/* 중간: 도표 */
.ait-sec2-charts{display:grid;grid-template-columns: 1fr;gap: 24px;margin-bottom: 56px;}
@media (min-width: 900px){
  .ait-sec2-charts{ grid-template-columns: 1fr 1fr; }
}
.chart-card{border:1px solid #e6e9f0;border-radius:16px;background:#fff;box-shadow: 0 2px 12px rgba(0,0,0,.03);overflow:hidden;}
.chart-title{margin:0; padding:16px 18px;font-weight:800; font-size:16px;background:#f7f9fc; border-bottom:1px solid #eef2f8;}
.chart-body{ padding:18px; }

/* 비전: 한 줄 박스 */
.chart-card.vision{padding: 0; border:1px solid #e6e9f0; border-radius:16px;background:#fff; box-shadow: 0 2px 12px rgba(0,0,0,.03);}
.vision-line{ position: relative; display: flex;align-items: center; justify-content: center;       /* 텍스트 진짜 중앙 */ padding: 22px 16px; min-height: 72px;}

/* 왼쪽 라벨 */
.vision-line .badge{
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  padding: 8px 14px;
  border-radius: 10px;
  background: #0e2341;          /* 사이트 톤에 맞춰 변경 가능 */
  color: #fff;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .02em;
}

/* 중앙 텍스트 */
.vision-text{
  text-align: center;
  font-weight: 900;
  letter-spacing: -0.02em;
  font-size: clamp(20px, 3.3vw, 28px);
  color: #0b0b0b;
  line-height: 1.3;
}

.vision-text em{
  font-style: normal;
  font-weight: 800;
  color: #0b6ca8;                /* ( ) 안 영어만 살짝 강조 */
}
/* Vision 리스트 */
.chart-kv{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.chart-kv li{
  display:grid; grid-template-columns: 36px 1fr; align-items:center;
  padding:12px 12px; border:1px dashed #e2e7f0; border-radius:12px; background:#fbfdff;
}
.chart-kv b{
  width:32px;height:32px; display:grid; place-items:center;
  font-weight:900; border-radius:8px; background:#e8f6ff; color:#0b6ca8;
}

/* Goals 그리드 */
.goal-grid{
  display:grid; gap:12px;
  grid-template-columns: 1fr 1fr;
}
@media (min-width: 720px){
  .goal-grid{ grid-template-columns: repeat(4, 1fr); }
}
.goal{
  border:1px solid #e6e9f0; border-radius:12px; padding:14px 12px; background:#fff;
}
.goal h4{ margin:0 0 6px; font-size:14px; color:#0b6ca8; font-weight:800; }
.goal p{ margin:0; color:#333; font-size:14px; line-height:1.5; }

/* 마지막: 왼쪽 정렬 */
.ait-sec2-bottom{ text-align:left; }
.bottom-title{font-size: clamp(22px, 3.2vw, 28px);margin:0 0 14px; font-weight:800;}
.bottom-desc{
  margin:0 0 18px; color:#333; line-height:1.8;}

/* 점 아이콘이 있는 박스형 리스트 */
.bullet-box{
  border:2px solid #0e2341; border-radius:14px; background:#fff;
  padding:18px 20px;
  box-shadow: 0 1px 10px rgba(0,0,0,.03);
  max-width:100%;
}
.bullets{ margin:0; padding:0 0 0 1.1em; }
.bullets li{
  margin: 8px 0;
  line-height:1.6;
  list-style: disc;
}

@media (max-width:480px){
  .vision-line{ padding: 18px 14px; min-height: 64px; }
  .vision-line .badge{ left: 12px; padding: 6px 10px; font-size: 12px; }
}

/* 공통 보드 컨테이너 */
.ait-sec2-board{border:1px solid #dfe6ef;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.03); margin-bottom:50px;}

/* 행(비전/목표/전략) */
.board-row{ padding:16px 18px; border-top:1px solid #eef3f9; }
.board-row:first-child{ border-top:none; background:#d8e3f2;}

/* 행 헤더: 배지 + 타이틀 */
.row-head{position:relative;display:flex;align-items:center; gap:14px; /*margin-bottom:12px;*/}
.head-badge{flex:0 0 auto;padding:6px 12px; border-radius:10px;background:#e8f1fb;color:#0e2341;font-weight:800;font-size:16px; letter-spacing:.02em;}
.row-title{margin:0;font-weight:900;letter-spacing:-.02em;font-size: clamp(18px, 2.4vw, 22px);color:#0b0b0b;}
.row-title em{ font-style:normal; color:#0b6ca8; }

/* 1) 비전: 중앙 정렬 강조 줄 */
.vision-row .row-head{justify-content:center;  /* 가운데 */}
.vision-row .head-badge{ position:absolute; left:18px;   /* 왼쪽 라벨 고정 */}
.vision-row .row-title{text-align:center; font-size: clamp(20px, 3.2vw, 24px);}

/* 2) 목표: 칩(알약) 리스트 */
.goals-row {background: #fff;padding: 16px 18px;}

/* 좌우 배치 (flex) */
.goals-flex {display: flex;justify-content: space-between;align-items: flex-start;flex-wrap: wrap;gap: 16px;}

/* 왼쪽: 한 줄 (배지 + 제목) */
.goals-left { display: flex;align-items: center;gap: 10px;flex-shrink: 0;white-space: nowrap;}
.goal-left-title {margin: 0;font-weight: 900;letter-spacing: -0.02em;font-size: clamp(18px, 2.6vw, 22px);color: #0b0b0b;}

/* 기존 배지 재사용 */
/*.head-badge {padding: 6px 12px;border-radius: 10px;background: #e8f1fb;color: #0e2341;font-weight: 800;font-size: 13px;letter-spacing: 0.02em;}*/

/* 오른쪽: 텍스트 + 칩 */
.goals-right {flex: 1;min-width: 280px;text-align: center; display: flex;flex-direction: column;align-items: center;justify-content: center;}
.goal-right-head {margin: 0 0 14px;font-weight: 800;letter-spacing: -0.01em; color: #0b0b0b;font-size: clamp(16px, 2.4vw, 18px);line-height: 1.6;text-align: center; max-width: 600px;}

/* 칩 리스트: 중앙 정렬 + 동일 너비 */
.chip-list {display: flex;justify-content: center;flex-wrap: wrap;gap: 12px;margin: 0;padding: 0;list-style: none;}

/* 칩: 동일한 너비 */
.chip {flex: 0 0 180px; text-align: center;padding: 10px 14px;border: 1px solid #d8e3f2;border-radius: 999px;background: #f7fbff;font-weight: 700;font-size: 16px;color: #0e2341;white-space: nowrap;box-sizing: border-box;}

/* 모바일 대응 */
@media (max-width: 720px) {
  .goals-flex {flex-direction: column;align-items: flex-start;}
  .chip {flex: 1 1 45%; }
}


/* 3) 추진전략: 3 칼럼 카드 */
.strategy-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 16px;margin: 20px 0;}
.strategy-card {position: relative; overflow: visible; /* 화살표 기준 */border: 0px solid #e6e9f0;border-radius: 12px;padding: 16px 14px 18px;background: #fff;}
.card-head {position: relative; display: flex;align-items: center;gap: 8px;margin-bottom: 15px;}
.strategy-row .head-badge{flex:0 0 auto;padding:6px 12px; border-radius:0px;background: none;color:#0e2341;font-weight:800;font-size:20px; letter-spacing:.02em;}
.head-arrow{position: absolute; right: -46px; top: -6px;  width: 74px; height: auto;pointer-events: none;display: block;}
.strategy-card:last-child .head-arrow{ display: none; }
.card-badge {width: 30px;height: 28px; line-height: 28px;border-radius: 8px;display: grid;place-items: center;font-weight: 900;color: #fff;font-size: 16px; text-align: center;}

.card-badge.a { background: #2d65ff; }
.card-badge.i { background: #6f42c1; }
.card-badge.t { background: #0ea371; }

.card-title {margin: 0;font-size: 24px;font-weight: 800;letter-spacing: -0.02em;}
.card-content {text-align: center; padding: 30px; border: 1px solid #e6e9f0;}

/* 서브 타이틀 */
.card-sub {position: relative;font-weight: 800;font-size: 16px;color: #0b0b0b;margin-bottom: 20px;}

/* 가로 라인 추가 */
.card-sub::after {content: "";display: block;width: 50px; height: 2px;background: #0e2341;margin: 10px auto 0; border-radius: 1px;}

/* 리스트 */
.card-bullets {margin: 0; padding: 0;list-style: none;}
.card-bullets li {margin: 6px 0;line-height: 1.6;color: #333;}

@media (max-width: 820px){
  .head-arrow{ display:none; }
}

@media (max-width: 768px){
  .vision-row .row-head{position: relative;flex-direction: column; align-items: center; justify-content: center;gap: 8px;text-align: center;}
  .vision-row .head-badge{position: static; display: inline-block;padding: 6px 12px;background: #e8f1fb; color: #0e2341;border-radius: 10px; font-weight: 800;}
  .vision-row .row-title{text-align: center;font-size: 18px; line-height: 1.5;}
  .vision-row .row-title em{font-size: inherit;}

  /* 3칸 → 1칸 */
  .strategy-grid{grid-template-columns: 1fr;gap: 12px;margin: 14px 0;}
  .strategy-card{padding: 14px 12px 16px;border-radius: 10px;}

  /* 타이틀 줄 높이/크기 축소 */
  .card-head{gap: 8px;margin-bottom: 8px;}
  .card-badge{ width: 26px; height: 26px; font-size: 14px;border-radius: 7px;}
  .card-title{font-size: 16px;}

  /* 화살표 이미지는 모바일에서 숨김(세로 스택 겹침 방지) */
  .head-arrow{ display:none; }

  /* 내용 박스 */
  .card-content{padding-top: 8px;border-width: 1px;text-align: center;}

  /* 서브 타이틀 + 하단 라인 */
  .card-sub{ font-size: 15px;margin-bottom: 16px;}
  .card-sub::after{
    width: 40px; height: 2px; margin-top: 8px;
  }

  /* 리스트 가독성 */
  .card-bullets{ padding-left: 0; }
  .card-bullets li{
    margin: 6px 0;
    line-height: 1.55;
    font-size: 14px;
  }
}


/* 작은 화면 보정 */
@media (max-width:480px){
  .row-head{ gap:10px; }
  .head-badge{ padding:5px 10px; font-size:12px; }
  .card-title{ font-size: 15px; }
  .card-sub{ font-size: 14.5px; }
}


/* ****** 학과리스트 **********/
.dept_main .ob-box .ob-info.type01 {float: left;width: 100%;padding-left: 25px; padding-right: 25px;}
.quick-link-wrap {display: block;color: inherit;text-decoration: none;}
.quick-link-wrap:hover .quick-item {background-color: #be222f;border-color: #be222f;}
.quick-link-wrap:hover .quick-btn,
.quick-link-wrap:hover .arrow { color: #fff;}
.quick-links {display: grid;grid-template-columns: repeat(3, 1fr);gap: 16px;margin-top: 20px;grid-auto-rows: 1fr; /* 💡 카드 자동 높이 동일하게 맞추기 */}
.quick-item {background-color: #f5f5f5;display: flex; flex-direction: column;justify-content: flex-start; height: 100%;padding: 16px 20px;border-radius: 8px; border: 1px solid #ccc;transition: background-color 0.3s, border-color 0.3s;cursor: pointer;}

/* 카드 내부 썸네일 이미지 */
.quick-item .thumb { width: 100%;margin-bottom: 12px;overflow: hidden; border-radius: 8px;flex-shrink: 0; /* ✅ 이미지 크기 줄어들지 않도록 */}
.quick-item .thumb img {width: 100%;height: auto; display: block; border-radius: 8px;}
.top-row {display: flex; justify-content: space-between;align-items: center; cursor: pointer;margin: 10px 0;}
.quick-btn {font-weight: 600; font-size: 26px;color: #333;text-decoration: none;}
.quick-item:hover .quick-btn {color: #fff;}

/* 텍스트 기반 화살표 */
.link-arrow { font-size: 25px;color: inherit;transition: transform 0.3s; padding-left: 10px;}
.quick-btn:hover .link-arrow {transform: translateX(3px);}

/* SNS 아이콘 */
.sns-icons { display: flex; gap: 6px;}
.sns-icons a {cursor: pointer; /* SNS는 독립 링크 */}
.sns-icons img { width: 30px; height: 30px;vertical-align: middle; /* filter 제거로 색상 유지 */}

/* 텍스트 링크 (서브 전공 등) */
.text-links {display: flex;flex-wrap: wrap; gap: 8px;}
.text-links a {display: inline-flex;align-items: center;background-color: #efefef; padding: 6px 12px;border-radius: 20px;font-size: 14px; color: #333; text-decoration: none;transition: background-color 0.3s, color 0.3s;font-weight: 500;}
.text-links a .txt-arrow { margin-left: 6px;font-size: 14px; color: inherit; transition: transform 0.3s;}
.quick-item:hover .text-links a { background-color: #740505; color: #fff !important;}
.quick-item:hover .text-links a .txt-arrow { transform: translateX(3px);}

/* ▶ 화살표 */
.arrow {font-size: 18px; color: #999; transition: transform 0.3s, color 0.3s;}
.quick-item:hover .arrow { transform: translateX(4px); color: #fff;}
.quick-item:hover,
.quick-item .sns-icons:hover,
.quick-item .text-links:hover {background-color: #be222f;border-color: #be222f;}
.quick-item:hover .quick-btn,
.quick-item .sns-icons:hover ~ .quick-btn,
.quick-item .text-links:hover ~ .quick-btn {color: #fff;}
.quick-item .sns-icons:hover ~ .arrow,
.quick-item .text-links:hover ~ .arrow { color: #fff;}
.dept-desc { margin-top: 10px; font-size: 16px; color: #444; line-height: 1.6; transition: color 0.3s;}
.quick-item:hover .dept-desc {color: #fff; /* ✅ hover 시 흰색으로 변경 */}
/* 반응형 대응 */
@media (max-width: 1024px) {
  .quick-links {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .quick-links {
    grid-template-columns: 1fr;
  }
}


/******* 학과사무실 안내 *******/
:root{
  --cb-blue-1:#2836b8; /* 메인 */
  --cb-blue-2:#2f3ccf; /* 그라데이션 상단 */
  --cb-blue-3:#1f2a95; /* 하단 진한 톤 */
}

/* 바깥 여백은 필요 시 조정 */
.contact-banner{ margin: 60px 0;}

/* 박스 자체 */
.cb-inner{position: relative;border-radius: 28px;padding: 40px 32px;color: #fff; overflow: hidden;box-shadow: 0 10px 30px rgba(23,35,84,.25);background:radial-gradient(120% 120% at 85% 10%, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 45%),
    linear-gradient(135deg, #6c2bd9 0%, #2f3ccf 40%, #1a47ff 80%, #0b1c65 100%);}

/* 레이아웃: 좌/우 2열 */
.cb-inner{ display: grid;grid-template-columns: 1fr auto; align-items: center;gap: 24px; max-width: 1200px;  margin: 0 auto;}

/* 왼쪽 타이틀 */
.cb-title{ margin: 0; font-weight: 800;letter-spacing: -.02em; font-size: clamp(22px, 2.2vw, 34px); color: #fff;}

/* 오른쪽(서브타이틀 + 전화) */
.cb-right{ display: grid;gap: 8px;justify-items: end;text-align: right;}
.cb-sub{margin: 0;opacity: .95; font-weight: 600;font-size: clamp(14px, 1.4vw, 20px);}
.cb-phone{ margin: 0;font-weight: 900;font-size: clamp(22px, 3.2vw, 40px); line-height: 1;color: #fff;text-decoration: none;transition: transform .15s ease, opacity .15s ease;}
.cb-phone:hover{ transform: translateY(-1px); opacity: .9; }

/* 모바일(≤640px): 세로 스택 + 가운데 정렬 */
@media (max-width:640px){
  .cb-inner{grid-template-columns: 1fr; padding: 22px 20px; }
  .cb-right{ justify-items: center; text-align: center; }
  .cb-title{ font-size: 26px; }
  .cb-phone{ font-size: 30px; }
}
