/* ATS GROUP 기업 사이트 — 공통 스타일 */
:root{
  --navy:#0f1b2d; --navy-2:#16263d; --navy-3:#1e3350;
  --gold:#c9a96e; --gold-soft:rgba(201,169,110,.12);
  --ink:#16202e; --ink-2:#4a5668; --ink-3:#7c8796;
  --paper:#ffffff; --paper-2:#f7f6f3; --line:#e6e3dd;
  --wrap:1120px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:'Pretendard','Noto Sans KR',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  font-size:16px; line-height:1.75; -webkit-font-smoothing:antialiased;
  word-break:keep-all;
}
img{max-width:100%; height:auto; display:block;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 24px;}

/* 헤더 */
.site-head{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(12px); border-bottom:1px solid var(--line);}
.site-head .wrap{display:flex; align-items:center; justify-content:space-between; height:68px;}
.brand{display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:-.01em; font-size:17px;}
.brand img{width:30px; height:30px;}
.nav{display:flex; gap:4px;}
.nav a{padding:8px 14px; border-radius:8px; font-size:14.5px; font-weight:600; color:var(--ink-2);
  transition:background .2s,color .2s;}
.nav a:hover{background:var(--paper-2); color:var(--ink);}
.nav a[aria-current="page"]{color:var(--navy); background:var(--paper-2);}
.head-cta{display:inline-flex; align-items:center; gap:6px; background:var(--navy); color:#fff;
  padding:9px 16px; border-radius:9px; font-size:14px; font-weight:700;}
.head-cta:hover{background:var(--navy-2);}
.nav-toggle{display:none; background:none; border:1px solid var(--line); border-radius:8px;
  width:40px; height:38px; font-size:17px; cursor:pointer; color:var(--ink);}

/* 히어로 */
.hero{padding:104px 0 88px; background:
  radial-gradient(900px 420px at 50% -120px, rgba(201,169,110,.16), transparent 70%), var(--paper);
  border-bottom:1px solid var(--line);}
.hero .eyebrow{display:inline-block; font-size:11.5px; font-weight:800; letter-spacing:.16em;
  color:var(--gold); background:var(--gold-soft); border:1px solid rgba(201,169,110,.32);
  border-radius:999px; padding:5px 14px; margin-bottom:22px;}
.hero h1{font-size:clamp(30px,5vw,50px); line-height:1.28; font-weight:800; letter-spacing:-.025em;
  margin:0 0 20px; color:var(--navy);}
.hero p{font-size:clamp(15px,2vw,17.5px); color:var(--ink-2); max-width:680px; margin:0 0 34px;}
.btn-row{display:flex; gap:12px; flex-wrap:wrap;}
.btn{display:inline-flex; align-items:center; gap:8px; padding:13px 24px; border-radius:10px;
  font-size:15px; font-weight:700; transition:transform .2s, background .2s, border-color .2s;}
.btn-primary{background:var(--navy); color:#fff;}
.btn-primary:hover{background:var(--navy-2); transform:translateY(-1px);}
.btn-ghost{border:1.5px solid var(--line); color:var(--ink); background:#fff;}
.btn-ghost:hover{border-color:var(--gold); color:var(--navy);}

/* 섹션 공통 */
.section{padding:88px 0;}
.section.tinted{background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.section.dark{background:var(--navy); color:#fff;}
.sec-tag{display:block; font-size:11.5px; font-weight:800; letter-spacing:.16em; color:var(--gold); margin-bottom:12px;}
.sec-title{font-size:clamp(23px,3.4vw,34px); font-weight:800; letter-spacing:-.02em; margin:0 0 14px; color:var(--navy);}
.section.dark .sec-title{color:#fff;}
.sec-lead{font-size:16px; color:var(--ink-2); margin:0 0 44px; max-width:720px;}
.section.dark .sec-lead{color:rgba(255,255,255,.62);}

/* 사업 영역 카드 */
.biz-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.biz-card{display:flex; flex-direction:column; background:#fff; border:1px solid var(--line);
  border-radius:16px; padding:30px 28px; transition:border-color .25s, transform .25s, box-shadow .25s;}
.biz-card:hover{border-color:var(--gold); transform:translateY(-3px); box-shadow:0 14px 34px rgba(15,27,45,.08);}
.biz-card .kind{font-size:11.5px; font-weight:800; letter-spacing:.12em; color:var(--gold); margin-bottom:12px;}
.biz-card h3{font-size:20px; font-weight:800; margin:0 0 10px; color:var(--navy); letter-spacing:-.01em;}
.biz-card p{font-size:14.5px; color:var(--ink-2); margin:0 0 20px; flex:1;}
.biz-card .go{font-size:13.5px; font-weight:700; color:var(--navy); display:inline-flex; gap:6px; align-items:center;}
.biz-card .go span{color:var(--gold);}

/* 기업 개요 표 */
.facts{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line);
  border:1px solid var(--line); border-radius:14px; overflow:hidden;}
.facts>div{background:#fff; padding:18px 22px; display:flex; gap:16px;}
.section.dark .facts{background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.12);}
.section.dark .facts>div{background:var(--navy-2);}
.facts dt{flex:0 0 104px; font-size:12.5px; font-weight:800; color:var(--gold); margin:0; line-height:1.8;}
.facts dd{margin:0; font-size:14.5px; color:var(--ink-2); line-height:1.8;}
.section.dark .facts dd{color:rgba(255,255,255,.76);}

/* 연혁 */
.timeline{border-left:2px solid var(--line); margin:0; padding:0 0 0 26px;}
.timeline li{list-style:none; position:relative; padding-bottom:28px;}
.timeline li::before{content:''; position:absolute; left:-33px; top:8px; width:11px; height:11px;
  border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px var(--paper);}
.timeline .yr{font-size:12.5px; font-weight:800; color:var(--gold); letter-spacing:.06em;}
.timeline h4{margin:2px 0 4px; font-size:16.5px; font-weight:700; color:var(--navy);}
.timeline p{margin:0; font-size:14.5px; color:var(--ink-2);}

/* 가치 */
.value-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.value-card{border:1px solid var(--line); border-radius:16px; padding:28px; background:#fff;}
.value-card .num{font-size:12.5px; font-weight:800; color:var(--gold); letter-spacing:.1em;}
.value-card h3{font-size:18px; font-weight:800; margin:8px 0 8px; color:var(--navy);}
.value-card p{font-size:14.5px; color:var(--ink-2); margin:0;}

/* 고지 박스 */
.notice-box{border:1px solid var(--line); border-radius:16px; background:#fff; padding:30px 32px;}
.notice-box h3{font-size:16.5px; font-weight:800; margin:0 0 12px; color:var(--navy);}
.notice-box ul{margin:0 0 24px; padding-left:18px;}
.notice-box li{font-size:14.5px; color:var(--ink-2); margin-bottom:7px;}
.notice-box li:last-child{margin-bottom:0;}
.notice-box > *:last-child{margin-bottom:0;}

/* 푸터 */
.site-foot{background:var(--navy); color:rgba(255,255,255,.62); padding:56px 0 40px; font-size:13.5px;}
.foot-top{display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; margin-bottom:34px;}
.foot-brand{display:flex; align-items:center; gap:10px; color:#fff; font-weight:800; font-size:16px; margin-bottom:14px;}
.foot-brand img{width:28px; height:28px;}
.foot-links{display:flex; gap:26px; flex-wrap:wrap;}
.foot-col h4{font-size:12.5px; font-weight:800; color:var(--gold); letter-spacing:.1em; margin:0 0 12px;}
.foot-col a{display:block; margin-bottom:8px; color:rgba(255,255,255,.62);}
.foot-col a:hover{color:#fff;}
.foot-info{line-height:2; border-top:1px solid rgba(255,255,255,.1); padding-top:26px;}
.foot-info b{color:rgba(255,255,255,.85); font-weight:600;}
.foot-disclaimer{margin-top:18px; font-size:12.5px; color:rgba(255,255,255,.38); line-height:1.9;}

@media(max-width:900px){
  .biz-grid,.value-grid{grid-template-columns:1fr;}
  .facts{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .nav{position:absolute; top:68px; left:0; right:0; background:#fff; border-bottom:1px solid var(--line);
    flex-direction:column; padding:10px 16px 16px; gap:2px; display:none;}
  .nav.open{display:flex;}
  .nav a{padding:12px 10px;}
  .nav-toggle{display:block;}
  .head-cta{display:none;}
  .hero{padding:72px 0 64px;}
  .section{padding:64px 0;}
  .facts>div{flex-direction:column; gap:2px;}
  .facts dt{flex:none;}
}
@media(prefers-reduced-motion:reduce){
  *{transition:none !important; scroll-behavior:auto !important;}
}

/* FAQ · 공지 목록 */
.faq-wrap{max-width:860px;}
.faq-item{border:1px solid var(--line); border-radius:14px; background:#fff; margin-bottom:12px; overflow:hidden;}
.faq-item[open]{border-color:var(--gold);}
.faq-item summary{list-style:none; cursor:pointer; padding:20px 56px 20px 24px; position:relative;
  font-size:16px; font-weight:700; color:var(--navy); line-height:1.6;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+'; position:absolute; right:22px; top:50%; transform:translateY(-50%);
  font-size:20px; font-weight:400; color:var(--gold); transition:transform .2s;}
.faq-item[open] summary::after{content:'−';}
.faq-item summary:hover{background:var(--paper-2);}
.faq-a{padding:0 24px 22px; font-size:15px; color:var(--ink-2); line-height:1.9;
  border-top:1px solid var(--line); padding-top:18px; margin-top:-1px; white-space:pre-line;}
.notice-date{display:block; font-size:12.5px; font-weight:500; color:var(--ink-3); margin-top:4px;}
.facts a{color:var(--navy); text-decoration:underline; text-underline-offset:3px;}
/* 항목이 홀수면 마지막 칸이 비어 보이므로 한 줄을 채운다 */
.facts>div:last-child:nth-child(odd){grid-column:1 / -1;}

/* 약관·방침 문서 */
.doc{max-width:820px;}
.doc-meta{font-size:13px; color:var(--ink-3); border-bottom:1px solid var(--line);
  padding-bottom:18px; margin:0 0 34px;}
.doc h2{font-size:18px; font-weight:800; color:var(--navy); margin:36px 0 12px; letter-spacing:-.01em;}
.doc h2:first-of-type{margin-top:0;}
.doc p{font-size:15px; color:var(--ink-2); margin:0 0 14px; line-height:1.9;}
.doc ul{margin:0 0 18px; padding-left:20px;}
.doc li{font-size:15px; color:var(--ink-2); margin-bottom:8px; line-height:1.85;}
.doc a{color:var(--navy); text-decoration:underline; text-underline-offset:3px;}
.doc .facts{margin:0 0 14px;}
.doc-note{font-size:13.5px; color:var(--ink-3); background:var(--paper-2);
  border-radius:12px; padding:16px 20px; line-height:1.8;}
.hero a{color:var(--navy); text-decoration:underline; text-underline-offset:3px;}
