/* ============================================================
   브이티엑스이엔씨 — 기본형 · 건설·설비 시공사형 (8페이지) 공용 스타일
   톤 : 화이트 + 큰 라운드 카드 + 오렌지 포인트 (참고 : 내일나눔재단 템플릿)
   그누보드 이식 시 css/default.css 로 그대로 이동
   ============================================================ */
:root{
  --paper:#FFFFFF; --paper2:#FBFBFD; --paper3:#F5F5F7; --line:#E8E8ED; --line2:#F0F0F3;
  --ink:#1D1D1F; --ink2:#3A3A3C; --muted:#6E6E73; --muted2:#9A9AA0;
  --acc:#FF6B35; --accD:#D24A25; --accL:#FFF0E6; --accL2:#FFE1D0;
  --dark:#1D1D1F; --dark2:#2A2A2D;
  --r:28px; --r2:18px; --r3:12px; --pill:999px;
  --kr:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --shell:1200px; --pad:clamp(18px,4vw,40px);
  --top-h:76px;
  --sh:0 1px 2px rgba(0,0,0,.03),0 12px 40px -18px rgba(29,29,31,.16);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--kr);color:var(--ink);background:var(--paper);line-height:1.6;letter-spacing:-.015em;word-break:keep-all;overflow-x:hidden;font-feature-settings:"tnum"}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
ul,ol{list-style:none}
table{border-collapse:collapse;width:100%}
.shell{width:min(var(--shell),100% - var(--pad)*2);margin-inline:auto}
.sec{padding-block:clamp(64px,8vw,120px)}
.sec.tight{padding-block:clamp(48px,6vw,88px)}
.sec.soft{background:var(--paper2)}
.sec.dark{background:var(--dark);color:#fff}
h1,h2,h3,h4{line-height:1.15;letter-spacing:-.04em;font-weight:700}

/* 섹션 머리 : 번호 알약 + 큰 제목 + 영문 + 설명 */
.pill{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:var(--pill);background:var(--accL);border:1px solid var(--accL2);color:var(--ink);font-size:13px;font-weight:600;letter-spacing:-.01em}
.pill b{color:var(--acc);font-weight:700}
.dark .pill{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16);color:#fff}
.dark .pill b{color:#FF9A6B}
.sec-h{margin-bottom:clamp(32px,4vw,56px)}
.sec-h .pill{margin-bottom:18px}
.h2{font-size:clamp(28px,4vw,44px);font-weight:800;letter-spacing:-.045em;line-height:1.15}
.h2 em{font-style:normal;color:var(--acc)}
.sec-h .en{margin-top:12px;font-size:15px;color:var(--muted2);letter-spacing:0}
.sec-h .lead{margin-top:14px;font-size:clamp(15px,1.2vw,17px);color:var(--ink2);max-width:62ch;line-height:1.75}
.dark .sec-h .lead{color:rgba(255,255,255,.72)}
.sec-h.row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.sec-h.row .lead{margin-top:10px}

/* 버튼 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 26px;border-radius:var(--pill);font-weight:700;font-size:15px;letter-spacing:-.01em;transition:.25s;white-space:nowrap}
.btn svg{width:16px;height:16px;transition:.25s}
.btn:hover svg{transform:translateX(4px)}
.btn-acc{background:var(--acc);color:#fff;box-shadow:0 10px 24px -10px rgba(255,107,53,.6)}.btn-acc:hover{background:var(--accD)}
.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{background:#000}
.btn-line{border:1px solid var(--line);color:var(--ink);background:#fff}.btn-line:hover{border-color:var(--ink)}
.btn-glass{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.btn-glass:hover{background:rgba(255,255,255,.24)}
.btn-sm{height:44px;padding:0 18px;font-size:14px}
.more{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:700;color:var(--acc)}
.more svg{width:16px;height:16px;transition:.25s}
.more:hover svg{transform:translateX(4px)}

/* 카드 */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}
.card.p{padding:clamp(24px,3vw,36px)}

/* 이미지 자리 (CSS 자리표시자 — 규격 라벨) */
.ph{position:relative;background:var(--paper3);overflow:hidden;display:grid;place-items:center;color:var(--muted2)}
.ph::before{content:"";position:absolute;inset:0;background:
 linear-gradient(135deg,transparent 49.6%,rgba(0,0,0,.05) 49.6%,rgba(0,0,0,.05) 50.4%,transparent 50.4%),
 linear-gradient(45deg,transparent 49.6%,rgba(0,0,0,.05) 49.6%,rgba(0,0,0,.05) 50.4%,transparent 50.4%)}
.ph span{position:relative;font-size:11px;letter-spacing:.08em;text-transform:uppercase;text-align:center;line-height:1.7;padding:10px 14px;border:1px dashed var(--muted2);border-radius:8px;background:rgba(255,255,255,.75)}
.ph.dark{background:#2A2A2D;color:#9a9aa0}.ph.dark span{background:rgba(0,0,0,.35);border-color:#5a5a5e}
.ph.img{background-size:cover;background-position:center;background-repeat:no-repeat}.ph.img::before,.ph.img span{display:none}

/* 리빌 */
.rv{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}

/* ===== Header : 로고 + [≡ 메뉴] + [견적 문의] ===== */
.top{position:fixed;inset:0 0 auto 0;z-index:100;transition:.3s;color:#fff}
.top .bar{display:flex;align-items:center;justify-content:space-between;height:var(--top-h)}
.logo{display:flex;align-items:baseline;gap:8px;font-weight:800;font-size:20px;letter-spacing:-.04em}
.logo small{font-size:11px;font-weight:600;letter-spacing:.08em;opacity:.6}
/* 1차 메뉴 : 헤더에 펼쳐 놓음 (1081px 이상) · 모바일은 [메뉴] 버튼 → 오버레이 */
.gnb{display:flex;gap:50px}
.gnb a{position:relative;padding:8px 0;font-size:15px;font-weight:600;letter-spacing:-.02em;opacity:.85;transition:.2s;white-space:nowrap}
.gnb a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:.3s}
.gnb a:hover,.gnb a.on{opacity:1}
.gnb a:hover::after,.gnb a.on::after{transform:scaleX(1)}
.gnb .has-sub{position:relative;display:flex;align-items:center}
.gnb .has-sub>a{padding-right:16px}
.gnb .has-sub>a::before{content:"";position:absolute;right:2px;top:50%;width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-70%) rotate(45deg);opacity:.6}
.gnb .dd{position:absolute;top:100%;left:50%;transform:translate(-50%,6px);padding-top:14px;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.gnb .dd ul{min-width:168px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:0 20px 50px -20px rgba(29,29,31,.3)}
.gnb .dd a{display:block;padding:10px 14px;border-radius:10px;font-size:14px;font-weight:600;white-space:nowrap;opacity:1;transition:.2s}
.gnb .dd a::after{display:none}
.gnb .dd a:hover{background:var(--accL);color:var(--accD)}
.gnb .has-sub:hover .dd{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.top .mbtn{display:none}
.top-r{display:flex;align-items:center;gap:10px}
.top .mbtn{align-items:center;gap:8px;height:46px;padding:0 20px;border-radius:var(--pill);background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-weight:700;font-size:15px;transition:.25s}
.top .mbtn svg{width:18px;height:18px}
.top .mbtn:hover{background:rgba(255,255,255,.24)}
.top .cta{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 22px;border-radius:var(--pill);background:var(--acc);color:#fff;font-weight:700;font-size:15px;box-shadow:0 10px 24px -10px rgba(255,107,53,.7);transition:.25s}
.top .cta svg{width:16px;height:16px}
.top .cta:hover{background:var(--accD)}
.top.on,.top.solid{background:rgba(255,255,255,.86);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);color:var(--ink);border-bottom:1px solid var(--line)}
.top.on .mbtn,.top.solid .mbtn{background:var(--paper3);border-color:var(--line)}
.top.on .mbtn:hover,.top.solid .mbtn:hover{background:var(--line)}
/* 서브페이지는 처음부터 흰 헤더 */
/* 서브페이지도 사진 히어로 위 투명 헤더로 시작 → 스크롤 시 .top.on */

/* 전체 메뉴 오버레이 (INDEX) */
.menu{position:fixed;inset:0;z-index:120;background:#fff;color:var(--ink);overflow-y:auto;opacity:0;pointer-events:none;transform:translateY(-12px);transition:opacity .35s ease,transform .35s ease}
.menu.open{opacity:1;pointer-events:auto;transform:none}
.menu .mbar{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:2}
.menu .mbar .shell{display:flex;align-items:center;justify-content:space-between;height:var(--top-h)}
.menu .mclose{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 20px;border-radius:var(--pill);background:var(--paper3);font-weight:700;font-size:15px}
.menu .mclose svg{width:16px;height:16px}
.menu .mgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(32px,6vw,96px);padding:clamp(28px,4vw,56px) 0 72px}
.menu .lbl{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--muted);margin-bottom:14px;text-transform:uppercase}
.menu .idx{border-top:1px solid var(--line)}
.menu .idx li{border-bottom:1px solid var(--line)}
.menu .idx a{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:16px;padding:22px 4px;transition:.2s}
.menu .idx a:hover{padding-left:12px}
.menu .idx .n{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.04em}
.menu .idx .t{font-size:clamp(24px,3.2vw,36px);font-weight:800;letter-spacing:-.045em;line-height:1.1}
.menu .idx .s{display:block;margin-top:6px;font-size:13.5px;font-weight:500;color:var(--muted);letter-spacing:-.01em}
.menu .idx svg{width:24px;height:24px;color:var(--ink)}
.menu .idx a:hover .t{color:var(--acc)}
.menu .side .blk{margin-bottom:34px}
.menu .side .tel{font-size:clamp(26px,3vw,34px);font-weight:800;letter-spacing:-.04em;display:block}
.menu .side .sm{font-size:14px;color:var(--muted);margin-top:6px}
.menu .side .ln a{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600;padding:7px 0}
.menu .side .ln a::after{content:"+";color:var(--acc);font-weight:700}
.menu .side .now{display:block;padding:20px;border:1px solid var(--line);border-radius:var(--r2);background:var(--paper2)}
.menu .side .now small{display:block;font-size:12px;color:var(--acc);font-weight:700;margin-bottom:6px}
.menu .side .now b{font-size:15px;font-weight:700;line-height:1.5}
body.lock{overflow:hidden}

/* ===== Hero (메인) ===== */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;background:var(--dark);overflow:hidden;padding:calc(var(--top-h) + 40px) 0 60px}
/* 배경 사진 3장 자동 교차 (images/main01~03.jpg) */
.hero .bgs{position:absolute;inset:0;background:#1D1D1F}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.06);transition:opacity 1.6s ease,transform 8s ease-out}
.hero .bg.on{opacity:1;transform:scale(1)}
.hero .ov{position:absolute;inset:0;background:radial-gradient(60% 50% at 50% 40%,rgba(255,107,53,.16),transparent 70%),linear-gradient(180deg,rgba(20,15,12,.62),rgba(20,15,12,.58) 50%,rgba(20,15,12,.9))}
.hero .grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(60% 60% at 50% 50%,#000,transparent)}
.hero .shell{position:relative;display:flex;flex-direction:column;align-items:center}
.hero .kicker{display:inline-flex;align-items:center;gap:10px;height:36px;padding:0 16px;border-radius:var(--pill);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);font-size:13px;font-weight:600;margin-bottom:30px}
.hero .kicker i{width:6px;height:6px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 4px rgba(255,107,53,.25)}
.hero h1{font-size:clamp(38px,6.2vw,76px);font-weight:800;letter-spacing:-.05em;line-height:1.08}
.hero h1 em{font-style:normal;color:var(--acc)}
.hero .en{margin-top:22px;font-size:clamp(14px,1.3vw,17px);color:rgba(255,255,255,.62);letter-spacing:0}
.hero .sub{margin-top:14px;font-size:clamp(15px,1.4vw,18px);color:rgba(255,255,255,.85);line-height:1.7;max-width:46ch}
.hero .cta{display:flex;gap:12px;margin-top:40px;flex-wrap:wrap;justify-content:center}
/* 히어로 하단 떠 있는 카드 : 진행 중인 현장 */
.hero .live{margin-top:clamp(56px,7vw,90px);width:min(760px,100%);background:rgba(20,15,12,.68);border:1px solid rgba(255,107,53,.5);border-radius:var(--r2);padding:22px 26px;text-align:left;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 30px 60px -30px rgba(255,107,53,.5)}
.hero .live .lr{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:rgba(255,255,255,.8)}
.hero .live .lr b{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#fff}
.hero .live .lr b::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--acc)}
.hero .live h3{margin-top:12px;font-size:19px;font-weight:700;letter-spacing:-.03em}
.hero .live .prog{display:flex;align-items:flex-end;justify-content:space-between;margin-top:16px}
.hero .live .pct{font-size:40px;font-weight:800;letter-spacing:-.05em;color:var(--acc);line-height:1}
.hero .live .pct small{font-size:16px;margin-left:2px}
.hero .live .goal{font-size:13px;color:rgba(255,255,255,.7)}
.hero .live .bar{height:6px;background:rgba(255,255,255,.14);border-radius:99px;margin-top:12px;overflow:hidden}
.hero .live .bar i{display:block;height:100%;width:68%;background:var(--acc);border-radius:99px}
.hero .live .lf{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:13.5px;color:rgba(255,255,255,.8)}
.hero .live .lf b{color:#fff;font-size:16px;margin-right:4px}

/* ===== 서브 히어로 ===== */
.sub-hero{position:relative;min-height:clamp(360px,46vh,520px);display:flex;align-items:flex-end;color:#fff;background:#1D1D1F center/cover no-repeat;overflow:hidden}
.sub-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 50% 40%,rgba(255,107,53,.14),transparent 70%),linear-gradient(180deg,rgba(20,15,12,.6),rgba(20,15,12,.45) 45%,rgba(20,15,12,.86))}
.sub-hero .shell{position:relative;padding-top:var(--top-h);padding-bottom:clamp(40px,5vw,64px)}
.sub-hero .pill{margin-bottom:18px;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18);color:#fff}
.sub-hero .pill b{color:#FF9A6B}
.sub-hero h1{font-size:clamp(34px,5vw,60px);font-weight:800;letter-spacing:-.05em}
.sub-hero p.lead{margin-top:14px;font-size:clamp(15px,1.25vw,17px);color:rgba(255,255,255,.82);max-width:60ch;line-height:1.75}
.crumb{display:flex;gap:10px;margin-top:26px;font-size:12.5px;color:rgba(255,255,255,.55);font-weight:600}
.crumb li+li::before{content:"/";margin-right:10px;opacity:.5}
.crumb li:last-child{color:#FF9A6B}

/* ===== 숫자 (Trust) ===== */
.stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.stat-big{grid-column:1/-1;background:linear-gradient(135deg,#FF7A47,var(--acc) 55%,#E65A2A);color:#fff;border-radius:var(--r);padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;box-shadow:0 30px 60px -30px rgba(255,107,53,.7);position:relative;overflow:hidden}
.stat-big::after{content:"";position:absolute;right:-80px;top:-80px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.12);filter:blur(30px)}
.stat-big .tag{align-self:flex-start;height:32px;padding:0 14px;border-radius:var(--pill);background:rgba(255,255,255,.18);font-size:12.5px;font-weight:700;letter-spacing:.06em;display:inline-flex;align-items:center;margin-bottom:26px}
.stat-big .num{font-size:clamp(56px,8vw,112px);font-weight:800;letter-spacing:-.06em;line-height:1}
.stat-big .num small{font-size:clamp(18px,2vw,26px);font-weight:700;margin-left:4px;letter-spacing:-.02em}
.stat-big .lb{margin-top:16px;font-size:20px;font-weight:700}
.stat-big .ds{margin-top:6px;font-size:14px;opacity:.8}
.stat-big .btn{position:absolute;right:clamp(24px,3vw,44px);bottom:clamp(24px,3vw,44px);background:#fff;color:var(--acc);height:48px}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,3vw,32px);box-shadow:var(--sh)}
.stat .num{font-size:clamp(34px,4vw,48px);font-weight:800;letter-spacing:-.05em;color:var(--acc);line-height:1}
.stat .num small{font-size:15px;color:var(--ink);font-weight:700;margin-left:3px;letter-spacing:-.02em}
.stat .lb{margin-top:26px;font-size:16px;font-weight:700}
.stat .ds{margin-top:6px;font-size:13.5px;color:var(--muted)}
.stats-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}
.stats-wrap .txt{position:sticky;top:110px}
.stats-wrap .txt .cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}

/* ===== 면허·등록증 (증서 카드) ===== */
.lic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.lic-grid.wide{gap:42px 36px}   /* 면허 페이지 : 상하 42 · 좌우 36 */
.lic{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:16px;box-shadow:var(--sh);transition:.3s;cursor:pointer;text-align:left}
.lic:hover{transform:translateY(-4px);border-color:var(--accL2)}
.doc{position:relative;aspect-ratio:3/4;background:linear-gradient(180deg,#FFFDF9,#F7F5F0);border:1px solid #E8E4DA;border-radius:8px;padding:12% 10%;display:flex;flex-direction:column;align-items:center;text-align:center;overflow:hidden}
.doc::before{content:"";position:absolute;inset:8px;border:1px solid rgba(29,29,31,.12)}
.doc .dt{font-size:11px;letter-spacing:.3em;color:var(--muted);font-weight:700;margin-bottom:8%}
.doc .dn{font-size:clamp(13px,1.1vw,16px);font-weight:800;letter-spacing:-.02em;line-height:1.35}
.doc .dl{margin-top:8%;width:60%;display:grid;gap:5px}
.doc .dl i{display:block;height:3px;background:rgba(29,29,31,.1);border-radius:2px}
.doc .dl i:nth-child(2){width:80%}.doc .dl i:nth-child(3){width:60%}
.doc .seal{position:absolute;right:12%;bottom:10%;width:20%;aspect-ratio:1;border-radius:50%;border:2px solid rgba(210,74,37,.7);color:rgba(210,74,37,.7);font-size:9px;font-weight:800;display:grid;place-items:center;transform:rotate(-12deg)}
.doc .dno{position:absolute;left:10%;bottom:11%;font-size:9px;color:var(--muted2);letter-spacing:.04em}
.lic .lb{margin-top:14px;font-size:15px;font-weight:700;letter-spacing:-.02em}
.lic .ds{margin-top:4px;font-size:12.5px;color:var(--muted)}
.lic .ds b{color:var(--acc);font-weight:700}
/* 크게 보기 */
.lb-box{position:fixed;inset:0;z-index:200;background:rgba(29,29,31,.86);display:none;place-items:center;padding:24px}
.lb-box.open{display:grid}
.lb-box .doc{width:min(420px,90vw);aspect-ratio:3/4;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.lb-box .doc .dn{font-size:22px}
.lb-box .x{position:absolute;top:22px;right:22px;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center}
.lb-box .x svg{width:20px;height:20px}
.lb-box .cap{position:absolute;bottom:28px;left:0;right:0;text-align:center;color:#fff;font-size:15px;font-weight:600}
.lb-box .cap small{display:block;margin-top:4px;font-size:13px;color:rgba(255,255,255,.65);font-weight:500}
/* 시공 사진 크게 보기 */
.lb-box .pic{display:inline-block;max-width:92vw;border-radius:var(--r2);overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);margin-bottom:56px}
.lb-box .pic img{display:block;max-width:92vw;max-height:76vh;width:auto;height:auto}

/* ===== 사업분야 ===== */
.biz-sec{background:rgb(250,246,241)}   /* 메인 사업분야 섹션 배경 */
.biz-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.biz{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 26px 30px;box-shadow:var(--sh);display:flex;flex-direction:column;min-height:300px;transition:.3s}
.biz:hover{transform:translateY(-4px);border-color:var(--accL2)}
.biz .ic{width:52px;height:52px;border-radius:16px;background:var(--accL);color:var(--acc);display:grid;place-items:center;margin-bottom:26px}
.biz .ic svg{width:24px;height:24px}
.biz .n{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.06em;margin-bottom:8px}
.biz h3{font-size:22px;font-weight:800;letter-spacing:-.035em}
.biz p{margin-top:12px;font-size:14.5px;color:var(--ink2);line-height:1.7;flex:1}
.biz .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.biz .tags li{font-size:12px;padding:6px 10px;border-radius:var(--pill);background:var(--paper3);color:var(--muted);font-weight:600}
.biz .more{margin-top:20px}
/* 사업분야 서브 : 큰 카드 */
.biz-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,3vw,40px);box-shadow:var(--sh)}
.biz-row+.biz-row{margin-top:20px}
.biz-row .ph{aspect-ratio:4/3;border-radius:var(--r2)}
.biz-row:nth-child(even) .ph{order:2}
.biz-row .ic{width:52px;height:52px;border-radius:16px;background:var(--accL);color:var(--acc);display:grid;place-items:center;margin-bottom:20px}
.biz-row .ic svg{width:24px;height:24px}
.biz-row h3{font-size:clamp(24px,2.6vw,32px);font-weight:800;letter-spacing:-.04em}
.biz-row .desc{margin-top:14px;font-size:16px;color:var(--ink2);line-height:1.8}
.biz-row .chk{margin-top:18px;display:grid;gap:8px}
.biz-row .chk li{position:relative;padding-left:24px;font-size:15px;color:var(--ink2)}
.biz-row .chk li::before{content:"";position:absolute;left:2px;top:7px;width:6px;height:10px;border:solid var(--acc);border-width:0 2px 2px 0;transform:rotate(42deg)}
.biz-row .more{margin-top:24px}

/* ===== 시공 실적표 ===== */
.tbl-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;box-shadow:var(--sh)}
.tbl-scroll{overflow-x:auto}
.tbl th,.tbl td{padding:16px 18px;text-align:left;font-size:14.5px;border-bottom:1px solid var(--line2);white-space:nowrap}
.tbl thead th{background:var(--paper2);font-size:12.5px;font-weight:700;color:var(--muted);letter-spacing:.04em}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl tbody tr:hover td{background:var(--paper2)}
.tbl td.y{font-weight:700;color:var(--ink);width:80px}
.tbl td.t{font-weight:600;white-space:normal;min-width:260px}
.tbl td .cat{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:var(--pill);font-size:12px;font-weight:700;background:var(--accL);color:var(--accD)}
.tbl td .cat.c2{background:#E8F1FF;color:#2159B5}.tbl td .cat.c3{background:#E9F7EE;color:#1B7A45}.tbl td .cat.c4{background:#F1EDFF;color:#5D3FBF}
.tbl td.st{color:var(--muted)}
.tbl td.st.on{color:var(--acc);font-weight:700}
.tbl-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);flex-wrap:wrap}

/* 시공 실적 갤러리 카드 (그누보드 갤러리형 게시판 자리) */
.wk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:42px 36px}
/* 카드 = 사진 박스(라운드) + 아래 텍스트 — 박스 테두리 없음 */
.wk{display:block;transition:.3s}
.wk:hover{transform:translateY(-4px)}
.wk .ph{aspect-ratio:4/3;display:block;border-radius:var(--r2);border:1px solid var(--line);box-shadow:var(--sh);transition:.5s}
.wk:hover .ph{filter:brightness(.95)}
/* 공종 배지 : 유리 알약 (.ph span 의 점선 테두리 규칙을 덮어씀) */
.wk .ph span.cat{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:var(--pill);border:1px solid rgba(255,255,255,.5);font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;line-height:1;color:var(--ink);background:rgba(255,255,255,.45);backdrop-filter:blur(10px) saturate(1.4);-webkit-backdrop-filter:blur(10px) saturate(1.4);box-shadow:none}
.wk .ph span.st{position:absolute;right:12px;top:12px;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:var(--pill);border:1px solid rgba(255,255,255,.3);font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;line-height:1;background:rgba(255,107,53,.85);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.wk .ph .st::before{content:"";width:6px;height:6px;border-radius:50%;background:#fff}
.wk .body{padding:16px 6px 4px;text-align:center}
.wk .meta{display:flex;gap:8px;align-items:center;justify-content:center;font-size:12.5px;color:var(--muted)}
.wk .meta b{color:var(--acc);font-weight:800}
.wk h3{margin-top:6px;font-size:17px;font-weight:700;letter-spacing:-.03em;line-height:1.45;color:var(--ink)}
.wk .spec{margin-top:4px;font-size:13px;color:var(--muted2)}
.wk.hide{display:none}

/* 게시판 공용 머리 */
.bd-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.bd-head .total{font-size:14px;color:var(--muted)}.bd-head .total b{color:var(--ink);font-weight:700}
.bd-tabs{display:flex;gap:6px;flex-wrap:wrap}
.bd-tabs button{height:40px;padding:0 16px;border-radius:var(--pill);border:1px solid var(--line);background:#fff;font-size:14px;font-weight:600;color:var(--muted);transition:.2s}
.bd-tabs button.on,.bd-tabs button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.bd-search{display:flex;height:44px;border:1px solid var(--line);border-radius:var(--pill);background:#fff;overflow:hidden}
.bd-search select{border:0;background:transparent;padding:0 14px;font:inherit;font-size:14px;color:var(--muted);appearance:none;border-right:1px solid var(--line)}
.bd-search input{border:0;padding:0 14px;font:inherit;font-size:14px;width:200px;background:transparent}
.bd-search input:focus{outline:0}
.bd-search button{width:44px;display:grid;place-items:center;color:var(--ink)}
.bd-search svg{width:18px;height:18px}
.bd-page{display:flex;justify-content:center;gap:6px;margin-top:40px}
.bd-page a{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;font-size:13px;font-weight:700;color:var(--muted);transition:.2s}
.bd-page a:hover{background:var(--paper3);color:var(--ink)}
.bd-page a.on{background:var(--ink);color:#fff}
.bd-page a svg{width:16px;height:16px}
.bd-list{background:#fff;border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;box-shadow:var(--sh)}
.bd-list li+li{border-top:1px solid var(--line2)}
.bd-list a{display:grid;grid-template-columns:80px 1fr 110px;gap:20px;align-items:center;padding:20px 22px;transition:.2s}
.bd-list a:hover{background:var(--paper2)}
.bd-list .cat{font-size:12px;font-weight:700;color:var(--acc)}
.bd-list .t{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bd-list .t .new{display:inline-block;margin-left:8px;font-size:10px;font-weight:700;color:#fff;background:var(--acc);padding:2px 7px;border-radius:4px;vertical-align:middle}
.bd-list .d{font-size:13px;color:var(--muted2);text-align:right}

/* ===== 보유 장비 · 인증 ===== */
.eq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px 36px}
.eq{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:18px;box-shadow:var(--sh)}
.eq .ph{aspect-ratio:4/3;border-radius:var(--r3)}
.eq .body{padding:16px 4px 4px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.eq h3{font-size:17px;font-weight:700;letter-spacing:-.03em}
.eq p{margin-top:4px;font-size:13.5px;color:var(--muted)}
.eq .qty{flex:none;font-size:22px;font-weight:800;color:var(--acc);letter-spacing:-.04em}
.eq .qty small{font-size:12px;color:var(--ink);font-weight:700;margin-left:2px}
.badges{display:flex;flex-wrap:wrap;gap:10px}
.badges li{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 18px;border:1px solid var(--line);border-radius:var(--pill);background:#fff;font-size:14px;font-weight:600;color:var(--ink2);box-shadow:var(--sh)}
.badges li b{color:var(--acc);font-weight:800}
.dark .badges li{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}
.dark .badges li b{color:#FF9A6B}

/* ===== 절차 ===== */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s}
.steps li{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:24px 22px 26px;box-shadow:var(--sh)}
.steps li::before{counter-increment:s;content:"0" counter(s);display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:var(--pill);background:var(--accL);color:var(--acc);font-size:12px;font-weight:800}
.steps b{display:block;font-size:18px;margin:16px 0 8px;letter-spacing:-.03em}
.steps p{font-size:14px;color:var(--muted);line-height:1.7}

/* ===== 협력·견적 문의 (다크 CTA + 폼) ===== */
.inq .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:start}
.inq .ways{margin-top:32px;display:grid;gap:12px}
.inq .way{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:22px;border-radius:var(--r2);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.inq .way .ic{width:52px;height:52px;border-radius:16px;background:rgba(255,107,53,.18);color:#FF9A6B;display:grid;place-items:center}
.inq .way .ic svg{width:24px;height:24px}
.inq .way b{display:block;font-size:17px;font-weight:700;margin-bottom:6px}
.inq .way p{font-size:14px;color:rgba(255,255,255,.7);line-height:1.7}
.inq .way .tel-n{font-size:26px;font-weight:800;letter-spacing:-.04em;color:#fff;display:block;margin:2px 0 6px}
.form{background:#fff;color:var(--ink);border-radius:var(--r);padding:clamp(26px,3.2vw,44px);box-shadow:0 40px 80px -40px rgba(0,0,0,.5)}
.form .ft small{display:block;font-size:12px;letter-spacing:.06em;color:var(--acc);font-weight:700;margin-bottom:10px}
.form .ft h3{font-size:26px;font-weight:800;letter-spacing:-.04em}
.form .ft p{margin-top:8px;font-size:14px;color:var(--muted)}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}
.fi{display:flex;flex-direction:column;gap:8px}
.fi.full{grid-column:1/-1}
.fi label{font-size:13px;font-weight:700;color:var(--ink2)}
.fi label em{font-style:normal;color:var(--acc);margin-left:2px}
.fi label span{font-weight:500;color:var(--muted2);margin-left:6px;font-size:12px}
.fi input,.fi select,.fi textarea{width:100%;height:50px;border:1px solid var(--line);border-radius:12px;padding:0 14px;font:inherit;font-size:15px;color:var(--ink);background:var(--paper2);transition:.2s;appearance:none}
.fi select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236E6E73' stroke-width='1.8'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.fi textarea{height:110px;padding:14px;resize:vertical}
.fi input:focus,.fi select:focus,.fi textarea:focus{outline:0;border-color:var(--acc);background:#fff;box-shadow:0 0 0 4px var(--accL)}
.seg{display:flex;gap:6px;padding:4px;background:var(--paper3);border-radius:var(--pill)}
.seg label{flex:1}
.seg input{display:none}
.seg span{display:flex;align-items:center;justify-content:center;height:40px;border-radius:var(--pill);font-size:14px;font-weight:700;color:var(--muted);cursor:pointer;transition:.2s}
.seg input:checked+span{background:#fff;color:var(--ink);box-shadow:var(--sh)}
.agree{margin-top:20px;font-size:14px}
.agree label{display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--ink2)}
.agree input{width:18px;height:18px;accent-color:var(--acc)}
.agree .toggle{color:var(--acc);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px;margin-left:auto}
.agree .detail{display:none;margin-top:12px;background:var(--paper2);border-radius:12px;padding:14px 16px;font-size:13px;color:var(--muted);line-height:1.8}
.agree .detail.on{display:block}
.agree .detail b{color:var(--ink2)}
.form .btn{width:100%;margin-top:22px;height:56px;font-size:16px}
/* 메인 CTA 띠 */
.cta-band{background:linear-gradient(135deg,#FF7A47,var(--acc) 55%,#E65A2A);color:#fff;border-radius:var(--r);padding:clamp(32px,5vw,64px);display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;box-shadow:0 40px 80px -40px rgba(255,107,53,.8);position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;right:-60px;bottom:-120px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.12);filter:blur(30px)}
.cta-band h2{font-size:clamp(26px,3.4vw,40px);font-weight:800;letter-spacing:-.045em;position:relative}
.cta-band p{margin-top:12px;font-size:16px;opacity:.9;position:relative}
.cta-band .btns{display:flex;gap:10px;flex-wrap:wrap;position:relative}
.cta-band .btn-w{background:#fff;color:var(--acc)}.cta-band .btn-w:hover{background:var(--accL)}
.cta-band .btn-wl{border:1px solid rgba(255,255,255,.6);color:#fff}.cta-band .btn-wl:hover{background:rgba(255,255,255,.14)}

/* ===== 회사소개 ===== */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:start}
.about-grid .sticky{position:sticky;top:110px}
.about .quote{font-size:clamp(20px,2vw,26px);line-height:1.5;letter-spacing:-.03em;font-weight:600;margin-top:28px;padding:22px 26px;background:var(--accL);border-radius:var(--r2);border-left:4px solid var(--acc)}
.about .txt{font-size:16.5px;line-height:1.9;color:var(--ink2)}
.about .txt+.txt{margin-top:16px}
.about .rep{margin-top:26px;display:flex;align-items:center;gap:14px}
.about .rep .av{width:48px;height:48px;border-radius:50%;background:var(--accL);color:var(--acc);display:grid;place-items:center;font-weight:800}
.about .rep b{display:block;font-size:15px}.about .rep small{font-size:13px;color:var(--muted)}
.about .pic{aspect-ratio:4/3;border-radius:var(--r);margin-bottom:32px}
.hist{position:relative;padding-left:28px}
.hist::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--line)}
.hist li{position:relative;padding:0 0 30px}
.hist li::before{content:"";position:absolute;left:-28px;top:8px;width:12px;height:12px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 4px var(--accL)}
.hist .y{font-size:24px;font-weight:800;letter-spacing:-.04em;line-height:1.1}
.hist p{margin-top:8px;font-size:15px;color:var(--ink2);line-height:1.7}
.org{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.org li{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:22px;box-shadow:var(--sh)}
.org b{display:block;font-size:17px;font-weight:700}
.org p{margin-top:6px;font-size:13.5px;color:var(--muted);line-height:1.6}

/* ===== 오시는 길 ===== */
.map .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,4vw,56px);align-items:start}
.map .nmap{position:relative;aspect-ratio:16/10;background:var(--paper3);border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.map .nmap>.root_daum_roughmap{position:absolute;inset:0;width:100%!important;height:100%!important}
.map .nmap .root_daum_roughmap .wrap_map{width:100%!important;height:100%!important;border:0!important}
.map .nmap .root_daum_roughmap .map_border{display:none!important}
.map .nmap .map-note{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-size:13px;line-height:1.9;color:var(--muted);padding:24px}
.map .nmap .map-note b{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin-bottom:6px}
.map .nmap .map-note a{color:var(--ink);font-weight:700}
.map .info{margin-top:28px;background:#fff;border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;box-shadow:var(--sh)}
.map .info li{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:18px 22px;border-bottom:1px solid var(--line2);font-size:15px}
.map .info li:last-child{border-bottom:0}
.map .info li b{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);font-weight:700;padding-top:4px}
.map .info li p{color:var(--ink2);line-height:1.7}
.map .info li p small{display:block;font-size:13px;color:var(--muted2)}
.map .links{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap;justify-content:flex-end}

/* ===== 서브 탭바 (회사소개 하위 메뉴) — 사진 히어로 하단에 겹친 유리 띠 ===== */
.sub-tabs{position:relative;z-index:2;margin-top:-72px;background:rgba(255, 255, 255, .1);backdrop-filter:blur(10px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border-bottom:1px solid var(--line)}
.sub-tabs .shell{display:flex;justify-content:flex-start;gap:clamp(24px,3vw,44px);overflow-x:auto;scrollbar-width:none}
.sub-tabs .shell::-webkit-scrollbar{display:none}
.sub-tabs a{position:relative;display:flex;align-items:center;height:72px;padding:0 4px;font-size:15px;font-weight:600;color:rgba(255,255,255,.85);letter-spacing:-.02em;white-space:nowrap;transition:.2s}
.sub-tabs a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:.3s}
.sub-tabs a:hover{color:#fff}
.sub-tabs a.on{color:#FF9A6B;font-weight:700}
.sub-tabs a.on::after{transform:scaleX(1)}
/* 탭바가 히어로 아래쪽 72px 를 덮으므로 그만큼 히어로 하단 여백을 늘림 */
.has-tabs .sub-hero .shell{padding-bottom:calc(clamp(40px,5vw,64px) + 72px)}

/* ===== 오시는 길 (location) ===== */
.loc .lt{font-size:clamp(30px,3.6vw,44px);font-weight:800;letter-spacing:-.045em}
.loc .ld{margin-top:12px;font-size:16px;color:var(--ink2)}
.loc .blk{margin-top:44px}
.loc h3{font-size:20px;font-weight:800;letter-spacing:-.03em}
.loc .addr{margin-top:12px;font-size:17px;color:var(--ink2)}
.loc .nmap{position:relative;margin-top:24px;aspect-ratio:16/7;min-height:340px;background:var(--paper3);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden}
.loc .nmap>.root_daum_roughmap{position:absolute;inset:0;width:100%!important;height:100%!important}
.loc .nmap .root_daum_roughmap .wrap_map{width:100%!important;height:100%!important;border:0!important}
.loc .nmap .root_daum_roughmap .map_border{display:none!important}
.loc .nmap .map-note{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-size:13px;line-height:1.9;color:var(--muted);padding:24px}
.loc .nmap .map-note b{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin-bottom:6px}
.loc .nmap .map-note a{color:var(--ink);font-weight:700}
.loc .links{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;justify-content:flex-end}
.loc .cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);margin-top:56px}
.loc h4{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;margin:28px 0 12px}
.loc h4 i{width:24px;height:24px;border-radius:5px;background:var(--ink);color:#fff;font-style:normal;font-size:12px;font-weight:700;display:grid;place-items:center}
.loc .dots li{position:relative;padding-left:16px;font-size:15.5px;color:var(--ink2);line-height:1.6;margin-bottom:8px}
.loc .dots li::before{content:"";position:absolute;left:2px;top:10px;width:5px;height:5px;border-radius:50%;background:var(--muted2)}
.loc .ct{display:grid;grid-template-columns:90px 1fr;row-gap:16px;margin-top:24px;font-size:16px}
.loc .ct dt{font-weight:700}
.loc .ct dd{color:var(--ink2)}
.loc .hours{margin-top:28px;background:var(--paper3);border-radius:var(--r3);padding:26px 28px}
.loc .hours b{display:block;font-size:16px;margin-bottom:8px}
.loc .hours p{font-size:15.5px;color:var(--ink2)}
.loc .hours p.sub{color:var(--muted);margin-top:4px}

/* ===== 소식 (메인) ===== */
.news-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.news{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:24px;box-shadow:var(--sh);display:flex;flex-direction:column;min-height:180px;transition:.3s}
.news:hover{transform:translateY(-4px)}
.news .cat{font-size:12px;font-weight:700;color:var(--acc)}
.news .d{font-size:12.5px;color:var(--muted2);margin-left:10px}
.news h3{margin-top:14px;font-size:17px;font-weight:700;line-height:1.5;letter-spacing:-.02em;flex:1}
.news .more{margin-top:18px}

/* ===== Footer ===== */
footer{background:var(--paper2);border-top:1px solid var(--line)}
.f-top{padding:56px 0 40px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px}
.f-top .logo{color:var(--ink);margin-bottom:16px}
.f-top .desc{font-size:14px;color:var(--muted);line-height:1.8;max-width:380px}
.f-top h4{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);margin-bottom:16px;font-weight:700}
.f-top li{font-size:14px;color:var(--ink2);padding:5px 0;display:flex;gap:12px}
.f-top li b{font-weight:500;color:var(--muted2);min-width:96px}
.f-top .big{font-weight:800;font-size:26px;letter-spacing:-.04em;margin-bottom:8px}
.f-bot{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted2)}

/* quick */
.quick{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;flex-direction:column;gap:10px}
.quick a{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;box-shadow:0 12px 26px -12px rgba(0,0,0,.4);transition:.3s;opacity:0;pointer-events:none;transform:translateY(12px)}
.quick.on a{opacity:1;pointer-events:auto;transform:none}
.quick a:hover{transform:translateY(-4px)}
.quick .c{background:var(--acc);color:#fff}
.quick .u{background:#fff;color:var(--ink);border:1px solid var(--line)}
.quick svg{width:22px;height:22px}

/* 앵커 이동 시 고정 헤더 보정 */
section[id]{scroll-margin-top:80px}

/* ===== Responsive ===== */
@media (max-width:1080px){
  .gnb{display:none}.top .mbtn{display:inline-flex}
  .lic-grid{grid-template-columns:repeat(2,1fr)}
  .biz-grid{grid-template-columns:repeat(2,1fr)}
  .biz-row{grid-template-columns:1fr}.biz-row:nth-child(even) .ph{order:0}
  .stats-wrap{grid-template-columns:1fr}.stats-wrap .txt{position:static}
  .eq-grid{grid-template-columns:repeat(2,1fr)}
  .wk-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .inq .grid{grid-template-columns:1fr}
  .cta-band{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr}.about-grid .sticky{position:static}
  .org{grid-template-columns:1fr}
  .map .grid{grid-template-columns:1fr}
  .loc .cols{grid-template-columns:1fr}
  .sub-tabs{margin-top:-60px}.sub-tabs a{height:60px}.has-tabs .sub-hero .shell{padding-bottom:calc(clamp(40px,5vw,64px) + 60px)}
  .news-grid{grid-template-columns:1fr}
  .f-top{grid-template-columns:1fr 1fr}
  .menu .mgrid{grid-template-columns:1fr}
  .bd-list a{grid-template-columns:64px 1fr 90px;gap:14px}
}
@media (max-width:640px){
  :root{--top-h:64px;--r:22px}
  .logo{font-size:18px}.logo small{display:none}
  .top .mbtn{padding:0 14px;height:42px}.top .mbtn .lb{display:none}
  .top .cta{height:42px;padding:0 16px;font-size:14px}
  .hero{min-height:auto;padding-bottom:40px}
  .hero .cta .btn{flex:1}
  .hero .live{padding:18px}
  .stats{grid-template-columns:1fr}
  .stat-big .btn{position:static;margin-top:22px;align-self:flex-start}
  .lic-grid{grid-template-columns:1fr 1fr;gap:12px}.lic{padding:10px}.lic .lb{font-size:13.5px}
  .biz-grid{grid-template-columns:1fr}
  .eq-grid{grid-template-columns:1fr}
  .wk-grid{grid-template-columns:1fr 1fr;gap:20px 12px}.wk .body{padding:10px 2px 0}.wk h3{font-size:14px}
  .steps{grid-template-columns:1fr}
  .fg{grid-template-columns:1fr}
  .map .info li{grid-template-columns:1fr;gap:4px}
  .f-top{grid-template-columns:1fr}
  .btn{height:50px;padding:0 20px;font-size:14px}
  .bd-head{flex-direction:column;align-items:stretch}
  .bd-search{width:100%}.bd-search input{flex:1;width:auto}
  .bd-list a{grid-template-columns:1fr;gap:6px;padding:16px 18px}
  .bd-list .d{text-align:left}
  .menu .idx a{grid-template-columns:32px 1fr auto}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
