/* Course and article templates. Shared colors and type come from tokens.css. */
.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 25px}
.pill-row>span{font-size:11px;color:var(--blue);border:1px solid #b9cfe2;padding:4px 13px;border-radius:4px;background:#fff}

.art-caption{position:relative;z-index:2;font-family:var(--font-english);font-size:9px;letter-spacing:.16em;color:var(--navy);font-weight:700}
.book-stack{position:absolute;inset:0}
.book{font-family:Georgia,"Times New Roman",serif;position:absolute;display:flex;align-items:flex-start;justify-content:flex-start;padding:20px;font-style:normal;box-shadow:8px 7px 0 #00000008;border-radius:2px 8px 8px 2px;border-left:8px solid #0000000d;letter-spacing:.01em;line-height:1.3;font-size:23px}
.book-one{width:120px;height:166px;background:#fdf8e7;left:47px;top:82px;color:#6c673f;transform:rotate(-13deg)}
.book-two{width:128px;height:183px;background:#a9c9b9;color:#264c43;left:143px;top:64px;transform:rotate(-2deg)}
.book-three{width:116px;height:159px;background:#254f63;color:#fff;left:247px;top:105px;transform:rotate(10deg);font-size:16px;letter-spacing:.09em;padding:22px 12px}
.art-stamp{position:absolute;bottom:21px;right:18px;font-size:11px;color:var(--navy);writing-mode:vertical-rl;letter-spacing:.08em}
.article-meta{display:flex;align-items:center;gap:15px;color:var(--muted);font-size:11px;flex-wrap:wrap}
.tag{background:#e8f1f7;color:var(--blue);font-size:11px;padding:4px 12px;border-radius:3px}

.consultation-section{padding:80px 0;background:var(--surface);border-top:1px solid #e0ecf5}
.consultation-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}
.consultation-copy h2{font-size:35px;line-height:1.65;margin-top:20px}
.consultation-copy>p:not(.eyebrow):not(.small-note){color:var(--muted);font-size:14px;margin:19px 0 24px}
.consultation-copy .small-note{margin-top:13px}
.consultation-photo{position:relative;padding:0 0 22px 16px}
.consultation-photo img{width:100%;height:318px;object-fit:cover;object-position:35% center;border-radius:14px}
.photo-caption{position:absolute;bottom:0;left:0;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--navy);padding:13px 23px;background:white;border:1px solid var(--line);border-radius:7px}

.breadcrumb{display:flex;gap:12px;align-items:center;min-height:56px;font-size:10px;color:var(--muted);flex-wrap:wrap;padding-block:12px}
.breadcrumb a:hover{text-decoration:underline;text-underline-offset:3px}
.course-hero{padding:18px 0 0;background:var(--surface)}
.course-hero-grid{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:45px}
.course-hero-copy{padding:20px 0 32px}
.course-overline{font-size:13px;color:var(--muted);margin-top:22px}
.course-hero h1{font-size:clamp(32px,3.45vw,48px);line-height:1.6;letter-spacing:.015em;margin-top:6px}
.course-hero h1 em{color:var(--blue)}
.course-hero-copy>p:not(.eyebrow):not(.course-overline){font-size:16px;color:var(--muted);margin-top:18px;line-height:1.9}
.course-hero-visual{position:relative;height:414px;padding-bottom:24px}
.course-hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:75% center;border-radius:8px}
.skills-note{position:absolute;left:22px;bottom:0;right:22px;background:#fff;border:1px solid #dfe8ef;border-radius:8px;box-shadow:0 7px 25px #062b5010;padding:15px 21px;text-align:center}
.skills-note>span{font-size:10px;color:var(--muted)}
.skills-note>div{display:flex;gap:14px;justify-content:center;align-items:center;margin-top:6px}
.skills-note>div>span{font-size:17px;font-weight:700;color:var(--blue)}
.skills-note i{font-size:12px;font-style:normal;color:#7891a9}
.course-summary{display:grid;grid-template-columns:repeat(3,1fr);padding:27px 0 30px;margin-top:30px;border-top:1px solid var(--line)}
.course-summary>div{display:flex;align-items:center;justify-content:center;gap:18px;border-right:1px solid #cfdfec;color:var(--blue)}
.course-summary>div:last-child{border:0}
.course-summary small{display:block;font-size:10px;color:var(--muted)}
.course-summary strong{font-size:14px}
.course-anchor-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:white}
.course-anchor-nav .container{display:flex;align-items:center;justify-content:center;gap:48px;min-height:66px}
.course-anchor-nav a{font-size:12px;color:var(--muted);font-weight:700}
.course-anchor-nav a:hover{color:var(--blue)}
.course-anchor-nav button{color:var(--blue);font-size:12px;font-weight:700;display:flex;align-items:center;gap:20px;background:transparent}
.course-features{padding-top:80px;padding-bottom:81px}
.learning-cycle{display:grid;grid-template-columns:1fr 30px 1fr 30px 1fr;gap:20px;margin-top:39px;text-align:center}
.learning-cycle article{display:flex;flex-direction:column;align-items:center}
.cycle-icon{display:flex;align-items:center;justify-content:center;width:86px;height:86px;background:var(--pale);border-radius:50%;color:var(--blue)}
.cycle-number{font-family:var(--font-english);font-size:9px;color:#617e99;letter-spacing:.12em;margin-top:22px}
.learning-cycle h3{font-size:21px;margin-top:8px}
.learning-cycle p{font-size:12px;color:var(--muted);margin-top:13px;line-height:1.9}
.cycle-arrow{color:#91b2cd;padding-top:34px}
.course-list-section{background:var(--surface);border-block:1px solid #e5eef6}
.eiken-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}
.eiken-card{background:white;border:1px solid #dce6ef;border-radius:11px;padding:23px 21px 18px;display:flex;flex-direction:column}
.eiken-card-top{display:flex;align-items:center;justify-content:space-between;gap:5px;color:#6685a3}
.course-purpose{font-size:10px;color:#546d87}
.course-card-no{font-family:var(--font-english);font-size:8px;letter-spacing:.1em;color:#6e85a0;margin-top:28px}
.eiken-card h3{font-size:19px;margin-top:6px;line-height:1.6;min-height:31px}
.eiken-card>p{font-size:12px;color:var(--muted);line-height:1.95;margin:14px 0 24px;flex:1}
.course-card-foot{border-top:1px solid #e5ecf2;padding-top:14px}
.course-card-foot>span{display:block;color:var(--muted);font-size:9px}
.course-card-foot .text-link{font-size:11px;width:100%;justify-content:space-between;margin-top:11px;min-height:26px}
.course-price-note{margin:26px 0 0;text-align:center;font-size:12px;color:var(--muted)}
.course-price-note svg{margin-right:6px}
.flow-list{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding:0;list-style:none;position:relative;margin-top:46px}
.flow-list::before{content:"";position:absolute;top:24px;left:24px;right:0;height:1px;background:var(--line)}
.flow-list li{position:relative}
.flow-list li>span{display:flex;position:relative;align-items:center;justify-content:center;width:49px;height:49px;border:1px solid #bdd1e2;background:white;color:var(--blue);font-family:var(--font-english);font-size:15px;border-radius:50%;z-index:1}
.flow-list h3{font-size:17px;margin-top:24px}
.flow-list p{font-size:12px;line-height:1.95;color:var(--muted);margin-top:10px}
.faq-section{border-top:1px solid #e4edf5;padding-top:72px}
.faq-grid{display:grid;grid-template-columns:4fr 8fr;gap:70px}
.faq-heading h2{font-size:30px;line-height:1.7;margin-top:20px}
.faq-heading>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:18px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;gap:17px;padding:23px 0;cursor:pointer;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-q{font-family:var(--font-english);font-size:19px;color:var(--blue);align-self:flex-start;line-height:1.5}
.faq-list h3{font-size:13px;line-height:1.8;font-weight:700;flex:1}
.faq-plus{display:flex;align-items:center;justify-content:center;color:var(--blue);border:1px solid var(--line);border-radius:50%;width:28px;height:28px;flex-shrink:0}
.faq-list details[open] .faq-plus{transform:rotate(45deg)}
.faq-answer{display:flex;gap:19px;padding:0 36px 23px 0;color:var(--muted);font-size:13px}
.faq-answer>span{color:#637d97;font-family:var(--font-english);font-size:19px}
.reading-progress{position:fixed;top:var(--header-height);left:0;right:0;height:3px;background:transparent;z-index:31;pointer-events:none}
.reading-progress span{display:block;background:var(--blue);height:3px;width:0;transition:width .06s linear}
.article-header{padding:22px 0 49px;background:var(--surface);border-bottom:1px solid #e3edf5}
.article-header-inner{display:grid;grid-template-columns:1.8fr 1fr;gap:65px;align-items:center}
.article-heading-main>.eyebrow{margin-bottom:21px}
.article-heading-main h1{font-size:36px;line-height:1.65;letter-spacing:.02em;margin-top:20px}
.article-heading-main h1>span{display:block;font-size:22px;line-height:1.8;margin-top:6px}
.article-deck{font-size:13px;color:var(--muted);line-height:1.95;margin-top:17px}
.read-time{display:flex;align-items:center;gap:5px}
.article-author{display:flex;align-items:center;gap:11px;margin-top:26px}
.author-mark{display:flex;align-items:center;justify-content:center;width:37px;height:37px;background:white;border:1px solid #cbdce9;border-radius:50%;font-family:Georgia,serif;font-size:22px;color:var(--blue)}
.article-author strong{font-size:11px;display:block;color:var(--navy)}
.article-author small{font-size:9px;color:var(--muted);display:block}
.article-hero-art{background:#edf0f4;border-radius:10px;position:relative;height:298px;overflow:hidden;padding:23px}
.article-hero-art .book-one{left:22px;top:72px;width:111px;height:173px;font-size:22px}
.article-hero-art .book-two{left:116px;top:57px;width:121px;height:187px;font-size:23px;background:#abc2d5}
.article-hero-art .book-three{left:217px;top:90px;width:105px;height:162px;font-size:19px}
.article-art-bottom{position:absolute;bottom:13px;left:22px;right:22px;display:flex;justify-content:space-between;font-size:8px;font-family:var(--font-english);letter-spacing:.07em;color:var(--navy)}
.article-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:70px;align-items:start;max-width:1120px;padding-top:60px;padding-bottom:70px}
.article-sidebar{position:sticky;top:calc(var(--header-height) + 28px)}
.article-toc{border-top:2px solid var(--blue);padding-top:20px}
.article-toc>.eyebrow{font-size:9px}
.article-toc h2{font-size:15px;margin-top:6px}
.article-toc ol{padding:0;list-style:none;margin:16px 0 0}
.article-toc li{border-bottom:1px solid #e2ebf2}
.article-toc a{font-size:11px;color:var(--muted);line-height:1.85;display:flex;align-items:flex-start;gap:10px;padding:12px 0;transition:color .1s}
.article-toc a>span{font-size:9px;color:#7290aa;flex-shrink:0;line-height:2.3}
.article-toc a:hover,.article-toc a.active{color:var(--blue);font-weight:700}
.sidebar-course{background:var(--pale);padding:23px;border-radius:8px;margin-top:28px}
.sidebar-course>svg{color:var(--blue)}
.sidebar-course p{font-size:16px;line-height:1.8;color:var(--navy);margin-top:11px}
.sidebar-course a{font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:space-between;color:var(--blue);padding-top:15px;margin-top:15px;border-top:1px solid #ccdfed}
.article-body{font-size:16px;line-height:2.05;word-break:normal;overflow-wrap:anywhere}
.article-body>p{margin:0 0 24px}
.article-body h2{font-size:24px;line-height:1.75;margin:52px 0 23px;padding:0 0 17px;border-bottom:2px solid #d2e4f1;scroll-margin-top:calc(var(--header-height) + 20px)}
.article-body h3{font-size:19px;line-height:1.8;margin:33px 0 19px}
.article-body a{color:var(--blue);text-decoration:underline;text-decoration-color:#93b7d3;text-underline-offset:4px}
.article-body a:hover{text-decoration-color:var(--blue)}
.article-body ul,.article-body ol{padding-left:25px;margin:23px 0}
.article-body li{margin:10px 0;padding-left:3px}
.article-body li::marker{color:#3e759f}
.article-body>ul:first-of-type{padding:21px 24px 21px 46px;background:var(--pale);border-radius:8px}
.article-body>hr{border:0;border-top:1px solid #dce7f0;margin:37px 0}
.article-body blockquote{margin:24px 0;padding:21px 26px;border-left:3px solid #7fa5c4;background:#f6f9fc;font-size:14px;line-height:1.95}
.article-body blockquote p+p{margin-top:13px}
.article-body strong{font-weight:700;color:var(--blue)}
.article-body figure{margin:25px 0}
.table-scroll{overflow-x:auto;border:1px solid #dce7f0;border-radius:7px}
.article-body table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.85;min-width:520px}
.article-body th{background:var(--pale);color:var(--navy);font-weight:700;text-align:left}
.article-body td,.article-body th{padding:13px 15px;border-bottom:1px solid #e0e9f0;border-right:1px solid #e0e9f0}
.article-body tr:last-child td{border-bottom:0}
.article-body tr td:last-child,.article-body tr th:last-child{border-right:0}
.article-body tr:nth-child(even) td{background:#fafcfe}
.article-end{border-top:1px solid var(--line);margin-top:41px;padding-top:28px}
.article-end>.eyebrow{font-size:9px}
.article-end>p{font-size:16px;color:var(--navy);margin-top:9px}
.article-end>div{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}
.article-end .text-link{font-size:11px}
.related-course{background:var(--pale);border:1px solid var(--line);border-radius:10px;padding:30px;margin-top:40px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.related-course h2{font-size:21px;line-height:1.7;margin-top:10px}
.related-course p:not(.eyebrow){font-size:11px;color:var(--muted);margin-top:10px}
.related-course .button{font-size:11px;gap:12px;padding:12px 16px;flex-shrink:0}
.article-source{font-size:10px;color:var(--muted);margin-top:22px;display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}
.article-source a{text-decoration:underline;text-underline-offset:3px}

/* Responsive layouts for the course and reading templates. */
.course-page main .container{max-width:1200px}
.article-page .article-header-inner,.article-page .consultation-inner{max-width:1200px}
.course-hero-copy h1{font-weight:400}
.course-hero-copy>.button{margin-top:2px}
.course-hero{padding-top:25px}
.course-overline{letter-spacing:.07em}
.course-hero-grid{gap:60px}
.course-hero-visual>img{border-radius:6px}
.course-hero-visual{height:435px}
.skills-note{border-radius:5px;box-shadow:none;padding:20px}
.skills-note>div>span{font-weight:400;font-family:var(--font-display)}
.course-summary strong{font-weight:400}
.course-summary{padding-block:31px}
.course-anchor-nav a,.course-anchor-nav button{font-weight:400}
.cycle-icon{background:#e8edf3}
.learning-cycle h3{font-size:22px}
.filter-row{display:flex;align-items:center;gap:10px;margin:32px 0 27px;flex-wrap:wrap}
.filter-chip{padding:10px 23px;min-height:43px;border:1px solid var(--line);background:#fff;border-radius:var(--pill-radius);font-size:12px;color:var(--muted);transition:background .18s}
.filter-chip:hover{border-color:var(--blue);color:var(--blue)}
.filter-chip.active{background:var(--blue);border-color:var(--blue);color:#fff}
.filter-count{margin-left:auto;font-size:12px;color:var(--muted)}
.course-list-section{background:#edf0f4}
.eiken-card{border-radius:7px;padding:26px 23px 21px;border-color:#e0e5ea}
.eiken-card h3{font-size:21px;letter-spacing:.04em}
.eiken-card-top{color:var(--blue)}
.course-card-no{font-size:10px;letter-spacing:.1em}
.course-card-foot .text-link{font-weight:400}
.article-header{background:var(--surface)}
.article-heading-main h1{font-weight:400;font-size:37px;line-height:1.7}
.article-heading-main h1>span{font-size:23px}
.article-layout{background:transparent}
.article-main,.article-sidebar{min-width:0}
.article-body h2,.article-body h3{font-family:var(--font-body);font-weight:700;letter-spacing:0;color:var(--ink)}
.article-body h2{font-size:23px}
.article-hero-art{border-radius:6px}
.article-hero-art .book-one{background:#fffdf6;color:#66634b}
.article-hero-art .book-three{background:var(--navy)}
.article-toc a{font-size:12px}
.sidebar-course{background:#eef1f5}
.related-course{background:#eef1f5;border:0}
.consultation-section{border-color:var(--line)}
.consultation-inner{gap:90px}
.consultation-copy h2{font-size:34px;font-weight:400}
.consultation-photo img{border-radius:6px}
.photo-caption{border-radius:4px;box-shadow:none}

@media(max-width:1100px){
 .course-hero-grid{gap:35px}.course-hero h1{font-size:39px}.course-hero-visual{height:390px}
 .eiken-card{padding:23px 19px}.eiken-card h3{font-size:19px}
 .article-header-inner{gap:35px;grid-template-columns:1.6fr 1fr}.article-heading-main h1{font-size:32px}.article-heading-main h1>span{font-size:20px}
 .article-layout{gap:45px;grid-template-columns:235px minmax(0,1fr)}.related-course{display:block}.related-course .button{margin-top:20px}
 .consultation-inner{gap:50px}.consultation-copy h2{font-size:31px}
}
@media(max-width:900px){
 .course-hero h1{font-size:32px}.course-hero-grid{gap:25px}.course-hero-visual{height:355px}
 .course-hero-copy>p:not(.eyebrow):not(.course-overline){font-size:14px}.course-hero-copy .button{font-size:12px;padding:14px 17px;gap:14px}
 .course-summary{padding-block:25px}.course-summary>div{gap:10px}.course-summary strong{font-size:12px}.course-summary small{font-size:9px}
 .course-anchor-nav .container{gap:30px}.course-anchor-nav a,.course-anchor-nav button{font-size:11px}.skills-note>div{gap:10px}.skills-note>div>span{font-size:15px}
 .learning-cycle{gap:10px;grid-template-columns:1fr 15px 1fr 15px 1fr}.learning-cycle h3{font-size:19px}.learning-cycle p{font-size:12px}.cycle-arrow svg{width:19px}
 .eiken-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eiken-card{padding:25px}.eiken-card h3{font-size:22px}.eiken-card>p{font-size:13px}.course-card-foot>span{font-size:10px}
 .course-card-no{margin-top:20px}.flow-list{gap:20px}.flow-list h3{font-size:16px}.flow-list p{font-size:12px}
 .faq-grid{gap:35px;grid-template-columns:3.5fr 6.5fr}.faq-heading h2{font-size:25px}.faq-heading .eyebrow{font-size:11px}.faq-heading>p:not(.eyebrow){font-size:12px}
 .article-header-inner{grid-template-columns:1.6fr 1fr;gap:25px}.article-heading-main h1{font-size:28px}.article-heading-main h1>span{font-size:18px}.article-deck{font-size:12px}
 .article-hero-art{height:275px;padding:17px}.article-hero-art .art-caption{font-size:8px}.article-hero-art .book-one{left:14px;width:90px}.article-hero-art .book-two{left:87px;width:100px}.article-hero-art .book-three{left:173px;width:88px;font-size:15px}
 .article-layout{grid-template-columns:200px minmax(0,1fr);gap:30px}.article-toc a{font-size:11px}.article-toc .eyebrow{font-size:10px}.article-body{font-size:15px}.article-body h2{font-size:21px}.article-body h3{font-size:18px}.article-body blockquote{padding:18px;font-size:13px}
 .consultation-inner{gap:32px}.consultation-copy h2{font-size:28px}.consultation-copy>.eyebrow{font-size:11px}.consultation-copy>p:not(.eyebrow):not(.small-note){font-size:12px}.consultation-photo img{height:300px}
}
@media(max-width:680px){
 .breadcrumb{gap:8px;font-size:9px;min-height:49px;padding-block:11px}
 .course-hero{padding-top:13px}.course-hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:25px}.course-hero-copy{padding:8px 0 0}
 .course-overline{font-size:12px;margin-top:19px}.course-hero h1{font-size:34px;line-height:1.65;margin-top:7px;letter-spacing:.025em}
 .course-hero-copy>p:not(.eyebrow):not(.course-overline){font-size:14px;margin-top:16px}.pill-row{margin:20px 0 24px;gap:8px}.pill-row>span{font-size:10px;padding:4px 10px}
 .course-hero-visual{height:282px;padding-bottom:24px}.course-hero-visual>img{object-position:75% center}.skills-note{left:18px;right:18px;padding:12px 13px}.skills-note>div{gap:15px}.skills-note>div>span{font-size:16px}
 .course-summary{margin-top:25px;grid-template-columns:1fr;padding-block:5px 21px;gap:0}
 .course-summary>div{justify-content:flex-start;gap:18px;border-right:0;border-bottom:1px solid var(--line);padding-block:16px}.course-summary>div:last-child{border-bottom:0}.course-summary>div>span{display:flex;gap:25px;align-items:center}
 .course-summary strong{font-size:13px}.course-summary small{font-size:10px;min-width:73px}.course-summary svg{width:23px;height:23px}
 .course-anchor-nav .container{gap:0;display:grid;grid-template-columns:1fr 1fr;min-height:auto;padding-block:8px}
 .course-anchor-nav a,.course-anchor-nav button{font-size:11px;padding:11px 6px;text-align:center;justify-content:center}.course-anchor-nav button{grid-column:1/-1;border-top:1px solid var(--line);margin-top:2px}
 .course-features{padding-block:57px}
 .learning-cycle{display:flex;flex-direction:column;gap:20px;margin-top:32px}.learning-cycle article{width:100%}.cycle-icon{width:75px;height:75px}.cycle-number{margin-top:16px;font-size:10px}.learning-cycle h3{font-size:22px}.learning-cycle p{font-size:13px;margin-top:10px}.cycle-arrow{padding:0;transform:rotate(90deg);height:24px}
 .filter-row{gap:7px;margin:25px 0 22px}.filter-chip{padding:9px 12px;min-height:39px;font-size:10px}.filter-count{width:100%;margin:3px 0 0;text-align:right;font-size:10px}
 .eiken-grid{gap:13px}.eiken-card{padding:20px 16px 16px}.eiken-card h3{font-size:18px;line-height:1.6;letter-spacing:.025em}.course-purpose{font-size:9px}.eiken-card-top svg{width:22px;height:22px}.course-card-no{font-size:9px;margin-top:21px}
 .eiken-card>p{font-size:12px;line-height:1.9;margin:12px 0 20px}.course-card-foot>span{font-size:9px;line-height:1.8}.course-card-foot .text-link{font-size:10px;margin-top:10px}.course-price-note{font-size:11px;text-align:left;line-height:2;margin-top:22px}
 .flow-list{grid-template-columns:1fr;gap:30px;margin-top:30px;padding-left:0}
 .flow-list::before{top:20px;bottom:0;left:21px;right:auto;width:1px;height:auto}.flow-list li{padding-left:65px;min-height:79px}.flow-list li>span{position:absolute;left:0;top:0;width:43px;height:43px;font-size:14px}.flow-list h3{margin-top:1px;font-size:18px}.flow-list p{margin-top:8px;font-size:12px}
 .faq-section{padding-top:48px}.faq-grid{grid-template-columns:1fr;gap:30px}.faq-heading h2{font-size:27px;margin-top:16px}.faq-heading>p:not(.eyebrow){margin-top:15px}
 .faq-list summary{padding:21px 0;gap:12px}.faq-list h3{font-size:13px;font-weight:500}.faq-q{font-size:18px}.faq-plus{width:26px;height:26px}.faq-answer{font-size:12px;padding-right:10px;gap:14px}
 .article-header{padding:16px 0 33px}.article-header-inner{grid-template-columns:1fr;gap:28px}.article-heading-main>.eyebrow{margin-bottom:19px}
 .article-meta{gap:10px;font-size:10px}.article-meta .tag{font-size:10px}.article-heading-main h1{font-size:30px;letter-spacing:.035em;margin-top:17px}.article-heading-main h1>span{font-size:19px;line-height:1.8;margin-top:8px}.article-deck{font-size:12px;line-height:2;margin-top:17px}.article-author{margin-top:21px}
 .article-hero-art{height:246px;width:100%;padding:22px}.article-hero-art .book-one{left:40px;top:63px;width:100px;height:154px;font-size:20px}.article-hero-art .book-two{left:127px;top:49px;width:108px;height:168px;font-size:22px}.article-hero-art .book-three{left:219px;top:78px;width:94px;height:146px;font-size:18px}
 .article-art-bottom{left:22px;right:22px;bottom:12px;font-size:7px}
 .article-layout{grid-template-columns:1fr;gap:32px;padding-top:35px;padding-bottom:45px}.article-sidebar{position:static}.article-toc{padding-top:18px}.article-toc h2{font-size:17px}.article-toc ol{margin-top:14px}.article-toc a{font-size:12px;padding:11px 0;gap:12px}.article-toc a>span{font-size:10px}.sidebar-course{display:none}
 .article-body{font-size:15px;line-height:2.05}.article-body>p{margin-bottom:23px}.article-body h2{font-size:21px;line-height:1.75;margin:39px 0 22px;padding-bottom:14px}.article-body h3{font-size:18px;margin:28px 0 18px}.article-body>ul:first-of-type{padding:18px 19px 18px 37px}.article-body ul,.article-body ol{padding-left:24px}.article-body blockquote{padding:19px;font-size:13px}.article-body table{font-size:11px;min-width:500px}.article-body td,.article-body th{padding:12px}
 .article-end{margin-top:30px;padding-top:24px}.article-end>p{font-size:16px}.article-end>div{gap:12px;flex-wrap:wrap}.article-end .text-link{font-size:10px}.related-course{padding:25px;margin-top:30px;border-radius:6px}.related-course h2{font-size:23px}.related-course .button{margin-top:20px;font-size:11px}.article-source{font-size:9px;gap:8px;margin-top:20px}
 .consultation-section{padding:53px 0}.consultation-inner{grid-template-columns:1fr;gap:29px}.consultation-copy h2{font-size:29px;line-height:1.75;margin-top:17px}.consultation-copy>p:not(.eyebrow):not(.small-note){font-size:13px;line-height:2;margin:17px 0 23px}.consultation-copy .small-note{font-size:10px;margin-top:12px}.consultation-photo{padding:0 0 20px 10px}.consultation-photo img{height:238px}.photo-caption{font-size:11px;padding:11px 17px}
}
@media(max-width:370px){
 .course-hero h1{font-size:29px}.eiken-card{padding:18px 13px 15px}.eiken-card h3{font-size:16px}.eiken-card>p{font-size:11px}.course-card-foot>span{font-size:8px}
 .course-summary>div>span{gap:15px}.course-summary strong{font-size:12px}.filter-chip{padding-inline:10px;font-size:9px}
 .article-heading-main h1{font-size:26px}.article-heading-main h1>span{font-size:17px}.article-hero-art .book-one{left:15px}.article-hero-art .book-two{left:95px}.article-hero-art .book-three{left:182px}
 .article-body h2{font-size:20px}.article-body{font-size:14px}.consultation-copy h2{font-size:27px}.consultation-copy>.eyebrow{font-size:10px}
}
.article-featured-photo{align-self:stretch;min-height:260px;border-radius:8px;overflow:hidden}
.article-featured-photo img{display:block;width:100%;height:100%;object-fit:cover}
.article-body>figure img{max-width:100%;height:auto}
.article-body [data-emdash-table]{max-width:100%;overflow-x:auto}
.migrated-course-hero{background:var(--surface);padding:45px 0 65px}
.migrated-course-hero-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:55px;align-items:center}
.has-image .migrated-course-hero-inner{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.migrated-course-hero h1{font-size:clamp(27px,3.2vw,43px);font-weight:400;line-height:1.7;margin:22px 0}
.migrated-course-hero .cms-lines{font-size:15px;line-height:2.1;margin:0 0 28px}
.migrated-course-hero .tag{margin-top:24px}
.migrated-course-photo{width:100%;height:auto;max-height:430px;object-fit:contain;border-radius:8px}
.migrated-course .article-toc ol{max-height:60vh;overflow:auto}
.source-anchor,.article-body [id]{scroll-margin-top:140px}
.cms-image{margin:28px 0}.cms-image img{display:block;max-width:100%;height:auto;margin-inline:auto}
.cms-image figcaption{font-size:12px;color:var(--muted);text-align:center;line-height:1.8;margin-top:10px}
.article-body{overflow-wrap:anywhere}.article-body .emdash-table-wrapper{max-width:100%;overflow-x:auto}
.article-meta{flex-wrap:wrap}.article-meta .tag{max-width:100%;white-space:normal}
.catalog{padding-block:70px 100px}.catalog h1{font-size:clamp(27px,3vw,40px);font-weight:400;margin:20px 0}
.catalog-intro{color:var(--muted)}.catalog-controls{display:flex;align-items:end;gap:20px;flex-wrap:wrap;margin:35px 0}
.catalog-controls label{display:grid;gap:8px;font-size:12px}.catalog-controls input,.catalog-controls select{font:inherit;font-size:15px;padding:12px 16px;border:1px solid var(--line);border-radius:5px;background:#fff;max-width:100%}
.catalog-controls input{width:360px}.catalog-controls>p{margin-left:auto;font-size:13px;color:var(--muted)}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.catalog-card{display:flex;flex-direction:column;padding:25px;border:1px solid var(--line);border-radius:7px;background:#fff;text-decoration:none;min-width:0}
.catalog-card[hidden]{display:none}.catalog-card:hover{border-color:var(--blue)}
.catalog-card h2{font-size:19px;line-height:1.8;margin:18px 0;color:var(--ink)}
.catalog-card>p{font-size:12px;color:var(--muted);line-height:1.9;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.catalog-card>.text-link{margin-top:auto;padding-top:25px;font-size:12px}
.archive-pagination{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:45px}
.archive-filter{display:flex;align-items:end;flex-wrap:wrap;gap:15px;margin:25px 0}
.archive-filter label{display:grid;gap:8px;font-size:12px}.archive-filter select{padding:10px;border:1px solid var(--line);border-radius:4px;max-width:100%;font:inherit}
.original-journal .archive-filter button,.original-journal .archive-pagination a{color:var(--blue);background:#fff;box-shadow:none}
.original-journal>.container>.eyebrow{color:#d7e7f7}
.course-family{padding-block:30px;border-bottom:1px solid var(--line)}
.course-family>p{font-size:12px;color:var(--muted);margin-bottom:14px}
.course-family ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.course-family a{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--line);border-radius:5px;padding:10px 14px;font-size:12px;text-decoration:none;line-height:1.6}
.course-family a:hover,.course-family a[aria-current=page]{color:var(--blue);border-color:var(--blue);background:var(--surface)}
@media(max-width:680px){.course-family ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.course-family li{min-width:0}.course-family a{height:100%;font-size:11px;padding:10px;gap:8px}.course-family a svg{flex-shrink:0}.course-family{padding-block:22px}}
@media(max-width:900px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.migrated-course-hero-inner{gap:30px}}
@media(max-width:680px){.catalog{padding-block:35px 55px}.catalog-grid{grid-template-columns:1fr}.catalog-controls{display:grid;grid-template-columns:1fr}.catalog-controls input{width:100%}.catalog-controls>p{margin-left:0}.has-image .migrated-course-hero-inner{grid-template-columns:1fr}.migrated-course-hero{padding:20px 0 35px}.migrated-course-hero h1{font-size:28px}.migrated-course-hero .cms-lines{font-size:13px}.migrated-course-photo{max-height:300px}.migrated-course .article-toc ol{max-height:280px}.article-toc ol{max-height:320px;overflow:auto}}
