@font-face{font-family:"Pretendard Variable";font-weight:45 930;font-style:normal;font-display:swap;src:url(/assets/fonts/pretendard.woff2) format("woff2");}
@font-face{font-family:"Archivo";font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;src:url(/assets/fonts/archivo.woff2) format("woff2");}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0; min-height: 100%;
  font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;
  font-size: 16px; line-height: 1.6; word-break: keep-all; overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  background: #0D0E0F;
  -webkit-tap-highlight-color: transparent;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, p, figure, dl, dd, blockquote { margin: 0; }
button, input, select, textarea { font-family: inherit; }
[hidden] { display: none !important; }
.nw { white-space: nowrap; }
.frame { display: block; width: 100%; }
:focus-visible { outline: 2px solid #F5B301; outline-offset: 3px; }
body.menu-lock { overflow: hidden; }
.rv-in { animation: rv .95s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes rv { from { opacity: .2; transform: translateY(26px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .rv-in { animation: none; } html { scroll-behavior: auto; } }

/* ---- 페이지 전환: 모든 페이지가 한 파일에 있고, 주소의 #아이디(:target)로 하나만 보인다 (JS 없이도 동작) ---- */
.pg { display: none; min-height: 100vh; }
.pg:target, .pg:has(:target) { display: block; }
.pg-default { display: block; }
.pg:target ~ .pg-default, .pg:has(:target) ~ .pg-default { display: none; }
.pg [id] { scroll-margin-top: 100px; }

/* ---- 사진: 파일 안에 한 번만 넣고 CSS 배경으로 재사용 ---- */
.im { display: block; background-color: #23272b; background-position: center; background-size: cover; background-repeat: no-repeat; }
.mark { display: inline-block; flex: none; background-position: center; background-size: contain; background-repeat: no-repeat; }

/* ---- JS 유무에 따라 보이기 ---- */
html:not(.js) .js-only { display: none !important; }
html.js .nojs-only { display: none !important; }

/* ---- details(메뉴·설명) 기본 삼각형 제거 ---- */
details.mm > summary, details.rb-info > summary { list-style: none; cursor: pointer; -webkit-user-select: none; user-select: none; }
details.mm > summary::-webkit-details-marker, details.rb-info > summary::-webkit-details-marker { display: none; }
details.mm > summary::marker, details.rb-info > summary::marker { content: ""; }

/* ---- 분야 필터: 라디오 + :has (JS 없이 동작) ---- */
.flt-o { position: relative; display: inline-flex; cursor: pointer; }
.flt-o input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.flt-o input:focus-visible + span { outline: 2px solid currentColor; outline-offset: 3px; }
.flt-n { display: none; }
.flt-n::before { content: attr(data-n); }
.flt-n[data-c="all"] { display: inline; }
.fwrap:has(.flt input:checked:not([value="all"])) .flt-n[data-c="all"] { display: none; }
.fwrap:has(.flt input[value="public"]:checked) .flt-n[data-c="public"],
.fwrap:has(.flt input[value="building"]:checked) .flt-n[data-c="building"],
.fwrap:has(.flt input[value="logistics"]:checked) .flt-n[data-c="logistics"],
.fwrap:has(.flt input[value="infra"]:checked) .flt-n[data-c="infra"] { display: inline; }
.fwrap:has(.flt input[value="public"]:checked) [data-cat]:not([data-cat="public"]),
.fwrap:has(.flt input[value="building"]:checked) [data-cat]:not([data-cat="building"]),
.fwrap:has(.flt input[value="logistics"]:checked) [data-cat]:not([data-cat="logistics"]),
.fwrap:has(.flt input[value="infra"]:checked) [data-cat]:not([data-cat="infra"]) { display: none; }

.toast {
  position: fixed; left: 50%; bottom: calc(80px + env(safe-area-inset-bottom, 0px)); z-index: 1001; transform: translate(-50%, 10px);
  width: max-content; max-width: calc(100vw - 32px); padding: 14px 20px; border-radius: 12px; background: #111; color: #fff; font-size: 14px; line-height: 1.5;
  box-shadow: 0 12px 36px rgba(0, 0, 0, .35); opacity: 0; transition: opacity .3s, transform .3s;
}
.toast.on { opacity: 1; transform: translate(-50%, 0); }
@media (max-width: 760px) {
  .rb-label { display: none; }
  .rb-seg a { padding: 0 12px 0 6px; gap: 6px; }
  .rb-seg .l { display: none; }
  .rb-seg .s { display: inline; }
}
@media print { .rb, .toast { display: none !important; } }

/* ===== 시안 A · HEAVY GROUND ===== */
html[data-v="a"] body, .pg.va { background: #0D0E0F; }
body:has(.pg.va:target), body:has(.pg.va :target) { background: #0D0E0F; }
.va {
  --bg: #0D0E0F; --bg2: #141618; --panel: #1B1E21;
  --line: rgba(242, 240, 235, .12); --line2: rgba(242, 240, 235, .24);
  --tx: #F2F0EB; --tx2: rgba(242, 240, 235, .82); --mu: #A29F98; --ac: #F5B301;
  --disp: "Archivo", "Pretendard Variable", Pretendard, sans-serif;
  --gut: clamp(20px, 4vw, 56px);
  --fs-cap: 13px; --fs-sm: 15px; --fs-body: 17px; --fs-lead: 18px; --fs-h3: 22px;
  --fs-h2: clamp(28px, 2.8vw, 40px); --fs-h1: clamp(34px, 3.9vw, 56px);
  background: var(--bg); color: var(--tx); font-size: var(--fs-body);
}
.va ::selection { background: var(--ac); color: #111; }
.va .a-wrap { width: 100%; max-width: calc(1320px + 2 * var(--gut)); margin-inline: auto; padding-inline: var(--gut); }
.va .a-h2 { font-size: var(--fs-h2); font-weight: 700; line-height: 1.25; letter-spacing: -.03em; text-wrap: balance; }
.va .a-dim { color: var(--mu); font-weight: 400; }
.va svg { width: 18px; height: 18px; flex: none; }
.va p { text-wrap: pretty; }

/* 버튼 */
.va .a-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 24px; font-size: 16px; font-weight: 700; letter-spacing: -.01em; border-radius: 2px; transition: background .25s, color .25s, border-color .25s; white-space: nowrap; border: 0; cursor: pointer; font-family: inherit; }
.va .a-btn--sm { min-height: 44px; padding: 0 18px; font-size: 15px; }
.va .a-btn--ac { background: var(--ac); color: #111; }
.va .a-btn--ac:hover { background: #FFC933; }
.va .a-btn--line { border: 1px solid rgba(242, 240, 235, .42); color: var(--tx); }
.va .a-btn--line:hover { border-color: var(--tx); background: rgba(242, 240, 235, .07); }
.va .a-btn--dark { background: #111; color: #F2F0EB; }
.va .a-btn--dark:hover { background: #000; }
.va .a-btn--line-dark { border: 1.5px solid #111; color: #111; }
.va .a-btn--line-dark:hover { background: #111; color: var(--ac); }
.va .a-more { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 700; font-size: 16px; border-bottom: 1px solid var(--line2); transition: color .2s, border-color .2s; }
.va .a-more:hover { color: var(--ac); border-color: var(--ac); }
.va .a-round { width: 48px; height: 48px; border-radius: 2px; border: 1px solid var(--line2); background: transparent; color: var(--tx); display: grid; place-items: center; cursor: pointer; transition: background .2s, color .2s; }
.va .a-round:hover { background: var(--tx); color: var(--bg); }

/* 헤더 */
.va .a-hd { position: fixed; inset: 0 0 auto; z-index: 50; padding-top: env(safe-area-inset-top, 0px); border-bottom: 1px solid transparent; transition: background .35s, border-color .35s; }
html:not(.js) .va .a-hd { position: absolute; }
.va .a-hd::before { content: ""; position: absolute; inset: 0 0 -60px; background: linear-gradient(rgba(0, 0, 0, .55), transparent); pointer-events: none; transition: opacity .35s; }
.va .a-hd.is-scrolled, .va .a-hd:has(.a-mm[open]), .va .a-hd:has(.mn-nojs:target) { background: rgba(13, 14, 15, .94); -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2); border-color: var(--line); }
.va .a-hd.is-scrolled::before, .va .a-hd:has(.a-mm[open])::before, .va .a-hd:has(.mn-nojs:target)::before { opacity: 0; }
.va .a-hd-in { position: relative; display: flex; align-items: center; gap: 44px; height: 80px; max-width: calc(1320px + 2 * var(--gut)); margin-inline: auto; padding-inline: var(--gut); }
.va .a-logo { display: flex; align-items: center; gap: 12px; margin-right: auto; }
.va .a-logo .mark { height: 30px; width: 26px; }
.va .a-logo b { display: block; font-size: 19px; font-weight: 800; letter-spacing: -.02em; line-height: 1; }
.va .a-logo small { display: block; font-family: var(--disp); font-stretch: 85%; font-size: 10px; letter-spacing: .2em; color: var(--mu); margin-top: 5px; }
.va .a-nav { display: flex; gap: 36px; }
.va .a-nav a { position: relative; display: inline-flex; align-items: center; min-height: 44px; font-size: 16px; font-weight: 600; color: rgba(242, 240, 235, .8); transition: color .2s; }
.va .a-nav a:hover, .va .a-nav a[aria-current] { color: var(--tx); }
.va .a-nav a[aria-current]::after { content: ""; position: absolute; left: 0; right: 0; bottom: 4px; height: 2px; background: var(--ac); }
.va .a-hd-r { display: flex; align-items: center; gap: 16px; }
.va .a-tel { display: flex; align-items: center; gap: 8px; min-height: 44px; font-family: var(--disp); font-stretch: 85%; font-weight: 600; font-size: 17px; letter-spacing: .02em; }
.va .a-tel svg { width: 16px; height: 16px; color: var(--ac); }
.va .a-hd-call { display: none; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line2); color: var(--ac); }
.va .a-burger { display: none; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line2); background: transparent; position: relative; }
.va .a-burger span { position: absolute; left: 13px; right: 13px; height: 1.5px; background: var(--tx); transition: transform .3s, top .3s; }
.va .a-burger span:first-child { top: 17px; } .va .a-burger span:last-child { top: 25px; }
.va .a-mm[open] .a-burger span:first-child, .va .a-burger.mn-close span:first-child { top: 21px; transform: rotate(45deg); }
.va .a-mm[open] .a-burger span:last-child, .va .a-burger.mn-close span:last-child { top: 21px; transform: rotate(-45deg); }
.va .a-mnav { display: none; }

/* 메인 히어로 */
.va .a-hero { position: relative; min-height: max(620px, min(92svh, 900px)); display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; isolation: isolate; }
.va .a-hero-bg { position: absolute; inset: 0; z-index: -1; }
.va .a-hero-bg .im { width: 100%; height: 100%; animation: a-kb 18s cubic-bezier(.2, .6, .2, 1) both; }
.va .a-hero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 10, 10, .55) 0%, rgba(10, 10, 10, .12) 30%, rgba(10, 10, 10, .5) 62%, rgba(13, 14, 15, .98) 100%), linear-gradient(90deg, rgba(10, 10, 10, .62), rgba(10, 10, 10, 0) 64%); }
@keyframes a-kb { from { transform: scale(1.1); } to { transform: scale(1); } }
.va .a-hero-in { padding-top: 160px; padding-bottom: 56px; }
.va .a-hero-h { font-size: clamp(40px, 5.2vw, 76px); font-weight: 800; line-height: 1.12; letter-spacing: -.035em; }
.va .a-hero-p { max-width: 32em; margin-top: 24px; font-size: var(--fs-lead); line-height: 1.75; color: var(--tx2); }
.va .a-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.va .a-hero-stats { border-top: 1px solid var(--line); background: rgba(13, 14, 15, .6); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.va .a-stats { display: grid; grid-template-columns: 1fr 1fr 1.25fr 1fr; }
.va .a-stat { padding: 24px 0 24px 28px; border-left: 1px solid var(--line); }
.va .a-stat:first-child { padding-left: 0; border-left: 0; }
.va .a-stat-n { font-family: var(--disp); font-stretch: 72%; font-weight: 800; font-size: clamp(32px, 2.8vw, 44px); line-height: 1; font-variant-numeric: tabular-nums; }
.va .a-stat-n small { font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 16px; font-weight: 700; margin-left: 6px; }
.va .a-stat-l { margin-top: 10px; font-size: 14px; line-height: 1.5; color: var(--mu); }
.va .a-stat-s { font-size: 12.5px; color: rgba(242, 240, 235, .5); }
.va .a-stat-k { font-size: 14px; color: var(--mu); }
.va .a-stat-t { margin-top: 8px; font-size: 16px; font-weight: 700; line-height: 1.55; }
.va .a-stat-tel { display: inline-block; margin-top: 6px; font-family: var(--disp); font-stretch: 78%; font-weight: 800; font-size: clamp(24px, 2vw, 30px); line-height: 1.2; letter-spacing: .01em; }
.va .a-stat-tel:hover { color: var(--ac); }

/* 섹션 공통 */
.va .a-sec { padding-block: clamp(64px, 7.5vw, 112px); }
.va .a-sec--alt { background: var(--bg2); }
.va .a-head { display: grid; grid-template-columns: 5fr 7fr; gap: 20px 48px; align-items: end; margin-bottom: 40px; }
.va .a-head-r { display: grid; gap: 16px; justify-items: start; }
.va .a-head-r p { max-width: 36em; font-size: 16px; line-height: 1.8; color: var(--mu); }
.va .a-2col { display: grid; grid-template-columns: 5fr 7fr; gap: 32px 48px; align-items: start; }

/* 공정 아코디언 */
.va .a-acc { display: flex; gap: 10px; height: clamp(440px, 40vw, 560px); }
.va .a-acc-it { position: relative; flex: 1; min-width: 0; overflow: hidden; cursor: pointer; transition: flex .75s cubic-bezier(.2, .7, .2, 1); outline-offset: 3px; }
.va .a-acc-it.is-on { flex: 3.4; cursor: default; }
.va .a-acc-it .im { position: absolute; inset: 0; width: 100%; height: 100%; transform: scale(1.06); filter: grayscale(.4) brightness(.68); transition: transform 1.1s cubic-bezier(.2, .7, .2, 1), filter .7s; }
.va .a-acc-it.is-on .im { transform: scale(1); filter: none; }
.va .a-acc-it::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 10, 10, .12) 25%, rgba(10, 10, 10, .9) 100%); }
.va .a-acc-no { position: absolute; top: 22px; left: 24px; z-index: 2; font-family: var(--disp); font-stretch: 72%; font-weight: 800; font-size: 44px; line-height: 1; color: rgba(242, 240, 235, .55); transition: color .4s; }
.va .a-acc-it.is-on .a-acc-no { color: var(--ac); }
.va .a-acc-body { position: absolute; left: 24px; right: 24px; bottom: 26px; z-index: 2; }
.va .a-acc-body h3 { font-size: var(--fs-h3); font-weight: 700; letter-spacing: -.03em; line-height: 1.3; }
.va .a-acc-more { max-height: 0; overflow: hidden; opacity: 0; transition: max-height .8s cubic-bezier(.2, .7, .2, 1), opacity .5s; }
.va .a-acc-it.is-on .a-acc-more { max-height: 260px; opacity: 1; transition-delay: .15s; }
.va .a-acc-more p { margin-top: 12px; max-width: 30em; font-size: 16px; line-height: 1.75; color: var(--tx2); }
.va .a-acc-more ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.va .a-acc-more li { font-size: 13.5px; padding: 5px 11px; border: 1px solid rgba(242, 240, 235, .36); border-radius: 2px; }

/* 실적 카드 + 가로 스크롤 */
.va .a-sec--flush { padding-bottom: clamp(72px, 8vw, 120px); }
.va .a-hs-ctl { display: flex; align-items: center; gap: 8px; }
.va .a-hs-ctl .a-more { margin-left: 16px; }
.va .a-hs { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(260px, 26vw, 380px); gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; padding-inline: max(var(--gut), calc((100vw - 1320px) / 2)); scroll-padding-inline: max(var(--gut), calc((100vw - 1320px) / 2)); scrollbar-width: none; overscroll-behavior-x: contain; }
.va .a-hs::-webkit-scrollbar { display: none; }
.va .a-pc { display: block; scroll-snap-align: start; }
.va .a-pc-img { display: block; overflow: hidden; aspect-ratio: 4 / 3; background: var(--panel); }
.va .a-pc-img .im { width: 100%; height: 100%; transition: transform .9s cubic-bezier(.2, .7, .2, 1), filter .6s; filter: saturate(.9); }
.va .a-pc:hover .a-pc-img .im { transform: scale(1.04); filter: saturate(1.05); }
.va .a-pc-meta { display: block; margin-top: 16px; font-size: 13.5px; color: var(--mu); }
.va .a-pc-t { display: block; margin-top: 6px; font-size: 19px; font-weight: 700; letter-spacing: -.02em; line-height: 1.4; transition: color .2s; }
.va .a-pc:hover .a-pc-t { color: var(--ac); }
.va .a-pc-c { display: block; margin-top: 4px; font-size: 14px; color: var(--mu); }

/* 발주처 */
.va .a-cl { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.va .a-cl li { background: var(--bg); min-height: 80px; display: flex; align-items: center; padding: 0 22px; font-size: 17px; font-weight: 700; letter-spacing: -.02em; color: rgba(242, 240, 235, .78); }

/* 문의 띠 */
.va .a-band { background: var(--ac); color: #111; padding-block: clamp(56px, 6vw, 88px); }
.va .a-band-in { display: grid; grid-template-columns: 5fr 7fr; gap: 28px 48px; align-items: end; }
.va .a-band h2 { font-size: clamp(28px, 3vw, 42px); font-weight: 800; line-height: 1.2; letter-spacing: -.035em; }
.va .a-band-p { margin-top: 14px; max-width: 30em; font-size: 16px; line-height: 1.7; color: rgba(17, 17, 17, .78); }
.va .a-band-r { display: grid; gap: 18px; justify-items: start; }
.va .a-band-tel { font-family: var(--disp); font-stretch: 72%; font-weight: 800; font-size: clamp(40px, 4.4vw, 64px); line-height: 1; }
.va .a-band-btns { display: flex; flex-wrap: wrap; gap: 10px; }

/* 푸터 */
.va .a-ft { background: #070808; padding-block: 56px calc(120px + env(safe-area-inset-bottom, 0px)); font-size: 14.5px; }
.va .a-ft-top { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; padding-bottom: 32px; border-bottom: 1px solid var(--line); }
.va .a-ft-nav { display: flex; flex-wrap: wrap; gap: 4px 28px; }
.va .a-ft-nav a { display: inline-flex; align-items: center; min-height: 44px; color: rgba(242, 240, 235, .74); }
.va .a-ft-nav a:hover { color: var(--tx); }
.va .a-ft-grid { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 20px 40px; padding-block: 32px; }
.va .a-ft-grid dl { margin: 0; display: grid; gap: 10px; align-content: start; }
.va .a-ft-grid dl > div { display: grid; grid-template-columns: 104px 1fr; gap: 12px; }
.va .a-ft-grid dt { color: var(--mu); }
.va .a-ft-grid dd { margin: 0; color: rgba(242, 240, 235, .82); }
.va .a-ft-grid a:hover { color: var(--ac); }
.va .a-ft-bot { padding-top: 24px; border-top: 1px solid var(--line); font-size: 13px; color: rgba(242, 240, 235, .45); }

/* 서브페이지 머리 */
.va .a-ph { position: relative; min-height: clamp(320px, 42vh, 440px); display: flex; align-items: flex-end; overflow: hidden; isolation: isolate; }
.va .a-ph-bg { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; animation: a-kb 16s cubic-bezier(.2, .6, .2, 1) both; }
.va .a-ph::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10, 10, 10, .7), rgba(10, 10, 10, .45) 45%, rgba(13, 14, 15, .97)); }
.va .a-ph--plain { min-height: 0; background: var(--bg); border-bottom: 1px solid var(--line); }
.va .a-ph--plain::after { display: none; }
.va .a-ph-in { padding-top: 128px; padding-bottom: 48px; }
.va .a-ph--plain .a-ph-in { padding-bottom: 40px; }
.va .a-crumb { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; color: rgba(242, 240, 235, .66); }
.va .a-crumb a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(242, 240, 235, .35); }
.va .a-crumb a:hover { color: var(--ac); }
.va .a-crumb span { opacity: .5; }
.va .a-ph h1 { margin-top: 14px; font-size: var(--fs-h1); font-weight: 800; letter-spacing: -.035em; line-height: 1.18; text-wrap: balance; }
.va .a-ph--pd h1 { max-width: 22em; font-size: clamp(28px, 3vw, 44px); font-weight: 700; line-height: 1.3; }
.va .a-ph-p { margin-top: 12px; font-size: var(--fs-lead); color: var(--tx2); }

/* 회사소개 */
.va .a-subnav { position: sticky; top: calc(80px + env(safe-area-inset-top, 0px)); z-index: 20; background: rgba(13, 14, 15, .94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); }
html:not(.js) .va .a-subnav { top: 0; }
.va .a-subnav .a-wrap { display: flex; gap: 4px 28px; overflow-x: auto; scrollbar-width: none; }
.va .a-subnav .a-wrap::-webkit-scrollbar { display: none; }
.va .a-subnav a { flex: none; display: inline-flex; align-items: center; min-height: 52px; font-size: 15px; font-weight: 600; color: rgba(242, 240, 235, .72); }
.va .a-subnav a:hover { color: var(--ac); }
.va .a-dl { margin: 0; border-top: 1px solid var(--line2); }
.va .a-dl > div { display: grid; grid-template-columns: 150px 1fr; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.va .a-dl dt { font-size: 15px; color: var(--mu); padding-top: 1px; }
.va .a-dl dd { margin: 0; font-size: 17px; font-weight: 600; line-height: 1.6; }
.va .a-dl dd a:hover { color: var(--ac); }
.va .a-dl small, .va .a-ct-dl small { display: block; margin-top: 2px; font-size: 14px; font-weight: 400; color: var(--mu); }
.va .a-lic { display: grid; grid-template-columns: 1.2fr .8fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.va .a-lic-c { background: var(--bg2); padding: 30px; }
.va .a-lic-k { font-size: 14px; font-weight: 600; color: var(--mu); }
.va .a-lic-c h3 { margin-top: 16px; font-size: 20px; font-weight: 700; letter-spacing: -.02em; }
.va .a-lic-c h3 + p { margin-top: 6px; font-size: 14.5px; line-height: 1.65; color: var(--mu); }
.va .a-lic-n { margin-top: 16px; font-family: var(--disp); font-stretch: 72%; font-weight: 800; font-size: 72px; line-height: 1; color: var(--ac); }
.va .a-lic-note { margin-top: 10px; font-size: 13px; color: var(--mu); }
.va .a-lic-n small { font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 20px; font-weight: 800; margin-left: 6px; color: var(--tx); }
.va .a-lic-c ul { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.va .a-lic-c li { padding-bottom: 10px; border-bottom: 1px solid var(--line); font-size: 16px; }
.va .a-docs { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 20px; padding: 26px 30px; background: var(--panel); }
.va .a-docs h3 { margin-bottom: 12px; font-size: 18px; font-weight: 700; }
.va .a-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.va .a-tags li { font-size: 14px; padding: 6px 12px; border: 1px solid var(--line2); border-radius: 2px; color: var(--tx2); }
.va .a-tl { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line2); }
.va .a-tl > li { display: grid; grid-template-columns: 200px 1fr; gap: 12px 48px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.va .a-tl-y { font-family: var(--disp); font-stretch: 72%; font-weight: 800; font-size: clamp(34px, 3vw, 44px); line-height: 1; }
.va .a-tl-y small { display: block; margin-top: 8px; font-family: "Pretendard Variable", Pretendard, sans-serif; font-size: 13px; font-weight: 600; color: var(--mu); }
.va .a-tl ul { list-style: none; margin: 0; padding: 4px 0 0; display: grid; gap: 8px; }
.va .a-tl ul li { position: relative; padding-left: 18px; font-size: 16.5px; line-height: 1.6; color: var(--tx2); }
.va .a-tl ul li::before { content: ""; position: absolute; left: 0; top: .8em; width: 8px; height: 1px; background: var(--ac); }
.va .a-org { display: grid; justify-items: center; }
.va .a-org-top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; width: 100%; }
.va .a-org-lead { grid-column: 2; background: var(--tx); color: #111; font-weight: 800; font-size: 17px; padding: 14px 34px; }
.va .a-org-side { grid-column: 3; justify-self: start; position: relative; margin-left: 30px; padding: 10px 16px; font-size: 14px; color: var(--mu); border: 1px dashed var(--line2); }
.va .a-org-side::before { content: ""; position: absolute; right: 100%; top: 50%; width: 30px; height: 1px; background: var(--line2); }
.va .a-org-mid { position: relative; margin-top: 32px; padding: 12px 28px; font-weight: 700; border: 1px solid var(--line2); }
.va .a-org-mid::before { content: ""; position: absolute; bottom: 100%; left: 50%; width: 1px; height: 32px; background: var(--line2); }
.va .a-org-row { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; width: 100%; margin-top: 32px; padding-top: 32px; }
.va .a-org-row::before { content: ""; position: absolute; top: 0; left: 12.5%; right: 12.5%; height: 1px; background: var(--line2); }
.va .a-org-row::after { content: ""; position: absolute; top: -32px; left: 50%; width: 1px; height: 32px; background: var(--line2); }
.va .a-org-row > div { position: relative; background: var(--panel); padding: 20px 22px; border-top: 2px solid var(--line2); }
.va .a-org-row > div::before { content: ""; position: absolute; bottom: calc(100% + 2px); left: 50%; width: 1px; height: 32px; background: var(--line2); }
.va .a-org-row h3 { font-size: 18px; font-weight: 700; }
.va .a-org-row ul { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 6px; }
.va .a-org-row li { font-size: 15px; color: var(--mu); }
.va .a-greet p { font-size: 17px; line-height: 1.9; color: var(--tx2); max-width: 38em; }
.va .a-greet p + p { margin-top: 18px; }
.va .a-greet .a-sign { margin-top: 32px; font-size: 22px; font-weight: 800; letter-spacing: -.02em; color: var(--tx); }
.va .a-sign small { display: block; font-size: 14px; font-weight: 500; color: var(--mu); margin-bottom: 4px; }
.va .a-val { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 64px; }
.va .a-val > div { padding-top: 22px; border-top: 1px solid var(--line2); }
.va .a-val h3 { font-size: 20px; font-weight: 700; letter-spacing: -.02em; }
.va .a-val p { margin-top: 10px; font-size: 16px; line-height: 1.75; color: var(--mu); }

/* 사업분야 */
.va .a-steps { position: sticky; top: calc(80px + env(safe-area-inset-top, 0px)); z-index: 20; background: rgba(13, 14, 15, .94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); }
html:not(.js) .va .a-steps { top: 0; }
.va .a-steps-in { display: grid; grid-template-columns: repeat(4, 1fr); }
.va .a-steps a { display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 0 20px; border-left: 1px solid var(--line); font-size: 16px; font-weight: 700; transition: background .2s; }
.va .a-steps a:first-child { border-left: 0; padding-left: 0; }
.va .a-steps a:hover { color: var(--ac); }
.va .a-steps b { font-family: var(--disp); font-stretch: 72%; font-weight: 800; font-size: 22px; line-height: 1; color: var(--ac); }
.va .a-sec--svc { padding-top: 24px; }
.va .a-svc { display: grid; grid-template-columns: 6fr 6fr; gap: 32px 56px; align-items: center; padding-block: 48px; border-top: 1px solid var(--line); }
.va .a-svc:first-child { border-top: 0; }
.va .a-svc.is-rev .a-svc-img { order: 2; }
.va .a-svc-img { margin: 0; overflow: hidden; }
.va .a-svc-img .im { width: 100%; aspect-ratio: 4 / 3; }
.va .a-svc-no { font-family: var(--disp); font-stretch: 78%; font-weight: 700; font-size: 14px; letter-spacing: .04em; color: var(--ac); }
.va .a-svc-txt h2 { margin-top: 8px; font-size: clamp(26px, 2.4vw, 34px); font-weight: 700; letter-spacing: -.03em; }
.va .a-svc-d { margin-top: 14px; font-size: 17px; line-height: 1.8; color: var(--tx2); max-width: 32em; }
.va .a-svc-txt .a-tags { margin-top: 20px; gap: 4px 0; }
.va .a-svc-txt .a-tags li { padding: 0; border: 0; font-size: 15px; font-weight: 600; color: var(--tx); }
.va .a-svc-txt .a-tags li + li::before { content: "·"; margin: 0 10px; color: var(--ac); }
.va .a-svc-rel { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
.va .a-svc-rel p { width: 100%; font-size: 14px; color: var(--mu); }
.va .a-svc-rel a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: 16px; font-weight: 600; transition: color .2s; }
.va .a-svc-rel a svg { width: 15px; height: 15px; color: var(--mu); }
.va .a-svc-rel a:hover { color: var(--ac); }
.va .a-svc-rel span { display: inline-flex; align-items: center; min-height: 44px; font-size: 16px; color: var(--tx2); }
.va .a-sup { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.va .a-sup-c { padding-top: 22px; border-top: 1px solid var(--line2); }
.va .a-sup-c h3 { font-size: 20px; font-weight: 700; letter-spacing: -.02em; }
.va .a-sup-c p { margin-top: 10px; font-size: 16px; line-height: 1.75; color: var(--mu); }

/* 시공실적 */
.va .a-fbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px 20px; margin-bottom: 40px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.va .a-filter { display: flex; flex-wrap: wrap; gap: 8px; }
.va .a-filter .flt-o span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 2px; border: 1px solid var(--line2); color: var(--tx2); font-size: 15px; font-weight: 600; transition: background .2s, color .2s, border-color .2s; }
.va .a-filter .flt-o em { font-style: normal; font-family: var(--disp); font-size: 13px; opacity: .65; margin-left: 5px; }
.va .a-filter .flt-o:hover span { border-color: var(--tx); }
.va .a-filter .flt-o input:checked + span { background: var(--ac); border-color: var(--ac); color: #111; }
.va .a-fbar-n { font-size: 15px; color: var(--mu); }
.va .a-fbar-n b { color: var(--tx); }
.va .a-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 44px 24px; }
.va .a-rec { display: grid; grid-template-columns: 200px 1fr; gap: 12px 48px; padding: 24px 0; border-top: 1px solid var(--line2); }
.va .a-rec h3 { font-family: var(--disp); font-stretch: 72%; font-weight: 800; font-size: 36px; line-height: 1; }
.va .a-rec ul { list-style: none; margin: 0; padding: 0; }
.va .a-rec li a, .va .a-rec-row { display: grid; grid-template-columns: 1fr 18px; gap: 2px 16px; align-items: center; min-height: 56px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.va .a-rec li:last-child a, .va .a-rec li:last-child .a-rec-row { border-bottom: 0; }
.va .a-rec-t { font-size: 16px; font-weight: 600; line-height: 1.5; transition: color .2s; }
.va .a-rec-row .a-rec-t { font-weight: 500; color: var(--tx2); }
.va .a-rec-c { grid-column: 1; font-size: 14px; color: var(--mu); }
.va .a-rec a svg { grid-column: 2; grid-row: 1 / span 2; width: 16px; height: 16px; color: var(--ac); }
.va .a-rec a:hover .a-rec-t { color: var(--ac); }
.va .a-note { margin-top: 28px; max-width: 60em; font-size: 14px; line-height: 1.7; color: var(--mu); }

/* 실적 상세 */
.va .a-sec--pd { padding-top: 48px; }
.va .a-pd { display: grid; grid-template-columns: 5fr 7fr; gap: 32px 48px; align-items: start; }
.va .a-pd-meta { margin: 0; border-top: 1px solid var(--line2); }
.va .a-pd-meta > div { display: grid; grid-template-columns: 96px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.va .a-pd-meta dt { font-size: 15px; color: var(--mu); }
.va .a-pd-meta dd { margin: 0; font-weight: 600; }
.va .a-pd-meta dd a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--line2); }
.va .a-pd-meta dd a:hover { color: var(--ac); }
.va .a-pd-d { margin-top: 24px; font-size: 17px; line-height: 1.8; color: var(--tx2); }
.va .a-pd-note { margin-top: 16px; font-size: 14px; line-height: 1.7; color: var(--mu); }
.va .a-pd-gal { display: grid; gap: 16px; justify-items: start; }
.va .a-pd-gal .frame { width: 100%; }
.va .a-pd-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 24px; align-items: center; margin-top: 64px; padding-top: 28px; border-top: 1px solid var(--line); }
.va .a-pd-nav a { display: grid; gap: 6px; align-content: center; min-height: 56px; font-size: 17px; font-weight: 700; letter-spacing: -.02em; transition: color .2s; }
.va .a-pd-nav a:hover { color: var(--ac); }
.va .a-pd-nav small { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 500; color: var(--mu); }
.va .a-pd-nav small svg { width: 14px; height: 14px; }
.va .a-pd-nav .is-next { text-align: right; justify-items: end; }
.va .a-pd-nav .a-pd-all { grid-column: 1 / -1; justify-self: center; min-height: 48px; padding: 0 24px; border: 1px solid var(--line2); font-size: 15px; font-weight: 600; }

/* 문의 */
.va .a-sec--ct { padding-top: 48px; }
.va .a-ct { display: grid; grid-template-columns: 5fr 7fr; gap: 40px 56px; align-items: start; }
.va .a-ct-k { font-size: 15px; color: var(--mu); }
.va .a-ct-tel { display: block; margin-top: 8px; font-family: var(--disp); font-stretch: 72%; font-weight: 800; font-size: clamp(40px, 4.4vw, 64px); line-height: 1; transition: color .2s; }
.va .a-ct-tel:hover { color: var(--ac); }
.va .a-ct-call { display: none; margin-top: 16px; width: 100%; }
.va .a-ct-dl { margin: 32px 0 0; border-top: 1px solid var(--line2); }
.va .a-ct-dl > div { display: grid; grid-template-columns: 80px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.va .a-ct-dl dt { font-size: 15px; color: var(--mu); }
.va .a-ct-dl dd { margin: 0; font-size: 16.5px; line-height: 1.6; }
.va .a-ct-dl a:hover { color: var(--ac); }
.va .a-ct-map { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.va .a-ct-map svg { width: 16px; height: 16px; }
.va .a-form { display: grid; gap: 18px; align-content: start; padding: clamp(24px, 3.4vw, 40px); background: var(--panel); }
.va .a-form-h { font-size: 22px; font-weight: 700; letter-spacing: -.02em; }
.va .a-f2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.va .a-form label { display: grid; gap: 8px; font-size: 15px; font-weight: 600; color: var(--tx); }
.va .a-form label em { font-style: normal; color: var(--ac); }
.va .a-form input, .va .a-form select, .va .a-form textarea { width: 100%; min-height: 52px; font: inherit; font-size: 16px; font-weight: 400; color: var(--tx); background: var(--bg); border: 1px solid var(--line2); border-radius: 2px; padding: 0 14px; outline: none; transition: border-color .2s; }
.va .a-form textarea { min-height: 128px; padding: 12px 14px; resize: vertical; line-height: 1.6; }
.va .a-form input::placeholder, .va .a-form textarea::placeholder { color: rgba(242, 240, 235, .38); }
.va .a-form select option { color: #111; }
.va .a-form input:focus, .va .a-form select:focus, .va .a-form textarea:focus { border-color: var(--ac); }
.va .a-form .a-chk { display: flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 500; font-size: 15px; color: var(--tx2); }
.va .a-form .a-chk input { width: 22px; height: 22px; min-height: 0; padding: 0; accent-color: var(--ac); flex: none; }
.va .a-form-btn { justify-self: start; margin-top: 4px; }

/* 반응형 */
@media (max-width: 1120px) { .va .a-nav { gap: 24px; } .va .a-hd-in { gap: 28px; } .va .a-stats { grid-template-columns: repeat(2, 1fr); } .va .a-stat:nth-child(3) { padding-left: 0; border-left: 0; } .va .a-stat:nth-child(n+3) { border-top: 1px solid var(--line); } }
@media (max-width: 980px) {
  .va .a-nav, .va .a-tel, .va .a-hd-cta { display: none; }
  .va .a-hd-call, .va .a-burger { display: grid; }
  .va .a-hd-r { gap: 8px; }
  .va .a-mnav { position: absolute; top: 100%; left: 0; right: 0; height: calc(100dvh - 80px - env(safe-area-inset-top, 0px)); overflow-y: auto; flex-direction: column; gap: 28px; padding: 20px var(--gut) 120px; background: var(--bg); border-top: 1px solid var(--line); }
  .va .a-mm[open] .a-mnav, .va .a-mnav.mn-nojs:target { display: flex; }
  .va .a-mnav nav { display: grid; }
  .va .a-mnav nav a { display: flex; align-items: center; min-height: 60px; font-size: 24px; font-weight: 700; letter-spacing: -.03em; border-bottom: 1px solid var(--line); }
  .va .a-mnav nav a[aria-current] { box-shadow: inset 4px 0 0 var(--ac); padding-left: 16px; }
  .va .a-mnav-call { width: 100%; }
  .va .a-head, .va .a-2col, .va .a-band-in, .va .a-pd, .va .a-ct, .va .a-tl > li, .va .a-rec { grid-template-columns: 1fr; }
  .va .a-head { gap: 14px; }
  .va .a-grid { grid-template-columns: repeat(2, 1fr); }
  .va .a-svc, .va .a-svc.is-rev { grid-template-columns: 1fr; gap: 24px; padding-block: 36px; }
  .va .a-svc.is-rev .a-svc-img { order: 0; }
  .va .a-lic { grid-template-columns: 1fr; }
  .va .a-sup { grid-template-columns: 1fr; gap: 24px; }
  .va .a-ft-grid { grid-template-columns: 1fr 1fr; }
  .va .a-ft-addr { grid-column: 1 / -1; }
  .va .a-org-row { grid-template-columns: repeat(2, 1fr); }
  .va .a-org-row::before, .va .a-org-row > div::before { display: none; }
  .va .a-cl { grid-template-columns: repeat(2, 1fr); }
  .va .a-steps-in { display: flex; overflow-x: auto; scrollbar-width: none; }
  .va .a-steps-in::-webkit-scrollbar { display: none; }
  .va .a-steps a { flex: none; min-height: 52px; padding: 0 16px; font-size: 15px; }
  .va .a-steps a:first-child { padding-left: 0; }
  .va .a-steps b { font-size: 18px; }
}
@media (max-width: 900px) {
  .va .a-acc { flex-direction: column; height: auto; gap: 0; }
  .va .a-acc-it, .va .a-acc-it.is-on { flex: none; display: grid; grid-template-columns: 104px 1fr; gap: 4px 16px; padding: 18px 0; border-top: 1px solid var(--line); cursor: default; overflow: visible; }
  .va .a-acc-it::after { display: none; }
  .va .a-acc-it .im, .va .a-acc-it.is-on .im { position: static; grid-row: 1 / span 3; aspect-ratio: 4 / 3; height: auto; filter: none; transform: none; }
  .va .a-acc-no { position: static; font-size: 16px; color: var(--ac); }
  .va .a-acc-body { position: static; }
  .va .a-acc-body h3 { font-size: 18px; }
  .va .a-acc-more, .va .a-acc-it.is-on .a-acc-more { max-height: none; opacity: 1; }
  .va .a-acc-more p { margin-top: 4px; font-size: 15px; line-height: 1.65; }
  .va .a-acc-more ul { display: none; }
}
@media (max-width: 640px) {
  .va { --fs-body: 16px; --fs-lead: 17px; }
  .va .a-sec { padding-block: 56px; }
  .va .a-hd-in { height: 64px; }
  .va .a-logo small { display: none; }
  .va .a-mnav { height: calc(100dvh - 64px - env(safe-area-inset-top, 0px)); }
  .va .a-subnav, .va .a-steps { top: calc(64px + env(safe-area-inset-top, 0px)); }
  .va .a-hero { min-height: 0; }
  .va .a-hero-in { padding-top: 116px; padding-bottom: 32px; }
  .va .a-hero-h { font-size: 38px; }
  .va .a-hero-bg::after { background: linear-gradient(180deg, rgba(10, 10, 10, .6) 0%, rgba(10, 10, 10, .45) 30%, rgba(10, 10, 10, .72) 60%, rgba(13, 14, 15, .98) 100%); }
  .va .a-crumb { color: rgba(242, 240, 235, .86); }
  .va .a-hero-cta .a-btn { flex: 1 1 0; padding: 0 12px; }
  .va .a-stats { grid-template-columns: 1fr 1fr; }
  .va .a-stat { padding: 18px 0 18px 16px; }
  .va .a-stat-n { font-size: 32px; }
  .va .a-stat--lic { grid-column: 1 / -1; padding-left: 0; border-left: 0; }
  .va .a-stat--lic .a-stat-t br { display: none; }
  .va .a-stat--lic .a-stat-t .nw:not(:first-child)::before { content: " · "; color: var(--mu); }
  .va .a-stat--tel { display: none; }
  .va .a-hs { grid-auto-columns: 78%; gap: 16px; }
  .va .a-hs-ctl .a-more { margin-left: 0; }
  .va .a-pc-t { font-size: 17px; }
  .va .a-grid { gap: 28px 12px; }
  .va .a-grid .a-pc-img { aspect-ratio: 1 / 1; }
  .va .a-grid .a-pc-meta { margin-top: 10px; font-size: 12.5px; }
  .va .a-grid .a-pc-t { font-size: 15px; line-height: 1.4; }
  .va .a-grid .a-pc-c { font-size: 12.5px; }
  .va .a-cl li { min-height: 56px; padding: 0 14px; font-size: 15px; }
  .va .a-band-tel { font-size: 44px; }
  .va .a-band-btns { width: 100%; }
  .va .a-band-btns .a-btn { flex: 1 1 0; padding: 0 12px; }
  .va .a-ph { min-height: 280px; }
  .va .a-ph--plain { min-height: 0; }
  .va .a-ph-in { padding-top: 104px; padding-bottom: 32px; }
  .va .a-ph h1 { font-size: 34px; }
  .va .a-ph--pd h1 { font-size: 26px; }
  .va .a-dl > div { grid-template-columns: 104px 1fr; gap: 12px; padding: 14px 0; }
  .va .a-dl dt { font-size: 14px; }
  .va .a-dl dd { font-size: 15.5px; }
  .va .a-lic-n { font-size: 56px; }
  .va .a-docs { flex-direction: column; align-items: stretch; padding: 22px; }
  .va .a-tl > li { gap: 10px; padding: 20px 0; }
  .va .a-val { grid-template-columns: 1fr; gap: 20px; margin-top: 40px; }
  .va .a-rec { padding: 16px 0; }
  .va .a-rec h3 { position: sticky; top: calc(64px + env(safe-area-inset-top, 0px)); z-index: 1; padding: 10px 0; background: var(--bg2); font-size: 28px; }
  .va .a-rec-t { font-size: 15.5px; }
  .va .a-rec-c { font-size: 13px; }
  .va .a-f2 { grid-template-columns: 1fr; }
  .va .a-form-btn { justify-self: stretch; }
  .va .a-ct-call { display: flex; }
  .va .a-ft-grid { grid-template-columns: 1fr; gap: 10px; }
  .va .a-ft-grid dl > div { grid-template-columns: 96px 1fr; }
  .va .a-ft-nav { display: none; }
  .va .a-pd-nav a { font-size: 15.5px; }
  .va .a-org-top { grid-template-columns: 1fr; justify-items: center; gap: 10px; }
  .va .a-org-lead, .va .a-org-side { grid-column: 1; }
  .va .a-org-side { justify-self: center; margin-left: 0; padding: 0; border: 0; font-size: 13px; }
  .va .a-org-side::before { display: none; }
}
/* JS가 꺼진 환경(휴대폰 파일 미리보기 등)에서도 공정 아코디언이 마우스·초점으로 펼쳐지도록 */
@media (min-width: 901px) {
  html:not(.js) .va .a-acc:is(:hover, :focus-within) .a-acc-it.is-on:not(:hover, :focus-within) { flex: 1; cursor: pointer; }
  html:not(.js) .va .a-acc:is(:hover, :focus-within) .a-acc-it.is-on:not(:hover, :focus-within) .im { transform: scale(1.06); filter: grayscale(.4) brightness(.68); }
  html:not(.js) .va .a-acc:is(:hover, :focus-within) .a-acc-it.is-on:not(:hover, :focus-within) .a-acc-no { color: rgba(242, 240, 235, .55); }
  html:not(.js) .va .a-acc:is(:hover, :focus-within) .a-acc-it.is-on:not(:hover, :focus-within) .a-acc-more { max-height: 0; opacity: 0; }
  html:not(.js) .va .a-acc-it:is(:hover, :focus-within) { flex: 3.4; cursor: default; }
  html:not(.js) .va .a-acc-it:is(:hover, :focus-within) .im { transform: scale(1); filter: none; }
  html:not(.js) .va .a-acc-it:is(:hover, :focus-within) .a-acc-no { color: var(--ac); }
  html:not(.js) .va .a-acc-it:is(:hover, :focus-within) .a-acc-more { max-height: 260px; opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .va .a-hero-bg .im, .va .a-ph-bg { animation: none; }
}

.im-anseong-pano{background-image:url(/assets/img/anseong-pano.webp)}
.im-anyang{background-image:url(/assets/img/anyang.webp)}
.im-coupang{background-image:url(/assets/img/coupang.webp)}
.im-eunpyeong{background-image:url(/assets/img/eunpyeong.webp)}
.im-goyang-road-1{background-image:url(/assets/img/goyang-road-1.webp)}
.im-goyang-road-2{background-image:url(/assets/img/goyang-road-2.webp)}
.im-goyang-road-3{background-image:url(/assets/img/goyang-road-3.webp)}
.im-goyang-road-4{background-image:url(/assets/img/goyang-road-4.webp)}
.im-hapcheon{background-image:url(/assets/img/hapcheon.webp)}
.im-hero-site{background-image:url(/assets/img/hero-site.webp)}
.im-jamsil{background-image:url(/assets/img/jamsil.webp)}
.im-jangheon-golden{background-image:url(/assets/img/jangheon-golden.webp)}
.im-jangheon-rigs{background-image:url(/assets/img/jangheon-rigs.webp)}
.im-munsan{background-image:url(/assets/img/munsan.webp)}
.im-nakhari-wall{background-image:url(/assets/img/nakhari-wall.webp)}
.im-pile-rigs{background-image:url(/assets/img/pile-rigs.webp)}
.im-pungdong{background-image:url(/assets/img/pungdong.webp)}
.im-retaining-wall{background-image:url(/assets/img/retaining-wall.webp)}
.im-siksa{background-image:url(/assets/img/siksa.webp)}
.im-sillim{background-image:url(/assets/img/sillim.webp)}
.im-songnae-1{background-image:url(/assets/img/songnae-1.webp)}
.im-songnae-2{background-image:url(/assets/img/songnae-2.webp)}
.im-songnae-3{background-image:url(/assets/img/songnae-3.webp)}
.im-songnae-4{background-image:url(/assets/img/songnae-4.webp)}
.im-wonheung{background-image:url(/assets/img/wonheung.webp)}
.im-yeoksam-w-1{background-image:url(/assets/img/yeoksam-w-1.webp)}
.im-yeoksam-w-2{background-image:url(/assets/img/yeoksam-w-2.webp)}
.im-yeoksam-w-3{background-image:url(/assets/img/yeoksam-w-3.webp)}
.im-yeoncheon-road-1{background-image:url(/assets/img/yeoncheon-road-1.webp)}
.im-yeoncheon-road-2{background-image:url(/assets/img/yeoncheon-road-2.webp)}
.im-yeoncheon-road-3{background-image:url(/assets/img/yeoncheon-road-3.webp)}
.im-yeoncheon-road-4{background-image:url(/assets/img/yeoncheon-road-4.webp)}
.im-yeoncheon-stream-1{background-image:url(/assets/img/yeoncheon-stream-1.webp)}
.im-yeoncheon-stream-2{background-image:url(/assets/img/yeoncheon-stream-2.webp)}
.im-yeoncheon-stream-3{background-image:url(/assets/img/yeoncheon-stream-3.webp)}
.mark{background-image:url(/assets/img/logo-symbol.png)}
.mark--w{background-image:url(/assets/img/logo-symbol-white.png)}