/* Readable body typography; original serif retained only for major brand headings. */
:root{--ui-font:'Malgun Gothic','맑은 고딕','Apple SD Gothic Neo',Arial,sans-serif}
body{font-family:var(--ui-font);font-size:18px;line-height:1.85}button,input,select,textarea{font-family:var(--ui-font)!important}html{scroll-padding-top:160px}.header{height:140px;backdrop-filter:none;background:#fffefa}.brand img{width:134px;height:134px;object-fit:contain}.header nav{font-size:16px;gap:25px;font-weight:700}.nav-cta{padding:13px 23px}.hero{height:690px}.hero-copy{padding-top:50px;padding-bottom:45px}.hero h1{font-size:clamp(43px,4.6vw,68px)}.hero-lead{font-size:23px}.hero-description{font-size:18px}.hero-footnote{font-size:14px;line-height:1.8}.actions .button,.actions .text-link{font-size:16px}.values-strip{font-size:16px}.values-strip b{font-size:18px}.section-caption,.eyebrow{font-size:13px;letter-spacing:.05em}.prose,.lesson-content>p:not(.eyebrow):not(.lesson-end),.team-heading p,.promise-intro{font-size:18px}.prose .strong-line{font-size:21px}.place-tags{font-size:13px}.place-tags b{font-size:17px}.approach-pair span{font-size:14px}.lesson-list p,.safety-grid p,.training .prose,.training-questions li,.promise-columns p,.feedback-note p{font-size:17px}.safety-grid h3{font-size:20px}.team-tag,.image-caption{font-size:15px}.promise-columns h3{font-family:var(--ui-font);font-size:26px;letter-spacing:-.04em;line-height:1.55}.promise-columns article>span{font-size:15px}.feedback-note small{font-size:14px}.pricing-heading p{font-size:18px}.price-card>p,.price-card .per-price{font-size:16px}.price-card a{font-size:16px}.card-top{font-size:14px}.card-top b{font-size:11px}.director p,.director-price p{font-size:16px}.inclusions p{font-size:17px}.pill{font-size:14px}.course-guide{font-size:18px}.course-guide span{font-size:15px}.saving{font-size:15px!important}.junior-age,.grade-card p{font-size:14px}.grade-card h3{font-size:18px}.grade-bottom small{font-size:14px}.contact-copy>p:not(.eyebrow){font-size:18px}.contact-copy>small{font-size:14px}.channel-art{transform:none;box-shadow:none}.button,.text-link{font-size:16px}footer p{font-size:14px}
.patch-guide{display:grid;grid-template-columns:1fr auto;gap:22px 35px;align-items:center;margin-top:32px;padding:30px;background:#eef3ef;border-left:4px solid var(--green)}.patch-guide h3{font-size:22px;margin:0 0 8px}.patch-guide p{font-size:16px;color:var(--muted)}.patch-price{text-align:right}.patch-price>span{display:block;font-size:14px}.patch-price strong{font-size:32px;line-height:1.5;color:var(--green);white-space:nowrap}.patch-price small{font-size:18px;margin-left:4px}.patch-guide details{grid-column:1/-1;border-top:1px solid #d4dfd6;padding-top:16px;font-size:15px}.patch-guide summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-weight:700}.patch-guide details p{margin-top:12px;font-size:15px;max-width:850px}.group-note{font-size:15px;color:var(--muted);margin-top:16px}
.faq{display:block;max-width:1150px}.faq-intro{display:block;margin-bottom:38px}.faq-intro h2{font-family:var(--ui-font);font-size:40px;letter-spacing:-.05em;line-height:1.4}.faq-intro>p:not(.eyebrow){font-size:18px;margin-top:15px}.faq-list summary{font-size:20px;line-height:1.65;padding:25px 0;gap:30px}.faq-list summary>span{flex-shrink:0;width:24px;font-size:27px}.faq-list details[open] summary{border-bottom:0}.faq-list .faq-answer{padding:0 28px 28px 0;max-width:940px}.faq-list .faq-answer p{font-size:17px;line-height:1.95;padding:0;margin:0 0 15px;color:#425b60}.faq-list .faq-answer p:last-child{margin-bottom:0}.faq-answer strong{color:var(--ink)}.faq-answer ul{font-size:17px;line-height:1.9;padding-left:24px;margin:12px 0 22px;color:#425b60}.faq-answer li+li{margin-top:7px}.faq-answer h3{font-size:18px;margin:25px 0 13px}.refund-table{border-collapse:collapse;width:100%;max-width:650px;margin:15px 0 20px;font-size:17px;text-align:left}.refund-table th,.refund-table td{border-bottom:1px solid var(--line);padding:14px 18px}.refund-table thead{background:var(--green);color:white}.refund-table tbody th{font-weight:400}.refund-table td{font-weight:700}.lesson-times{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 22px}.lesson-times span{background:var(--mint);padding:9px 16px;font-size:17px;font-weight:700}
.booking-wrap{display:block;max-width:1160px;padding-top:85px;padding-bottom:95px}.booking-intro{position:static;text-align:center;margin:0 0 38px;padding:0}.booking-intro h2{font-family:var(--ui-font);font-size:42px;line-height:1.4;letter-spacing:-.05em}.booking-intro>p:not(.eyebrow){font-size:18px;margin-top:18px;color:var(--muted);line-height:1.85}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px;padding:40px;background:white;border:1px solid #d8e0d8;box-shadow:none;border-radius:12px}.booking-form .form-step{margin:0;padding:0 0 24px}.booking-form #date-step{grid-column:1;grid-row:1/span 3;border-bottom:0;padding-bottom:0}.booking-form .form-step:nth-of-type(2){grid-column:2;grid-row:1}.booking-form .form-step:nth-of-type(3){grid-column:2;grid-row:2}.booking-form .form-step:nth-of-type(4){grid-column:2;grid-row:3;border-bottom:0}.form-step>legend{font-size:21px;margin-bottom:12px}.form-step>legend>span{font-size:16px;margin-right:10px;color:var(--green)}.booking-form .field-help{font-size:14px;line-height:1.75}.booking-form input:not([type=checkbox]):not([type=radio]),.booking-form textarea,.booking-form select{font-size:17px;padding:13px;border-radius:6px}.booking-form input::placeholder,.booking-form textarea::placeholder{font-size:15px;color:#687872}.unspecified{font-size:15px}.date-modes span{font-size:15px}.calendar-heading strong{font-size:21px}.calendar-weekdays span{font-size:14px}.calendar-day{font-size:17px;min-height:43px}.calendar-jump select{font-size:14px!important}.calendar-help{font-size:13px}.date-selection{font-size:15px;margin-bottom:18px}.input-label{font-size:15px}.input-label span,.reply-grid label span{font-size:12px}.level-examples{font-size:14px}.reply-fields{grid-column:1/-1;border-top:1px solid var(--line)!important;padding-top:28px!important}.reply-fields>legend{font-size:21px;padding-top:20px}.reply-grid{grid-template-columns:1fr 1.6fr;gap:24px}.reply-grid label{font-size:16px}.consent-area{grid-column:1/-1;margin:0;padding:20px 0;border-bottom:0}.consent-label{font-size:15px;line-height:1.75}.consent-area details{font-size:14px}.form-actions{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr;gap:12px}.form-actions .button{font-size:17px;padding:19px 12px}.preview-button{font-size:14px;grid-column:1/-1;width:fit-content;justify-self:center;padding:7px 12px}.email-note{grid-column:1/-1;font-size:14px;text-align:left;margin:0}.booking-status,.kakao-actions,.request-preview,.booking-form noscript{grid-column:1/-1;margin:0;font-size:16px}.request-preview textarea{font-size:16px}.request-preview>label{font-size:17px}.kakao-actions p{font-size:14px}.booking-status{scroll-margin-top:160px}.field-error{font-size:14px}
@media(max-width:1150px){.header nav{gap:16px;font-size:14px}.header{padding:0 25px}.hero-footnote{font-size:13px}.hero-lead{font-size:21px}.hero-description{font-size:17px}.booking-form{gap:24px}.grade-card h3{font-size:16px}}
@media(max-width:850px){html{scroll-padding-top:120px}.header{height:112px}.brand img{width:110px;height:110px}.header nav{top:112px;font-size:17px}.hero{height:660px}.hero h1{font-size:39px}.hero-lead{font-size:19px}.hero-description{font-size:16px}.hero-footnote{font-size:13px}.booking-form{display:block;padding:28px}.booking-form .form-step{margin-bottom:28px;border-bottom:1px solid var(--line);padding-bottom:28px}.booking-form #date-step{padding-bottom:28px;border-bottom:1px solid var(--line)}.booking-form .reply-fields{padding-top:0!important}.booking-form .reply-fields>legend{padding-top:0}.consent-area{margin-top:25px}.form-actions{display:flex}.preview-button{align-self:center}.booking-status,.request-preview{margin-top:20px}.email-note{margin-top:15px}.booking-intro h2,.faq-intro h2{font-size:36px}.safety-grid p{font-size:16px}.values-strip{font-size:14px;gap:17px}}
@media(max-width:600px){body{font-size:17px}.header{height:108px;padding:0 20px}.brand img{width:106px;height:106px}.header nav{top:108px}.hero{height:auto}.hero h1{font-size:clamp(36px,10vw,54px)}.hero-copy{padding:38px 24px 35px}.hero-lead{font-size:20px}.hero-description{font-size:17px}.hero-footnote{font-size:13px;display:block}.hero-footnote span{display:block}.hero-footnote span+span{border:0;padding:0;margin-top:5px}.actions{gap:20px}.actions .button,.actions .text-link{font-size:15px}.values-strip{font-size:13px;gap:10px}.values-strip b{display:none}.values-strip span{max-width:45%;text-align:center}.prose,.lesson-content>p:not(.eyebrow):not(.lesson-end),.team-heading p,.promise-intro{font-size:17px}.prose .strong-line{font-size:19px}.lesson-list p,.training .prose,.training-questions li,.promise-columns p,.feedback-note p{font-size:16px}.section-caption{font-size:12px}.safety-grid p{font-size:15px}.safety-grid h3{font-size:18px}.approach-pair{grid-template-columns:1fr;gap:12px}.approach-pair h3{font-size:22px}.approach-pair span{font-size:14px}.approach-pair>b{font-size:22px}.inclusions p{font-size:15px}.pill{font-size:12px}.director p{font-size:16px}.patch-guide{padding:24px 20px;gap:18px}.patch-guide>div{grid-column:1/-1}.patch-price{text-align:left}.patch-guide p{font-size:16px}.patch-guide details{font-size:16px}.group-note{font-size:14px}.patch-guide h3{font-size:22px}.course-guide span{font-size:14px}.faq-intro h2,.booking-intro h2{font-size:33px}.faq-intro>p:not(.eyebrow),.booking-intro>p:not(.eyebrow){font-size:16px}.faq-list summary{font-size:18px;padding:22px 0;gap:15px}.faq-list .faq-answer{padding:0 0 24px}.faq-list .faq-answer p,.faq-answer ul{font-size:16px}.refund-table{font-size:15px}.refund-table th,.refund-table td{padding:12px 9px}.lesson-times span{font-size:15px;padding:8px 11px}.booking-wrap{padding:58px 16px 65px}.booking-intro{margin-bottom:28px}.booking-form{padding:25px 18px;border-radius:8px}.form-step>legend{font-size:20px}.date-modes span{font-size:13px}.calendar-period{padding:10px!important}.calendar-day{font-size:16px;min-height:39px}.reply-grid{grid-template-columns:1fr;gap:20px}.reply-grid label{font-size:15px}.form-actions .button{font-size:16px}.consent-label{font-size:14px}.booking-status{scroll-margin-top:120px}.contact h2{font-size:36px}.contact-copy>p:not(.eyebrow){font-size:17px}.mobile-cta a{font-size:15px}.grade-card h3{font-size:17px}.feedback-note small{font-size:13px}}

/* v5: concise booking and pricing policies */
.booking-intro{margin-bottom:32px}.booking-intro h2{margin-bottom:0}.calendar-help{white-space:pre-line}.patch-brief{margin:20px 0 0;font-size:15px;color:var(--muted);line-height:1.8}.patch-brief strong{font-weight:600;color:var(--ink)}.lesson-policy{margin-top:54px;border-top:1px solid #cfdad5;padding-top:40px;display:grid;gap:40px}.lesson-policy h3{font-family:var(--ui-font);font-size:26px;margin:0 0 18px}.policy-table{border-collapse:collapse;width:100%;font-size:17px;line-height:1.8;text-align:left}.policy-table th,.policy-table td{padding:17px 22px;border-bottom:1px solid #d9e1dc}.policy-table thead{background:#eaf0eb}.policy-table tbody th{font-weight:500;width:40%}.policy-table td strong{color:var(--green)}.policy-table small{font-size:14px}.policy-note{font-size:15px!important;color:var(--muted);margin-top:15px;line-height:1.85}.time-table tbody th{width:25%}.time-table td{font-size:21px;font-weight:600;word-spacing:12px}.change-table{margin-top:22px}.change-table tbody th{width:25%;background:#f3f5f1}.change-table td{font-size:16px}@media(max-width:600px){.lesson-policy{margin-top:35px;padding-top:28px;gap:32px}.lesson-policy h3{font-size:22px}.policy-table{font-size:15px}.policy-table th,.policy-table td{padding:13px 10px}.time-table td{font-size:17px;word-spacing:3px}.change-table td{font-size:15px}.patch-brief,.policy-note{font-size:14px!important}.booking-intro{margin-bottom:25px}}

/* Final customer artwork translated into responsive objects. */
.lesson-guide{margin-top:60px;padding-top:40px;border-top:1px solid #d2ded7;color:#193d36}.lesson-guide>section+section{margin-top:70px}.lesson-guide h3{font:800 42px/1.25 var(--ui-font);letter-spacing:-.045em;color:#084935;margin:0 0 24px}.guide-heading{position:relative;min-height:76px;display:flex;align-items:end}.guide-heading h3{position:relative;z-index:1}.guide-mountain{width:340px;height:85px}.guide-heading>.guide-mountain{position:absolute;right:0;bottom:0}.schedule-frame{border:1px solid #d9ded7;border-radius:22px;overflow:hidden}.schedule-table{border-collapse:collapse;width:100%;text-align:center;font-size:23px;line-height:1.5}.schedule-table th,.schedule-table td{padding:18px 20px;border-bottom:1px solid #dedfd8}.schedule-table thead{background:#134e38;color:white}.schedule-table thead th{font-weight:700}.schedule-table th:first-child{width:29%;border-right:1px solid #d9ded7}.schedule-table tbody th{font-weight:700}.schedule-table tbody tr:nth-child(odd){background:#faf6ef}.schedule-table tbody tr:last-child>*{border-bottom:0}.schedule-note{font-size:16px;text-align:center;margin-top:12px;color:#526660}.schedule-note span{display:inline-flex;align-items:center;justify-content:center;background:#518d76;color:white;border-radius:50%;width:20px;height:20px;font-weight:700}.refund-bars{margin:0;display:grid;gap:8px}.refund-bars>div{display:grid;grid-template-columns:34% 1fr;border-radius:24px;overflow:hidden;background:#e5f2d6}.refund-bars dt{background:#4c8a73;color:white;font-size:28px;font-weight:700;text-align:center;padding:16px}.refund-bars dd{margin:0;display:flex;align-items:center;justify-content:center;font-size:22px;padding:16px}.refund-bars>div:nth-child(2){background:#fff0cf}.refund-bars>div:nth-child(2) dt{background:#efab17}.refund-bars>div:nth-child(3){background:#ffd7d0}.refund-bars>div:nth-child(3) dt{background:#f66b60}.refund-example{margin-top:35px}.refund-example h4{font-size:23px;text-align:center;margin:0 0 16px;color:#215b47}.refund-timeline{list-style:none;display:flex;padding:0;margin:0;overflow:hidden;border-radius:40px}.refund-timeline li{width:33.333%;padding:13px 22px;text-align:center;background:#c4ddbf;position:relative;font-size:19px;line-height:1.45}.refund-timeline li:nth-child(2){background:#ffdc91}.refund-timeline li:nth-child(3){background:#ffab9b}.refund-timeline li:not(:last-child):after{content:'';position:absolute;z-index:1;right:-14px;top:0;border-left:17px solid #fffefa;border-top:40px solid transparent;border-bottom:40px solid transparent}.refund-timeline strong{display:block}.lesson-date{text-align:right;font-size:14px;margin:8px 0 0}.weather-guide{background:#faf6ef;border-radius:22px;margin-top:25px;padding:26px 30px}.weather-guide h4{font-size:26px;margin:0 0 12px}.weather-guide ul{margin:0;padding-left:20px;font-size:17px;line-height:1.85}.process-divider{border-top:1px solid #78998b;position:relative;height:28px;margin-bottom:18px}.process-divider .guide-mountain{position:absolute;width:80px;height:25px;left:calc(50% - 40px);top:-16px;background:#fffefa;padding:0 10px}.process-list{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:14px}.process-list:before{content:'';position:absolute;top:30px;bottom:30px;left:27px;width:5px;background:#a3b7a8}.process-list li{position:relative;display:flex;gap:20px;align-items:center}.step-number{flex:0 0 58px;height:58px;border-radius:50%;background:#4c8a73;color:white;font-size:24px;display:grid;place-items:center;z-index:1}.process-list li:nth-child(2) .step-number,.process-list li:nth-child(5) .step-number{background:#efab17}.process-list li:nth-child(3) .step-number{background:#f66b60}.step-card{flex:1;border:1px solid #9eaea6;border-radius:13px;padding:18px;display:grid;grid-template-columns:56px 180px 1fr;gap:18px;align-items:center;background:#fffefa}.step-icon{width:56px;height:56px;border-radius:50%;background:#e5f2d6;display:grid;place-items:center}.step-icon svg{width:32px;height:32px;fill:none;stroke:#526b60;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.process-list li:nth-child(2) .step-icon,.process-list li:nth-child(5) .step-icon{background:#fff0cf}.process-list li:nth-child(3) .step-icon{background:#ffd7d0}.step-card h4{margin:0;font-size:23px;line-height:1.4}.step-card p{font-size:17px;line-height:1.7;margin:0}@media(max-width:850px){.step-card{grid-template-columns:48px 1fr;gap:9px 15px}.step-card p{grid-column:2}.step-icon{grid-row:1/3;width:48px;height:48px}.guide-mountain{width:230px}}@media(max-width:600px){.lesson-guide{margin-top:35px;padding-top:25px}.lesson-guide>section+section{margin-top:40px}.lesson-guide h3{font-size:29px;margin-bottom:18px}.guide-heading{min-height:60px}.guide-heading>.guide-mountain{width:140px;opacity:.65}.schedule-table{font-size:17px}.schedule-table th,.schedule-table td{padding:14px 9px}.schedule-table th:first-child{width:31%}.schedule-note{font-size:14px;text-align:left;line-height:1.8}.refund-bars>div{border-radius:17px;grid-template-columns:35% 1fr}.refund-bars dt{font-size:18px;padding:14px 8px}.refund-bars dd{font-size:16px;padding:12px 10px;line-height:1.6}.refund-example h4{font-size:18px}.refund-timeline li{font-size:13px;padding:13px 6px;min-height:67px}.refund-timeline li:not(:last-child):after{right:-9px;border-left-width:10px;border-top-width:34px;border-bottom-width:34px}.weather-guide{padding:20px;border-radius:17px}.weather-guide h4{font-size:21px}.weather-guide ul{font-size:15px}.process-list li{gap:10px}.step-number{flex-basis:38px;height:38px;font-size:17px}.process-list:before{left:17px;width:4px}.step-card{padding:14px;grid-template-columns:32px 1fr;gap:8px}.step-icon{width:32px;height:32px;grid-row:1}.step-icon svg{width:23px;height:23px}.step-card h4{font-size:19px}.step-card p{grid-column:1/-1;font-size:15px}}

/* v7: current reading position in the fixed navigation. */
.header nav{gap:14px}.header nav>a{padding:10px 12px;border-radius:8px;transition:background-color .18s,color .18s,box-shadow .18s}.header nav>a:not(.nav-cta).is-current{background:#e7eee8;color:#164f3b;box-shadow:inset 0 -2px 0 #81a38e}.header nav>a.nav-cta.is-current{background:#356d59;box-shadow:0 0 0 3px #d9e6dc}.header nav>a:focus-visible{outline:2px solid #477a65;outline-offset:3px}.header nav>a.nav-cta{padding:13px 23px}@media(prefers-reduced-motion:reduce){.header nav>a{transition:none}}@media(max-width:1100px){.header nav{gap:6px}.header nav>a{padding:10px 8px}}@media(max-width:850px){.header nav>a{padding:13px 16px}.header nav>a.is-current{border-radius:8px}}

/* v8: concise pricing, booking, and business footer. */
.pricing-basis{margin:24px 0 12px;text-align:right;font-size:15px;color:var(--muted)}
footer.site-footer{display:flex;align-items:center;gap:48px;padding:42px max(40px,calc((100vw - 1168px)/2));background:#f3f5ef;border-top:1px solid #dce4dd}
.footer-logo{flex:0 0 150px}.footer-logo img{width:150px;height:150px;object-fit:contain}
.business-info{flex:1;font-size:15px;line-height:1.9;color:#536a70}.business-info p{font-size:15px;line-height:1.9;margin:0}.business-info p:first-child{margin-bottom:6px}.business-info strong{font-weight:700;color:var(--ink);margin-right:18px}.business-info address{font-style:normal}.business-info .footer-phone{font-size:18px;font-weight:700;color:var(--ink);display:inline-block;margin-top:7px}.site-footer .footer-top{font-size:14px;white-space:nowrap;align-self:center}
@media(max-width:600px){.pricing-basis{font-size:14px;margin:20px 0 12px}footer.site-footer{padding:30px 24px 95px;gap:20px;flex-wrap:wrap}.footer-logo{flex-basis:110px}.footer-logo img{width:110px;height:110px}.business-info{flex-basis:100%;order:2}.business-info p,.business-info address{font-size:14px}.site-footer .footer-top{margin-left:auto}}
.site-footer .business-info p,.site-footer .business-info p span,.site-footer .footer-top{color:#536a70}.site-footer .business-info strong{color:#163642}
