/* Compatibility fixes kept separate from the unchanged original stylesheet. */
table[data-cms-table-width]{width:var(--cms-table-width)!important;max-width:100%!important}
table[data-cms-table-align="left"]{margin-left:0!important;margin-right:auto!important}
table[data-cms-table-align="center"]{margin-left:auto!important;margin-right:auto!important}
table[data-cms-table-align="right"]{margin-left:auto!important;margin-right:0!important}
body.ct-pages.at-index #home-blogs .swiper,body.ct-pages.at-index #home-videos .swiper{padding-bottom:0}
.cms-home-slider-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin-top:16px;min-height:46px}
body.ct-pages.at-index .cms-home-slider-controls .swiper-pagination{position:static;width:auto;margin:0;transform:none;grid-column:2;line-height:0}
.cms-home-slider-controls .cms-home-view-more{grid-column:3;justify-self:end;white-space:nowrap}
@media(max-width:991px){.cms-home-slider-controls{grid-template-columns:minmax(0,1fr)}body.ct-pages.at-index .cms-home-slider-controls .swiper-pagination{grid-column:1;justify-self:center}.cms-home-slider-controls .cms-home-view-more{grid-column:1;justify-self:center}}
.cms-content-return,.cms-article-back a.cms-content-return{display:inline-block;font:400 16px/1.6 "Noto Sans TC",sans-serif;letter-spacing:normal;background:#d8b7a7;border:0;border-radius:24px;padding:10px 22px;color:#382b26;text-decoration:none;max-width:100%;box-sizing:border-box}
.cms-content-return:hover,.cms-article-back a.cms-content-return:hover{color:#382b26;background:#c99f8c;text-decoration:none}
.cms-content-return:focus-visible{outline:2px solid #957e70;outline-offset:4px}
img[data-cms-image-width] {
    width: var(--cms-image-width) !important;
    max-width: 100% !important;
    height: auto !important;
}
.cms-library-controls { padding-top: 40px; margin-bottom: 32px; display: flex; align-items: end; gap: 28px; flex-direction: row-reverse; justify-content: space-between; }
.cms-library-search { width: 400px; max-width: 100%; flex-shrink: 0; }
.cms-library-categories { display: flex; flex-wrap: wrap; gap: 10px; }
body.ct-pages:is(.at-blogcate,.at-videos) .cms-library-categories a { font: 500 15px/1.6 "Noto Sans TC", sans-serif; letter-spacing: 1px; color: #786053; border: 1px solid #d8b7a7; border-radius: 24px; padding: 7px 18px; text-decoration: none; }
.cms-library-categories a.is-selected, .cms-library-categories a:hover { background: #efddcc; }
.cms-library-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 40px; align-items: start; }
.cms-library-content { grid-column: 1; grid-row: 1; min-width: 0; }
.cms-library-sidebar { grid-column: 2; grid-row: 1; display: grid; gap: 24px; min-width: 0; }
body.ct-pages.at-blogcate .cms-library-layout .blog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding-bottom: 24px; }
body.ct-pages.at-blogcate .cms-library-layout .blog-card { display: flex; flex-direction: column; max-width: none; min-width: 0; margin-bottom: 0; }
body.ct-pages.at-blogcate .cms-library-layout .blog-card > a:not(.read-more) { display: block; flex-shrink: 0; }
body.ct-pages.at-blogcate .cms-library-layout .blog-card > .date,
body.ct-pages.at-blogcate .cms-library-layout .blog-card > .desc { flex-shrink: 0; }
body.ct-pages.at-blogcate .cms-library-layout .blog-card .desc h6 { font-weight: 600; }
body.ct-pages.at-blogcate .cms-library-layout .blog-card > .read-more { flex-shrink: 0; margin-top: auto; }
.cms-library-layout .cms-library-results { margin: 0 0 24px; color: #786f66; font: 400 14px/1.8 "Noto Sans TC", sans-serif; letter-spacing: 1px; }
body.ct-pages.at-blogcate .cms-library-layout .blog-card .cms-card-excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; max-height: 3.6em; margin: 10px 0 0; font-size: 14px; font-weight: 400; line-height: 1.8; color: #786f66; overflow-wrap: anywhere; }
.cms-library-layout a { color: #786053; }
.cms-library-latest { border: 1px solid #eadbd1; border-radius: 12px; padding: 22px; background: #fffdfb; }
body.ct-pages:is(.at-blogcate,.at-videos) .cms-library-sidebar h2 { font: 700 20px/1.6 "Noto Serif TC", serif; color: #382b26; letter-spacing: 1px; margin: 0 0 14px; }
.cms-latest-link { display: flex; align-items: start; gap: 12px; padding: 16px 0; border-bottom: 1px solid #eadbd1; text-decoration: none; }
.cms-latest-link:last-child { border-bottom: 0; padding-bottom: 0; }
.cms-latest-link img { width: 80px; height: 60px; object-fit: cover; border-radius: 6px; flex-shrink: 0; }
.cms-latest-link span { min-width: 0; }
body.ct-pages:is(.at-blogcate,.at-videos) .cms-latest-link h3 { font: 500 14px/1.8 "Noto Sans TC", sans-serif; letter-spacing: .5px; margin: 0 0 6px; overflow-wrap: anywhere; }
.cms-latest-link time { display: block; font: 400 12px/1.6 "Noto Sans TC", sans-serif; letter-spacing: 1px; color: #786f66; }
.cms-library-categories a:focus-visible, .cms-library-sidebar a:focus-visible { outline: 2px solid #9b7461; outline-offset: 3px; }
@media (max-width: 1050px) {
    .cms-library-controls { padding-top: 28px; flex-direction: column; align-items: stretch; }
    .cms-library-search { width: 100%; }
    .cms-library-layout { display: flex; flex-direction: column; gap: 24px; }
    .cms-library-sidebar { display: contents; }
    .cms-library-sidebar .cms-library-tags { order: 1; width: 100%; }
    .cms-library-content { order: 2; width: 100%; }
    .cms-library-latest { order: 3; width: 100%; }
}
@media (max-width: 700px) {
    body.ct-pages.at-blogcate .cms-library-layout .blog-grid { grid-template-columns: minmax(0, 1fr); }
}
.cms-library-search label, .cms-library-search input, .cms-library-search button { font-family: "Noto Sans TC", sans-serif; font-size: 16px; line-height: 1.6; letter-spacing: 1px; font-weight: 400; }
.cms-library-search label { display: block; margin-bottom: 8px; color: #786053; }
.cms-library-search > div { display: flex; gap: 10px; }
.cms-library-search input { min-width: 0; flex: 1; border: 1px solid #d8b7a7; border-radius: 24px; padding: 10px 18px; background: #fff; color: #382b26; }
.cms-library-search button { border: 0; border-radius: 24px; padding: 10px 24px; background: #d8b7a7; color: #382b26; white-space: nowrap; }
.cms-library-search > a { display: inline-block; margin-top: 8px; }
.cms-library-filters { margin-block: 28px; color: #786f66; }
.cms-library-tags { padding: 22px; border: 1px solid #eadbd1; border-radius: 12px; background: #fffdfb; }
.cms-library-tags h2 { font-size: 18px; color: #382b26; margin: 0 0 8px; }
.cms-library-tags p { font-size: 13px; margin-bottom: 14px; }
.cms-library-tags > div { display: flex; flex-wrap: wrap; gap: 10px; }
.cms-library-tags a { display: inline-block; border: 1px solid #d8b7a7; border-radius: 24px; padding: 6px 16px; }
body.ct-pages:is(.at-blogcate,.at-videos) .cms-library-tags a { font-family: "Noto Sans TC", sans-serif; font-size: 14px; font-weight: 400; line-height: 1.7; letter-spacing: 1px; }
body.ct-pages:is(.at-blogcate,.at-videos) .cms-library-tags p { font-family: "Noto Sans TC", sans-serif; font-size: 13px; line-height: 1.8; letter-spacing: 1px; }
.cms-library-filters a, .cms-library-search > a { color: #786053; text-decoration: none; }
.cms-library-tags a.is-selected, .cms-library-tags a:hover { background: #ead8cb; color: #382b26; }
.cms-library-results { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 20px; font-size: 14px; }
.cms-library-search :focus-visible, .cms-library-filters a:focus-visible { outline: 2px solid #9b7461; outline-offset: 3px; }
@media (max-width: 700px) {
    .cms-library-search { max-width: none; }
    .cms-library-tags { padding: 16px; }
    .cms-library-tags a { padding: 6px 12px; }
}
body.ct-pages.at-blogcate #banner h1 {
    font-size: clamp(30px, 3vw, 36px);
    text-align: center;
}
body.ct-pages.at-blogcate #banner p {
    font-family: "Noto Serif TC", serif;
    font-size: 16px;
    letter-spacing: 3px;
}
/* Card titles now link to articles; retain the original heading colour. */
body.ct-pages.at-blogcate .blog-cate .blog-card .desc h6 a,
body.ct-pages.at-index .blog-cate .blog-card .desc h6 a {
    color: inherit;
}
@media (min-width: 993px) and (max-width: 1199px) {
    #navbar:not(.navbar-mobile) > ul { display: none; }
    #navbar .mobile-nav-toggle { display: block; }
}
@media (min-width: 993px) and (max-width: 1399px) {
    html[lang="en"] #navbar:not(.navbar-mobile) > ul { display: none; }
    html[lang="en"] #navbar .mobile-nav-toggle { display: block; }
}
@media (min-width: 1400px) {
    html[lang="en"] #navbar > ul > li > a { padding-inline: 10px; letter-spacing: 1px; font-size: 14px; }
    html[lang="en"] #navbar > ul > li > a > span { font-size: 14px; letter-spacing: 1px; }
}
@media (min-width: 993px) and (max-width: 1399px) {
    html[lang="ja"] #navbar:not(.navbar-mobile) > ul { display: none; }
    html[lang="ja"] #navbar .mobile-nav-toggle { display: block; }
}
@media (min-width: 1400px) {
    html[lang="ja"] #navbar:not(.navbar-mobile) > ul > li > a { padding-left: 20px; }
}
#navbar.navbar-mobile .mobile-nav-toggle { color: #d8b7a7; }
.cms-article-summary, .cms-page-summary { padding-block: 1rem; }
.cms-article-references { overflow-wrap: anywhere; }
.cms-article-references a { text-decoration: underline; }
.blog-content span.color[data-color] { color: var(--color); }
.blog-content iframe[src^="https://www.youtube-nocookie.com/embed/"] { width: 100%; max-width: 100%; height: auto; aspect-ratio: 16/9; }
.blog-content iframe[data-cms-video-size="medium"] { width: 720px; max-width: 100%; }
.blog-content iframe[data-cms-video-size="small"] { width: 480px; max-width: 100%; }
.blog-content .cms-content-block { margin-block: 28px; min-width: 0; }
.blog-content .cms-content-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; align-items: start; }
.blog-content .cms-content-split figure { margin: 0; min-width: 0; }
.blog-content .cms-content-split img, .blog-content .cms-content-card img { display: block; width: 100%; height: auto; }
.blog-content .cms-content-image-right figure { order: 2; }
.blog-content .cms-content-copy { min-width: 0; overflow-wrap: anywhere; }
.blog-content .cms-content-split figcaption { margin-top: 8px; font-size: 13px; color: #786f66; }
.blog-content .cms-content-card-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(180px,100%),1fr)); gap: 16px; }
.blog-content .cms-content-card { min-width: 0; border: 1px solid #eadbd1; border-radius: 12px; overflow: hidden; background: #fffdfb; }
.blog-content .cms-content-card > div { padding: 16px; overflow-wrap: anywhere; }
.blog-content .cms-content-card h3 { font-size: 20px; line-height: 1.6; color: #382b26; margin: 0 0 12px; }
.blog-content .cms-content-timeline { padding: 0 !important; width: 100%; max-width: 100%; box-sizing: border-box; margin-left: 0; margin-right: auto; text-align: left; }
.blog-content .cms-content-timeline.cms-timeline-width-medium { width: 720px; }
.blog-content .cms-content-timeline.cms-timeline-width-small { width: 480px; }
.blog-content .cms-content-timeline.cms-timeline-align-center { margin-left: auto; margin-right: auto; }
.blog-content .cms-content-timeline.cms-timeline-align-right { margin-left: auto; margin-right: 0; }
.blog-content .cms-timeline { list-style: none !important; margin: 0 0 0 8px !important; padding: 0 0 0 28px !important; border-left: 2px solid var(--cms-timeline-line, #d8b7a7); }
.blog-content .cms-timeline > li { position: relative; list-style: none !important; margin: 0; padding: 0 0 26px; min-width: 0; overflow-wrap: anywhere; }
.blog-content .cms-timeline > li:last-child { padding-bottom: 4px; }
.blog-content .cms-timeline > li::before { content: ""; position: absolute; left: -35px; top: 8px; width: 12px; height: 12px; border-radius: 50%; background: var(--cms-timeline-dot, #c99f8c); }
.blog-content .cms-timeline-label { display: block; margin: 0 0 6px; color: #674e42; font-size: 17px; font-weight: 700; line-height: 1.7; }
.blog-content .cms-timeline-description { margin: 0; color: #786f66; font-size: 16px; line-height: 1.8; white-space: pre-line; }
@media(max-width:700px) { .blog-content .cms-content-split, .blog-content .cms-content-card-grid { grid-template-columns: minmax(0,1fr); } .blog-content .cms-content-image-right figure { order: 0; } }

body.ct-pages:is(.at-blogcate,.at-videos) .cms-library-search > a { font:400 14px/1.6 "Noto Sans TC",sans-serif;letter-spacing:.02em; }
/* Shared article/video search: clear control stays inside the input. */
.cms-library-search-field{position:relative;display:flex;flex:1;min-width:0}
.cms-library-search .cms-library-search-field input{width:100%;padding-right:42px}
.cms-library-search-field input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.cms-library-search-field input::-ms-clear{display:none}
.cms-library-search .cms-library-search-field .cms-library-search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:#786053;font:400 23px/1 sans-serif;letter-spacing:0;cursor:pointer}
.cms-library-search .cms-library-search-field .cms-library-search-clear[hidden]{display:none}
.cms-library-search .cms-library-search-field .cms-library-search-clear:hover{background:#f2ede6}
/* Article tags match the video tag palette and size. */
body.ct-pages.at-blogcate .cms-library-tags a.cms-article-tag,body.ct-pages.at-blog .cms-article-tags .cms-tag-list a{font:400 13px/1.7 "Noto Sans TC",sans-serif;letter-spacing:.02em;background:#f2ede6;border:1px solid transparent;border-radius:20px;padding:6px 12px;color:#786053;text-decoration:none;overflow-wrap:anywhere}
body.ct-pages.at-blogcate .cms-library-tags a.cms-article-tag:hover,body.ct-pages.at-blog .cms-article-tags .cms-tag-list a:hover{background:#eaddd1;color:#382b26}
body.ct-pages.at-blogcate .cms-library-tags a.cms-article-tag.is-selected{background:#d8b7a7;color:#382b26}
body.ct-pages.at-blogcate .cms-library-tags a.cms-article-tag:focus-visible,body.ct-pages.at-blog .cms-article-tags .cms-tag-list a:focus-visible{outline:2px solid #957e70;outline-offset:4px}
