:root{--g:#26413d;--g2:#3a5a55;--o:#e8803f;--bg:#f4f6f5;--ink:#1c2825;--mut:#62706c;--ln:#dde4e1}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.65 "Pretendard Variable",Pretendard,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",system-ui,sans-serif;color:var(--ink);background:var(--bg);overflow-x:hidden;word-break:keep-all;overflow-wrap:anywhere}
img{max-width:100%;height:auto}a{color:inherit}
.in{max-width:1120px;margin:0 auto;padding:0 18px}.wrap{max-width:1120px;margin:0 auto;padding:8px 18px 100px}
/* header */
.top{position:sticky;top:0;z-index:50;background:var(--g);color:#fff}
.top .in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;position:relative}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.08em;text-decoration:none;color:#fff}.brand img{border-radius:6px}
.gnav{display:flex;align-items:center;gap:4px 22px}.gnav a{color:#d9e3e0;text-decoration:none;font-size:15px;padding:6px 0;white-space:nowrap}
.gnav a[aria-current]{color:#fff;border-bottom:2px solid var(--o)}
.gnav .tel{background:var(--o);color:#fff;padding:8px 16px;border-radius:999px;font-weight:700;border:0;margin-left:6px}.gnav a:not(.tel):hover{color:#fff}.gnav .tel[aria-current]{border:0;box-shadow:0 0 0 2px #fff inset}
.menu{display:none;min-width:44px;min-height:40px;background:none;border:1px solid #5a7a74;color:#fff;font-size:20px;border-radius:8px;padding:2px 10px;cursor:pointer}
/* hero */
.hero h1{margin:0 0 30px;font-size:clamp(2rem,6vw,3.6rem);line-height:1.15;font-weight:900;letter-spacing:-.02em;word-break:keep-all}
.hero .sub{margin:0 0 48px;line-height:1.9;font-size:clamp(1rem,2.4vw,1.2rem);max-width:34em}
.hero-bg{position:relative;color:#fff;background:#1b2e2b;min-height:520px;display:flex;align-items:center}
.hero-bg .himg{position:absolute;inset:0}.hero-bg .himg img{width:100%;height:100%;object-fit:cover;display:block}
.hero-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,46,43,.9) 0,rgba(27,46,43,.65) 50%,rgba(27,46,43,.15) 100%);z-index:1}
.hero-bg .in{position:relative;z-index:2;padding-top:120px;padding-bottom:130px;width:100%}
.eyebrow{display:inline-block;background:var(--o);color:#fff;font-weight:800;font-size:.85rem;padding:4px 12px;border-radius:999px;margin:0 0 34px;letter-spacing:.04em}
.hero-split{background:var(--g);color:#fff;padding:72px 0}
.hero-split .in{display:grid;grid-template-columns:1fr minmax(0,420px);gap:64px;align-items:center}
.hero-split h1{color:#fff}.hf{margin:0;position:relative}.hf img{display:block;width:100%;border-radius:14px;border:3px solid var(--o)}.hf figcaption{color:#bfd0cc;font-size:.85rem;padding:6px 2px}
.hero-plain{background:var(--g);color:#fff;padding:72px 0}
.crumb{font-size:.85rem;color:#b3c6c1;margin-bottom:28px}.crumb a{text-decoration:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--o);color:#fff;font-weight:800;text-decoration:none;padding:12px 22px;border-radius:10px;border:2px solid var(--o);min-height:48px;text-align:center}
.btn.alt{background:transparent;border-color:#fff;color:#fff}.btn.big{font-size:1.1rem;padding:14px 26px}
.ctabox{display:flex;flex-wrap:wrap;gap:12px}
/* sections */
.sec{margin-top:110px}.sec h2{font-size:clamp(1.3rem,3.4vw,1.8rem);line-height:1.3;margin:0 0 40px;padding-left:14px;border-left:6px solid var(--o);word-break:keep-all}
.note{color:var(--mut);font-size:.92rem}.lnk{color:var(--g2);font-weight:700}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:-34px;position:relative;z-index:3}
.facts div{background:#fff;border-radius:12px;padding:16px;box-shadow:0 6px 18px rgba(38,65,61,.12);border-top:4px solid var(--o)}
.facts b{display:block;font-size:1.05rem;color:var(--g)}.facts span{font-size:.88rem;color:var(--mut)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:34px}
.card{display:flex;flex-direction:column;background:#fff;border-radius:14px;overflow:hidden;text-decoration:none;box-shadow:0 4px 14px rgba(38,65,61,.1);transition:transform .2s}
.card:hover{transform:translateY(-3px)}
.card .ph{aspect-ratio:4/3;background:#e8eeec;overflow:hidden}.card .ph img{width:100%;height:100%;object-fit:cover;display:block}
.card.portrait .ph img{object-position:center 40%}
.cb{padding:20px 22px 24px}.cb h3{margin:0 0 6px;font-size:1.1rem;color:var(--g)}.cb p{margin:0 0 8px;font-size:.92rem;color:var(--mut)}.more{color:var(--o);font-weight:800;font-size:.9rem}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:28px;align-items:start}
figure{margin:0;position:relative}figure img{display:block;width:100%;border-radius:12px;background:#e8eeec}figcaption{font-size:.85rem;color:var(--mut);padding:6px 2px}
.tag{position:absolute;top:10px;left:10px;z-index:2;background:#333;color:#fff;font-weight:800;font-size:.8rem;padding:3px 10px;border-radius:999px}.tag-a{background:var(--o)}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;background:#fff;border-radius:10px;overflow:hidden}
th,td{border:1px solid var(--ln);padding:10px 12px;text-align:left;vertical-align:top;font-size:.95rem}th{background:var(--g);color:#fff;white-space:nowrap}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:22px;counter-reset:s}
.steps li{background:#fff;border-radius:12px;padding:16px;border-top:4px solid var(--o);box-shadow:0 3px 10px rgba(38,65,61,.08)}.steps b{display:block;color:var(--g);margin-bottom:4px}.steps span{font-size:.9rem;color:var(--mut)}
.chk{list-style:none;padding:0;margin:0;display:grid;gap:16px}.chk li{background:#fff;border-radius:10px;padding:12px 14px 12px 42px;position:relative;box-shadow:0 2px 8px rgba(38,65,61,.07)}.chk li:before{content:"✔";position:absolute;left:14px;color:var(--o);font-weight:900}
.tri{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.tri div{background:#fff;border-radius:12px;padding:18px;border-top:4px solid var(--o)}.tri b{color:var(--g);font-size:1.1rem}.tri p{margin:6px 0 0;color:var(--mut)}
.rel{font-size:1rem}
/* faq */
.qa{background:#fff;border-radius:10px;margin-bottom:16px;box-shadow:0 2px 8px rgba(38,65,61,.07);overflow:hidden}
.qa summary{list-style:none;cursor:pointer;padding:14px 44px 14px 16px;position:relative;min-height:48px}.qa summary::-webkit-details-marker{display:none}
.qa summary:after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--o);font-weight:800}.qa[open] summary:after{content:"−"}
.qa h3{margin:0;font-size:1rem;font-weight:700;color:var(--g)}.qa p{margin:0;padding:0 16px 16px;color:#3a4642}
.morebtn{display:block;margin:8px auto 0;background:var(--g);color:#fff;border:0;border-radius:999px;padding:12px 28px;font-weight:800;font-size:1rem;cursor:pointer;min-height:48px}
.mod{color:var(--mut);font-size:.85rem;margin-top:64px}
/* cta/footer */
.wrap>.ctabox{margin:26px 0 0}.wrap>.ctabox .btn.alt{color:var(--g);border-color:var(--g)}
.foot{background:#1a2b28;color:#adbfba;padding:32px 0 90px;font-size:.9rem}.foot p{margin:4px 0}.foot .fb{color:#fff;font-weight:800;font-size:1.1rem}.foot a{color:#fff}.fl{margin-top:14px!important;line-height:2}.fl a{text-decoration:none;margin-right:6px;color:#adbfba}
.fbar{display:none}
@media(max-width:1000px){.gnav{gap:4px 14px}.gnav a{font-size:14px}}
@media(max-width:860px){
 .menu{display:block}.gnav{display:none;position:absolute;top:60px;left:0;right:0;background:var(--g);flex-direction:column;align-items:stretch;padding:10px 18px 18px;gap:0;box-shadow:0 10px 20px rgba(0,0,0,.2)}
 .gnav.open{display:flex}.gnav a{padding:12px 0;border-bottom:1px solid #3d5b56}.gnav .tel{text-align:center;margin-top:10px;border:0}
 .hero-bg{display:block;min-height:0}.hero-bg:before{display:none}.hero-bg .himg{position:static}.hero-bg .himg img{height:auto;object-fit:contain}
 .hero-bg .in{padding-top:44px;padding-bottom:64px}.sec{margin-top:84px}.sec h2{margin-bottom:30px}.hero-split,.hero-plain{padding:52px 0}.hero-split .in{gap:40px}.hero h1{margin-bottom:24px}.hero .sub{margin-bottom:36px}.cards,.gal{gap:24px}
 .hero-split .in{grid-template-columns:1fr}.hf.portrait{max-width:360px}
 .facts{grid-template-columns:1fr 1fr;margin-top:16px}.ba{grid-template-columns:1fr}
 .fbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;box-shadow:0 -4px 14px rgba(0,0,0,.2)}
 .fbar a{padding:15px;text-align:center;font-weight:800;text-decoration:none;color:#fff;background:var(--o)}.fbar a+a{background:var(--g)}
}
@media(max-width:480px){.cards{grid-template-columns:1fr}.gal{grid-template-columns:1fr 1fr;gap:10px}.btn.big{width:100%}.steps{grid-template-columns:1fr 1fr}th,td{padding:8px;font-size:.88rem}.facts{grid-template-columns:1fr}}

.notice{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px}.notice li{background:#fff4ea;border-left:5px solid var(--o);border-radius:8px;padding:12px 14px;font-size:.95rem}
.sub3{margin:30px 0 16px;font-size:1.1rem;color:var(--g)}.sub3:first-of-type{margin-top:0}
.note2{margin:22px 0 0;padding:14px 18px;background:#fff;border-left:5px solid var(--o);border-radius:8px}

.cta{padding:72px 0 8px;margin:0}
.cta-card{display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:36px;align-items:center;background:#fff;border-radius:16px;padding:20px;box-shadow:0 6px 22px rgba(38,65,61,.12)}
.cta-img{margin:0}.cta-img img{display:block;width:100%;height:auto;border-radius:12px}
.cta h2{margin:0 0 10px;font-size:clamp(1.4rem,3.4vw,1.9rem);line-height:1.3;font-weight:800;border:0;padding:0;color:var(--g)}.cta h2 em{font-style:normal;color:var(--o)}
.cta-s{margin:0 0 22px;color:var(--mut)}
.cta .ctabox{justify-content:flex-start}.cta .btn{padding:12px 24px;font-size:1rem}.cta .btn.alt{background:transparent;border-color:var(--g);color:var(--g)}
@media(max-width:700px){.cta{padding:56px 0 8px}.cta-card{grid-template-columns:1fr;gap:18px;padding:14px}.cta .btn{width:100%}}

.sec-eye{margin:0 0 8px;color:var(--o);font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.sec h2{margin-top:0}

.ba figure img{aspect-ratio:4/3;object-fit:cover;object-position:center 55%;background:#e8eeec}
.def{margin:0 0 18px;padding:16px 18px;background:#fff;border-left:5px solid var(--o);border-radius:8px;font-size:1.05rem}

/* CTA ~ 푸터 간격 */
.cta{padding-bottom:96px}.foot{margin-top:0}
/* 상담 페이지 버튼·안내 정렬 */
.wrap>.ctabox{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:760px;margin:0 auto}
.wrap>.ctabox .btn{width:100%}
.notice{max-width:760px;margin:20px auto 0;grid-template-columns:1fr 1fr;gap:16px}
.notice li{display:grid;grid-template-columns:36px 1fr;column-gap:12px;align-items:start;padding:16px 18px}
.notice i{grid-row:1/3;font-style:normal;font-size:1.4rem;line-height:1.2}
.notice b{color:var(--g);line-height:1.4}.notice span{color:var(--mut);font-size:.9rem}
@media(max-width:700px){.cta{padding-bottom:72px}.wrap>.ctabox{grid-template-columns:1fr}.notice{grid-template-columns:1fr}}

@media(max-width:860px){br.dbr{display:none}}

.hero-plain+.wrap{padding-top:72px}.hero-plain+.wrap>.ctabox{margin-top:0}
@media(max-width:700px){.hero-plain+.wrap{padding-top:44px}}

/* ===== 효과 ===== */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
.top{transition:box-shadow .3s}.top.sc{box-shadow:0 4px 18px rgba(0,0,0,.25)}
@keyframes fx-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fx-slide{from{transform:translateY(18px)}to{transform:none}}
@keyframes fx-zoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero-bg .in>*,.hero-split .ht>*,.hero-plain .ht>*{animation:fx-up .8s ease both}
.hero-bg .in>*:nth-child(2),.hero-split .ht>*:nth-child(2),.hero-plain .ht>*:nth-child(2){animation-delay:.12s}
.hero-bg .in>*:nth-child(3),.hero-split .ht>*:nth-child(3),.hero-plain .ht>*:nth-child(3){animation-delay:.24s}
.hero-bg .in>*:nth-child(4),.hero-split .ht>*:nth-child(4){animation-delay:.36s}
.hero-bg .in>*:nth-child(5),.hero-split .ht>*:nth-child(5){animation-delay:.48s}
.hero-bg .himg img{animation:fx-zoom 2.2s ease-out both}
.hero-split .hf{animation:fx-slide .9s ease both}
.card .ph img{transition:transform .6s ease}.card:hover .ph img{transform:scale(1.07)}
.gal figure,.ba figure{overflow:hidden;border-radius:12px}
.gal figure img,.ba figure img{transition:transform .6s ease}.gal figure:hover img,.ba figure:hover img{transform:scale(1.05)}
.btn{transition:transform .2s ease,box-shadow .2s ease,background .2s}.btn:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,0,0,.22)}.btn:active{transform:none}
.steps li,.tri>div,.chk li,.facts>div{transition:transform .25s ease,box-shadow .25s ease}.steps li:hover,.tri>div:hover,.facts>div:hover{transform:translateY(-4px);box-shadow:0 10px 22px rgba(38,65,61,.16)}
.sec h2{background:linear-gradient(var(--o),var(--o)) left bottom/0 3px no-repeat;transition:background-size .8s ease .2s}.sec.fxh h2,.sec h2:hover{background-size:60px 3px}
.cta-img img{transition:transform .6s ease}.cta-card:hover .cta-img img{transform:scale(1.04)}.cta-img{overflow:hidden;border-radius:12px}
.gnav a:not(.tel){position:relative}.gnav a:not(.tel):after{content:"";position:absolute;left:0;bottom:2px;height:2px;width:0;background:var(--o);transition:width .25s}.gnav a:not(.tel):hover:after{width:100%}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

/* 가로 넘침 방지 */
.hero-bg{overflow:hidden}.hero-bg .himg{overflow:hidden}
/* 헤더 드롭다운 */
.dd{position:relative}
.ddb{background:none;border:0;color:#d9e3e0;font:inherit;font-size:15px;cursor:pointer;padding:6px 0;white-space:nowrap}.ddb span{font-size:.75em}
.ddb[aria-current]{color:#fff;border-bottom:2px solid var(--o)}.dd:hover .ddb,.dd.open .ddb{color:#fff}
.ddm{display:none;position:absolute;top:100%;left:-16px;min-width:200px;background:#fff;border-radius:12px;box-shadow:0 12px 28px rgba(0,0,0,.25);padding:8px;z-index:70}
.dd:hover .ddm,.dd.open .ddm,.dd:focus-within .ddm{display:block}
.gnav .ddm a{display:block;color:var(--ink);padding:10px 14px;border-radius:8px;font-size:14px;border:0}.gnav .ddm a:after{display:none}
.gnav .ddm a:hover,.gnav .ddm a[aria-current]{background:#eef2f0;color:var(--g);border:0}
@media(max-width:860px){
 .dd{border-bottom:1px solid #3d5b56}.ddb{width:100%;text-align:left;padding:12px 0;pointer-events:none;color:#fff;border:0}.ddb span{display:none}.ddb[aria-current]{border:0}
 .ddm{display:block;position:static;min-width:0;background:transparent;box-shadow:none;padding:0 0 8px 14px}
 .gnav .ddm a{color:#d9e3e0;padding:10px 0;border-bottom:1px solid #2f4b46;border-radius:0}.gnav .ddm a:last-child{border-bottom:0}
 .gnav .ddm a:hover,.gnav .ddm a[aria-current]{background:transparent;color:#fff}
}
