/* Review-only refinement. Original assets and content retained. */
:root{--line:#dedbd2;--accent:#938267}
body{line-height:1.9;-webkit-font-smoothing:antialiased}
header:has(.brand-d){padding-top:22px;padding-bottom:22px}
header nav a{position:relative;text-decoration:none;transition:color .18s ease}
header nav a:not(.navcta):after{content:"";position:absolute;left:0;bottom:5px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
header nav a:hover:after,header nav a[aria-current=page]:after{transform:scaleX(1)}
header nav a[aria-current=page]{text-decoration:none}
.navcta{border-color:#8791a4;border-radius:2px;letter-spacing:.02em}
.navcta:hover{background:#eeeae1;text-decoration:none}
.eyebrow{font-size:.75rem;letter-spacing:.16em;display:flex;align-items:center;gap:14px}
.eyebrow:before{content:"";display:block;width:28px;height:1px;background:var(--accent);flex-shrink:0}
.hero{padding-top:88px;padding-bottom:110px;gap:9%}
h1{line-height:1.34;letter-spacing:-.035em}
.hero p{line-height:1.95;margin:19px 0}
.button{padding:15px 25px;border:1px solid transparent;box-shadow:0 2px 4px #182b6008;transition:background .18s ease,box-shadow .18s ease}
.button:hover{background:#2b4069;text-decoration:none;box-shadow:0 5px 14px #182b6014}
.button span{transition:transform .18s ease}
.button:hover span{transform:translate(2px,-2px)}
.lesson{position:relative;padding:42px 38px;background:#1e3052;box-shadow:0 14px 36px #182b6012;border:1px solid #45526a}
.lesson:before{content:"";position:absolute;top:9px;left:9px;right:9px;bottom:9px;border:1px solid #f7f5ee20;pointer-events:none}
.lesson>span{font-size:.9rem;letter-spacing:.04em}
.lesson>strong{margin:32px 0;line-height:1.08;font-size:clamp(52px,5.5vw,76px)}
.lessonrow{padding:17px 0;border-color:#ffffff21}
.lesson hr{border-color:#ffffff36}
.lesson a{margin-top:28px;text-underline-offset:6px}
.editorial{padding-top:80px;padding-bottom:80px}
.sectionlabel{font-size:.82rem;line-height:1.8;letter-spacing:.035em;max-width:200px}
.editorial h2,article h2{line-height:1.55;letter-spacing:-.025em;margin-bottom:28px}
.editorial p{max-width:760px;line-height:1.95}
.editorial li::marker{color:var(--accent)}
.pagetop{padding-top:76px;padding-bottom:76px;border-bottom:1px solid var(--line)}
.pagetop h1{margin-bottom:20px}
article{margin-top:64px}article h2{margin-top:68px}
.tablewrap{border-top:1px solid #9ea5b1}th,td{vertical-align:top;padding-top:20px;padding-bottom:20px}
summary{list-style:none;position:relative;padding-right:38px}summary::-webkit-details-marker{display:none}
summary:after{content:"+";position:absolute;right:4px;top:0;font-family:Georgia,serif;font-weight:400;color:#687797;font-size:24px}
details[open] summary:after{content:"−"}details[open]{padding-bottom:30px}details[open] summary{color:#3c5276}
footer{padding-top:66px;padding-bottom:54px}footer p{border-top:1px solid #ffffff24;padding-top:26px;margin-top:8px}
@media(max-width:760px){
 header:has(.brand-d){display:grid;grid-template-columns:1fr;padding:17px 5% 10px;gap:12px}
 header .brand-d{grid-row:1;width:94px;margin:0}
 header:has(.brand-d) nav{display:flex;grid-row:2;flex-wrap:wrap;gap:2px 17px;width:100%;font-size:.9375rem}
 header nav a{min-height:44px;white-space:nowrap}
 header nav .navcta{padding:0 12px;margin-left:auto}
 .preview{font-size:.75rem;padding:8px 5%;line-height:1.55}
 .hero{padding-top:44px;padding-bottom:64px;gap:38px}
 h1{font-size:clamp(2rem,8.5vw,2.65rem);line-height:1.45;letter-spacing:-.04em}
 .eyebrow{font-size:.75rem;letter-spacing:.1em;margin-bottom:24px;gap:10px}
 .eyebrow:before{width:18px}
 .hero p{font-size:1.125rem;line-height:1.9}
 .lesson{padding:32px 27px;box-shadow:0 10px 24px #182b6010}
 .lesson>strong{font-size:60px;margin:30px 0}
 .lesson>span,.lessonrow,.lesson a{font-size:1rem}
 .editorial{padding-top:46px;padding-bottom:48px;gap:22px}
 .sectionlabel{font-size:.85rem;max-width:none}
 .editorial h2,article h2{font-size:1.5rem;line-height:1.65;margin-bottom:23px}
 .pagetop{padding-top:42px;padding-bottom:42px}.pagetop h1{font-size:2rem}
 article{margin-top:40px}article h2{margin-top:48px}
 footer{padding-top:44px;padding-bottom:32px}
}
@media(max-width:370px){header:has(.brand-d) nav{gap:0 12px;font-size:.875rem}header nav .navcta{margin-left:0}.lesson>strong{font-size:54px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
/* Korean reading hierarchy: system fonts, no external font downloads. */
body{font-family:'Apple SD Gothic Neo','Malgun Gothic','Noto Sans KR',Arial,sans-serif}
.hero p strong{font-weight:600}
.sectionlabel{color:#596575}
.isan-story{max-width:1040px;padding:0 40px;margin-top:70px}
.isan-story .isan-section{margin:0;padding:64px 0;border-top:1px solid var(--line)}
.isan-story .isan-intro{border-top:0;padding-top:0}
.isan-story .isan-label{color:#596575;font-size:.875rem;letter-spacing:.055em;font-weight:500;line-height:1.7;margin:0 0 20px;max-width:none}
.isan-story h2{font-size:2rem;font-weight:600;line-height:1.5;letter-spacing:-.035em;margin:0 0 30px;max-width:780px}
.isan-story p{max-width:780px}
.isan-story h3{font-size:1.1875rem;font-weight:600;margin:32px 0 10px;line-height:1.6}
.isan-story .isan-book{background:#f0ece3;padding:42px 44px;margin:0 0 58px;border:1px solid #ded7c9;border-left:3px solid #938267}
.isan-story .isan-book .isan-label{font-family:inherit}
.isan-story .isan-perspective{padding-top:0;border-top:0}
.isan-perspective ul{list-style:none;padding:0;margin:32px 0}
.isan-perspective li{border-top:1px solid var(--line);padding:20px 0;margin:0}
.isan-perspective li strong{display:block;font-weight:600;margin-bottom:6px}
.isan-story .isan-bridge{border-top:1px solid #aaa18f;padding-top:50px}
.isan-story .isan-invitation{background:#eef0f3;padding:42px 44px;border:0;margin-top:12px}
.isan-invitation h2{font-size:1.8125rem}
@media(max-width:760px){
 body{font-size:1.125rem;line-height:1.85}
 header:has(.brand-d) nav{font-size:1rem;gap:2px 14px}
 .eyebrow,.sectionlabel{font-size:.875rem;line-height:1.7}
 .preview{font-size:.8125rem}
 .hero h1{font-size:clamp(2.125rem,8.5vw,2.65rem);font-weight:600}
 .editorial h2,article h2{font-size:1.625rem;font-weight:600;line-height:1.55}
 .isan-story{padding:0 5%;margin-top:42px}
 .isan-story .isan-section{padding:42px 0}
 .isan-story .isan-intro{padding-top:0}
 .isan-story .isan-label{font-size:.875rem;margin-bottom:16px}
 .isan-story h2{font-size:1.625rem;line-height:1.6;margin-top:0;margin-bottom:24px}
 .isan-story h3{font-size:1.1875rem;margin-top:28px}
 .isan-story .isan-book{padding:28px 22px;margin-bottom:36px}
 .isan-story .isan-perspective{padding-top:0}
 .isan-story .isan-invitation{padding:28px 22px}
}
/* Membership: quiet editorial sections and a clear price hierarchy. */
.membership-price{display:flex;flex-direction:column;gap:5px;margin-top:30px}
.membership-price>span{font-size:14px;color:#596575;letter-spacing:.04em}
.membership-price>strong{font-size:36px;font-weight:600;letter-spacing:-.035em;line-height:1.4;font-variant-numeric:tabular-nums}
.membership-price strong span{font-size:17px;font-weight:400;letter-spacing:0;margin-left:8px}
.membership-price small{font-size:14px;color:#596575;margin-top:5px}
.membership-story{max-width:1040px;padding:0 40px}
.membership-story .member-section{margin:0;padding:54px 0;border-top:1px solid var(--line)}
.membership-story .member-intro{border:0;padding-top:0}
.membership-story .member-label{font-size:14px;letter-spacing:.055em;line-height:1.7;color:#596575;margin:0 0 18px}
.membership-story h2{font-size:30px;font-weight:600;line-height:1.55;letter-spacing:-.03em;margin:0 0 28px}
.membership-story p{max-width:800px}
.membership-story .member-subhead{font-size:19px;line-height:1.6;margin-top:30px;margin-bottom:12px;color:var(--ink)}
.membership-story .member-subhead strong{font-weight:600}
.membership-story .member-learning{padding:40px;margin:12px 0 32px;background:#f3f0e9;border:1px solid #dedbd2}
.membership-story .member-week ul{list-style:none;padding:0;border-top:1px solid var(--line)}
.membership-story .member-week li{padding:15px 0;margin:0;border-bottom:1px solid var(--line)}
.membership-story .member-terms h2{font-size:26px}
.membership-story table{margin-top:22px} .membership-story th{width:25%;font-size:16px}
.membership-story .member-invitation{padding:42px;margin-top:24px;border:0;background:#eef0f3}
@media(max-width:760px){
 .membership-story{padding:0 5%;margin-top:42px}
 .membership-story .member-section{padding:40px 0}
 .membership-story .member-intro{padding-top:0}
 .membership-story h2,.membership-story .member-terms h2{font-size:26px;line-height:1.6;margin-bottom:24px}
 .membership-story .member-learning,.membership-story .member-invitation{padding:28px 22px}
 .membership-story .member-learning{margin:8px 0 28px}
 .membership-story .member-label{font-size:14px}
 .membership-price>strong{font-size:34px}
 .membership-story .member-subhead{font-size:19px}
}
/* Conversion review: anchors preserve access to terms and ordinary navigation. */
.membership-conversion{padding-bottom:82px}
.membership-conversion [id]{scroll-margin-top:25px}
.conversion-lead{font-size:20px;font-weight:500;margin-top:28px;max-width:720px}
.conversion-date,.conversion-note{font-size:14px;color:#596575;line-height:1.8}
.membership-story .enrollment{background:#f0ece3;padding:42px;margin-top:36px;border-top:2px solid #938267}
.enrollment-price{font-size:18px}.enrollment-price strong{font-size:28px;font-weight:600}
.enrollment ol{padding-left:24px}.enrollment li{padding:8px 0}.enrollment li span{display:block;color:#505b6b;margin-top:4px}
.enrollment-disabled{width:100%;color:#4b5667;background:#dedbd2;margin:18px 0 4px;cursor:not-allowed}
.membership-dock{position:fixed;bottom:0;left:0;right:0;background:#faf8f3f5;border-top:1px solid #d9d6cd;padding:14px max(5%,calc((100% - 960px)/2));display:flex;justify-content:space-between;align-items:center;gap:18px;z-index:10;box-shadow:0 -4px 18px #182b6008}
.membership-dock span{font-size:15px}.membership-dock a{background:#182b60;color:white;padding:12px 24px;min-height:44px;font-size:16px;border-radius:2px}
.membership-dock a:hover{background:#2b4069;text-decoration:none}
@media(max-width:760px){.membership-story .enrollment{padding:28px 22px}.conversion-lead{font-size:19px}.conversion-date,.conversion-note{font-size:14px}.membership-dock{padding:12px 5%}.membership-dock a{padding:12px 18px}}
@media print{.membership-dock{display:none}.membership-conversion{padding-bottom:0}}
/* Site-wide layout audit: label width must not compete with explanations. */
table.terms-table{table-layout:fixed;width:100%;margin-top:0}
table.terms-table .term-label-col{width:clamp(130px,20%,185px)}
table.terms-table .term-value-col{width:auto}
table.terms-table th,table.terms-table td,.membership-story table.terms-table th{width:auto;min-width:0;overflow-wrap:anywhere;vertical-align:top}
table.terms-table th{font-size:16px;line-height:1.75}
table.terms-table td{font-size:17px;line-height:1.9}
.tablewrap{margin:28px 0}
/* Keep visual hierarchy while giving narrow cards enough room for Korean text. */
@media(max-width:760px){
 .tablewrap{overflow:visible;border-top:1px solid #9ea5b1}
 table.terms-table,table.terms-table tbody{display:block;width:100%}
 table.terms-table colgroup{display:none}
 table.terms-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 table.terms-table tbody tr{display:block;padding:20px 0;border-bottom:1px solid var(--line)}
 table.terms-table tbody th,.membership-story table.terms-table tbody th{display:block;width:100%;padding:0 0 8px;background:transparent;border:0;font-size:16px;font-weight:600;line-height:1.65}
 table.terms-table tbody td{display:block;width:100%;padding:0;background:transparent;border:0;font-size:18px;line-height:1.85}
 table.terms-table{margin:0}
 .membership-dock{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
 .membership-conversion{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:100px}
}
@media(max-width:420px){
 .membership-story .member-learning,.membership-story .member-invitation,.membership-story .enrollment,.isan-story .isan-book,.isan-story .isan-invitation{padding-left:17px;padding-right:17px}
}
@media(min-width:761px) and (max-width:1000px){
 .hero{gap:5%;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
 .lesson{padding:32px 26px}
 .editorial{grid-template-columns:minmax(125px,1fr) minmax(0,4fr);gap:4%}
}
@media(min-width:761px){table.terms-table .term-label-col{width:20%}table.terms-table .term-value-col{width:80%}}
/* Final whole-page review: proportionate side labels and continuous reading. */
@media(min-width:761px){
 .editorial{grid-template-columns:170px minmax(0,1fr);gap:48px}
 .editorial p{max-width:820px}
}
@media(min-width:761px) and (max-width:1000px){
 .editorial{grid-template-columns:135px minmax(0,1fr);gap:28px}
}
.faq-topics{display:block;margin:0 0 32px}
.faq-topics ul{gap:6px 18px;align-items:flex-start}
.faq-topics li{margin:0;padding:0}
.faq-topics a{display:inline-flex;align-items:center;line-height:1.5}
@media(max-width:760px){.faq-topics{margin-top:0}.faq-topics ul{gap:4px 16px}}
.membership-conversion{scroll-padding-bottom:110px}
html:has(.membership-dock){scroll-padding-bottom:110px}
