:root{--accent:#4F787C;--soft:#E4EEF0;--ink:#111;--line:#e5e5e5;--bg2:#FAF7EE;--serif:"Gowun Batang","Noto Serif KR",serif;--sans:"Pretendard",system-ui,-apple-system,"Malgun Gothic",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.75;font-size:16px;-webkit-font-smoothing:antialiased}
body,p,li,h1,h2,h3,h4,a,button,.card,footer,nav{word-break:keep-all;overflow-wrap:break-word;line-break:strict}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.35;margin:0}
.ic{flex:none;vertical-align:-.2em}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}.narrow{max-width:820px}
.center{text-align:center;margin-top:32px}
/* header: 중앙 로고 + 하단 1px 검정선 */
.hd{background:#fff;border-bottom:1px solid #000;position:sticky;top:0;z-index:50}
.hw{max-width:1180px;margin:0 auto;padding:0 24px;height:68px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.nl{display:flex;gap:28px;font-size:15px}.nl a:hover{color:var(--accent)}
.logo{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-size:22px;font-weight:700;color:var(--accent)}
.nr{justify-self:end}
.btn-cta{display:inline-block;background:var(--accent);color:#fff;padding:10px 22px;font-size:15px;font-weight:600;border:0;cursor:pointer}
.btn-cta.big{padding:16px 36px;font-size:18px}
.btn-cta:hover{filter:brightness(.92)}
.btn-ghost{display:inline-block;border:1px solid var(--ink);padding:10px 24px;font-size:15px;background:#fff;cursor:pointer;font-family:inherit}
.btn-ghost:hover{background:var(--ink);color:#fff}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.14em;margin-bottom:10px}
/* hero */
.hero{display:grid;grid-template-columns:5fr 6fr;align-items:center;gap:48px;max-width:1280px;margin:0 auto;padding:56px 24px}
.hero h1{font-size:clamp(40px,5.2vw,64px);margin-bottom:20px}
.lead{font-size:17px;color:#222;margin:0 0 20px}
.hero-b{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.hero-i img{width:100%;aspect-ratio:16/11;object-fit:cover;cursor:zoom-in}
.sec{padding:72px 0}.alt{background:var(--bg2)}
.sec h2{font-size:clamp(26px,3vw,34px);margin-bottom:10px;white-space:nowrap}
.sub{color:#555;margin:0 0 32px}
/* grids */
.grid{display:grid;gap:24px}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr);max-width:calc(66.66% - 8px);margin:24px auto 0}.g4{grid-template-columns:repeat(4,1fr)}
.g2[hidden]{display:none}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);transition:border-color .2s}
.card:hover{border-color:#000}
.thumb{display:block;overflow:hidden}.thumb img{width:100%;aspect-ratio:4/3;object-fit:cover}
.cb{display:flex;flex-direction:column;gap:6px;padding:18px 20px 22px;flex:1}
.badge{align-self:flex-start;background:var(--soft);color:var(--accent);font-size:12px;font-weight:700;padding:2px 10px}
.ct{font-family:var(--serif);font-size:19px;line-height:1.4}
.cs{font-size:14px;color:#444;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.more{margin-top:auto;padding-top:8px;font-size:14px;color:var(--accent);font-weight:600;display:inline-flex;align-items:center;gap:6px}
/* sub pages */
.page{padding:36px 24px 72px}
.page h1{font-size:clamp(30px,4vw,44px);margin:8px 0 18px}
.page h2{font-size:clamp(22px,2.6vw,28px);margin:48px 0 16px;display:flex;align-items:center;gap:10px;color:var(--ink)}
.page h2 .ic{color:var(--accent)}
.page h3{font-size:18px;margin:22px 0 6px}
.page section p{margin:0 0 14px}
.crumb{font-size:13px;color:#666}.crumb a:hover{color:var(--accent)}
.gal{display:grid;gap:14px;margin:8px 0 8px}.gal.g1{grid-template-columns:1fr}.gal.g2{grid-template-columns:repeat(2,1fr)}.gal.g3{grid-template-columns:repeat(3,1fr)}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;cursor:zoom-in}
img[data-zoom]{cursor:zoom-in}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}
th{background:var(--soft);font-weight:700}td:first-child{white-space:nowrap;font-weight:600;background:#fafafa}
.check,.links{margin:0;padding:0;list-style:none}
.check li{position:relative;padding:8px 0 8px 26px;border-bottom:1px solid var(--line)}
.check li::before{content:"";position:absolute;left:4px;top:17px;width:10px;height:6px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.links{display:flex;flex-wrap:wrap;gap:10px}.links a{display:inline-block;border:1px solid var(--line);padding:8px 16px;font-size:15px}.links a:hover{border-color:var(--accent);color:var(--accent)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:s}
.steps li{display:flex;flex-direction:column;gap:10px;padding:20px 16px;border:1px solid var(--line);background:#fff;font-size:15px}
.no{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:700;font-size:14px}
.faq h3{font-size:18px;margin:26px 0 8px;padding-left:14px;border-left:3px solid var(--accent)}.faq p{margin:0}
.txt-link{color:var(--accent);font-weight:600;display:inline-flex;align-items:center;gap:6px}
/* closing */
.closing{background-size:cover;background-position:center;position:relative;min-height:650px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}
.closing::before{content:"";position:absolute;inset:0;background:rgba(19,19,19,.55)}
.cl-in{position:relative;padding:40px 24px}
.closing h2{color:#fff;font-size:clamp(24px,2.8vw,36px);white-space:nowrap;margin-bottom:18px}
.closing p{margin:0 0 28px;font-size:17px}
.btn-line{display:inline-block;border:1px solid #fff;border-radius:0;padding:14px 40px;color:#fff;font-size:16px}.btn-line:hover{background:#fff;color:#111}
/* footer */
.ft{background:#fff;border-top:1px solid var(--line);padding:48px 0 32px;font-size:14px}
.fw{max-width:1180px;margin:0 auto;padding:0 24px}
.fcols{display:grid;grid-template-columns:1.4fr 1.2fr 1fr;gap:32px}
.fb strong{font-family:var(--serif);font-size:20px;color:var(--accent)}.fb p{margin:6px 0 0;color:#555}
.ft h4{margin:0 0 10px;font-size:14px}.ft ul{list-style:none;margin:0;padding:0;line-height:2}.ft a:hover{color:var(--accent)}
.biz{font-style:normal;color:#555;margin-top:28px;padding-top:20px;border-top:1px solid var(--line);line-height:1.9}
.cp{margin:12px 0 0;color:#888}
/* lightbox */
#lb{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:999}
#lb.on{display:flex}#lb img{max-width:92vw;max-height:90vh;object-fit:contain;cursor:zoom-out}
#lb button{position:absolute;top:50%;transform:translateY(-50%);background:none;border:0;color:#fff;font-size:44px;cursor:pointer;padding:16px}
#lb .pv{left:8px}#lb .nx{right:8px}
@media(max-width:1023px){.g4{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){
 .hw{height:auto;padding:10px 16px 0;grid-template-columns:repeat(4,1fr);grid-template-areas:"logo logo logo logo" "a b c d";row-gap:6px}
 .logo{grid-area:logo;justify-self:center;font-size:20px}
 .nl,.nr{display:contents}
 .hw a:not(.logo){text-align:center;font-size:14px;padding:10px 4px;border-top:1px solid var(--line);white-space:nowrap}
 .nl a:nth-child(1){grid-area:a}.nl a:nth-child(2){grid-area:b}.nl a:nth-child(3){grid-area:c}
 .nr .btn-cta{grid-area:d;background:var(--accent);color:#fff;padding:10px 4px}
 .wrap{padding:0 18px}.page{padding:24px 18px 56px}
 .hero{grid-template-columns:1fr;gap:24px;padding:28px 18px}
 .hero h1{font-size:40px}.lead{font-size:16px}
 .sec{padding:48px 0}.sec h2{white-space:normal;font-size:24px}
 .g3,.g4,.gal.g2,.gal.g3{grid-template-columns:1fr}.g2{grid-template-columns:1fr;max-width:none}
 .steps{grid-template-columns:1fr 1fr}
 .page h2{font-size:21px}
 td:first-child{white-space:normal}th,td{padding:10px}
 .closing{min-height:480px}.closing h2{white-space:normal;font-size:23px}
 .fcols{grid-template-columns:1fr 1fr;gap:24px}.fb{grid-column:1/-1}
}
