/* TAI 공통 스타일 v1.9 — FN-07: 전문가 상담 링크 전역 숨김 */
*, *::before, *::after { box-sizing: border-box; }
:root {
  --red: #e63946;
  --navy: #0d1b2a;
  --navy2: #162535;
  --gray-bg: #f4f6f8;
  --text: #1a1a2e;
  --sub: #5a6476;
  --border: #e8eaed;
  --main-color: #0d1b2a !important;
  --main-color-opacity: 13, 27, 42 !important;
}
body { font-family: 'Noto Sans KR', sans-serif; color: var(--text); margin: 0; padding: 0; }
a { text-decoration: none; }

/* FN-07: 전문가 상담 링크 전역 숨김 — TAI는 상담 서비스가 아님 (데이터→엔진→자동판단) */
.diag-nudge-secondary { display: none !important; }

/* 스크롤바 */
.sc5::-webkit-scrollbar { width: 8px !important; height: 8px !important; }
.sc5::-webkit-scrollbar-track { background: #1a1a2e !important; border-radius: 0 !important; }
.sc5::-webkit-scrollbar-thumb { background: #3d4555 !important; border-radius: 4px !important; box-shadow: none !important; }
.sc5::-webkit-scrollbar-thumb:hover { background: #555d6e !important; }
html { scrollbar-color: #3d4555 #1a1a2e; scrollbar-width: thin; }

/* 버튼 수직 정렬 전역 픽스 */
.btn,
.btn-base,
.btn-border,
.btn-border-white,
.btn-white {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

/* GNB (미사용 — 향후 tai-nav 전환 시 padding-top: 64px 복원) */
.tai-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: rgba(13,27,42,.97);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.tai-nav .inner {
  max-width: 1260px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 24px; height: 64px;
}
.tai-nav .logo img { height: 34px; }
.tai-nav .nav-links { display: flex; gap: 4px; align-items: center; flex-wrap: wrap; }
.tai-nav .nav-links a {
  color: rgba(255,255,255,.72); font-size: .86rem; font-weight: 500;
  padding: 6px 11px; border-radius: 6px; transition: all .15s;
}
.tai-nav .nav-links a:hover { background: rgba(255,255,255,.1); color: #fff; }
.tai-nav .nav-links a.active { color: #fff; font-weight: 700; }
.tai-nav .nav-sep { color: rgba(255,255,255,.2); padding: 0 2px; font-size:.8rem; }
.tai-nav .nav-cta {
  background: var(--red) !important; color: #fff !important;
  font-weight: 700 !important; margin-left: 8px;
}
.tai-nav .nav-cta:hover { background: #c1121f !important; }

/* FOOTER */
.tai-footer { background: #090e17; border-top: 1px solid rgba(255,255,255,.07); }
.footer-patent {
  background: rgba(255,255,255,.03);
  text-align: center; padding: 8px 24px;
  font-size: .72rem; color: rgba(255,255,255,.3); line-height: 1.5;
}
.footer-main { padding: 56px 24px 36px; max-width: 1260px; margin: 0 auto; }
.footer-grid { display: grid; grid-template-columns: 2.4fr 1fr 1fr 1fr; gap: 40px; }
@media(max-width:900px){ .footer-grid { grid-template-columns: 2fr 1fr 1fr; } }
@media(max-width:640px){ .footer-grid { grid-template-columns: 1fr 1fr; } }
.footer-logo img { height: 32px; margin-bottom: 18px; display: block; }
.footer-info p { font-size: .77rem; color: rgba(255,255,255,.38); margin-bottom: 3px; line-height: 1.6; }
.footer-info a { color: rgba(255,255,255,.38); }
.footer-info a:hover { color: rgba(255,255,255,.7); }
.footer-info .co-name { font-size: .82rem; font-weight: 700; color: rgba(255,255,255,.6); margin-bottom: 10px; display: block; }
.footer-col h6 { font-size: .72rem; font-weight: 700; color: rgba(255,255,255,.5); margin-bottom: 14px; text-transform: uppercase; letter-spacing: .12em; }
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col ul li { margin-bottom: 8px; }
.footer-col ul li a { font-size: .82rem; color: rgba(255,255,255,.4); transition: color .15s; }
.footer-col ul li a:hover { color: #fff; }
.footer-bottom {
  max-width: 1260px; margin: 0 auto;
  display: flex; justify-content: space-between; align-items: center;
  padding: 18px 24px; border-top: 1px solid rgba(255,255,255,.06);
  font-size: .74rem; color: rgba(255,255,255,.22);
}
@media(max-width:640px){ .footer-bottom { flex-direction: column; gap: 6px; text-align: center; } }

/* 공통 버튼 */
.btn-red { display:inline-block; background:var(--red); color:#fff; font-weight:700; font-size:.95rem; padding:13px 28px; border-radius:7px; border:none; transition:background .2s; cursor:pointer; }
.btn-red:hover { background:#c1121f; color:#fff; }
.btn-navy { display:inline-block; background:var(--navy); color:#fff; font-weight:700; font-size:.95rem; padding:13px 28px; border-radius:7px; border:none; transition:background .2s; }
.btn-navy:hover { background:#162535; color:#fff; }
.btn-outline { display:inline-block; background:transparent; border:1.5px solid var(--navy); color:var(--navy); font-weight:700; font-size:.95rem; padding:12px 26px; border-radius:7px; transition:all .2s; }
.btn-outline:hover { background:var(--navy); color:#fff; }
.btn-outline-white { display:inline-block; background:transparent; border:1.5px solid rgba(255,255,255,.5); color:#fff; font-weight:600; font-size:.93rem; padding:12px 24px; border-radius:7px; transition:all .2s; }
.btn-outline-white:hover { background:rgba(255,255,255,.1); color:#fff; }

/* 공통 섹션 */
.sec { padding:90px 0; }
.sec-inner { max-width:1260px; margin:0 auto; padding:0 24px; }
.sec-tag { display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--red); margin-bottom:14px; }
.sec-h2 { font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:900; line-height:1.12; letter-spacing:-.025em; margin-bottom:12px; }
.sec-sub { font-size:1.05rem; line-height:1.65; }
.page-hero { padding:80px 0 70px; background:var(--navy); }
.page-hero .sec-h2 { color:#fff; }
.page-hero .sec-sub { color:rgba(255,255,255,.65); margin-bottom:32px; }
.page-hero-tag { display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--red); margin-bottom:14px; background:rgba(230,57,70,.12); border:1px solid rgba(230,57,70,.3); border-radius:4px; padding:4px 10px; }
@media(max-width:768px){ .sec { padding:60px 0; } .page-hero { padding:60px 0 50px; } }

/* Placeholder */
::placeholder { color: #b0b8c4 !important; opacity: 1 !important; }
:-ms-input-placeholder { color: #b0b8c4; }
::-ms-input-placeholder { color: #b0b8c4; }
