:root{--accent:#3D4F5D;--soft:#E6EAED;--ink:#111;--mute:#555;--line:#E5E5E5;--b1:#F4F8FC;--b2:#FAF7EE;--b3:#F9F7F3}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body,p,li,h1,h2,h3,h4,a,button,.card,footer,nav,td,th{word-break:keep-all;overflow-wrap:break-word;line-break:strict}
body{margin:0;font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",sans-serif;color:var(--ink);background:#fff;line-height:1.75;font-size:16px}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.narrow{max-width:860px}
.ic{flex:none}
/* header */
.hd{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid transparent;transition:border-color .2s}
.hd.scrolled{border-bottom-color:#000}
.hd-in{display:flex;align-items:center;justify-content:space-between;min-height:68px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:20px;color:var(--accent)}
.nav{display:flex;align-items:center;gap:30px}
.nav a{text-decoration:none;font-weight:600;font-size:16px;white-space:nowrap}
.nav a:hover{color:var(--accent)}
.nav .cta{background:var(--accent);color:#fff;padding:9px 22px}
.nav .cta:hover{color:#fff;opacity:.9}
/* hero 50/50 */
.hero{border-top:1px solid #000;border-bottom:1px solid #000}
.hero-in{display:grid;grid-template-columns:1fr 1fr;min-height:680px}
.hero-ph{border-right:1px solid #000;overflow:hidden;background:#eee}
.hero-img{width:100%;height:100%;min-height:680px;object-fit:cover}
.hero-tx{padding:64px 64px;display:flex;flex-direction:column;justify-content:center}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--accent);text-transform:uppercase}
.hero h1{font-size:clamp(56px,7vw,104px);line-height:1.05;margin:14px 0 26px;font-weight:800;letter-spacing:-.03em}
.lead{font-size:18px;line-height:1.85;max-width:760px;margin:0 0 8px}
.btns{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;padding:15px 34px;font-weight:700;border:1px solid var(--accent)}
.btn.ghost{background:#fff;color:var(--accent)}
.btn:hover{opacity:.9}
/* sections */
.sec{padding:84px 0}
.sec.alt1{background:var(--b1)}.sec.alt2{background:var(--b2)}
.sec h2{font-size:clamp(22px,2.4vw,32px);margin:0 0 22px;letter-spacing:-.02em;line-height:1.35}
.sec h3{font-size:20px;margin:30px 0 8px}
.sechead{margin-bottom:38px}
.sechead h2{margin:8px 0 10px;font-size:clamp(24px,2.8vw,38px)}
.sub{margin:0;color:var(--mute);font-size:17px}
.more-link{margin:30px 0 0}.more-link a{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--accent);text-decoration:none}
.more-btn-w{text-align:center;margin:36px 0 0}
.more-btn{font:inherit;font-weight:700;background:#fff;border:1px solid var(--accent);color:var(--accent);padding:14px 40px;cursor:pointer}
.more-btn:hover{background:var(--accent);color:#fff}
/* cards */
.cards3,.cards2,.cards4,.cards4x,.cards5{display:grid;gap:28px}
.cards3{grid-template-columns:repeat(3,1fr)}
.cards2{grid-template-columns:repeat(2,1fr);max-width:820px}
.cards4,.cards4x{grid-template-columns:repeat(4,1fr);gap:22px}
.cards5{grid-template-columns:repeat(5,1fr);gap:18px}
.cards-more{display:flex;justify-content:center;gap:28px;margin-top:28px}
.cards-more[hidden]{display:none}
.cards-more .card{width:calc((100% - 56px)/3)}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);text-decoration:none;transition:border-color .2s,transform .2s}
.card:hover{border-color:var(--accent);transform:translateY(-3px)}
.card-ph{display:block;aspect-ratio:5/6;overflow:hidden;background:#eee}
.card-ph img{width:100%;height:100%;object-fit:cover}
.card-bd{display:flex;flex-direction:column;gap:6px;padding:20px 20px 22px;flex:1}
.badge{align-self:flex-start;font-size:12px;font-weight:700;background:var(--soft);color:var(--accent);padding:3px 10px}
.card-bd strong{font-size:19px;line-height:1.4}
.card-sub{font-size:14.5px;color:var(--mute);line-height:1.65}
.card-more{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--accent);font-size:14.5px}
.cards5 .card-bd{padding:16px 14px 18px}.cards5 .card-bd strong{font-size:16.5px}.cards5 .card-sub{font-size:13.5px}
.cards4 .card-bd strong,.cards4x .card-bd strong{font-size:17px}
/* process */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.steps li{display:flex;flex-direction:column;gap:6px;padding:28px 24px;border:1px solid var(--line);background:#fff;color:var(--accent)}
.steps .n{font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--mute)}
.steps strong{font-size:20px;color:var(--ink)}
.steps span:last-child{color:var(--mute);font-size:15px}
/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split-ph img{width:100%;aspect-ratio:4/5;object-fit:cover}
.split-tx h2{margin-top:8px}
/* top band / crumb */
.top-band{background:var(--b2);padding:44px 0 52px;border-bottom:1px solid var(--line)}
.top-band h1{font-size:clamp(34px,4.6vw,56px);line-height:1.2;margin:10px 0 18px;letter-spacing:-.03em}
.crumb{font-size:14px;color:var(--mute)}.crumb a{text-decoration:none}.crumb a:hover{color:var(--accent)}
/* gallery */
.gal{padding:48px 0 12px}
.gal-h{font-size:22px;margin:0 0 20px}
.gal-g{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gal-g.g1{grid-template-columns:minmax(0,420px)}
.gal-g.g2{grid-template-columns:repeat(2,minmax(0,380px))}
.gal-g.g3 figure img{aspect-ratio:3/4}
.gal-g figure{margin:0}
.gal-g img{width:100%;aspect-ratio:3/4;object-fit:cover}
.gal-g figcaption{font-size:13.5px;color:var(--mute);padding-top:8px}
.lb{cursor:zoom-in}
/* lists / table / faq */
.ul,.ol{margin:0 0 8px;padding-left:22px}
.ul li,.ol li{margin:6px 0}
.ul.scope{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.ul.scope li{border:1px solid var(--line);padding:14px 18px;background:#fff;margin:0}
.tbl-w{overflow-x:auto;margin:24px 0 0}
.tbl{width:100%;border-collapse:collapse;background:#fff;font-size:15.5px}
.tbl caption{text-align:left;font-weight:700;padding:0 0 10px}
.tbl th,.tbl td{border:1px solid var(--line);padding:12px 16px;text-align:left;vertical-align:top}
.tbl thead th{background:var(--soft)}
.tbl tr.cur th,.tbl tr.cur td{background:var(--b2)}
.qa{border-top:1px solid #000;padding:20px 0}
.qa:last-child{border-bottom:1px solid #000}
.qa h3{margin:0 0 8px;font-size:19px}
.qa p{margin:0;color:#333}
.narrow-s .wrap{max-width:860px}
/* closing */
.closing{position:relative;min-height:650px;display:flex;align-items:center;justify-content:center;text-align:center;background-size:cover;background-position:center;color:#fff}
.closing::before{content:"";position:absolute;inset:0;background:rgba(19,19,19,.55)}
.closing-in{position:relative;padding:40px 24px}
.closing h2{font-size:clamp(24px,2.8vw,40px);margin:0 0 18px;font-weight:800;white-space:nowrap}
.closing p{margin:0 0 30px;font-size:18px}
.btn-line{display:inline-block;border:1px solid #fff;border-radius:0;color:#fff;text-decoration:none;padding:14px 44px;font-weight:700}
.btn-line:hover{background:#fff;color:#111}
/* footer */
.ft{background:#fff;border-top:1px solid var(--line);padding:56px 0 24px;font-size:14.5px;color:#333}
.ft-in{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.ft strong{font-size:18px;color:var(--ink)}
.ft ul{list-style:none;margin:10px 0 0;padding:0}.ft li{margin:4px 0}
.ft h3{font-size:15px;margin:0 0 6px}
.ft a{text-decoration:none}.ft a:hover{color:var(--accent)}
.ft-copy{margin-top:36px;padding-top:18px;border-top:1px solid var(--line);color:var(--mute);font-size:13.5px}
/* lightbox */
#lbx{position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center}
#lbx.on{display:flex}
#lbx img{max-width:92vw;max-height:92vh;width:auto;height:auto;cursor:default}
#lbx button{position:absolute;background:none;border:0;color:#fff;font-size:44px;line-height:1;cursor:pointer;padding:14px 20px}
#lbx .x{top:6px;right:10px}#lbx .p{left:6px;top:50%}#lbx .n{right:6px;top:50%}
/* mobile */
/* 작업별 알맞은 상황 표: 아이콘 · 밑줄 없음 · 넉넉한 여백 */
.tbl{font-size:16px;line-height:1.9}
.tbl th,.tbl td{padding:22px 28px}
.tbl thead th{padding:16px 28px;letter-spacing:.04em}
.tbl a{text-decoration:none}
.tbl a:hover{color:var(--accent)}
.row-h{display:flex;align-items:center;gap:16px;white-space:nowrap}
.row-h .ic{width:32px;height:32px;color:var(--accent)}
@media(max-width:767px){
  .wrap{padding:0 16px}
  .hd-in{flex-direction:column;align-items:stretch;padding:10px 0 0;min-height:0}
  .logo{justify-content:center;font-size:18px;padding-bottom:8px}
  .nav{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
  .nav a{text-align:center;padding:11px 2px;font-size:14px}
  .nav .cta{padding:11px 2px}
  .hero-in{grid-template-columns:1fr;min-height:0}
  .hero-ph{border-right:0;border-bottom:1px solid #000}
  .hero-img{min-height:0;height:380px}
  .hero-tx{padding:36px 20px 44px}
  .hero h1{font-size:60px}
  .lead{font-size:16.5px}
  .sec{padding:52px 0}
  .sec h2,.sechead h2{font-size:21px}
  .cards3,.cards2,.cards4,.cards4x,.cards5,.steps,.split,.ft-in,.ul.scope{grid-template-columns:1fr}
  .cards-more{flex-direction:column;gap:28px}.cards-more .card{width:100%}
  .gal-g,.gal-g.g1,.gal-g.g2{grid-template-columns:1fr 1fr;gap:10px}
  .gal-g.g1{grid-template-columns:1fr}
  .gal-g figure:first-child:nth-last-child(3){grid-column:1/-1}
  .split{gap:26px}
  .top-band{padding:28px 0 34px}
  .top-band h1{font-size:30px}
  .closing{min-height:480px}
  .closing h2{font-size:19px;white-space:normal}
  .tbl{font-size:14px;line-height:1.8}.tbl th,.tbl td{padding:14px 12px}.row-h{gap:8px;white-space:normal}.row-h .ic{width:24px;height:24px}
  .ft-in{gap:24px}
}
.tbl caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.eyebrow{display:inline-flex;align-items:center;gap:10px}
.eyebrow .ic{width:28px;height:28px}
.h-ic{display:flex;align-items:center;gap:12px}
.h-ic .ic{width:30px;height:30px;color:var(--accent)}
