/* Shared fit and readable Korean text. Keep the existing Arang artwork and type families. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html body :is(.arang,.pg),html body :is(.arang,.pg) *{word-break:keep-all;overflow-wrap:normal}
html body :is(.ar-text,.ar-unit){all:unset!important;display:inline!important;font:inherit!important;letter-spacing:inherit!important;color:inherit!important}
html body .ar-unit{white-space:nowrap!important}
html body :is(.arang,.pg) :is(p,li,figcaption,td,th,h1,h2,h3,h4){text-wrap:pretty}
html body :is(.arang,.pg) :is(h1,h2,h3){text-wrap:balance}
html body :is(.arang,.pg) :is(input,textarea){min-width:0;max-width:100%;box-sizing:border-box}
html body :is(.arang,.pg) :is(.wrap,.ps,.ps__v,.ps__txt,.ps__body,.yp__two,.yp__card,.rvx-stats,.hx__stats,.tc__ceo,.tc__ceo-copy,.tc__ceo-pic,.ceo2__in,.ceo2__ph,.bkw,.kt__l,.kt__r)>*{min-inline-size:0}
html body :is(.foot__biz,.gdl,a[href^="mailto:"]){overflow-wrap:anywhere}
html body .arang-review-origin{font:600 12px/1.5 var(--arang-round,system-ui,sans-serif);text-align:center;color:inherit;opacity:.85;margin:10px auto 6px;max-width:100%}
html body .yp__card :is(.ar-price-mobile,.ar-price-goals){display:none!important}

/* The photograph is a full portrait, with the name below instead of over the image. */
html body #teachers .tc__ceo-pic{display:flex!important;flex-direction:column;align-items:center;justify-content:flex-end;align-self:center;overflow:visible!important;gap:12px;padding-bottom:4px!important}
html body #teachers .tc__ceo-pic img{display:block!important;width:min(100%,290px)!important;max-width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:900/1039!important;object-fit:contain!important;-webkit-mask:none!important;mask:none!important;margin:0 auto!important}
html body #teachers .tc__ceo-pic figcaption{position:static!important;inset:auto!important;translate:none!important;transform:none!important;margin:0!important;width:auto!important;max-width:100%!important;box-sizing:border-box;white-space:normal!important;padding:10px 14px!important}
html body #teachers .tc__ceo-pic figcaption strong{font-size:clamp(15px,1.5vw,19px)!important;line-height:1.4!important}
html body #teachers .tc__ceo-pic figcaption span{font-size:12px!important;line-height:1.65!important}
html body .ceo2 .ceo2__ph img{aspect-ratio:4/5!important;height:auto!important;max-height:none!important;object-fit:contain!important}
html body .ceo2 .ceo2__ph figcaption{white-space:normal!important;text-align:center;max-width:calc(100% - 12px);box-sizing:border-box;line-height:1.5!important}

/* Smaller lesson-type media, without squeezing the image/video or distorting icons. */
html body .pg main#top .tys .ps__v{width:min(100%,360px)!important;max-width:100%!important;justify-self:center;align-self:center;margin-inline:auto!important;aspect-ratio:4/3!important;height:auto!important;min-height:0!important}
html body .pg main#top .tys .ps__v :is(.xf,.mx){width:100%!important;height:100%!important;max-height:none!important;aspect-ratio:inherit!important}
html body .pg main#top .tys .ps__v :is(img,video){max-width:100%!important;object-fit:cover}
html body .pg main#top .tys .ps__ic{width:64px!important;height:auto!important;max-width:100%!important;aspect-ratio:1!important}
html body .pg main#top .tys .ps__h{font-size:clamp(20px,2.1vw,28px)!important;line-height:1.3!important}
html body .pg #time [data-vivaldi-schedule]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:100%}
html body .pg #time [data-vivaldi-schedule] li{min-width:0;box-sizing:border-box;padding:14px 10px!important;height:auto!important}
html body .pg #time [data-vivaldi-schedule] li b{font-size:clamp(15px,1.8vw,20px)!important;white-space:nowrap!important;line-height:1.4!important}
html body .pg #time [data-vivaldi-schedule] li small{display:block!important;font-size:12px!important;line-height:1.6!important}

@media(max-width:760px){
 html body :is(.arang,.pg){font-size:14px;line-height:1.65}
 html body :is(.arang,.pg) :is(h2:not(:where(.ceo2 *,.awz *)),.cb__h){font-size:clamp(20px,5.4vw,28px)!important;line-height:1.35!important}
 html body :is(.arang,.pg) h3:not(:where(.ceo2 *,.awz *,.tc__ceo-pic *)){font-size:clamp(17px,4.5vw,22px)!important;line-height:1.4!important}
 html body :is(.arang,.pg) :is(p,li){line-height:1.65}
 html body :is(.arang,.pg) :is(.btn,.ev__cta,.ev__more,.rvx-go,.kk__btns a){font-size:clamp(13px,3.7vw,16px)!important;line-height:1.45!important;min-height:44px;box-sizing:border-box;max-width:100%;white-space:normal;padding-block:10px!important}
 html body :is(.hx__stats,.rvx-stats,.finx__nums){flex-wrap:wrap;gap:12px!important}
 html body .hx__sub{font-size:clamp(16px,4.6vw,22px)!important;line-height:1.5!important}
 html body .pg main#top .tys .ps__v{width:min(100%,300px)!important}
 html body .pg main#top .tys .ps__ic{width:52px!important;height:auto!important}
 html body .pg main#top .tys .ps__h{font-size:clamp(19px,5vw,24px)!important}
 html body #teachers .tc__ceo-grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
 html body #teachers .tc__ceo-pic{width:min(100%,260px)!important;margin:0 auto!important;order:0!important}
 html body #teachers .tc__ceo-pic img{width:min(100%,220px)!important}
 html body #teachers .tc__ceo-copy{max-width:100%!important}
 html body #price .yp__card table{table-layout:fixed;width:100%;border-spacing:3px}
 html body #price .yp__card:has(.ar-price-mobile) :is(table.g,table.m){display:none!important}
 html body #price .yp__card table.ar-price-mobile{display:table!important}
 html body #price .yp__card .ar-price-mobile caption{position:static!important;clip:auto!important;width:auto!important;height:auto!important;font-size:13px!important;line-height:1.5!important;margin:0!important;padding:4px 0 12px!important}
 html body #price .yp__card .ar-price-goals{display:block!important;font-size:12px!important;line-height:1.6!important;margin:10px 4px 0!important;color:var(--plum,#4a2d6b)}
 html body #price .yp__card .ar-price-goals summary{cursor:pointer;min-height:34px;padding-block:7px;font-size:12px!important}
 html body #price .yp__card .ar-price-goals ul{padding-left:18px;margin:0}
 html body #price .yp__card table :is(th,td){padding:10px 3px!important;line-height:1.45!important}
 html body #price .yp__card table th{width:auto!important;font-size:clamp(11px,3.2vw,14px)!important}
 html body #price .yp__card table.m td strong,html body #price .yp__card table td strong{font-size:clamp(12px,3.45vw,16px)!important;letter-spacing:-.035em!important;line-height:1.4!important}
 html body #price .yp__card table td em{font-size:clamp(10px,2.9vw,13px)!important;line-height:1.45!important}
 html body #price .yp__card table td[colspan]{white-space:normal!important;font-size:13px!important;line-height:1.5!important}
 html body .kt .kt__tk{flex-wrap:wrap;min-width:0!important;gap:6px!important}
 html body .kt .kt__tk :is(b,strong){white-space:normal!important;line-height:1.5!important}
 /* Text-bearing cards grow with their content instead of inheriting a photo's height. */
 html body .pg main#top .st4 :is(.st4__m--doc,.st4__m--stat){height:auto!important;min-height:160px!important;aspect-ratio:auto!important;overflow:visible!important;box-sizing:border-box;padding:16px 10px!important}
 html body .pg main#top .st4 .st4__m--stat b{font-size:clamp(24px,6.5vw,34px)!important;line-height:1.2!important}
 html body .pg main#top .st4 .st4__m--stat em{font-size:clamp(20px,5.5vw,28px)!important;line-height:1.2!important}
 html body .pg main#top .za{overflow-x:clip!important;overflow-y:visible!important;padding-block:20px!important}
 html body .pg main#top .za .za__pass{width:min(360px,calc(100% - 24px))!important;margin-top:0!important;rotate:none!important}
 html body .pg main#top .za .za__pass>img{display:none!important}
 html body .pg main#top .za .za__card{position:relative!important;inset:auto!important;gap:12px!important;box-sizing:border-box;padding:22px 18px!important;background:#fff8ef;border:2px solid #f4c68c;border-radius:20px;box-shadow:0 12px 28px #26183b20}
 html body .pg main#top .za .za__x{font-size:13px!important;line-height:1.6!important}
 html body .anav__links{font-size:13px!important}
 html body .pg #time [data-vivaldi-schedule]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 html body .pg #time [data-vivaldi-schedule] li b{font-size:clamp(13px,3.6vw,17px)!important}
}
@media(max-width:480px){html body .pg .th .th__nums{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}}
@media(max-width:374px){
 html body :is(.arang,.pg) :is(.wrap,.ev__in){max-width:100%;box-sizing:border-box}
 html body .anav__cta,html body .anav__br{font-size:11px!important;padding-inline:10px!important}
 html body #price .yp__card{padding:6px!important}
 html body #price .yp__card table{border-spacing:2px}
 html body #price .yp__card table :is(th,td){padding-inline:2px!important}
 html body .pg .ag .ag__ay{flex-direction:column!important;align-items:center!important;gap:8px!important;max-width:100%;box-sizing:border-box}
 html body .pg .ag .ag__ay figcaption{min-width:0!important;max-width:100%!important;text-align:center}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
