
*{box-sizing:border-box;touch-action:manipulation}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}img{max-width:100%;display:block}svg{width:20px;height:20px;flex-shrink:0}h1,h2,h3,h4,p{margin:0}button,a,input{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #7592e1}button:disabled{cursor:default}main:focus{outline:none}.initial-loading{padding:100px;text-align:center}.skip-link{position:fixed;z-index:100;left:20px;top:-60px;padding:12px;background:white}.skip-link:focus{top:12px}.site-header{height:94px;position:sticky;top:0;z-index:20;background:rgba(246,247,250,.96);border-bottom:1px solid rgba(224,228,237,.75);backdrop-filter:blur(12px)}.claim-intro{font-size:var(--type-small);color:var(--color-muted);line-height:1.9;margin:14px 0 25px;max-width:335px}.order-form label{display:block;font-size:var(--type-small);font-weight:500;margin-bottom:10px}.order-input-wrap{display:flex;gap:8px}.order-input-wrap input::placeholder{color:#9198a6}.primary-button,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;padding:11px 18px;font-size:var(--type-small);font-weight:500;border-radius:7px;line-height:1.7;white-space:nowrap;transition:background .18s,border-color .18s,transform .18s}.primary-button{color:white;background:var(--color-brand);border:1px solid var(--color-brand)}.primary-button:hover{background:#2949aa;border-color:#2949aa}.outline-button{border:1px solid #d6dce7;background:white}.outline-button:hover{border-color:#8097cf;background:#f8faff}.primary-button svg,.outline-button svg{width:16px;height:16px}.order-input-wrap .primary-button{padding:10px 14px;gap:9px}.form-error{font-size:var(--type-small);color:#ad3434;line-height:1.6;min-height:0;margin-top:7px}.form-error:empty{display:none}.form-bottom{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;align-items:center;margin-top:12px;color:var(--color-muted);font-size:var(--type-small)}.text-button{display:inline-flex;align-items:center;gap:8px;padding:0;color:var(--color-brand);font-size:var(--type-small);min-height:30px}.text-button:hover{text-decoration:underline;text-underline-offset:5px}.claim-foot{border-top:1px solid #edf0f5;margin-top:23px;padding-top:17px;font-size:var(--type-small);color:#8790a0;display:flex;align-items:center;gap:7px}.course-card:hover .art-open{opacity:1}.card-info{padding:23px 23px 18px}.card-meta{display:flex;justify-content:space-between;gap:10px;font-size:var(--type-small);color:var(--color-muted)}.course-card h3{font-size:var(--type-body);font-weight:500;line-height:1.55;letter-spacing:-.3px;margin:11px 0 10px;min-height:33px}.card-info>p{font-size:var(--type-small);line-height:1.9;color:var(--color-muted);min-height:46px}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:23px;border-top:1px solid #edf0f5;padding-top:16px}.detail-main{max-width:1200px;margin:auto}.back-link{display:inline-flex;gap:7px;align-items:center;font-size:var(--type-small);color:var(--color-muted);margin:29px 0}.back-link svg{width:16px;height:16px}.detail-hero{display:grid;grid-template-columns:1.5fr 1fr;gap:85px;align-items:center;padding:10px 0 52px}.article-source{font-size:var(--type-small);color:var(--color-muted);padding-bottom:25px;border-bottom:1px solid var(--color-border);margin-bottom:30px}.article-body{font-size:var(--type-body);line-height:1.95;color:#3d4860;overflow-wrap:anywhere}.article-body p{margin:20px 0}.article-body h3{font-size:var(--type-heading);line-height:1.65;margin:46px 0 20px;color:var(--color-ink);font-weight:500}.article-body figure{margin:30px 0}.article-image{display:block;width:100%;padding:0;cursor:default;border-radius:5px;overflow:hidden;background:transparent}.article-image img{max-height:1000px;object-fit:contain;width:100%;height:auto}.detail-end{background:#eaf0fd;border-radius:12px;text-align:center;margin:55px 0 70px;padding:40px 24px}.detail-end p{font-size:var(--type-small);color:var(--color-muted);margin:13px 0 23px}.play-icon{font-size:var(--type-small)}.addon h3{font-size:var(--type-small);font-weight:500;line-height:1.8}.addon p{font-size:var(--type-small);line-height:1.9;color:var(--color-muted);margin:6px 0 10px}.file-type{font-size:var(--type-small);color:#8994a6}.addon{display:flex;align-items:center;gap:18px;padding:22px 0;margin-top:24px;border-top:1px solid var(--color-border)}.addon>div:nth-child(2){flex:1}.addon .outline-button{font-size:var(--type-small)}.not-found button{padding:15px;background:var(--color-brand);color:white;border-radius:7px}dialog{border:1px solid var(--color-border);border-radius:15px;padding:30px;width:min(510px,calc(100vw - 36px));max-height:88vh;color:var(--color-ink);box-shadow:0 24px 80px #17253c24}dialog::backdrop{background:#17253c66;backdrop-filter:blur(4px)}.demo-hint{font-size:var(--type-small);line-height:1.9;color:var(--color-muted);margin-top:18px}#toast{display:none}
@media(max-width:1280px){.header-inner,.hero,.catalog-section,.site-footer,.detail-main{margin-left:40px;margin-right:40px}}
@media(max-width:1280px){.hero{gap:60px}}
@media(max-width:1280px){.course-card h3{font-size:var(--type-body)}}
@media(max-width:1280px){.card-info{padding:20px}}
@media(max-width:1280px){.detail-layout{gap:45px;grid-template-columns:180px minmax(0,1fr)}}
@media(max-width:1280px){.detail-hero{gap:50px}}
@media(max-width:1000px){.claim-intro{font-size:var(--type-small)}}
@media(max-width:1000px){.form-bottom{font-size:var(--type-small);gap:3px}}
@media(max-width:1000px){.claim-foot{line-height:1.8;font-size:var(--type-small)}}
@media(max-width:1000px){.detail-layout{grid-template-columns:145px minmax(0,1fr);gap:30px}}
@media(max-width:1000px){.about-strip{gap:23px}}
@media(max-width:700px){.header-inner,.hero,.catalog-section,.site-footer,.detail-main{margin-left:22px;margin-right:22px}}
@media(max-width:700px){.site-header{height:77px}}
@media(max-width:700px){.claim-foot{margin-top:15px;padding-top:13px;font-size:var(--type-small)}}
@media(max-width:700px){.form-bottom{margin-top:7px}}
@media(max-width:700px){.catalog-section{padding-top:28px}}
@media(max-width:700px){.course-art{aspect-ratio:1.38;padding:24px 40px}}
@media(max-width:700px){.card-info{padding:21px 22px 19px}}
@media(max-width:700px){.course-card h3{font-size:var(--type-heading)}}
@media(max-width:700px){.card-info>p{font-size:var(--type-small);line-height:1.85}}
@media(max-width:700px){.card-bottom{margin-top:20px;padding-top:15px}}
@media(max-width:700px){.preview-tools{right:12px;bottom:12px;padding:6px 10px}}
@media(max-width:700px){.back-link{margin:24px 0;font-size:var(--type-small)}}
@media(max-width:700px){.detail-hero{display:flex;flex-direction:column;align-items:stretch;padding-top:2px;padding-bottom:30px;gap:28px}}
@media(max-width:700px){.syllabus li{font-size:var(--type-small);gap:19px;padding:15px 0}}
@media(max-width:700px){.article-body{font-size:var(--type-small);line-height:1.95}}
@media(max-width:700px){.article-body h3{font-size:var(--type-body)}}
@media(max-width:700px){.article-source{font-size:var(--type-small);line-height:1.8}}
@media(max-width:700px){.owned-arrow{display:none}}
@media(max-width:700px){.addon{flex-wrap:wrap;gap:13px}}
@media(max-width:700px){.addon .outline-button{margin-left:57px}}
@media(max-width:700px){dialog{padding:24px 21px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.hero .claim-card{padding:0;background:none;border:0;box-shadow:none;border-radius:0}.form-bottom{justify-content:flex-end}.hero .order-input-wrap input{background:white}
body{font-weight:400;-webkit-font-smoothing:antialiased}.site-header{background:rgba(250,250,250,.96)}
h1,h2,h3,h4{font-weight:500}.detail-hero h1{font-size:var(--type-title);line-height:1.35;letter-spacing:-.6px;font-weight:500}.article-source{font-size:var(--type-small);line-height:1.7;margin:0 0 36px;color:#6e6e73}.article-body{font-family:inherit;font-size:var(--type-body);line-height:1.9;color:#303033;letter-spacing:0;overflow-wrap:break-word}.article-body>p{margin:0 0 24px;font-weight:400}.article-body h3{font-size:var(--type-heading);font-weight:500;line-height:1.5;margin:60px 0 24px;color:#1d1d1f}.article-body h4{font-size:var(--type-body);font-weight:500;line-height:1.6;margin:40px 0 18px;color:#1d1d1f}.article-body figure{margin:32px 0 40px}.article-body .article-image{display:flex;justify-content:center;width:100%;padding:0;background:none;border:0;border-radius:0}.article-body .article-image img{max-width:100%;width:auto;height:auto;max-height:880px;object-fit:contain;border-radius:0}.article-body .article-caption{font-size:var(--type-small);line-height:1.65;color:#6e6e73;margin-top:-24px;margin-bottom:32px}.course-card h3{font-weight:500}.card-info>p{color:#6e6e73}.hero{background:#f0f3f8}.article-body h3:first-child{margin-top:0}
@media(max-width:600px){.detail-reading h2{font-size:var(--type-heading);margin-bottom:24px}}
@media(max-width:600px){.article-body{font-size:var(--type-body);line-height:1.9}}
@media(max-width:600px){.article-body>p{margin-bottom:22px}}
@media(max-width:600px){.article-body h3{font-size:var(--type-heading);margin-top:44px;margin-bottom:20px}}
@media(max-width:600px){.article-body h4{font-size:var(--type-body);margin-top:32px;margin-bottom:16px}}
@media(max-width:600px){.article-body figure{margin:28px 0 32px}}
@media(max-width:600px){.article-body .article-caption{font-size:var(--type-small);margin-top:-18px}}code{font-family:inherit;letter-spacing:.08em}button:disabled{opacity:.55;cursor:wait}.form-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.detail-actions>.text-button{font-size:var(--type-small)}.detail-reading h2{font-size:var(--type-heading);line-height:1.4;margin:0 0 28px}.course-copy,.article-body{font-size:var(--type-body);line-height:1.85;letter-spacing:0;color:#303033}.course-copy p,.article-body>p{margin:0 0 24px}.course-copy h3,.article-body h3{font-size:var(--type-heading);line-height:1.5;font-weight:500;margin:52px 0 20px;color:#1d1d1f}.article-body h3:first-child{margin-top:0}.course-copy h3 small{font-size:var(--type-small);font-weight:400;color:#6e6e73;margin-left:14px}.article-body figure{margin:28px 0 16px}.article-body .article-caption{font-size:var(--type-small);line-height:1.6;color:#6e6e73;margin:0 0 28px}.article-body .article-image img{max-height:640px}.detail-actions{display:flex;align-items:center;gap:22px}
@media(max-width:600px){.detail-reading h2{font-size:var(--type-heading);margin-bottom:22px}}
@media(max-width:600px){.course-copy,.article-body{font-size:var(--type-small);line-height:1.85}}
@media(max-width:600px){.course-copy h3,.article-body h3{font-size:var(--type-body);margin-top:36px}}
@media(max-width:600px){.detail-actions{align-items:flex-start;flex-direction:column;gap:12px}}
body{font-size:var(--type-body)}.detail-actions{flex-wrap:wrap}.detail-actions .primary-button,.primary-button,.outline-button{font-size:var(--type-small)}
.detail-hero h1{font-size:var(--type-title)}.detail-description,.course-copy,.article-body{font-size:var(--type-body);line-height:1.8}.detail-reading h2,.course-copy h3,.article-body h3{font-size:var(--type-heading);line-height:1.45}.detail-layout{grid-template-columns:180px minmax(0,720px);gap:56px}
.instructor-portrait{width:180px;height:180px;object-fit:contain;border-radius:4px;margin:0 0 24px}#instructor-copy>h3:first-of-type{margin-top:0}
.article-body figure{margin:28px 0}.article-body figure figcaption{font-size:var(--type-small);font-weight:400;line-height:1.6;color:#6e6e73;margin-top:12px;overflow-wrap:anywhere}
.article-body .work-figure .article-image img{max-width:100%;max-height:min(380px,50svh);width:auto;height:auto;object-fit:contain}
.article-body .book-figure .article-image{justify-content:flex-start}.article-body .book-figure .article-image img{width:auto;height:auto;max-width:180px;max-height:240px;object-fit:contain}.article-body .book-figure{max-width:340px}
.book-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:28px 0}.article-body .book-gallery figure{margin:0}.article-body .book-gallery .article-image{height:240px;align-items:flex-end}
.site-header nav{font-size:var(--type-small);gap:24px}.card-info>p,.card-meta,.card-view,.results-meta,.filters button,.search-field input{font-size:var(--type-small)}.card-info h3{font-size:var(--type-body)}.card-meta{flex-wrap:wrap;gap:8px}.search-field input{min-width:0}.order-form label,.order-input-wrap input,.hero .order-form label,.hero .order-input-wrap input,.hero .text-button,.hero .order-input-wrap .primary-button{font-size:var(--type-small)}.order-input-wrap input{height:52px}
@media(max-width:600px){.detail-hero h1{font-size:var(--type-title)}}
@media(max-width:600px){.detail-facts{gap:20px}}
@media(max-width:600px){.book-gallery{gap:20px}}
@media(max-width:600px){.article-body .book-gallery .article-image{height:190px}}
@media(max-width:600px){.article-body .book-figure .article-image img{max-width:100%;max-height:190px}}
@media(max-width:600px){.instructor-portrait{width:150px;height:150px}}
@media(max-width:600px){.hero .order-input-wrap{flex-wrap:wrap}}
@media(max-width:600px){.search-field{width:100%}}.detail-reading h2{font-size:32px;font-weight:500;line-height:1.4}.course-copy h3,.article-body h3{font-size:24px;font-weight:500;line-height:1.5}.course-copy,.article-body{font-size:20px;line-height:1.8}
.detail-facts span{font-size:18px}.detail-facts small,.detail-main .eyebrow,.purchase-hint,.article-body figure figcaption,.detail-poster>span{font-size:15px;line-height:1.65}.detail-main .back-link,.detail-sidebar>a,.detail-actions .text-button,.site-header nav{font-size:16px}.hero-intro>p{font-size:18px}.card-info h3{font-size:22px}.card-info>p{font-size:17px}.card-meta,.card-view,.results-meta,.site-footer{font-size:15px}.heading-count{font-size:16px}.order-form label,.hero .order-form label{font-size:16px}.hero .text-button{font-size:16px}
@media(max-width:600px){.detail-reading h2{font-size:28px}}
@media(max-width:600px){.course-copy h3,.article-body h3{font-size:23px}}
@media(max-width:600px){.course-copy,.article-body{font-size:19px}}
@media(max-width:600px){.hero h1,.section-heading h2{font-size:28px}}
.detail-actions .primary-button,.detail-actions .text-button,.primary-button,.outline-button,.order-form input,.hero .order-input-wrap input,.hero .order-input-wrap .primary-button{font-size:17px;line-height:1.6}
.detail-main .back-link,.order-form label,.hero .order-form label,.hero .text-button,.purchase-course{font-size:17px;line-height:1.6}
.detail-reading h2{font-size:32px}.course-copy h3,.article-body h3{font-size:24px}.detail-description{font-size:21px}
@media(max-width:600px){.detail-reading h2{font-size:28px}}
@media(max-width:600px){.course-copy h3,.article-body h3{font-size:23px}}
@media(max-width:600px){.detail-description{font-size:20px}}
.detail-reading h2,.section-heading h2,.hero h1{font-size:32px;line-height:1.21875;font-weight:600;letter-spacing:.004em}
.course-copy h3,.article-body h3,.card-info h3{font-size:24px;line-height:1.16667;font-weight:600;letter-spacing:.009em}
.course-copy,.article-body,.course-copy p,.article-body>p,.card-info>p,.hero-intro>p,.detail-facts span,.about-modal p,.purchase-course{font-size:17px;line-height:1.47059;font-weight:400;letter-spacing:-.022em}
.detail-main .back-link,.detail-actions .text-button,.detail-actions .primary-button,.primary-button,.outline-button,.order-form label,.order-form input,.hero .order-form label,.hero .order-input-wrap input,.hero .order-input-wrap .primary-button,.hero .text-button{font-size:17px;line-height:1.47059}
.detail-facts small,.detail-main .eyebrow,.detail-poster>span,.article-body figure figcaption,.card-meta,.card-view,.results-meta,.footer-about,.site-footer{font-size:14px;line-height:1.42859;letter-spacing:0}
@media(max-width:734px){.detail-hero h1{font-size:32px;line-height:1.125}}
@media(max-width:734px){.detail-reading h2,.section-heading h2,.hero h1{font-size:28px;line-height:1.14286}}
@media(max-width:734px){.course-copy h3,.article-body h3,.card-info h3{font-size:21px;line-height:1.19048}}
@media(max-width:734px){.detail-description{font-size:19px;line-height:1.4211}}
@media(max-width:734px){.course-copy,.article-body,.course-copy p,.article-body>p{font-size:17px;line-height:1.47059}}
@media(max-width:734px){.detail-hero h1{font-size:32px;line-height:39px}}
@media(max-width:734px){.detail-reading h2,.section-heading h2,.hero h1{font-size:24px;line-height:31px}}
@media(max-width:734px){.course-copy h3,.article-body h3{font-size:20px;line-height:29.25px}}
@media(max-width:734px){.detail-description{font-size:19px;line-height:27px}}
@media(max-width:734px){.course-copy,.article-body,.course-copy p,.article-body>p{font-size:17px;line-height:25px}}

.article-body .lesson-heading{margin:52px 0 28px}.article-body .lesson-heading:first-child{margin-top:0}.article-body .lesson-heading h3{margin:0}.article-body .lesson-heading .lesson-subtitle{margin:8px 0 0;font-size:17px;line-height:25px;font-weight:400;color:#6e6e73;letter-spacing:0}
@media(max-width:734px){.article-body .lesson-heading{margin-top:36px}}
.article-body figure{margin:32px 0}
.article-body .work-figure .article-image{display:block;width:100%;height:auto;padding:0;background:transparent;border:0;border-radius:0}
.article-body .work-figure .article-image img{display:block;width:100%;height:auto;max-width:100%;max-height:none;object-fit:contain;margin:0}
.article-body .portrait-figure{width:min(100%,360px);margin-left:auto;margin-right:auto}
.article-body figure figcaption{margin:12px 0 0;text-align:left;font-size:14px;line-height:20px}
.article-body .book-gallery{gap:28px;align-items:start;margin:32px 0}
@media(max-width:734px){
 .article-body figure,.article-body .book-gallery{margin-top:24px;margin-bottom:24px}
}
@media(max-width:734px){
 .article-body .portrait-figure{width:min(80%,320px)}
}
@media(max-width:734px){
 .article-body .book-gallery{gap:20px}
}

.article-body .lesson-section{margin:52px 0 0}.article-body .lesson-section:first-child{margin-top:0}.article-body .lesson-section>.lesson-heading{margin:0 0 28px}.article-body .lesson-section>p{font-size:17px;line-height:25px;font-weight:400;letter-spacing:-.022em;margin:0 0 20px}.article-body .lesson-section>figure{margin-top:0}.article-body .lesson-section .lesson-subtitle{overflow-wrap:anywhere}
@media(max-width:734px){.article-body .lesson-section{margin-top:36px}}
@media(max-width:734px){.article-body .lesson-section>.lesson-heading{margin-bottom:24px}}
.topic-list{margin:24px 0 0}.topic-list>div{padding:16px 0;border-bottom:1px solid #e8e8ed}.topic-list dt{font-size:17px;line-height:25px;font-weight:500}.topic-list dd{margin:6px 0 0;font-size:17px;line-height:25px;color:#6e6e73}.toolbox-intro-topic{margin-bottom:32px}.publication-image img{width:100%;height:100%;object-fit:cover}.publication-copy{padding:24px;display:flex;flex-direction:column;flex:1}.publication-copy h4{font-size:24px;line-height:1.32;font-weight:600;letter-spacing:-.015em;margin:0 0 24px}.publication-copy time{font-size:14px;line-height:1.4;color:#6e6e73;margin-top:auto}.public-main{max-width:980px;margin:0 auto;padding:56px 0 96px}.public-article{max-width:840px;margin:auto;padding:40px 0 88px}.public-article-heading{max-width:720px;margin:52px auto 36px}.publication-category{font-size:14px;line-height:1.45;color:#6e6e73}.public-article-heading h1{font-size:40px;line-height:1.2;font-weight:600;letter-spacing:-.02em;margin:16px 0 24px}.article-byline{font-size:17px;line-height:1.5}.article-source{font-size:14px;line-height:1.6;color:#6e6e73;margin:12px 0 0;padding:0;border:0}.article-contents,.public-prose,.article-end{max-width:720px;margin-left:auto;margin-right:auto}.article-contents{padding:0;margin-bottom:40px;font-size:17px}.article-contents a{color:#365cc9}.public-prose{font-size:17px;line-height:1.65;color:#1d1d1f;overflow-wrap:anywhere}.public-prose p{margin:0 0 22px}.public-prose h2{font-size:24px;line-height:1.35;font-weight:600;margin:48px 0 20px;scroll-margin-top:120px}.public-prose .speaker{font-weight:600;margin:32px 0 8px}.public-prose .article-figure{margin:32px auto;max-width:720px}.public-prose .article-figure.portrait{max-width:360px}.article-image{display:block;width:100%;padding:0}.article-image img{width:100%;height:auto;max-height:560px;object-fit:contain}.public-prose figcaption{font-size:14px;line-height:1.5;color:#6e6e73;margin-top:12px}.public-prose .reference{font-size:14px;line-height:1.65;color:#515154;scroll-margin-top:120px}.public-prose a{color:#365cc9}.article-end{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #d2d2d7;margin-top:56px;padding-top:24px}
@media(max-width:1260px){.course-home-back{margin-left:24px;margin-right:24px}}
@media(max-width:1260px){.public-article{padding-left:24px;padding-right:24px}}
@media(max-width:1040px){.editorial-home,.public-main{margin-left:24px;margin-right:24px}}
@media(max-width:1040px){.publication-copy{padding:20px}}
@media(max-width:1040px){.publication-copy h4{font-size:21px}}
@media(max-width:760px){.editorial-section+.editorial-section{margin-top:40px;padding-top:36px}}
@media(max-width:760px){.public-article-heading{margin-top:32px}}
@media(max-width:760px){.public-article-heading h1{font-size:32px;line-height:1.25}}
@media(max-width:760px){.public-prose h2{font-size:24px}}
@media(max-width:760px){.article-end{flex-wrap:wrap}}
@media(max-width:760px){.public-prose .article-figure.portrait{max-width:300px}}
@media(max-width:760px){.course-group>h3{font-size:28px}}
@media(max-width:520px){.publication-grid{grid-template-columns:1fr}}
@media(max-width:520px){.publication-copy{padding:24px}}
@media(max-width:520px){.publication-copy h4{font-size:24px;margin-bottom:20px}}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.public-prose .publication-note{font-size:15px;line-height:1.7;color:#6e6e73;border-left:2px solid #d2d2d7;padding-left:20px;margin:0 0 36px}.public-prose .publication-note p{font-size:inherit;line-height:inherit;margin:0 0 16px}.public-prose .publication-note p:last-child{margin-bottom:0}.public-prose .publication-note h2{font-size:15px;line-height:1.7;font-weight:500;color:inherit;margin:0 0 12px}
@media(max-width:760px){.public-prose .publication-note{padding-left:16px}}.public-collection .editorial-section+.editorial-section{margin-top:48px;padding-top:36px}.public-collection .publication-copy h4{font-size:21px;line-height:1.35}
.public-prose h3{font-size:21px;line-height:1.4;font-weight:600;margin:36px 0 16px;scroll-margin-top:110px}.public-prose h4{font-size:17px;line-height:1.5;font-weight:600;margin:28px 0 12px;scroll-margin-top:110px}.public-prose h2:has(+.section-subtitle){margin-bottom:6px}.public-prose .section-subtitle{font-size:21px;line-height:1.4;font-weight:600;color:#515154;margin:0 0 24px}.public-prose .section-byline,.public-prose .article-credit,.public-prose .article-keywords{font-size:14px;line-height:1.6;font-weight:400;color:#6e6e73;margin-bottom:12px}.public-prose .article-credits{margin-top:48px;font-size:14px;line-height:1.6;color:#6e6e73}.public-prose .article-credits p{font-size:inherit;margin-bottom:8px}.public-prose .article-abstract{font-size:17px;line-height:1.65;color:#515154}.article-contents a[data-level="3"]{padding-left:18px}

.title-primary,.title-secondary{display:block;text-wrap:balance;overflow-wrap:normal;word-break:normal}.title-primary{font-weight:600}.title-secondary{font-weight:400;margin-top:.22em}.title-phrase{display:inline-block;white-space:nowrap}.publication-copy h4 .title-secondary{font-size:18px;line-height:1.4}.public-article-heading h1 .title-secondary{font-size:36px;line-height:1.3}.series-subtitle{display:block;font-size:21px;line-height:1.4;font-weight:500;margin-top:8px}.publisher-accounts{display:inline-flex;align-items:center;gap:6px}.publisher-account{position:relative;display:inline-block}.publisher-name{font-size:inherit;color:inherit;padding:0;border-bottom:1px dotted #86868b;line-height:inherit}.publisher-qr{display:none;position:absolute;left:0;top:100%;padding:16px;width:212px;background:white;color:#1d1d1f;box-shadow:0 6px 26px #0002;border-radius:12px;z-index:30;text-align:center}.publisher-qr img{width:180px;height:180px}.publisher-qr>span{display:block;margin-top:8px;font-size:14px}.publisher-name:focus-visible + .publisher-qr,.publisher-account.is-open .publisher-qr{display:block}@media(hover:hover){.publisher-account:hover .publisher-qr{display:block}}.publisher-account:last-child .publisher-qr{left:auto;right:0}
@media(max-width:760px){.public-article-heading h1 .title-secondary{font-size:28px}}
@media(max-width:760px){.publication-copy h4 .title-secondary{font-size:20px}}
@media(max-width:420px){.public-article-heading h1{font-size:30px}}
@media(max-width:420px){.public-article-heading h1 .title-secondary{font-size:28px}}

.caption-translation{display:block;margin-top:4px}
.title-primary.starts-with-quote,.title-secondary.starts-with-quote{text-indent:-.5em}
.title-han-number{word-spacing:.25em}
@keyframes banner-crossfade{0%,26.666%{opacity:1}33.333%,93.333%{opacity:0}100%{opacity:1}}.public-collection .editorial-section-heading h3,.course-group>h3{font-weight:500}.public-article-heading h1{font-weight:600}

.public-prose .bilingual-answer{margin:0 0 28px}
.public-prose .answer-primary{color:#1d1d1f}
.public-prose .answer-translation{font-family:"Aileron",Arial,sans-serif;font-size:15px;line-height:1.6;font-weight:400;color:#6e6e73;margin-top:16px;padding-inline:20px}
.public-prose .answer-translation p{margin:0 0 14px}
.public-prose .answer-translation p:last-child{margin-bottom:0}
@media(max-width:760px){.public-prose .answer-translation{padding-inline:12px}}
:is(.public-prose,.article-body,.course-copy) p:not(.speaker,.section-subtitle,.lesson-subtitle,.article-caption,.section-byline,.article-credit,.article-keywords){text-align:justify;text-align-last:start;text-justify:auto;overflow-wrap:break-word}
:is(.public-prose,.article-body,.course-copy) [lang="en"]{hyphens:auto}

.public-prose .speaker-context{font-size:.88em;font-weight:400;color:var(--text-secondary,#6e6e73)}

.article-image,.detail-poster{cursor:default}
@keyframes article-image-spin{to{transform:rotate(360deg)}}

.contact-email{text-align:left;line-height:1.5;overflow-wrap:anywhere}.contact-email h3{font-size:30px;font-weight:600;margin:0 0 12px}.contact-email a{color:var(--color-ink);font-size:clamp(22px,5.6vw,24px)}
.public-prose .author-profile{margin-top:64px;padding-top:32px;border-top:1px solid #e5e5e7}
.public-prose .author-profile>img,.public-prose .contributor-profile>img{width:180px;max-width:45%;height:auto;display:block;margin:24px 0}
.public-prose .contributor-portrait{max-width:240px;margin-inline:0}
.public-prose cite[lang="en"],.article-body cite[lang="en"],.public-prose em[lang="en"]{font-family:"Aileron",Arial,sans-serif;font-style:italic}
.public-prose img,.article-body img,.article-body .article-image img{border-radius:8px}
.public-prose .article-figure[style*="--figure-width"],.article-body figure[style*="--figure-width"],.article-body .book-gallery .work-figure[style*="--figure-width"]{width:min(100%,var(--figure-width));max-width:100%;margin-left:auto;margin-right:auto}
.public-prose .article-figure[style*="--figure-width"] img,.article-body figure[style*="--figure-width"] .article-image img{display:block;width:100%;height:auto;max-height:none;margin:0}
.public-prose figcaption,.article-body figcaption{text-align:left}
.public-prose .reference,.article-body .reference{font-size:14px;line-height:1.5;margin-bottom:8px;scroll-margin-top:100px}
.public-prose sup:has(>.note-link),.article-body sup:has(>.note-link){font-size:.72em;line-height:0;vertical-align:super;white-space:nowrap}
.public-prose sup .note-link,.article-body sup .note-link{font-size:inherit;vertical-align:baseline}
.public-prose .reference:target,.article-body .reference:target{background:#edf1fb;border-radius:4px}
.article-metadata{display:grid;gap:8px}
.article-metadata p{margin:0}
.article-metadata .article-byline{font-size:17px;line-height:1.5}
.article-context,.article-date{font-size:14px;line-height:1.6;color:#6e6e73}
.public-prose .publication-note .publication-label{font-size:15px;font-weight:600;margin:0 0 12px;color:inherit}
.public-prose .article-quote,.article-body .article-quote{margin:28px 0;padding:0 0 0 24px;border-left:2px solid #d2d2d7;font-size:17px;line-height:1.7;color:#515154}
.public-prose .article-quote p,.article-body .article-quote p{margin:0 0 16px}
.public-prose .article-quote p:last-child,.article-body .article-quote p:last-child{margin-bottom:0}
.public-prose .article-quote .quote-attribution{font-size:14px;color:#6e6e73;margin-top:12px}
.public-prose .verse-quote p{margin:0;line-height:1.8}
.public-prose .article-abstract{font-size:15px;line-height:1.7;color:#515154;margin:24px 0}
.public-prose .article-abstract p{font-size:inherit;line-height:inherit;margin:0 0 12px}
.public-prose .article-abstract .abstract-label{font-weight:600}
.public-prose .article-keywords,.public-prose .article-credit{font-size:14px;line-height:1.6;color:#6e6e73}
.public-prose .author-profile{font-size:14px;line-height:1.7;color:#6e6e73;margin-top:48px;padding-top:24px}
.public-prose .author-profile p{font-size:inherit;line-height:inherit;margin:0 0 14px}
.public-prose .author-profile .profile-label{font-size:17px;font-weight:600;color:#6e6e73;margin:0 0 24px}
.public-prose .author-profile .contributor-profile+.contributor-profile{margin-top:32px}
.public-prose .author-profile .profile-name{font-size:17px;line-height:1.3;font-weight:600;color:#1d1d1f;margin:0}
.public-prose .author-profile .profile-name-en{font-size:14px;line-height:1.3;margin:0 0 18px}
.public-prose .author-profile>img,.public-prose .contributor-profile>img{width:180px;max-width:60%;height:auto;margin:20px 0}
.public-prose .author-profile .article-figure{width:min(100%,240px);max-width:240px;margin:20px 0}
.public-prose .translator-notes{margin-top:40px}
@media(max-width:760px){.public-prose .article-quote,.article-body .article-quote{padding-left:18px}}
.public-prose h3{font-size:21px;line-height:1.4;font-weight:600;margin:36px 0 18px;scroll-margin-top:100px}
.public-prose h4{font-size:19px;line-height:1.45;font-weight:600;margin:28px 0 16px;scroll-margin-top:100px}
.public-prose .quote-attribution strong{font-weight:400}
.loading-indicator{display:flex;align-items:center;min-height:28px;width:100%}
.loading-track{display:block;position:relative;width:152px;height:3px;overflow:hidden;border-radius:3px;background:#dce4f5}
.loading-segment{position:absolute;top:0;left:0;width:38%;height:100%;border-radius:3px;background:var(--color-brand);animation:loading-travel 1.6s cubic-bezier(.38,0,.62,1) -.25s infinite}
.button-loader{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:50%;animation:loading-spin .8s linear infinite}
@keyframes loading-travel{0%{transform:translateX(-110%)}50%{transform:translateX(160%)}100%{transform:translateX(400%)}}
@keyframes loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.loading-segment{animation:none;transform:translateX(80%)}}
@media(prefers-reduced-motion:reduce){.button-loader{animation:none;border-top-color:#fff}}

.public-prose .book-contents{font-size:15px;line-height:1.65;color:#6e6e73}
.public-prose .book-contents p{font-size:inherit;line-height:inherit;margin:0 0 6px}
.public-prose .book-contents h3{font-size:17px;margin:20px 0 10px}
.public-prose .article-image-pair,.article-body .article-image-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;max-width:720px;margin:32px auto}
.public-prose .article-image-pair>figure,.article-body .article-image-pair>figure{margin-top:0;margin-bottom:0}
@media(max-width:640px){.public-prose .article-image-pair,.article-body .article-image-pair{grid-template-columns:1fr;gap:28px}}
:lang(en){font-family:"Aileron","Source Han Sans",sans-serif}
.public-prose figure[data-portrait][style],.article-body figure[data-portrait],.article-body .book-gallery .work-figure[data-portrait]{max-width:min(100%,var(--portrait-width),calc(55svh * var(--image-ratio)))!important}
.portrait-trim{overflow:hidden;border-radius:8px}
.portrait-trim img{transform:scale(1.025)}.copy-popover{position:fixed;z-index:30;padding:6px 10px;border-radius:6px;background:#263653;color:white;font-size:12px;line-height:1.4;white-space:nowrap;box-shadow:0 4px 14px #1b2c4c2e;pointer-events:none}
.public-article{padding-top:20px}.public-article>.back-link{margin:12px 0 24px}.public-article-heading{margin-top:40px}
@media(max-width:760px){.public-article-heading{margin-top:28px}}
.public-prose .article-event-details{margin:0 0 40px;padding:20px 24px;border-left:2px solid #d2d2d7;background:#f7f7f8;color:#515154;line-height:1.5}
.public-prose .article-event-details p{text-align:left;text-align-last:auto}
.public-prose .article-event-details .event-series{font-size:14px;line-height:1.5;color:#6e6e73;margin:0 0 5px}
.public-prose .article-event-details .event-title{font-size:17px;line-height:1.45;font-weight:600;color:#1d1d1f;margin:0 0 15px}
.public-prose .event-facts{display:grid;gap:5px;margin:0;font-size:14px;line-height:1.55}
.public-prose .event-facts>div{display:grid;grid-template-columns:3.5em minmax(0,1fr);gap:10px}
.public-prose .event-facts dt{color:#6e6e73}.public-prose .event-facts dd{margin:0}
.public-article>.back-link{font-size:16px;line-height:1.5}

.article-byline .contributor-link,.public-prose .contributor-link{color:#1d1d1f;text-decoration:underline dashed rgba(29,29,31,.45);text-decoration-thickness:1px;text-underline-offset:.22em;white-space:nowrap}
.public-prose .contributor-name{display:inline-flex;flex-direction:column;text-decoration:none;border-bottom:1px dashed rgba(29,29,31,.45);padding-bottom:.15em;margin-bottom:18px}
.public-prose .author-profile .contributor-name .profile-name-en{margin:0;color:inherit}

.public-article{width:100%;margin-left:auto;margin-right:auto}
.public-article-heading,.article-contents,.public-prose,.article-end{width:100%;margin-left:auto;margin-right:auto}

.article-directory{position:fixed;left:32px;top:100px;width:calc((100vw - 840px) / 2 - 56px);opacity:0;visibility:hidden;transform:translateX(-8px);transition:opacity .36s ease,transform .36s ease,visibility 0s linear .36s;z-index:4;background:transparent}
.article-directory.is-reading{opacity:1;visibility:visible;transform:translateX(0);transition-delay:0s}
.article-toc-scroll{position:relative;max-height:calc(100svh - 180px);padding:28px 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;mask-image:linear-gradient(to bottom,transparent,#000 28px,#000 calc(100% - 28px),transparent)}
.article-toc-scroll::-webkit-scrollbar{display:none}
.article-toc-scroll a{display:block;width:fit-content;max-width:100%;margin-bottom:12px;color:#6e6e73;font-size:13px;line-height:1.5;font-weight:300;transition:color .28s ease}
.article-toc-scroll a:is(:hover,:focus-visible,[aria-current="location"]){color:#1d1d1f;font-weight:600}
.article-toc-scroll a[data-level="3"]{padding-left:12px}
.article-toc-scroll a[data-level="4"]{padding-left:24px}
@media(max-width:1199px){.article-directory{display:none}}
@media(prefers-reduced-motion:reduce){.article-directory,.article-toc-scroll a{transition:none}}.pt-language-footer{width:calc(100% - 2 * var(--page-gutter));margin-inline:auto;padding:calc(32 * var(--screen-unit,1px)) 0;flex:none;color:inherit}
.pt-home>.pt-about{position:relative}
.pt-home .pt-about>.pt-language-footer{position:absolute;bottom:0;right:calc((100% - 100vw) / 2 + var(--page-gutter));width:auto;margin:0;padding:calc(16 * var(--screen-unit,1px)) 0}
.pt-language-switch{display:flex;justify-content:flex-end;align-items:baseline;gap:calc(16 * var(--screen-unit,1px));min-height:calc(20 * var(--screen-unit,1px));margin:0;font-family:inherit;font-size:calc(14 * var(--screen-unit,1px));font-weight:400;line-height:1.3;color:inherit;letter-spacing:0;white-space:nowrap}
.pt-language-switch a{display:inline-block;padding:2px 0;color:inherit;opacity:.6;text-decoration:none}
.pt-language-switch a[aria-current],.pt-language-switch a:hover{opacity:1}
.pt-language-switch a[aria-current]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em}
.pt-language-switch a:focus-visible{outline:1px solid currentColor;outline-offset:4px}
:where(html[lang=en]) :lang(en),html[lang=en],html[lang=en] body,html[lang=en] :is(input,button,textarea){font-family:"Source Sans 3","Source Han Sans",sans-serif}
@media(hover:hover) and (pointer:fine){
 :root{--poster-hover-shadow:0 calc(1 * var(--screen-unit,1px)) calc(3 * var(--screen-unit,1px)) #0000000a,0 calc(4 * var(--screen-unit,1px)) calc(10 * var(--screen-unit,1px)) #00000014}
 .pt-poster-image{transform-origin:center;transition:transform .32s cubic-bezier(.4,0,.2,1),box-shadow .32s cubic-bezier(.4,0,.2,1)}
 .pt-poster-hover:not(:disabled):is(:hover,:focus-visible) .pt-poster-image{transform:scale(1.004);box-shadow:var(--poster-hover-shadow)}
}
@media(prefers-reduced-motion:reduce){
 .pt-poster-image{transition:none}
 .pt-poster-hover:not(:disabled):is(:hover,:focus-visible) .pt-poster-image{transform:none}
}
