:root{--c1:#0d5c63;--c1d:#083d42;--c1l:#e6f1f1;--ac:#e0612d;--bg:#f3f7f6;--tx:#17262a;--mu:#556569;--ln:#d9e2e1;--r:4px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;font-family:'Pretendard',-apple-system,'Apple SD Gothic Neo',sans-serif;color:var(--tx);line-height:1.75;background:#fff;word-break:keep-all;-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{letter-spacing:-.03em;line-height:1.3;margin:0 0 .6em}
h1{font-size:clamp(2.3rem,5vw,3.6rem);font-weight:800;color:var(--c1d)}
h2{font-size:clamp(1.55rem,2.8vw,2.1rem);font-weight:800;color:var(--tx)}
h3{font-size:1.1rem;font-weight:700;color:var(--c1)}
ul{padding-left:1.2em}li{margin:.3em 0}li::marker{color:var(--ac)}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
/* 섹션 구분 */
.sec{padding:88px 0;border-top:1px solid var(--ln)}
.sec.alt{background:var(--bg)}
.sh{margin-bottom:36px}
.sh h2{margin-bottom:.35em}
.sh .sub{margin:0;color:var(--mu);max-width:720px}
.eyebrow{margin:0 0 10px;font-size:.82rem;font-weight:800;letter-spacing:.08em;color:var(--ac)}
.note{margin:28px 0 0;padding:16px 20px;background:#fff;border-left:4px solid var(--ac);font-weight:600}
/* 헤더 */
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--ln)}
.hd{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font-weight:800;font-size:1.2rem;color:var(--c1)}
.nav{display:flex;gap:26px;align-items:center;font-size:.95rem;font-weight:600}
.nav a:hover{color:var(--c1)}
/* 버튼 */
.btn,.nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;background:var(--ac);color:#fff!important;border-radius:var(--r);font-weight:700;font-size:1rem;border:1px solid var(--ac);transition:background .15s,transform .15s}
.btn:hover{background:#c74f1f;transform:translateY(-1px)}
.nav-cta{min-height:40px;padding:0 20px;font-size:.92rem}
.btn.ghost{background:#fff;color:var(--c1)!important;border-color:var(--c1)}
.btn.ghost:hover{background:var(--c1l)}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
/* 인트로 */
.intro{padding:72px 0 64px;background:linear-gradient(180deg,var(--c1l),#fff)}
.lead{font-size:1.15rem;color:var(--mu);max-width:760px;margin:0}
/* 사례 카드 */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cc{border:1px solid var(--ln);border-radius:var(--r);background:#fff;display:block;overflow:hidden;transition:box-shadow .2s,transform .2s}
.cc:hover{box-shadow:0 10px 26px rgba(8,61,66,.14);transform:translateY(-3px)}
.cc[hidden]{display:none}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:2px;position:relative;background:#fff}
.cmp img{width:100%;aspect-ratio:4/5;object-fit:cover}
.cmp span{position:absolute;bottom:10px;font-size:.78rem;font-weight:700;background:rgba(8,61,66,.9);color:#fff;padding:3px 10px;border-radius:2px}
.cmp span.b{left:10px}.cmp span.a{right:10px;background:var(--ac)}
.cc div.t{padding:16px 18px 18px}
.cc h3{margin:0 0 4px;font-size:1.05rem;color:var(--tx)}
.cc p{margin:0;color:var(--mu);font-size:.88rem}
.more-row{text-align:center;margin-top:32px}
.more-row button{font:inherit;font-weight:700;min-height:50px;background:#fff;border:1px solid var(--c1);color:var(--c1);padding:0 48px;border-radius:var(--r);cursor:pointer}
.more-row button:hover{background:var(--c1l)}
/* 박스 */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.box{border:1px solid var(--ln);border-top:3px solid var(--c1);padding:26px 24px;border-radius:var(--r);background:#fff}
.box h3{margin-bottom:.5em}.box p{margin:0;color:var(--mu);font-size:.95rem}
.box.link{display:block;transition:box-shadow .2s,transform .2s}
.box.link:hover{box-shadow:0 10px 26px rgba(8,61,66,.14);transform:translateY(-3px)}
/* 표 */
.tbl{overflow-x:auto;margin:16px 0;border:1px solid var(--ln);border-radius:var(--r);background:#fff}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{word-break:keep-all;border-bottom:1px solid var(--ln);padding:12px 16px;text-align:left;vertical-align:top}
tr:last-child td{border-bottom:0}
th{background:var(--c1l);color:var(--c1d);white-space:nowrap}
/* FAQ */
.faq{border-top:2px solid var(--c1d)}
.faq details{border-bottom:1px solid var(--ln)}
.faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 4px;position:relative;min-height:48px}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{display:block;margin:0;font-size:1.04rem;color:var(--tx)}
.faq summary::after{content:'+';position:absolute;right:8px;top:14px;font-size:1.5rem;line-height:1;color:var(--c1)}
.faq details[open] summary::after{content:'\2212'}
.faq details[open] summary h3{color:var(--c1)}
.faq p{margin:0 0 18px;padding:0 4px;color:var(--mu)}
/* 진행 순서(숫자 없음) */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;padding:0;list-style:none}
.steps li{margin:0;background:var(--bg);border-top:3px solid var(--c1);border-radius:var(--r);padding:18px 16px;font-size:.92rem;color:var(--mu)}
.steps b{display:block;color:var(--c1d);font-size:1.02rem;margin-bottom:4px}
/* 하단 밴드 */
.band{background:var(--c1d);color:#fff;text-align:center;padding:72px 0}
.band h2{color:#fff}.band p{color:#b9d3d4;margin:0 0 24px}
/* 본문형 페이지 */
.crumb{font-size:.85rem;color:var(--mu);padding:20px 24px 0}
.crumb a{text-decoration:underline}
article.post{max-width:840px;margin:0 auto;padding:24px 24px 72px}
.post h1{font-size:clamp(1.9rem,4vw,2.6rem);margin-bottom:.5em}
.post>section{margin-top:44px;padding-top:36px;border-top:1px solid var(--ln)}
.post>section>h2{font-size:1.5rem;padding-left:14px;border-left:5px solid var(--ac);margin-bottom:.8em}
.post h3{margin-top:1.6em;font-size:1.08rem}
.post .lead{font-size:1.1rem;color:var(--tx)}
.post figure{margin:24px 0}
.post figure img{width:100%;max-width:440px;aspect-ratio:3/4;object-fit:cover;object-position:50% 40%;margin:0 auto;border-radius:var(--r);background:var(--bg)}
.post figure.wide img{max-width:100%;aspect-ratio:16/10}
.post figcaption{text-align:center;font-size:.88rem;color:var(--mu);margin-top:8px}
.meta{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}
.meta li{background:var(--bg);padding:14px 16px;border-radius:var(--r);font-size:.92rem;margin:0}
.meta b{display:block;color:var(--c1);font-size:.8rem;margin-bottom:2px}
.quote{border-left:4px solid var(--ac);background:var(--bg);padding:16px 22px;margin:22px 0}
.quote p{margin:0 0 6px}
.upd{color:var(--mu);font-size:.85rem}
/* 관련 카드 */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rcard{border:1px solid var(--ln);background:#fff;display:block;border-radius:var(--r);overflow:hidden;transition:box-shadow .2s,transform .2s}
.rcard:hover{box-shadow:0 10px 26px rgba(8,61,66,.14);transform:translateY(-3px)}
.rcard img{width:100%;aspect-ratio:4/3;object-fit:cover}
.rcard div{padding:16px 18px}.rcard h3{margin:0 0 4px;color:var(--tx)}.rcard p{margin:0;color:var(--mu);font-size:.88rem}
/* 푸터·플로팅 */
.site-footer{background:#10272a;color:#b9c7c8;padding:44px 0 96px;font-size:.88rem}
.fnav{display:flex;gap:10px 22px;flex-wrap:wrap;margin-bottom:16px}.fnav a{color:#fff}
.biz{margin:6px 0;line-height:1.7}
.float-cta{position:fixed;right:20px;bottom:20px;z-index:30;background:var(--ac);color:#fff;font-weight:700;min-height:48px;display:inline-flex;align-items:center;padding:0 24px;border-radius:var(--r);box-shadow:0 6px 18px rgba(0,0,0,.28)}
/* 모바일 */
@media(max-width:860px){
 article.post{padding:12px 18px 48px}
 .crumb{padding:14px 18px 0;font-size:.8rem;line-height:1.5}
 .post h1{font-size:1.7rem;line-height:1.35}
 .post .lead{font-size:1rem}
 .post figure{margin:20px -18px}
 .post figure img{max-width:none;border-radius:0}
 .post figure.wide img{aspect-ratio:4/3}
 .post figcaption{padding:0 18px}
 .meta{gap:8px}
 .meta li{display:flex;gap:10px;align-items:baseline;padding:10px 14px}
 .meta b{min-width:64px;margin:0}
 .post ul{padding-left:1.1em}
 .quote{padding:14px 16px}
 .rcard{display:flex}
 .rcard img{width:112px;min-height:112px;aspect-ratio:1/1;flex:none}
 .rcard div{padding:12px 14px}
 .rcard h3{font-size:.98rem}
 .rcard p{font-size:.82rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .faq summary{padding-right:34px}
 body{font-size:16px}
 .sec{padding:56px 0}.intro{padding:44px 0 40px}.band{padding:52px 0}
 .sh{margin-bottom:24px}
 .nav a:not(.nav-cta){display:none}
 .hd{height:60px}
 .cases,.grid3,.cards3{grid-template-columns:1fr;gap:16px}
 .steps{grid-template-columns:1fr}
 .meta{grid-template-columns:1fr}
 .lead{font-size:1.02rem}
 .cta-row{flex-direction:column}
 .cta-row .btn,.band .btn,.post p>.btn{width:100%;min-height:52px}
 .more-row button{width:100%}
 .post>section{margin-top:32px;padding-top:28px}
 .post>section>h2{font-size:1.3rem}
 th,td{padding:10px 12px;font-size:.9rem}
 th{white-space:normal}
 .site-footer{padding-bottom:88px}
 .float-cta{left:0;right:0;bottom:0;border-radius:0;justify-content:center;min-height:56px;font-size:1rem;box-shadow:0 -2px 12px rgba(0,0,0,.18)}
}
