:root{
--grn:#113E25; --grn2:#1E5235; --sage:#8FA394; --mist:#EDF1EE;
--crm:#FBF0DE; --sand:#F6F2E9; --paper:#FFFFFF;
--ink:#1A1D17; --body:#4A4F46; --mut:#8A8F84; --line:#E8E6DF;
--gold:#C9922E;
--sans:'Pretendard','Apple SD Gothic Neo',-apple-system,BlinkMacSystemFont,sans-serif;
--serif:'Pretendard','Apple SD Gothic Neo',-apple-system,BlinkMacSystemFont,sans-serif;
}
*{box-sizing:border-box}
html{overflow-x:hidden;scroll-behavior:smooth}
body{margin:0;max-width:100vw;overflow-x:hidden;background:var(--paper);color:var(--ink);
font-family:var(--sans);font-size:16px;line-height:1.78;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
.w{max-width:1200px;margin:0 auto;padding:0 24px}
@media(max-width:700px){.w{padding:0 20px}}

/* NAV */
.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);
backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line)}
.nav .w{display:flex;align-items:center;height:72px;gap:14px}
.lg{display:flex;align-items:center;gap:9px;text-decoration:none;color:inherit}
.lg img{width:46px;flex:none}
.lg b{font-family:var(--serif);font-size:22px;font-weight:700;letter-spacing:.04em;display:block;line-height:1}
.lg s{display:block;font-size:8.5px;color:var(--mut);text-decoration:none;font-weight:600;margin-top:4px;letter-spacing:.2em;text-transform:uppercase}
.mn{margin-left:auto;display:flex;gap:28px}
.mn a{font-size:12px;font-weight:600;color:var(--body);text-decoration:none;letter-spacing:.14em;text-transform:uppercase}
.mn a:hover{color:var(--grn)}
.call{background:var(--grn);color:#fff;padding:11px 20px;border-radius:2px;font-size:11.5px;
font-weight:600;text-decoration:none;white-space:nowrap;letter-spacing:.1em;text-transform:uppercase}
.mn .m-call{display:none}
.burger{display:none;margin-left:auto;width:40px;height:40px;border:0;background:0;cursor:pointer;
flex-direction:column;justify-content:center;gap:5px;padding:0 8px}
.burger i{display:block;height:1.5px;background:var(--ink);border-radius:2px}
.burger i:nth-child(2){width:72%;margin-left:auto}
@media(max-width:980px){
 .mn{display:none}.burger{display:flex}
 .nav .call{display:none}
 .mn.open{display:flex;position:fixed;inset:72px 0 auto 0;background:#fff;flex-direction:column;
   gap:0;padding:14px 24px 26px;border-bottom:1px solid var(--line);box-shadow:0 14px 30px rgba(0,0,0,.07)}
 .mn.open a{padding:16px 0;border-bottom:1px solid var(--line);font-size:13px}
 .mn.open .m-call{display:block;border:0;background:var(--grn);color:#fff;text-align:center;margin-top:16px;
   padding:16px;border-radius:2px;letter-spacing:.1em}
}

/* HERO */
.hero{position:relative;min-height:clamp(540px,86vh,860px);display:flex;align-items:flex-end;
background:#111;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;opacity:.9}
.hero:after{content:"";position:absolute;inset:0;
background:linear-gradient(180deg,rgba(8,18,12,.3) 0%,rgba(8,18,12,.34) 42%,rgba(8,18,12,.88) 100%)}
.hero .w{position:relative;z-index:2;padding-bottom:72px;padding-top:120px;color:#fff}
.hero .tagline{font-size:11px;font-weight:600;letter-spacing:.3em;color:rgba(255,255,255,.78);margin-bottom:26px;text-transform:uppercase}
.hero h1{margin:0;font-size:clamp(34px,6.4vw,60px);line-height:1.22;font-weight:800;letter-spacing:-.04em}
.hero h1{font-family:var(--serif);font-weight:600;letter-spacing:-.005em;font-size:clamp(48px,8.8vw,94px);line-height:1.02;text-shadow:0 2px 24px rgba(0,0,0,.34)}.hero h1 em{font-style:normal;font-weight:600;color:#EFD79C}.hero .ko-sub{font-family:var(--sans);font-weight:400;font-size:clamp(14.5px,1.9vw,16.5px);letter-spacing:-.008em;text-shadow:0 1px 14px rgba(0,0,0,.4)}
.hero p{margin:22px 0 0;font-size:clamp(15px,2vw,17px);color:rgba(255,255,255,.88);
max-width:520px;line-height:1.82;font-weight:400}
.hero .btns{margin-top:34px;display:flex;gap:10px;flex-wrap:wrap}
.bt1{background:#fff;color:var(--grn);padding:16px 30px;border-radius:2px;font-size:12px;
font-weight:700;text-decoration:none;letter-spacing:.14em;text-transform:uppercase}
.bt2{background:transparent;color:#fff;padding:16px 30px;border-radius:2px;
font-size:12px;font-weight:600;text-decoration:none;letter-spacing:.14em;text-transform:uppercase;
border:1px solid rgba(255,255,255,.42)}
@media(max-width:700px){.hero{min-height:auto}.hero .w{padding-top:90px;padding-bottom:50px}}

/* 공통 섹션 */
section{padding:92px 0;scroll-margin-top:72px}
@media(max-width:700px){section{padding:62px 0}}
.lab{font-size:10.5px;font-weight:700;letter-spacing:.3em;color:var(--sage);margin-bottom:20px;text-transform:uppercase}
h2{margin:0;font-family:var(--serif);font-size:clamp(31px,4.3vw,47px);line-height:1.18;font-weight:600;letter-spacing:-.004em}
h2 em{font-style:normal;font-weight:600;color:var(--grn)}
.lead{margin:24px 0 0;font-size:16px;color:var(--body);line-height:1.9;max-width:620px;font-weight:400}
.lead b{font-weight:500;color:var(--ink)}

/* 숫자 바 */
.stats{background:var(--mist);padding:0}
.stats .w{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}
@media(max-width:760px){.stats .w{grid-template-columns:repeat(2,minmax(0,1fr))}}
.stat{background:var(--mist);padding:34px 18px;text-align:center}
.stat b{display:block;font-family:var(--serif);font-size:clamp(33px,4.6vw,43px);font-weight:600;letter-spacing:.01em;color:var(--grn);line-height:1}
.stat s{display:block;font-size:10.5px;color:var(--mut);text-decoration:none;margin-top:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}

/* 2단 */
.two{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.two.rev{grid-template-columns:.95fr 1.05fr}
@media(max-width:900px){.two,.two.rev{grid-template-columns:1fr;gap:34px}}
.two img{width:100%;height:100%;max-height:520px;object-fit:cover;border-radius:4px}
.ul{margin:28px 0 0;padding:0;list-style:none}
.ul li{padding:16px 0;border-top:1px solid var(--line);font-size:15px;color:var(--body);display:flex;gap:18px;font-weight:400}
.ul li:last-child{border-bottom:1px solid var(--line)}
.ul li b{font-family:var(--serif);color:var(--grn);font-weight:700;min-width:108px;flex:none;font-size:16.5px;letter-spacing:0}

/* 프로그램 3컷 */
.prog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:52px}
@media(max-width:900px){.prog{grid-template-columns:1fr;gap:34px}}
.pc{min-width:0}
.pc img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px;margin-bottom:20px}
.pc h3{margin:0;font-family:var(--serif);font-size:24px;font-weight:600;letter-spacing:-.004em}
.pc .en{font-size:10.5px;color:var(--grn);opacity:.72;font-weight:600;letter-spacing:.18em;margin-top:10px;text-transform:uppercase}
.pc p{margin:15px 0 0;font-size:14.5px;color:var(--body);line-height:1.86;font-weight:400}

/* 인용 */
.pull{background:var(--grn);color:#fff;padding:86px 0}
.pull .w{max-width:800px;text-align:center}
.pull p{margin:0;font-family:var(--serif);font-size:clamp(25px,3.7vw,40px);line-height:1.38;font-weight:600;letter-spacing:-.004em}
.pull p em{font-style:normal;font-weight:600;color:#EFD79C}
.pull s{display:block;margin-top:28px;font-size:15px;color:rgba(255,255,255,.84);
text-decoration:none;line-height:1.92;font-weight:400;letter-spacing:.004em;max-width:640px;margin-left:auto;margin-right:auto}

/* 원장 */
.dir{background:var(--sand)}
.dir .two img{max-height:560px}
.dir .sig{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);font-size:14px;color:var(--mut)}
.dir .sig b{display:block;font-family:var(--serif);font-size:23px;color:var(--ink);font-weight:700;margin-bottom:5px;letter-spacing:.02em}

/* 공간 */
.space-g{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto;gap:14px;margin-top:48px}
@media(max-width:800px){.space-g{grid-template-columns:1fr}}
.space-g figure{margin:0;position:relative;min-width:0}
.space-g img{width:100%;height:100%;object-fit:cover;border-radius:4px}
.space-g .big{grid-row:span 2}
.space-g .big img{aspect-ratio:4/5}
.space-g .sm img{aspect-ratio:16/10}
.space-g figure::after{content:'';position:absolute;inset:auto 0 0 0;height:46%;border-radius:0 0 4px 4px;pointer-events:none;
background:linear-gradient(to top,rgba(20,26,22,.62),rgba(20,26,22,.18) 52%,transparent)}
.space-g figcaption{position:absolute;z-index:2;left:20px;bottom:17px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
text-shadow:0 1px 6px rgba(0,0,0,.4)}

/* 상담 */
.cta{background:var(--mist);text-align:center}
.cta h2{margin-bottom:18px}
.cta .ph{display:inline-block;margin:30px 0 0;font-family:var(--serif);font-size:clamp(31px,4.6vw,44px);font-weight:600;
letter-spacing:.03em;color:var(--grn);text-decoration:none}
.cta .sub{margin:12px 0 0;font-size:14.5px;color:var(--body)}
.cta .btns{margin-top:30px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.cta .bt1{background:var(--grn);color:#fff}
.cta .bt2{background:#fff;color:var(--grn);border:1px solid var(--line);backdrop-filter:none}

/* 푸터 */
footer{background:var(--grn);color:rgba(255,255,255,.66);padding:56px 0 40px;font-size:14px}
footer .w{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
@media(max-width:760px){footer .w{grid-template-columns:1fr;gap:26px}}
footer b{color:#fff;display:block;font-family:var(--serif);font-size:19px;font-weight:600;margin-bottom:12px;letter-spacing:.04em}
footer a{color:rgba(255,255,255,.66)}
.cp{margin-top:38px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);font-size:12.5px;color:rgba(255,255,255,.44)}

/* 피드백 */
.fb{position:fixed;right:20px;bottom:20px;z-index:120;background:var(--gold);color:#241B06;
border:0;padding:14px 20px;border-radius:30px;font-size:14px;font-weight:700;cursor:pointer;
font-family:var(--sans);box-shadow:0 8px 26px rgba(0,0,0,.22)}
.fpnl{position:fixed;inset:0;background:rgba(17,29,21,.5);z-index:130;display:none;align-items:flex-end;justify-content:center}
.fpnl.on{display:flex}
.fbox{background:#fff;width:100%;max-width:470px;padding:26px 24px 22px;border-radius:16px 16px 0 0;max-height:88vh;overflow:auto}
@media(min-width:640px){.fpnl{align-items:center}.fbox{border-radius:12px}}
.fbox h4{margin:0 0 6px;font-size:20px;font-weight:800;letter-spacing:-.035em}
.fbox .d{font-size:14px;color:var(--mut);margin-bottom:18px}
.fbox label{display:block;font-size:13px;font-weight:600;color:var(--body);margin-bottom:7px}
.fbox select,.fbox textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:12px 13px;
font-size:15px;font-family:var(--sans);outline:none;margin-bottom:14px;color:var(--ink);background:#fff}
.fbox textarea{min-height:112px;resize:vertical;line-height:1.72}
.fbox select:focus,.fbox textarea:focus{border-color:var(--grn)}
.fbox .row{display:flex;gap:9px}
.fbox button{flex:1;border:1px solid var(--line);background:#fff;border-radius:7px;padding:14px;
font-size:15px;font-weight:700;cursor:pointer;font-family:var(--sans);color:var(--body)}
.fbox button.p{background:var(--grn);border-color:var(--grn);color:#fff}
.demo{position:fixed;left:0;bottom:0;background:rgba(26,29,23,.8);color:#fff;font-size:10px;
font-weight:600;padding:5px 11px;border-radius:0 7px 0 0;z-index:99;letter-spacing:.05em}

/* ═══════ 멀티페이지 공통 추가 ═══════ */

/* 페이지 히어로 (홈 외 하위 페이지) */
.phero{position:relative;background:#111;min-height:clamp(320px,46vh,460px);display:flex;align-items:flex-end;overflow:hidden}
.phero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;opacity:.86}
.phero:after{content:"";position:absolute;inset:0;
background:linear-gradient(180deg,rgba(8,18,12,.34) 0%,rgba(8,18,12,.4) 44%,rgba(8,18,12,.84) 100%)}
.phero .w{position:relative;z-index:2;padding-bottom:46px;padding-top:96px;color:#fff}
.phero .lab{color:rgba(255,255,255,.72);margin-bottom:16px}
.phero h1{margin:0;font-family:var(--serif);font-size:clamp(38px,6vw,64px);line-height:1.08;
font-weight:600;letter-spacing:-.005em;text-shadow:0 2px 20px rgba(0,0,0,.3)}
.phero h1 em{font-style:normal;color:#EFD79C}
.phero p{margin:18px 0 0;font-size:clamp(14.5px,1.9vw,16.5px);color:rgba(255,255,255,.86);max-width:560px;line-height:1.82}
@media(max-width:700px){.phero .w{padding-top:72px;padding-bottom:36px}}

/* 현재 메뉴 표시 */
.mn a.cur{color:var(--grn);position:relative}
.mn a.cur:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1.5px;background:var(--grn)}
@media(max-width:980px){.mn.open a.cur:after{display:none}.mn.open a.cur{color:var(--grn)}}

/* 빵부스러기 */
.bc{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);font-weight:600;
padding:22px 0 0}
.bc a{color:var(--mut);text-decoration:none}
.bc a:hover{color:var(--grn)}
.bc span{margin:0 8px;opacity:.5}

/* 단계 타임라인 */
.steps{margin:52px 0 0;counter-reset:st}
.stp{display:grid;grid-template-columns:76px 1fr;gap:28px;padding:30px 0;border-top:1px solid var(--line)}
.stp:last-child{border-bottom:1px solid var(--line)}
@media(max-width:700px){.stp{grid-template-columns:1fr;gap:12px;padding:24px 0}}
.stp .n{font-family:var(--serif);font-size:31px;font-weight:600;color:var(--sage);line-height:1}
.stp h3{margin:0 0 9px;font-family:var(--serif);font-size:23px;font-weight:600;letter-spacing:-.004em}
.stp p{margin:0;font-size:15px;color:var(--body);line-height:1.86}
.stp .meta{margin-top:11px;font-size:12px;color:var(--mut);font-weight:600;letter-spacing:.08em}

/* FAQ */
.faq{margin-top:44px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:25px 44px 25px 0;font-size:16.5px;font-weight:500;
position:relative;color:var(--ink);letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);
font-size:21px;color:var(--sage);font-weight:300;line-height:1}
.faq details[open] summary:after{content:"–"}
.faq details[open] summary{color:var(--grn);font-weight:600}
.faq .a{padding:0 44px 26px 0;font-size:15px;color:var(--body);line-height:1.9;margin:0}

/* 카드 그리드 (2·3·4열) */
.grid{display:grid;gap:26px;margin-top:48px}
.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:960px){.grid.c3,.grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.grid.c2,.grid.c3,.grid.c4{grid-template-columns:1fr;gap:30px}}
.card{min-width:0}
.card img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px;margin-bottom:18px}
.card h3{margin:0;font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:-.004em}
.card .en{font-size:10.5px;color:var(--grn);opacity:.72;font-weight:600;letter-spacing:.18em;
margin-top:9px;text-transform:uppercase}
.card p{margin:13px 0 0;font-size:14.5px;color:var(--body);line-height:1.86}

/* 표 */
.tbl{width:100%;border-collapse:collapse;margin-top:44px;font-size:15px}
.tbl th{text-align:left;padding:15px 16px;background:var(--mist);font-size:11px;letter-spacing:.16em;
text-transform:uppercase;color:var(--grn);font-weight:700;border-bottom:1px solid var(--line)}
.tbl td{padding:17px 16px;border-bottom:1px solid var(--line);color:var(--body);vertical-align:top}
.tbl td b{color:var(--ink);font-weight:600;font-family:var(--serif);font-size:16.5px}
.tbl td s{display:block;text-decoration:none;font-size:12.5px;color:var(--mut);margin-top:4px}
@media(max-width:700px){
 .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
 .tbl thead{display:none}
 .tbl tr{border-bottom:1px solid var(--line);padding:18px 0}
 .tbl td{border:0;padding:4px 0}
}

/* 갤러리 */
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:46px}
@media(max-width:860px){.gal{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.gal{grid-template-columns:1fr}}
.gal figure{margin:0;position:relative;min-width:0;cursor:zoom-in}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;display:block}
.gal figure::after{content:'';position:absolute;inset:auto 0 0 0;height:44%;border-radius:0 0 4px 4px;
pointer-events:none;background:linear-gradient(to top,rgba(20,26,22,.6),transparent)}
.gal figcaption{position:absolute;z-index:2;left:16px;bottom:14px;color:#fff;font-size:10.5px;
font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.4)}

/* 라이트박스 */
.lbx{position:fixed;inset:0;background:rgba(10,14,11,.95);z-index:300;display:none;
align-items:center;justify-content:center;padding:24px}
.lbx.on{display:flex}
.lbx img{max-width:100%;max-height:88vh;object-fit:contain;border-radius:3px}
.lbx .x{position:absolute;top:22px;right:24px;width:44px;height:44px;border-radius:50%;
background:rgba(255,255,255,.14);color:#fff;border:0;font-size:22px;cursor:pointer;font-family:var(--sans)}

/* 상담 신청 폼 */
.cf{max-width:580px;margin:42px auto 0;text-align:left;background:#fff;border:1px solid var(--line);
border-radius:5px;padding:32px 30px}
@media(max-width:600px){.cf{padding:26px 20px}}
.cf .cf-t{font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:-.01em;margin:0 0 5px}
.cf .cf-s{font-size:14px;color:var(--mut);margin:0 0 24px;line-height:1.75}
.cf .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:600px){.cf .row{grid-template-columns:1fr;gap:0}}
.cf .f{margin-bottom:16px;min-width:0}
.cf label{display:block;font-size:11px;font-weight:700;color:var(--grn);letter-spacing:.14em;
margin-bottom:7px;text-transform:uppercase}
.cf input,.cf select,.cf textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);
border-radius:3px;padding:13px 14px;font-size:15px;font-family:var(--sans);background:#fff;color:var(--ink)}
.cf input:focus,.cf select:focus,.cf textarea:focus{outline:0;border-color:var(--grn)}
.cf textarea{min-height:92px;resize:vertical;line-height:1.75}
.cf .send{width:100%;margin-top:8px;border:0;background:var(--grn);color:#fff;border-radius:3px;
padding:17px;font-size:13px;font-weight:700;font-family:var(--sans);cursor:pointer;
letter-spacing:.14em;text-transform:uppercase}
.cf .send[disabled]{background:#b9c0b8;cursor:not-allowed}
.cf .priv{margin:14px 0 0;font-size:12px;color:var(--mut);line-height:1.75}
.cf .okb{text-align:center;padding:18px 0 8px}
.cf .okb b{display:block;font-family:var(--serif);font-size:24px;font-weight:600;margin-bottom:12px}
.cf .okb p{margin:0;font-size:15px;color:var(--body);line-height:1.85}

/* 간단 노트 박스 */
.note{margin-top:38px;background:var(--sand);border-left:2px solid var(--grn);padding:24px 26px;
font-size:14.5px;color:var(--body);line-height:1.88}
.note>b:first-child{display:block;font-family:var(--serif);font-size:19px;color:var(--ink);font-weight:600;margin-bottom:9px}
.note b{font-weight:600;color:var(--ink)}

/* 다음 페이지로 */
.nxt{background:var(--grn);color:#fff;padding:0}
.nxt .w{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
@media(max-width:760px){.nxt .w{grid-template-columns:1fr}}
.nxt a{background:var(--grn);padding:44px 28px;text-decoration:none;color:#fff;display:block;position:relative;
border-left:1px solid rgba(255,255,255,.12);transition:background .2s}
.nxt a:first-child{border-left:0;padding-left:0}
.nxt a:after{content:"→";position:absolute;right:28px;top:50%;transform:translateY(-50%);font-size:20px;color:rgba(255,255,255,.4);transition:right .2s,color .2s}
.nxt a:hover:after{right:20px;color:#EFD79C}
@media(max-width:760px){.nxt a{border-left:0;border-top:1px solid rgba(255,255,255,.12);padding:30px 0}.nxt a:first-child{border-top:0}.nxt a:after{right:4px}.nxt a:hover:after{right:0}}
.nxt a:hover{background:transparent}.nxt a:hover b{color:#EFD79C}
.nxt a s{display:block;text-decoration:none;font-size:10px;letter-spacing:.24em;text-transform:uppercase;
color:rgba(255,255,255,.6);margin-bottom:11px;font-weight:600}
.nxt a b{display:block;font-family:var(--serif);font-size:25px;font-weight:600;letter-spacing:-.004em}
.nxt a p{margin:9px 0 0;font-size:13.5px;color:rgba(255,255,255,.72);line-height:1.75}

/* 섹션 → 상세 페이지 유도 링크 */
.more{display:inline-flex;align-items:center;gap:9px;margin-top:30px;font-size:11.5px;font-weight:700;
letter-spacing:.18em;text-transform:uppercase;color:var(--grn);text-decoration:none;
border-bottom:1px solid var(--grn);padding-bottom:7px}
.more:hover{gap:14px}
.more span{transition:none}

/* ═══════ 1.5 추가 (KIDS LAB · 학부모앱 안내 · 상담 동의) ═══════ */

/* iOS 확대 방지 — 입력창 16px */
.cf input,.cf select,.cf textarea,.fbox input,.fbox select,.fbox textarea{font-size:16px}
.fbox input{width:100%;border:1px solid var(--line);border-radius:7px;padding:12px 13px;
font-family:var(--sans);outline:none;margin-bottom:14px;color:var(--ink);background:#fff}
.fbox input:focus{border-color:var(--grn)}
.fbox .err{min-height:20px;font-size:13px;color:#A6402F;margin:-6px 0 10px}

/* 버튼 (밝은 배경용) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--grn);color:#fff;
padding:16px 26px;border-radius:2px;font-size:12.5px;font-weight:700;text-decoration:none;letter-spacing:.12em;
text-transform:uppercase;border:1px solid var(--grn);font-family:var(--sans);cursor:pointer}
.btn:hover{background:var(--grn2)}
.btn.ghost{background:#fff;color:var(--grn);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--grn)}
.btn svg{width:16px;height:16px;flex:none}
.btns-l{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
@media(max-width:560px){.btns-l .btn{width:100%}}

/* 작은 라벨 */
.tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
padding:5px 10px;border-radius:2px;background:var(--mist);color:var(--grn);vertical-align:middle}
.tag.gold{background:var(--crm);color:#7A5410}

/* 이달의 테마 × 4주 */
.kl-theme{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-top:8px}
.kl-theme .ym{font-size:12px;font-weight:600;letter-spacing:.16em;color:var(--mut);text-transform:uppercase}
.kl-weeks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:40px}
@media(max-width:960px){.kl-weeks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.kl-weeks{grid-template-columns:1fr;gap:12px}}
.kw{background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;min-width:0;display:flex;flex-direction:column}
.kw img{width:100%;aspect-ratio:4/3;object-fit:cover} /* 주차 사진 원본 비율 — 아이들 얼굴이 잘리지 않게 */
.kw .b{padding:20px 20px 22px;flex:1}
.kw .wk{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--sage)}
.kw h3{margin:8px 0 0;font-family:var(--serif);font-size:23px;font-weight:600;letter-spacing:-.004em;line-height:1.2}
.kw h3 small{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--mut);margin-left:6px;letter-spacing:0}
.kw .t{margin:12px 0 0;font-size:15px;font-weight:600;color:var(--ink);line-height:1.6}
.kw p{margin:8px 0 0;font-size:14px;color:var(--body);line-height:1.8}
.kl-ex{margin-top:16px;font-size:13px;color:var(--mut);line-height:1.75}

/* 정보 표 (정의 목록) */
.kl-info{margin:40px 0 0;border-top:1px solid var(--line)}
.kl-info>div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:19px 0;border-bottom:1px solid var(--line)}
@media(max-width:600px){.kl-info>div{grid-template-columns:1fr;gap:4px;padding:16px 0}}
.kl-info dt{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--grn);padding-top:3px}
.kl-info dd{margin:0;font-size:15.5px;color:var(--ink);line-height:1.75}
.kl-info dd s{display:block;text-decoration:none;font-size:13.5px;color:var(--mut);margin-top:3px}
.kl-info dd b{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--grn)}

/* 패키지 · 아이콘 카드 */
.kl-pk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:40px}
@media(max-width:760px){.kl-pk{grid-template-columns:1fr}}
.kl-pk>div{background:#fff;border:1px solid var(--line);border-radius:4px;padding:24px 22px;min-width:0}
.kl-pk i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--mist);color:var(--grn);margin-bottom:16px}
.kl-pk i svg{width:22px;height:22px}
.kl-pk h3{margin:0;font-family:var(--serif);font-size:21px;font-weight:600}
.kl-pk p{margin:8px 0 0;font-size:14.5px;color:var(--body);line-height:1.8}

/* 학부모앱 신청 방법 */
.how{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.16);margin-top:40px;border-radius:4px;overflow:hidden}
@media(max-width:900px){.how{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.how{grid-template-columns:1fr}}
.how>div{background:var(--grn);padding:26px 22px}
.how .n{font-family:var(--serif);font-size:30px;font-weight:600;color:#EFD79C;line-height:1}
.how h3{margin:14px 0 0;font-size:16.5px;font-weight:700;color:#fff;letter-spacing:-.015em}
.how p{margin:8px 0 0;font-size:14px;color:rgba(255,255,255,.76);line-height:1.8}
.dark{background:var(--grn);color:#fff}
.dark .lab{color:rgba(255,255,255,.6)}
.dark h2{color:#fff}.dark h2 em{color:#EFD79C}
.dark .lead{color:rgba(255,255,255,.82)}.dark .lead b{color:#fff}
.dark .btn{background:#fff;color:var(--grn);border-color:#fff}
.dark .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.42)}
.a2hs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
@media(max-width:700px){.a2hs{grid-template-columns:1fr}}
.a2hs>div{border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:20px 22px}
.a2hs b{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#EFD79C;margin-bottom:8px}
.a2hs p{margin:0;font-size:14px;color:rgba(255,255,255,.8);line-height:1.85}

/* 상담 폼 — 관심 프로그램 · 동의 */
.cf .agree{display:flex;gap:11px;align-items:flex-start;margin:6px 0 4px;padding:14px 15px;background:var(--sand);border-radius:3px;cursor:pointer}
.cf .agree input{width:20px;height:20px;padding:0;border:0;flex:none;margin:2px 0 0;accent-color:var(--grn)}
.cf .agree span{font-size:13.5px;color:var(--body);line-height:1.7;text-transform:none;letter-spacing:0;font-weight:400}
.cf .agree span b{color:var(--ink);font-weight:600}
.cf .agree small{display:block;font-size:12.5px;color:var(--mut);margin-top:4px}
.cf .msg{min-height:22px;margin:10px 0 0;font-size:13.5px;color:#A6402F;text-align:center}
.cf .okb .meta{margin-top:16px;font-size:13px;color:var(--mut)}

/* 고딕 통일 — 기울임 없음 */
em,i{font-style:normal}

/* ═══════ KIDS LAB 레이아웃 보완 (2026-10-23) ═══════ */
.lead{font-size:16.5px}
@media(max-width:700px){.lead{font-size:15.5px}}

/* 섹션 머리 — 제목 왼쪽, 설명 오른쪽 */
.kl-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end}
.kl-head .lead{margin:0;max-width:none;padding-bottom:6px}
@media(max-width:900px){.kl-head{grid-template-columns:1fr;gap:0}.kl-head .lead{margin-top:20px;padding:0}}

/* Why — STEAM 컬러 카드 */
.kl-why{align-items:stretch}
.kl-why .kl-why-img{height:100%;max-height:none;min-height:520px;border-radius:6px}
@media(max-width:900px){.kl-why .kl-why-img{min-height:0;aspect-ratio:4/3}}
.kl-steam{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:30px}
@media(max-width:480px){.kl-steam{grid-template-columns:1fr}}
.kl-steam>div{position:relative;background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px 18px 18px 70px;min-width:0}
.kl-steam b{position:absolute;left:18px;top:18px;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;
background:var(--c);color:#fff;font-size:18px;font-weight:800;letter-spacing:0}
.kl-steam h4{margin:0;font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.kl-steam p{margin:3px 0 0;font-size:13.5px;color:var(--body);line-height:1.65}

/* 4주 카드 — 주차 색 */
.kw{border-radius:6px;transition:transform .2s,box-shadow .2s}
.kw:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(17,62,37,.08)}
.kl-weeks .kw:nth-child(1){--c:#2350B8}.kl-weeks .kw:nth-child(2){--c:#D9442E}
.kl-weeks .kw:nth-child(3){--c:#E0A100}.kl-weeks .kw:nth-child(4){--c:#8A6FD1}
.kw .wk{display:inline-block;color:#fff;background:var(--c,var(--sage));padding:4px 9px;border-radius:3px;font-size:10.5px}
.kw p{font-size:14.5px}

/* 랩 패키지 — 색 아이콘 */
.kl-pk>div{border-radius:6px;padding:28px 24px;border-top:3px solid var(--c,var(--grn))}
.kl-pk i{background:color-mix(in srgb,var(--c,var(--grn)) 12%,#fff);color:var(--c,var(--grn));border-radius:12px;width:48px;height:48px}

/* 수업 안내 */
.kl-info-img{border-radius:6px}
.kl-info>div{padding:20px 0}

/* 신청 방법 */
.kl-join{position:relative;overflow:hidden}
.kl-join:before{content:"";position:absolute;right:-180px;top:-160px;width:520px;height:520px;border-radius:50%;
background:radial-gradient(circle,rgba(239,215,156,.14),transparent 68%);pointer-events:none}
.kl-join .w{position:relative}
.kl-join-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
@media(max-width:900px){.kl-join-top{grid-template-columns:1fr;gap:44px}}
.kl-join .lead{max-width:540px}
.kl-join-pts{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.kl-join-pts span{display:flex;flex-direction:column;padding:12px 16px;border-radius:6px;background:rgba(255,255,255,.07);
border:1px solid rgba(255,255,255,.14);font-size:12.5px;color:rgba(255,255,255,.72);line-height:1.5}
.kl-join-pts b{font-size:14.5px;color:#EFD79C;font-weight:700}
.kl-join .btn{padding:18px 28px;font-size:13px}
@media(max-width:560px){.kl-join-pts{gap:8px}.kl-join-pts span{flex:1 1 0;min-width:0;padding:10px 10px;font-size:11px}.kl-join-pts b{font-size:13px}}

/* 학부모앱 휴대폰 화면 (예시) */
.kl-phone{justify-self:center;width:300px;max-width:100%;padding:12px;border-radius:44px;background:#0B1F13;
box-shadow:0 30px 70px rgba(0,0,0,.38),inset 0 0 0 1.5px rgba(255,255,255,.12);transform:rotate(2deg)}
@media(max-width:900px){.kl-phone{transform:none}}
.kl-phone .scr{background:#F6F2E9;border-radius:34px;overflow:hidden;padding:0 0 16px;color:var(--ink)}
.ph-top{display:flex;align-items:center;gap:10px;background:var(--grn);color:#fff;padding:26px 18px 16px}
.ph-top img{width:38px;height:38px;border-radius:50%;background:#fff;padding:2px}
.ph-top b{display:block;font-size:15px;letter-spacing:.06em}.ph-top s{display:block;text-decoration:none;font-size:11px;opacity:.7}
.ph-theme{margin:14px 14px 0;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--line)}
.ph-theme s,.ph-pass s{display:block;text-decoration:none;font-size:10.5px;color:var(--mut);font-weight:600;letter-spacing:.06em}
.ph-theme b{font-size:16px}
.ph-pass{display:flex;align-items:center;gap:6px;margin:8px 14px 6px;padding:12px 14px;border-radius:12px;background:var(--grn);color:#fff}
.ph-pass>div{flex:1}.ph-pass s{color:rgba(255,255,255,.6)}.ph-pass b{font-size:14px}
.ph-pass i{width:12px;height:12px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5)}
.ph-pass i.on{background:#EFD79C;border-color:#EFD79C}
.ph-wk{display:flex;align-items:center;gap:10px;margin:6px 14px 0;padding:9px 10px;border-radius:10px;background:#fff;border:1px solid var(--line)}
.ph-wk span{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--c);color:#fff;font-size:10.5px;font-weight:800}
.ph-wk>div{flex:1;line-height:1.3}.ph-wk b{display:block;font-size:13px}.ph-wk s{text-decoration:none;font-size:11px;color:var(--mut)}
.ph-wk em{font-size:10.5px;font-weight:700;padding:4px 8px;border-radius:20px;background:var(--mist);color:var(--grn)}
.ph-wk em.done{background:#EEE;color:var(--mut)}
.ph-wk em.go{background:var(--grn);color:#fff}
.ph-btn{margin:12px 14px 0;padding:12px;border-radius:10px;background:#EFD79C;color:#3A2A06;text-align:center;font-size:13px;font-weight:800}

/* 4단계 */
.kl-steps{list-style:none;padding:0;margin:64px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:none}
@media(max-width:960px){.kl-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.kl-steps{grid-template-columns:1fr}}
.kl-steps li{position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-radius:8px;padding:26px 22px 24px;min-width:0}
.kl-steps li:not(:last-child):after{content:"";position:absolute;right:-11px;top:46px;width:8px;height:8px;z-index:2;
border-top:1.5px solid #EFD79C;border-right:1.5px solid #EFD79C;transform:rotate(45deg)}
@media(max-width:960px){.kl-steps li:after{display:none}}
.kl-steps .ic{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#EFD79C;color:var(--grn)}
.kl-steps .ic svg{width:23px;height:23px}
.kl-steps .n{margin-top:18px;font-size:11px;font-weight:700;letter-spacing:.2em;color:#EFD79C}
.kl-steps h3{margin:6px 0 0;font-size:18px;font-weight:700;color:#fff;letter-spacing:-.02em}
.kl-steps p{margin:8px 0 0;font-size:14px;color:rgba(255,255,255,.76);line-height:1.75}
.kl-join .a2hs{margin-top:14px}
.kl-join .a2hs>div{display:flex;gap:14px;align-items:flex-start;background:rgba(0,0,0,.12);border-color:rgba(255,255,255,.1);border-radius:8px}
.kl-join .a2hs i{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#fff}
.kl-join .a2hs i svg{width:18px;height:18px}
.kl-join .a2hs b{letter-spacing:.08em}
.kl-join .a2hs p{font-size:13.5px}
@media(max-width:560px){
 .kl-steps{gap:10px;margin-top:44px}
 .kl-steps li{display:grid;grid-template-columns:44px 1fr;column-gap:16px;padding:18px 18px}
 .kl-steps .ic{width:44px;height:44px;grid-row:span 3}
 .kl-steps .n{margin-top:0}
 .kl-steps h3{font-size:16.5px;margin-top:2px}
 .kl-steps p{font-size:13.5px;margin-top:4px}
 .kl-phone{width:270px}
}
