.sub-header{position:relative;z-index:5;background:white;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 5%;border-bottom:1px solid #eadfeb}.sub-header .brand{font-size:13px;white-space:nowrap}.sub-header .brand strong{font-size:23px}.sub-nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.sub-nav a{font-size:14px;text-decoration:none}.sub-nav a[aria-current=page]{color:#e00071;font-weight:800}.sub-toggle{display:none}.sub-banner{background:#151522;color:white;position:relative;overflow:hidden;padding:38px max(5%,calc((100% - 1000px)/2)) 48px;isolation:isolate}.sub-banner:after{content:'';position:absolute;width:240px;height:240px;border:35px solid #e9007526;border-radius:50%;right:8%;top:-50px;z-index:-1}.sub-banner .breadcrumb{display:flex;gap:10px;font-size:13px;color:#c7bed1;margin:0 0 24px}.sub-banner h2{font-size:clamp(30px,4vw,44px);margin:0 0 14px;color:white;letter-spacing:-.04em}.sub-banner p{color:#d2c7da;line-height:1.7;margin:0}.section-tabs{display:flex;gap:0;overflow-x:auto;white-space:nowrap;border-bottom:1px solid #e5dce8;background:white;padding:0 5%;}.section-tabs a{padding:18px 22px;text-decoration:none;font-size:14px}.section-tabs a[aria-current=page]{color:#dc006b;border-bottom:3px solid #dc006b;font-weight:800}.subpage main{margin:45px auto}.subpage .section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;border:0}.section-grid article{background:white;border:1px solid #e6ddea;border-radius:14px;padding:24px;min-width:0}.section-grid h2{font-size:20px}.section-grid p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.section-grid a{height:100%}.list-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;margin-bottom:16px}.list-tools{display:flex;align-items:center;justify-content:space-between;gap:20px}.list-tools .count{margin:0}.section-search{display:flex;gap:10px;margin:22px 0 30px;align-items:center}.section-search input{flex:1;min-width:0;border:1px solid #d6cbdc;border-radius:8px;padding:13px;font:inherit;background:white}.section-search button,.pagination a{padding:12px 20px;border:1px solid #d6cbdc;border-radius:8px;background:white;color:#302836;font:inherit;text-decoration:none}.pagination{display:flex;justify-content:center;align-items:center;gap:24px;margin:40px 0}.achievement-list{list-style:none;padding:0}.achievement-list li{display:flex;justify-content:space-between;border-bottom:1px solid #eadfeb;padding:15px}.lesson-cover{display:flex;flex-direction:column;align-items:center;gap:20px;margin:30px auto}.lesson-cover img{width:100%;max-width:640px;aspect-ratio:16/9;object-fit:cover;border-radius:14px}.subpage .body{overflow-wrap:anywhere}.subpage .account-button{white-space:nowrap}.subpage .detail h1{font-size:clamp(26px,3.4vw,42px)}.subpage .board-main{max-width:1000px;padding:0 24px}.subpage .board-page-title h1{font-size:30px}.subpage footer{margin-top:60px}.section-foot-link{display:block;width:fit-content;margin:28px auto 0;padding:13px 24px;border:1px solid #d8cadf;border-radius:8px;color:#26202d;text-decoration:none;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1000px){.sub-nav{gap:12px}.subpage .section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.sub-header{padding:18px 20px}.sub-toggle{display:flex;flex-direction:column;gap:5px;padding:12px;border:0;background:transparent}.sub-toggle span{width:23px;height:2px;background:#221928}.sub-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:white;padding:18px 24px;box-shadow:0 10px 20px #0001}.sub-nav.open{display:flex}.sub-nav a{padding:10px}.sub-banner{padding:24px 22px 32px}.section-tabs{padding:0 10px}.section-tabs a{padding:16px}.subpage .section-grid{grid-template-columns:1fr}.section-search{flex-wrap:wrap}.section-search a{width:100%;font-size:13px}.subpage main{margin:30px auto}.subpage .board-main{padding:0 18px}}
.sub-header{flex-direction:row}.subpage .sub-banner h2{font-weight:800}.home-page .header nav{gap:18px}.home-page .header nav a{font-size:14px}.subpage .detail .body>img{max-width:100%;height:auto}
/* Shared navigation and purposeful course pages. */
.subpage .sub-header{padding-inline:max(24px,calc((100% - 1184px)/2));gap:24px}
.subpage .sub-header .brand strong{font-family:Ria,Pretendard,sans-serif;font-size:30px}
.subpage main{max-width:1184px;padding-inline:32px}
.sub-banner{padding-inline:max(32px,calc((100% - 1120px)/2));padding-block:28px 36px}
.sub-banner:after{display:none}
.subpage .sub-banner .breadcrumb{margin-bottom:18px}
.subpage .sub-banner h2{font-size:32px}
.subpage .section-grid a{display:flex;flex-direction:column}.subpage .section-grid .read{margin-top:auto;padding-top:16px}.subpage .section-grid article{transition:border-color .2s}.subpage .section-grid article:hover{border-color:#cf6b9d}
.course-page{color:#241c29}.course-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 24px;color:#776778;font-size:13px}.course-breadcrumb a{text-decoration:none}
.course-nav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid #e8dfe8}
.course-nav a{display:block;padding:12px 16px;border-radius:8px;text-decoration:none;color:#655768;line-height:1.5}.course-nav a[aria-current=page]{background:#ffe5f0;color:#a70050;font-weight:750}.course-nav a:hover{background:#fff0f6}
.course-hero{display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:48px;background:#fff1f7;padding:44px;border:1px solid #eedce6;border-radius:24px;margin-bottom:48px}
.course-hero h1{font-size:clamp(30px,3.4vw,44px);word-break:keep-all;margin:12px 0 20px}.course-hero .lead{font-size:17px;line-height:1.8;margin-bottom:24px}.course-hero img{width:100%;height:280px;object-fit:contain}.course-hero .eyebrow{margin:0;font-size:14px}
.course-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.course-actions a{font-size:14px}.course-text-link{display:inline-block;font-weight:650;text-underline-offset:4px}.course-actions .pink-button{text-decoration:none;border-radius:9px}
.course-block{margin:0;padding:38px 0;border-bottom:1px solid #e9e0e8}.course-block>.eyebrow,.course-block-heading .eyebrow{font-size:13px;margin:0 0 8px}.course-block h2{font-size:26px;word-break:keep-all;margin:0 0 24px}.course-block p{line-height:1.8;color:#665a6b}.course-block-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.course-block-heading>a{font-size:14px;white-space:nowrap}
.course-principles,.course-lessons,.course-locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.course-principles{grid-template-columns:repeat(3,minmax(0,1fr))}.course-principles article,.course-lessons article,.course-locations article{background:#fff;padding:26px;border:1px solid #e8dfe8;border-radius:16px}.course-block h3{font-size:20px;margin:0 0 14px}.course-lessons article{display:flex;flex-direction:column}.course-lessons article>a{margin-top:auto;padding-top:16px;color:#b70057;font-weight:650;font-size:14px}.course-lessons .meta{font-size:13px;margin:0 0 12px}.course-lessons .course-time{font-weight:700;color:#36243c}.course-empty{grid-column:1/-1;padding:32px;border-radius:16px;background:#fff}.course-experience{list-style:none;margin:0 0 24px;padding:0}.course-experience li{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #e9e0e8}.course-experience span{color:#776778}
.course-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.course-choices a{display:flex;justify-content:space-between;gap:12px;padding:24px;border:1px solid #ebd4e0;border-radius:14px;background:#fff;text-decoration:none}.course-choices a:hover{background:#fff0f6;border-color:#d66b9e}
.course-next,.course-contact{display:flex;align-items:center;justify-content:space-between;gap:32px;background:#fff1f7;padding:32px;border-radius:18px;margin-top:38px}.course-next h2,.course-contact h2{font-size:24px;margin:0 0 12px;word-break:keep-all}.course-next p,.course-contact p{line-height:1.7;margin:0;color:#675568}.course-next>a{white-space:nowrap;text-decoration:none}.course-contact{background:#211b28;color:#fff;margin-top:48px}.course-contact p{color:#d1c6d3}.course-phone{color:#fff}.course-faq details{padding:20px 0;border-bottom:1px solid #e9e0e8}.course-faq summary{cursor:pointer;font-size:17px;font-weight:650;line-height:1.6}.course-faq details p{margin:14px 0 0;max-width:800px}.course-faq summary:focus-visible{outline:3px solid #e00071;outline-offset:5px}
@media(max-width:1100px){.subpage .sub-nav{gap:12px}.subpage .sub-nav a{font-size:13px}.subpage .sub-header{flex-wrap:wrap}.course-hero{gap:24px;padding:32px}.course-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.subpage .sub-header{padding:18px 20px}.subpage main{padding-inline:20px}.course-nav{gap:4px}.course-nav a{padding:10px 12px;font-size:13px}.course-hero{grid-template-columns:1fr;gap:20px;padding:26px;margin-bottom:20px}.course-hero img{grid-row:1;height:180px;width:150px;margin:auto}.course-hero h1{font-size:30px}.course-hero .lead{font-size:16px}.course-principles,.course-lessons,.course-locations{grid-template-columns:1fr}.course-block{padding-block:28px}.course-block h2{font-size:23px}.course-block-heading{align-items:start;flex-direction:column;gap:0;margin-bottom:22px}.course-experience li{flex-direction:column;gap:8px}.course-next,.course-contact{align-items:start;flex-direction:column;padding:26px}.course-choices a{padding:18px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.subpage .section-grid article{transition:none}}
.subpage footer{color:#d3c6d7}.subpage footer p{color:#d3c6d7}
.school-search{display:flex;flex-direction:column;gap:10px;max-width:440px;margin:28px 0 12px;font-size:14px;font-weight:700}.school-search input{border:1px solid #d8c4d2;border-radius:10px;padding:14px 16px;background:#fff;color:#241c29;font:inherit}.school-search input:focus-visible{outline:3px solid #e00071;outline-offset:3px}.school-group{margin-top:28px}.school-list{display:flex;gap:10px;flex-wrap:wrap;list-style:none;padding:0;margin:0}.school-list li{padding:12px 18px;background:#fff;border:1px solid #e6d7e1;border-radius:10px;font-size:15px}.school-list li[hidden]{display:none}.school-search-status{font-size:14px}.course-schools .small-note{margin-top:24px}
