*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;font-family:Arial,"Noto Sans KR","Apple SD Gothic Neo",sans-serif;color:#2f3520;background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}button,input,select,textarea{font:inherit}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;background:#fff;padding:12px 16px;z-index:9999;border:2px solid #485232}.demo-bar{background:#2f3520;color:#fff;text-align:center;padding:8px 16px;font-size:13px;letter-spacing:.02em}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.98);border-bottom:1px solid #e7e2d8}.header-inner{max-width:1180px;margin:auto;height:78px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:#485232}.brand-mark{width:34px;height:34px;border-radius:50% 50% 46% 54%/58% 44% 56% 42%;background:#dee9c5;position:relative}.brand-mark:after{content:"";position:absolute;width:13px;height:20px;border-radius:70% 10% 70% 10%;background:#8b9d61;right:4px;top:2px;transform:rotate(20deg)}.brand small{display:block;color:#90a266;font-weight:500;font-size:11px;letter-spacing:.16em}.nav{display:flex;align-items:center;gap:24px;font-size:15px}.nav a{padding:28px 0 24px;border-bottom:3px solid transparent}.nav a:hover,.nav a[aria-current="page"]{color:#485232;border-bottom-color:#a4b382}.header-cta{padding:11px 16px;border-radius:999px;background:#485232;color:#fff;font-weight:700;font-size:14px}.menu-toggle{display:none;background:none;border:0;padding:10px;font-size:24px}.mobile-menu{display:none}.hero{max-width:1180px;margin:auto;padding:54px 24px 36px;display:grid;grid-template-columns:1.02fr .98fr;gap:46px;align-items:center}.eyebrow{color:#93a46b;font-size:13px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.hero h1,.page-hero h1{font-size:clamp(38px,5vw,68px);line-height:1.08;margin:15px 0 22px;letter-spacing:-.04em}.hero p{font-size:18px;color:#707f4e;max-width:650px}.hero-media{border-radius:28px;overflow:hidden;aspect-ratio:1.25/1;background:#eee}.hero-media img{height:100%;object-fit:cover}.hero-actions,.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:12px;font-weight:700;border:1px solid #485232}.btn.primary{background:#485232;color:#fff}.btn.secondary{background:#fff;color:#485232}.btn.disabled{opacity:.48;cursor:not-allowed;pointer-events:none}.quick-strip{max-width:1180px;margin:12px auto 44px;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-card{background:#f6f1e8;border:1px solid #e7ddcf;border-radius:16px;padding:19px}.quick-card strong{display:block;font-size:17px;margin-bottom:4px}.quick-card span{font-size:13px;color:#7a8a55}.section{padding:76px 24px}.section.alt{background:#f7f4ed}.section-inner{max-width:1180px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.section-head h2{font-size:36px;letter-spacing:-.035em;margin:6px 0 0}.section-head p{max-width:600px;color:#768652;margin:0}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.service-card{border:1px solid #e4ded3;border-radius:20px;padding:28px;background:#fff}.service-card .num{font-size:12px;font-weight:800;color:#a0af7c;letter-spacing:.15em}.service-card h3{font-size:27px;margin:10px 0 8px}.service-card ul{padding-left:19px;color:#6d7b4b}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo-card{border-radius:18px;overflow:hidden;background:#eee}.photo-card img{aspect-ratio:1.35/1;object-fit:cover}.photo-card .caption{padding:15px;background:#fff;border:1px solid #e7e1d7;border-top:0}.caption strong{display:block}.caption span{font-size:13px;color:#7d8e57}.profile-grid{display:grid;grid-template-columns:340px 1fr;gap:42px;align-items:center}.profile-photo{border-radius:22px;overflow:hidden}.profile-photo img{aspect-ratio:4/5;object-fit:cover}.quote{font-size:26px;line-height:1.45;letter-spacing:-.02em;margin:0 0 22px}.fine{font-size:13px;color:#8c9e62}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.program-card{border:1px solid #e4ded4;border-radius:18px;overflow:hidden;background:#fff}.program-card img{aspect-ratio:1.34/1;object-fit:cover}.program-card .body{padding:19px}.program-card h3{margin:0 0 8px;font-size:20px}.program-card p{margin:0;color:#778752;font-size:14px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:step}.step{border:1px solid #ded8cc;border-radius:16px;padding:21px;background:#fff}.step:before{counter-increment:step;content:"0" counter(step);display:block;font-size:12px;color:#90a266;font-weight:800;margin-bottom:12px}.step h3{margin:0 0 6px;font-size:18px}.step p{margin:0;color:#7a8a54;font-size:14px}.info-table{width:100%;border-collapse:collapse;border-top:2px solid #485232}.info-table th,.info-table td{padding:16px;border-bottom:1px solid #ddd8cf;text-align:left;vertical-align:top}.info-table th{width:210px;background:#f7f4ed}.notice{border-radius:16px;background:#f3f7e9;border:1px solid #e1ebca;padding:20px;color:#5d6940}.cta-band{background:#485232;color:#fff;padding:58px 24px}.cta-band .section-inner{display:flex;justify-content:space-between;gap:24px;align-items:center}.cta-band h2{margin:0 0 8px;font-size:34px}.cta-band p{margin:0;color:#e1ebcb}.cta-band .btn{border-color:#fff;background:#fff;color:#485232}.page-hero{max-width:1180px;margin:auto;padding:64px 24px 44px}.page-hero p{max-width:720px;color:#748351;font-size:18px}.crumb{font-size:13px;color:#98a872}.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.split .image{border-radius:20px;overflow:hidden}.split .image img{aspect-ratio:1.35/1;object-fit:cover}.check-list{display:grid;gap:12px;margin-top:20px}.check{display:flex;gap:10px;padding:13px 0;border-bottom:1px solid #e8e2d7}.check b{color:#819259}.card-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.plain-card{border:1px solid #e1dbcf;border-radius:16px;padding:23px;background:#fff}.plain-card h3{margin:0 0 8px}.plain-card p{margin:0;color:#778752}.faq details{border-bottom:1px solid #ddd8cf;padding:17px 0}.faq summary{cursor:pointer;font-weight:700}.faq p{color:#768652;padding-right:20px}.map-placeholder{min-height:300px;border-radius:20px;background:linear-gradient(135deg,#eef3e1,#f3eee4);display:flex;align-items:center;justify-content:center;text-align:center;color:#748351;border:1px solid #e5eed2}.site-footer{background:#2a2f1d;color:#e5edd2;padding:46px 24px 92px}.footer-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px}.site-footer h3{color:#fff;margin-top:0}.site-footer p,.site-footer li{font-size:13px;color:#c6cfb1}.site-footer ul{list-style:none;padding:0;margin:0}.mobile-bottom{display:none}.badge{display:inline-flex;padding:7px 11px;border-radius:999px;background:#f3f7ea;color:#6d7b4b;font-size:12px;font-weight:800}.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.center{text-align:center}.spacer{height:16px}@media(max-width:880px){.header-inner{height:68px;padding:0 18px}.nav,.header-cta{display:none}.menu-toggle{display:block}.mobile-menu{position:fixed;inset:101px 0 auto 0;background:#fff;border-bottom:1px solid #ddd;padding:18px 22px;z-index:99}.mobile-menu.open{display:grid;gap:4px}.mobile-menu a{padding:12px 4px;border-bottom:1px solid #eee}.hero{grid-template-columns:1fr;padding:38px 18px 30px;gap:28px}.hero h1,.page-hero h1{font-size:42px}.hero-media{aspect-ratio:1.5/1}.quick-strip{grid-template-columns:1fr 1fr;padding:0 18px;margin-bottom:24px}.section{padding:56px 18px}.section-head{display:block}.section-head h2{font-size:30px}.service-grid,.profile-grid,.split,.card-list{grid-template-columns:1fr}.profile-grid{gap:26px}.profile-photo{max-width:340px}.photo-grid,.program-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.info-table,.info-table tbody,.info-table tr,.info-table th,.info-table td{display:block;width:100%}.info-table th{padding-bottom:7px}.info-table td{padding-top:7px}.cta-band .section-inner{display:block}.cta-band .btn{margin-top:20px}.footer-inner{grid-template-columns:1fr}.mobile-bottom{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e2ebcc;z-index:200;padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom a,.mobile-bottom span{min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;color:#515b38}.mobile-bottom .disabled{opacity:.38}.site-footer{padding-bottom:110px}.page-hero{padding:46px 18px 32px}}@media(max-width:560px){.quick-strip{grid-template-columns:1fr 1fr}.photo-grid,.program-grid,.steps{grid-template-columns:1fr}.hero h1,.page-hero h1{font-size:36px}.section-head h2{font-size:28px}.hero-actions .btn{width:100%}.quote{font-size:22px}}
/* crop safety fixes for portrait images */
.profile-photo.portrait-safe img{aspect-ratio:3/4;object-fit:cover;object-position:50% 16%}
.split .image.portrait-safe img{aspect-ratio:4/5;object-fit:cover;object-position:50% 14%}
@media(max-width:880px){
  .split .image.portrait-safe{max-width:420px;margin:0 auto}
  .profile-photo.portrait-safe{max-width:340px;margin:0 auto}
}
/* 2026-09 responsive text wrapping repair */
:where(h1,h2,h3,.display,.display-k,.section-title,.display-title){max-width:100%;overflow-wrap:normal;word-break:keep-all;text-wrap:balance}
