@charset "utf-8";
/* =========================================================================
   애드믹스 AD MIX — main.css  (index.html «메인 한 장» 전용 · body.home 안에서만)
   참고 = 태영건설(taeyoung.com)  실측 SPEC : _co/_스펙_sl3_taeyoung.md

   ★이 파일은 메인만 바꾼다. 서브는 body:not(.home) 이라 한 줄도 안 닿는다.
   ★헤더·푸터·mmenu 의 HTML 은 한 글자도 안 고쳤다. 모양만 여기서 바꾼다.

   맞춘 숫자 (태영 실측)
     대비율   히어로 76 : 섹션제목 50 : 본문 18 = 4.22 : 2.78 : 1
     행간     전 층 1.4286 (=10/7) — 108.57/76 · 71.43/50 · 45.71/32 · 37.14/26
     컨테이너 1200 @x189 · 안쪽 980 @x408
     섹션패딩 pt 85/90/90/70/85 · pb 160/105/70/100/120  (장마다 다르다)
     히어로   1013px (100vh 아니다)
     타일     캐러셀 1200×600 gap120 · ABOUT 395×679 gap7 · 4열 292×406 gap10
     헤더     fixed h90 «투명» · 대메뉴 각 120×90 · 17/400 흰 · ★로고가 «우측»
     라운드   0px 예외 없음 · 버튼은 «1px 아웃라인», 채운 버튼은 CTA 1건뿐
     색       무채색 지배 + 포인트 «한 점». 그라데이션 0건, 오버레이는 검은 «단색»
   ========================================================================= */

/* ------------------------------------------------------------------ 토큰 */
body.home{
  /* 포인트색 — sl3 배정 hue 213°. 흰 배경 위 6.44:1 · 위에 흰 글자 6.44:1 (계산값)
     ★면(배경)에는 CTA 버튼 1건에만 쓴다. 나머지는 막대·강조 글자·밑줄. */
  --p700:#1F5FA8;
  --p800:#164376;                /* 호버 — 흰 글자 9.51:1 */
  --face:#F3F3F3;                /* 섹션 교대 면 (태영 실측 그대로) */
  --tbl:#F4F5F8;                 /* 표 머리 (태영 실측) */
  --foot:#6E6E6E;                /* 푸터 — 태영 #828282 는 흰 14px 3.90:1 «AA 미달».
                                    같은 무채색에서 명도만 낮춰 5.10:1 로 맞췄다 */
  --ink:#212121; --body:#333333; --mute:#767676; --line:#EBEBEB;
  --ov1:rgba(0,0,0,.52);         /* 히어로 오버레이 — 화소로 계산(필요 .51 → .52 로 여유) */
  --ov2:rgba(0,0,0,.62);         /* 카드·패널 오버레이 — 태영 실측 .60, 계산 필요치 최대 .50 */
  --w:1200px; --wn:980px;

  /* site.css 가 «면»에 쓰는 변수는 전부 잉크색으로 눌러 둔다.
     포인트색이 배경으로 새어 나가는 가장 확실한 차단책이다. */
  --pri:#212121; --pri-d:#000000; --pri-soft:#F3F3F3; --acc:#1F5FA8; --focus:#1F5FA8;
  --bd:#EBEBEB; --bd-s:#333333; --bg2:#F3F3F3; --sub:#767676;
  --r:0px; --r-btn:0px; --r-ic:0px;
  --cw:1200px; --gut:0px;
  --hd-h:90px; --hd-bg:transparent; --hd-bd:transparent; --hd-fg:#ffffff; --hd-fg-2:#ffffff;
  --hero-scrim:rgba(0,0,0,.50);
  --ft-bg:#6E6E6E; --ft-fg:#F2F2F2; --ft-hd:#ffffff; --ft-bd:rgba(255,255,255,.28);
  --ft-note:rgba(255,255,255,.10);

  font-family:Pretendard,"Pretendard Variable",-apple-system,BlinkMacSystemFont,
              "Segoe UI",Roboto,"Helvetica Neue","Malgun Gothic","맑은 고딕",Arial,sans-serif;
  font-size:18px; line-height:1.4286; letter-spacing:-.035em; font-weight:400;
  color:var(--body); background:#fff;
}
/* ★명조·바탕 금지. 상속 사고를 막으려고 «전 요소»에 다시 건다 */
.home *{font-family:inherit}   /* body.home 을 넣으면 위 선언을 덮어 폰트가 날아간다 */
/* ★한국어는 어절 중간에서 끊기면 실격 (overflow-wrap:anywhere 는 keep-all 을 무력화한다) */
body.home,.home *{word-break:keep-all !important; overflow-wrap:normal}
/* ★태영은 라운드 0px 이 277개 중 277. 예외 0건 */
.home *,.home *::before,.home *::after{border-radius:0 !important}
/* 스크롤 등장 효과가 있어도 측정·캡처가 거짓이 되지 않게 켜 둔다 */
.home .rv{opacity:1 !important; transform:none !important}
.home img,.home video{display:block; max-width:100%}
.home :focus-visible{outline:3px solid #1F5FA8; outline-offset:2px}
.home .ty-hero :focus-visible,.home .hd :focus-visible{outline-color:#fff}

/* 컨테이너 1200@189 — 안쪽 여백은 «폭»으로 준다(패딩으로 주면 실측이 1248 로 잡힌다) */
.home .wrap,.home .ty-wrap{
  width:min(1200px,calc(100% - 48px)); max-width:none; margin:0 auto; padding:0}
.home .ty-narrow{width:min(980px,100%); margin:0 auto}

/* ------------------------------------------------------------------ 헤더
   fixed · h90 · «투명» · 대메뉴 7~8칸 각 120×90 · ★로고가 «오른쪽»
   HTML 순서는 [로고][메뉴][우측] 이지만 flex order 로만 자리를 바꾼다. */
.home .hd{
  position:fixed; top:0; left:0; right:0; z-index:100; height:90px;
  background:rgba(17,17,17,.94); border-bottom:0; box-shadow:none;
  backdrop-filter:none; -webkit-backdrop-filter:none}
/* 히어로 위에서만 «투명». 흰 섹션으로 넘어가면 진한 면이 된다.
   ★기본값을 «안전한 진한 면»으로 두었으므로 미지원 브라우저에서도 사고가 안 난다. */
@supports (animation-timeline:scroll()){
  .home .hd{animation:ty-hd linear both; animation-timeline:scroll(root block);
    animation-range:0 860px}
  @keyframes ty-hd{0%,72%{background:rgba(17,17,17,0)}
                   100%{background:rgba(17,17,17,.94)}}
}
.home .hd-in{
  position:relative; max-width:none; width:100%;
  height:90px; padding:0 4% 0 16.1%; gap:0; align-items:center}
.home .gnb{order:1; flex:0 0 auto}
.home .logo{order:2; margin-left:auto; padding-left:26px}
.home .hd-r{order:3; gap:14px; padding-left:22px}
.home .gnb-l{gap:0}
.home .gi>a{
  display:flex; align-items:center; justify-content:center;
  width:120px; height:90px; padding:0;
  font-size:17px; font-weight:400; letter-spacing:-.01em; color:#fff;
  border-bottom:0}
.home .gi>a:hover,.home .gi>a.on{color:#fff; border-bottom:0; text-decoration:underline;
  text-underline-offset:8px; text-decoration-thickness:1px}
.home .logo .lk{font-size:19px; font-weight:700; letter-spacing:-.04em; color:#fff}
.home .logo .le{margin-top:4px; font-size:10px; font-weight:500; letter-spacing:.18em; color:#fff}
.home .tel{font-size:15px; font-weight:400; color:#fff}
.home .tel svg{stroke:#fff}
.home .hd-r .btn.p,.home .hd-r .btn.sm{
  height:32px; min-height:32px; padding:0 14px; font-size:14px; font-weight:400;
  background:transparent; color:#fff; border:1px solid rgba(255,255,255,.85)}
.home .hd-r .btn.p:hover{background:rgba(255,255,255,.16); border-color:#fff}
/* ☰ 전체 메뉴 — 태영은 «맨 왼쪽»에 둔다 */
.home .mtog{display:block; position:absolute; left:12%; top:50%; transform:translateY(-50%);
  width:38px; height:38px; padding:6px 0}
.home .mtog span{height:2px; background:#fff; margin:6px 0}
.home .mmenu{background:rgba(17,17,17,.97); border-bottom:0; padding:16px 0 34px; color:#fff}
.home .mmenu.open{display:block}
.home .mmenu>ul{width:min(1200px,calc(100% - 48px)); margin:0 auto;
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 24px}
.home .mmenu .mg{border-bottom:1px solid rgba(255,255,255,.28); color:#fff;
  font-size:16px; font-weight:400; padding:12px 0}
.home .mmenu ul ul a{color:#EDEDED; font-size:14px; padding:6px 0 6px 10px}
.home .dd{top:90px; padding:10px 0; background:rgba(17,17,17,.96); border:0;
  box-shadow:none; min-width:200px}
.home .dd a{color:#EDEDED; font-size:14.5px; padding:9px 20px}
.home .dd a:hover{background:rgba(255,255,255,.12); color:#fff}

/* ------------------------------------------------------------------ 버튼
   태영은 «채운 버튼»이 딱 1건이다. 나머지는 전부 1px 아웃라인 · radius 0 */
.home .btn{
  height:48px; min-height:48px; padding:0 30px; gap:9px;
  font-size:16px; font-weight:400; letter-spacing:-.02em;
  border:1px solid #3A3A3A; background:transparent; color:#3A3A3A}
.home .btn.s,.home .btn.g{background:transparent}
.home .btn.s:hover{background:#3A3A3A; color:#fff}
.home .btn.p{background:var(--p700); border-color:var(--p700); color:#fff}   /* 유일한 채운 버튼 */
.home .btn.p:hover{background:var(--p800); border-color:var(--p800)}
.home .ty-hero .btn,.home .ty-hero .btn.p{
  background:transparent; border-color:rgba(255,255,255,.85); color:#fff}
.home .ty-hero .btn:hover{background:rgba(255,255,255,.18); border-color:#fff}
.home .ty-btn{min-width:150px}

/* ------------------------------------------------------------------ 히어로
   높이 1013px «고정» (뷰포트 902 보다 크다 — 100vh 로 만들면 안 닮는다)
   좌측 x189 · 얇은 영문 76/w300 + 그 아래 한글 30/w200 + 리드 18 */
.home .ty-hero{
  position:relative; height:1013px; min-height:1013px;
  display:flex; align-items:center; overflow:hidden; isolation:isolate;
  background:#111; color:#fff}
.home .ty-hero .ty-hbg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  object-position:50% 55%; z-index:-3}
.home .ty-hero .hero-img{display:none}          /* alt 문장은 DOM 에 그대로 남는다 */
.home .ty-hero::after{content:""; position:absolute; inset:0; z-index:-1;
  background:var(--ov1)}                        /* ★검은 «단색». 그라데이션 0건 */
.home .ty-hero>.wrap{position:static; padding:0}
.home .ty-hero .hslides{display:grid; grid-template-columns:minmax(0,1fr)}
.home .ty-hero .hslide{grid-area:1/1; min-width:0}
.home .ty-hero .eyebrow{
  margin:0; font-size:76px; line-height:1.4286; font-weight:300;
  letter-spacing:normal; text-transform:none; color:#fff}
.home .ty-hero h1,.home .ty-hero .htitle{
  margin:2px 0 0; font-size:30px; line-height:1.4286; font-weight:200;
  letter-spacing:-.035em; color:#fff; max-width:none}
.home .ty-hero .hlead{
  margin-top:24px; max-width:40em; font-size:18px; line-height:1.4286;
  font-weight:400; color:rgba(255,255,255,.95)}
.home .ty-hero .hbtn{margin-top:38px; gap:10px}
.home .ty-hero .hctl{
  position:absolute; bottom:88px; z-index:2; margin:0; gap:18px;
  left:max(24px,calc((100% - 1200px)/2))}
.home .ty-hero .hdot{width:12px; height:12px; background:rgba(255,255,255,.55)}
.home .ty-hero .hdot.is-on{width:44px; background:var(--p700)}
.home .ty-hero .hplay{
  height:32px; padding:0 14px; font-size:12.5px; font-weight:400;
  border:1px solid rgba(255,255,255,.7); background:rgba(0,0,0,.45)}
.home .hvids{z-index:-2}

/* ------------------------------------------------------------------ 섹션
   ★장마다 위아래 여백이 «다르다» — 이게 태영 리듬의 핵심이다 */
.home .ty-sec{padding:0; background:#fff}
.home .ty-face{background:var(--face)}          /* 흰 / 회색 번갈아 */
.home .ty-s2{padding:85px 0 160px}
.home .ty-s3{padding:90px 0 105px}
.home .ty-s4{padding:90px 0 70px}
.home .ty-s5{padding:70px 0 100px}
.home .ty-s6{padding:85px 0 96px}
.home .ty-blk2{margin-top:46px}

/* 섹션 제목 = «가운데 큰 영문 50 + 작은 한글 18» 한 쌍 */
.home .ty-h{
  margin:0; text-align:center; font-size:50px; line-height:1.4286;
  font-weight:400; color:#333; padding:0}
.home .ty-h::before{display:none}
.home .ty-h .ty-en{
  display:block; font-size:50px; line-height:1.4286; font-weight:400;
  letter-spacing:normal;                        /* ★영문 대문자에 음수 자간을 주면 뭉친다 */
  text-transform:uppercase; color:#333}
.home .ty-h .ty-ko{
  display:block; margin-top:2px; font-size:18px; line-height:1.4286;
  font-weight:400; letter-spacing:-.035em; color:#333}
.home .ty-lead{
  margin:14px auto 0; max-width:52em; text-align:center;
  font-size:18px; line-height:1.4286; font-weight:400; color:#333}

/* 본문 2단 (태영 블록 ⑥ : 980 @x408 · 읽는 화면은 폭을 줄인다) */
.home .ty-2col{
  width:min(980px,100%); margin:26px auto 0;
  columns:2; column-gap:60px; column-fill:balance}
.home .ty-2col p{
  margin:0 0 18px; font-size:18px; line-height:1.4286; color:#333;
  break-inside:avoid}

/* ------------------------------------------------------- BUSINESS 캐러셀
   1200 × 600 · gap 120 → 옆 장이 «잘려서 엿보인다». gap 0 이면 안 닮는다 */
.home .ty-cara{margin-top:40px}
.home .ty-vp{overflow:hidden}
.home .ty-track{
  display:flex; gap:120px; align-items:stretch;
  padding-left:max(24px,calc((100% - 1200px)/2));
  transition:transform .6s cubic-bezier(.22,.61,.36,1); will-change:transform}
.home .ty-slide{
  position:relative; flex:0 0 1200px; width:1200px; height:600px; overflow:hidden;
  background:#111}
.home .ty-slide>img{width:100%; height:100%; object-fit:cover; object-position:50% 50%}
.home .ty-sp{
  position:absolute; right:0; bottom:0; width:560px; padding:38px 44px 34px;
  background:var(--ov2); color:#fff; display:grid; gap:22px}
.home .ty-sc{display:block; color:#fff}
.home .ty-sc h3{
  margin:0; font-size:32px; line-height:1.4286; font-weight:300;
  letter-spacing:-.035em; color:#fff}
.home .ty-sc p{margin:4px 0 0; font-size:15px; line-height:1.4286; color:#fff}
.home .ty-sc .go{
  display:inline-flex; align-items:center; gap:8px; margin-top:10px;
  font-size:14px; font-weight:400; color:#fff; border-bottom:0; padding:0}
.home .ty-sc .go svg{width:34px; height:12px; stroke:#fff; stroke-width:1}
.home .ty-sc:hover .go{text-decoration:underline; text-underline-offset:5px}

.home .ty-cbar{
  display:grid; grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center; gap:30px; margin-top:34px}
.home .ty-cnt{margin:0; font-size:15px; color:#767676; letter-spacing:normal}
.home .ty-cnt b{font-size:32px; font-weight:400; color:#333; letter-spacing:normal}
.home .ty-bar{position:relative; height:1px; background:#D3D3D3}
.home .ty-bar span{
  position:absolute; left:0; top:-1px; height:3px; width:25%;
  background:var(--p700); transition:width .5s ease}   /* 포인트색 = 막대에만 */
.home .ty-nav{display:flex; gap:14px}
.home .ty-pv,.home .ty-nx{
  width:44px; height:44px; border:1px solid #D3D3D3; background:transparent;
  cursor:pointer; position:relative}
.home .ty-pv:disabled,.home .ty-nx:disabled{opacity:.32; cursor:default}
.home .ty-pv::before,.home .ty-nx::before{
  content:""; position:absolute; left:50%; top:50%; width:9px; height:9px;
  border-top:1px solid #333; border-right:1px solid #333}
.home .ty-pv::before{transform:translate(-40%,-50%) rotate(-135deg)}
.home .ty-nx::before{transform:translate(-60%,-50%) rotate(45deg)}
.home .ty-pv:hover:not(:disabled),.home .ty-nx:hover:not(:disabled){border-color:#333}

/* ------------------------------------------------------- ABOUT 타일 395×679 gap7 */
.home .ty-tiles{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:40px}
.home .ty-tile{
  position:relative; display:block; height:679px; overflow:hidden; background:#111;
  color:#fff}
.home .ty-tile>img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition:transform .6s ease}
.home .ty-tile::after{content:""; position:absolute; inset:0; background:var(--ov2)}
.home .ty-tile:hover>img{transform:scale(1.04)}
.home .ty-tt,.home .ty-tp,.home .ty-ar{position:relative; z-index:1; display:block}
.home .ty-tt{
  position:absolute; left:34px; right:34px; bottom:150px;
  font-size:32px; line-height:1.4286; font-weight:300; letter-spacing:-.035em; color:#fff}
.home .ty-tp{
  position:absolute; left:34px; right:34px; bottom:78px;
  font-size:15px; line-height:1.4286; color:#fff}
.home .ty-ar{
  position:absolute; right:34px; bottom:40px; width:40px; height:1px; background:#fff}
.home .ty-ar::after{
  content:""; position:absolute; right:0; top:-3px; width:7px; height:7px;
  border-top:1px solid #fff; border-right:1px solid #fff; transform:rotate(45deg)}

/* ------------------------------------------------------- 좌우 분할 (ONE FLOOR) */
.home .ty-split{
  display:grid; grid-template-columns:minmax(0,460px) minmax(0,700px);
  gap:40px; align-items:center; margin-top:40px}
.home .ty-split-t p{margin:0 0 18px; font-size:18px; line-height:1.4286; color:#333}
.home .ty-split-i{margin:0}
.home .ty-split-i img{width:100%; height:386px; object-fit:cover}
.home .ty-ticks{margin-top:24px; display:grid; gap:12px}
.home .ty-ticks li{
  display:flex; gap:12px; font-size:18px; line-height:1.4286; color:#333;
  padding-bottom:12px; border-bottom:1px solid var(--line)}
.home .ty-ticks svg{
  flex:0 0 18px; width:18px; height:18px; margin-top:4px; fill:none;
  stroke:var(--p700); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round}

/* ------------------------------------------------------- 4열 카드 292×406 gap10 */
.home .ty-r4{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:40px}
.home .ty-rc{
  padding:30px 26px 32px; background:#fff; border:1px solid var(--line);
  display:flex; flex-direction:column}
.home .ty-rn{
  font-size:15px; font-weight:400; letter-spacing:.1em; color:var(--p700)}
.home .ty-rc .ic{
  display:flex; align-items:center; justify-content:center; width:46px; height:46px;
  margin:20px 0 0; background:transparent; border:1px solid var(--line)}
.home .ty-rc .ic svg{
  width:22px; height:22px; fill:none; stroke:var(--p700); stroke-width:1.5;
  stroke-linecap:round; stroke-linejoin:round}
.home .ty-rc h3{
  margin:18px 0 0; font-size:26px; line-height:1.4286; font-weight:400;
  letter-spacing:-.035em; color:#222}
.home .ty-rc p{margin:14px 0 0; font-size:18px; line-height:1.4286; color:#333}

/* ------------------------------------------------------- 표 (태영 블록 ④) */
.home .ty-tw{margin-top:36px; overflow-x:auto}
.home .ty-tw table{min-width:900px; width:100%; font-size:16px; border-top:1px solid #333}
.home .ty-tw thead th{
  background:var(--tbl); font-size:16px; font-weight:500; color:#111;
  padding:13px 18px; border-bottom:1px solid var(--line); white-space:nowrap}
.home .ty-tw tbody th,.home .ty-tw tbody td{
  padding:13px 18px; font-size:16px; line-height:1.4286; color:#333;
  border-bottom:1px solid var(--line); vertical-align:top}
.home .ty-tw tbody th{font-weight:500; color:#111; white-space:nowrap}
.home .ty-tw tbody tr:hover{background:#fff}
.home .note{margin-top:14px; font-size:14px; line-height:1.4286; color:#767676}

/* ------------------------------------------------------- 지표 */
.home .ty-stats{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0;
  margin-top:40px; border-top:1px solid #333}
.home .ty-stat{padding:26px 22px 24px; border-right:1px solid var(--line); border-bottom:0}
.home .ty-stat:last-child{border-right:0}
.home .ty-stat .v{
  display:block; font-size:44px; line-height:1.2; font-weight:400;
  letter-spacing:-.03em; color:#222}
.home .ty-stat .v i{font-style:normal; font-size:.4em; font-weight:400; margin-left:6px;
  color:var(--p700)}
.home .ty-stat .k{display:block; margin-top:14px; font-size:18px; font-weight:400; color:#222}
.home .ty-stat .d{display:block; margin-top:6px; font-size:15px; line-height:1.4286;
  color:#767676}

/* ------------------------------------------------------- 목록형 (태영 NEWS) */
.home .ty-list{margin-top:36px; border-top:1px solid #333}
.home .ty-row{
  position:relative; display:grid; grid-template-columns:104px minmax(0,1fr) 40px;
  align-items:center; gap:26px; padding:19px 0; border-bottom:1px solid var(--line)}
.home .ty-bd{
  display:inline-flex; align-items:center; justify-content:center; height:26px;
  padding:0 10px; border:1px solid #C9C9C9; font-size:13px; color:#555; white-space:nowrap}
.home .ty-rt h4{
  margin:0; font-size:26px; line-height:1.4286; font-weight:400;
  letter-spacing:-.035em; color:#222}
.home .ty-rp{display:block; margin-top:6px; font-size:16px; line-height:1.4286; color:#666}
.home .ty-rar{
  justify-self:end; width:11px; height:11px;
  border-top:1px solid #999; border-right:1px solid #999; transform:rotate(45deg)}
.home .ty-row:hover h4{text-decoration:underline; text-underline-offset:6px}
.home .ty-row:hover .ty-rar{border-color:var(--p700)}
.home .ty-more{margin-top:34px; text-align:center}

/* ------------------------------------------------------- 스텝 */
.home .ty-steps{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:38px;
  border-top:1px solid #333}
.home .ty-steps li{
  padding:18px 34px 22px 0; border-bottom:1px solid var(--line)}
.home .ty-sn{
  display:block; font-size:34px; line-height:1.2; font-weight:300;
  letter-spacing:-.02em; color:var(--p700)}
.home .ty-steps h4{
  margin:8px 0 0; font-size:26px; line-height:1.4286; font-weight:400;
  letter-spacing:-.035em; color:#222}
.home .ty-steps p{margin:8px 0 0; font-size:18px; line-height:1.4286; color:#333}

/* ------------------------------------------------------- 다크 인용 배너 */
.home .ty-quote{
  margin:0; min-height:260px; padding:44px 60px; background:#212121; color:#fff;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center}
.home .ty-quote blockquote{margin:0; max-width:26em}
.home .ty-quote p{
  margin:0; font-size:36px; line-height:1.25; font-weight:400;
  letter-spacing:-.035em; color:#fff}
.home .ty-qr{display:block; width:44px; height:1px; background:#fff; margin:26px 0}
.home .ty-quote figcaption{font-size:15px; font-weight:400; color:#EDEDED}

/* ------------------------------------------------------- CTA · 약도 */
.home .ty-cta-b{
  margin-top:26px; display:flex; flex-wrap:wrap; gap:10px}
.home .ty-cta{
  display:grid; grid-template-columns:minmax(0,460px) minmax(0,700px);
  gap:40px; align-items:center; margin-top:30px}
.home .ty-cta .ty-lead{margin:0; text-align:left; max-width:none}
.home .ty-map{margin:0}
.home .ty-map img{width:100%; height:262px; object-fit:cover; border:1px solid var(--line)}

/* ------------------------------------------------------------------ 푸터
   태영 h193 · bg #828282. 링크를 지울 수 없으니 «높이»는 못 맞춘다 —
   대신 색·밀도를 태영식으로 낮춘다. 흰 글자 5.10:1 로 AA 통과. */
.home .ft{background:var(--foot); border-top:0; color:#F2F2F2}
.home .ft-in{width:min(1200px,calc(100% - 48px)); margin:0 auto; padding:40px 0 26px}
.home .ft-top{grid-template-columns:minmax(220px,1fr) 2.9fr; gap:32px}
.home .ft-b .lk{font-size:19px; font-weight:700; color:#fff}
.home .ft-b .le{font-size:10px; color:#F2F2F2}
.home .ft-tag{margin-top:12px; font-size:13.5px; line-height:1.55; color:#F2F2F2}
.home .ft-cc{margin-top:14px; gap:6px}
.home .ft-cc li{font-size:13.5px; color:#fff}
.home .ft-cc svg{stroke:#fff}
.home .ft-cols{grid-template-columns:repeat(8,minmax(0,1fr)); gap:14px}
.home .fc h2{font-size:14px; font-weight:500; color:#fff; padding:0}
.home .fc h2::before{display:none}
.home .fc ul{margin-top:8px; gap:4px}
.home .fc a{font-size:13px; line-height:1.45; color:#F2F2F2}
.home .fc a:hover{color:#fff; text-decoration:underline}
.home .ft-bot{margin-top:26px; padding-top:16px; border-top:1px solid var(--ft-bd)}
.home .ft-pol a{font-size:13px; color:#fff}
.home .ft-addr{margin-top:12px; font-size:13px; line-height:1.6; color:#F2F2F2}
.home .sample-notice{
  margin-top:12px; padding:11px 14px; border:1px dashed var(--ft-bd);
  background:var(--ft-note); font-size:13px; line-height:1.6; color:#fff}
.home .ft-copy{margin-top:12px; font-size:12.5px; color:#F2F2F2}
.home .skip{background:#1F5FA8; color:#fff}

/* ------------------------------------------------------------------ 반응형 */
@media (max-width:1400px){
  .home .hd-in{padding:0 3% 0 8%}
  .home .mtog{left:3.4%}
}
@media (max-width:1240px){
  .home .ty-slide{flex-basis:min(1200px,calc(100vw - 48px)); width:min(1200px,calc(100vw - 48px))}
  .home .ty-track{gap:60px}
  .home .ty-sp{width:min(560px,72%)}
}
@media (max-width:1100px){
  .home .ty-h,.home .ty-h .ty-en{font-size:40px}
  .home .ty-tile{height:560px}
  .home .ty-r4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home .ty-rc{min-height:0}
  .home .ty-split{grid-template-columns:minmax(0,1fr)}
  .home .ty-split-i img{height:360px}
}
@media (max-width:1024px){
  .home .hd{height:72px}
  .home .hd-in{height:72px; padding:0 20px 0 74px}
  .home .gnb,.home .hd-r .tel,.home .hd-r .btn{display:none}
  .home .mtog{left:18px}
  .home .logo{margin-left:0; padding-left:0}
  .home .mmenu>ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home .ty-hero{height:auto; min-height:min(1013px,88vh); padding:120px 0 90px}
  .home .ty-hero .eyebrow{font-size:clamp(40px,7.2vw,76px)}
  .home .ty-hero .hctl{position:static; margin-top:44px}
  .home .ty-s2{padding:64px 0 96px}
  .home .ty-s3{padding:64px 0 72px}
  .home .ty-s4{padding:64px 0 56px}
  .home .ty-s5{padding:56px 0 72px}
  .home .ty-s6{padding:64px 0 80px}
  .home .ty-blk2{margin-top:64px}
  .home .ty-2col{columns:1}
  .home .ty-tiles{grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px}
  .home .ty-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home .ty-quote{min-height:0; padding:56px 30px}
  .home .ty-quote p{font-size:28px}
  .home .ty-cta{grid-template-columns:minmax(0,1fr); gap:26px}
  .home .ty-map img{height:280px}
  .home .ft-top{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .home .ty-h,.home .ty-h .ty-en{font-size:32px}
  .home .ty-hero{min-height:0; padding:112px 0 72px}
  .home .ty-hero h1,.home .ty-hero .htitle{font-size:24px}
  .home .ty-slide{height:auto; min-height:0}
  .home .ty-slide>img{height:230px}
  .home .ty-sp{position:static; width:100%; padding:26px 22px}
  .home .ty-track{gap:20px}
  .home .ty-tiles{grid-template-columns:minmax(0,1fr)}
  .home .ty-tile{height:420px}
  .home .ty-tt{bottom:130px; font-size:26px}
  .home .ty-r4{grid-template-columns:minmax(0,1fr)}
  .home .ty-steps{grid-template-columns:minmax(0,1fr)}
  .home .ty-steps li{padding:24px 0}
  .home .ty-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home .ty-stat{border-bottom:1px solid var(--line)}
  .home .ty-stat:nth-child(2n){border-right:0}
  .home .ty-row{grid-template-columns:minmax(0,1fr) 26px; gap:12px}
  .home .ty-bd{grid-column:1/-1; justify-self:start}
  .home .ty-rt h4{font-size:21px}
  .home .ty-quote p{font-size:23px}
  .home .ty-cbar{grid-template-columns:auto minmax(0,1fr); gap:16px}
  .home .ty-nav{grid-column:1/-1; justify-content:flex-end}
  .home .ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){
  .home .ty-track{transition:none}
  .home .ty-tile>img{transition:none}
  .home .ty-bar span{transition:none}
}
