/* Public blog, topic pages and 404. All page styles are scoped to these roots. */
.ta-blog-index,
.ta-blog-article,
.ta-blog-notfound {
    --ta-ink: #073d39;
    --ta-copy: #334c48;
    --ta-muted: #61736e;
    --ta-green: #187c5e;
    --ta-line: #e1e7e4;
    --ta-paper: #fff;
    color: var(--ta-copy);
    background: #fff;
    overflow: clip;
}
.ta-blog-index *, .ta-blog-article *, .ta-blog-notfound * { box-sizing: border-box; }
.ta-blog-container { width: min(100% - 48px, 1180px); margin-inline: auto; }
.ta-blog-index :is(a, button, input):focus-visible,
.ta-blog-article :is(a, button, input, summary):focus-visible,
.ta-blog-notfound :is(a, button, input):focus-visible {
    outline: 3px solid #81c59c;
    outline-offset: 3px;
}
.ta-blog-eyebrow {
    display: block;
    color: #25855d;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: .13em;
    text-transform: uppercase;
}

/* The shared navigation is absolutely positioned. Reserve its height before any heading. */
.ta-blog-hero,
.ta-blog-article__hero {
    position: relative;
    z-index: 2;
    isolation: isolate;
    padding: 124px 0 54px;
    border-bottom: 1px solid #dfe7e4;
    background: linear-gradient(108deg, #fafbf9 0%, #f1f4f3 59%, #e8efed 100%);
}
.ta-blog-index .ta-blog-hero .ta-blog-container {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .72fr);
    align-items: end;
    gap: clamp(32px, 6vw, 96px);
}
.ta-blog-hero .ta-blog-eyebrow,
.ta-blog-article__hero .ta-blog-article__category {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 5px 10px;
    border: 1px solid #cfe5d7;
    border-radius: 999px;
    background: rgba(255,255,255,.7);
    color: #176144;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.3;
    text-decoration: none;
}
.ta-blog-article__hero .ta-blog-article__category:hover { background: #e6f4e9; }
.ta-blog-hero h1,
.ta-blog-article__hero h1 {
    max-width: 870px;
    margin: 12px 0 16px;
    color: var(--ta-ink);
    font-size: clamp(34px, 4.4vw, 58px);
    font-weight: 800;
    line-height: 1.11;
    letter-spacing: -.035em;
    text-wrap: balance;
}
.ta-blog-hero p {
    max-width: 430px;
    margin: 0 0 3px;
    color: #3e5b56;
    font-size: clamp(15px, 1.25vw, 17px);
    line-height: 1.72;
}
.ta-blog-index .ta-blog-hero h1 { margin-top: 22px; }
.ta-blog-hero--topic h1 { text-transform: none; }
.ta-blog-article__hero {
    padding-bottom: 52px;
}
.ta-blog-article__hero h1 {
    max-width: 980px;
    margin: 17px 0 23px;
    font-size: clamp(36px, 4vw, 54px);
}
.ta-blog-breadcrumb {
    position: relative;
    z-index: 1;
    border-top: 1px solid #e8f0e9;
    border-bottom: 1px solid var(--ta-line);
    background: #fff;
}
.ta-blog-breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 9px;
    min-height: 48px;
    padding: 11px 0;
    margin: 0;
    list-style: none;
    color: #60726e;
    font-size: 12px;
    line-height: 1.5;
}
.ta-blog-breadcrumb li { min-width: 0; }
.ta-blog-breadcrumb li:not(:last-child)::after { content: "/"; margin-left: 9px; color: #a2b2a9; }
.ta-blog-breadcrumb li:last-child { overflow: hidden; max-width: min(58vw, 510px); white-space: nowrap; text-overflow: ellipsis; }
.ta-blog-breadcrumb a { color: var(--ta-ink); font-weight: 700; text-decoration: none; }
.ta-blog-breadcrumb a:hover { color: var(--ta-green); text-decoration: underline; }

/* Index and topic listings */
.ta-blog-index__main { padding: clamp(38px, 4vw, 56px) 0 76px; background: #fff; }
.ta-blog-index__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 27px;
}
.ta-blog-index__heading h2,
.ta-blog-related__heading h2,
.ta-blog-notfound__heading h2 {
    margin: 6px 0;
    color: var(--ta-ink);
    font-size: clamp(27px, 2.55vw, 36px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -.03em;
}
.ta-blog-index__heading p { margin: 0; color: var(--ta-muted); font-size: 15px; }
.ta-blog-search { width: min(100%, 342px); flex: 0 0 min(342px, 100%); }
.ta-blog-search label { display: block; margin-bottom: 8px; color: var(--ta-ink); font-size: 13px; font-weight: 750; }
.ta-blog-search__control { display: flex; height: 47px; overflow: hidden; border: 1px solid #bfcfc7; border-radius: 10px; background: #fff; }
.ta-blog-search__control:focus-within { border-color: #3f9b70; box-shadow: 0 0 0 3px rgba(31, 138, 92, .12); }
.ta-blog-search__control input { width: 100%; min-width: 0; padding: 0 15px; border: 0; outline: 0; background: transparent; color: var(--ta-ink); font: inherit; font-size: 14px; }
.ta-blog-search__control button { display: grid; width: 48px; flex: 0 0 48px; place-items: center; border: 0; background: #147659; color: #fff; font-size: 19px; cursor: pointer; }
.ta-blog-search__control button:hover { background: #0b5946; }
.ta-blog-categories { padding: 16px 20px; border: 1px solid var(--ta-line); border-radius: 12px; background: #fff; }
.ta-blog-categories__label { display: block; margin-bottom: 10px; color: var(--ta-muted); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.ta-blog-categories nav { display: flex; flex-wrap: wrap; gap: 8px; }
.ta-blog-categories a {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    padding: 7px 14px;
    border: 1px solid #d6e5da;
    border-radius: 999px;
    background: #fff;
    color: var(--ta-ink);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}
.ta-blog-categories a:hover, .ta-blog-categories a.is-active { border-color: #117454; background: #117454; color: #fff; }
.ta-blog-categories + .ta-blog-index__layout { margin-top: 19px; }
.ta-blog-results-heading { display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 4px 13px; padding: 14px 0 19px; color: #4e665c; font-size: 14px; line-height: 1.5; scroll-margin-top: 90px; outline: 0; }
.ta-blog-results-heading strong { color: var(--ta-ink); font-weight: 800; }
.ta-blog-results-heading__clear { display: inline-flex; align-items: center; gap: 3px; padding: 3px 0; color: #0a6c4d; font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.ta-blog-results-heading__clear:hover { color: #064934; }
#blogListContainer { scroll-margin-top: 90px; outline: 0; transition: opacity .15s ease; }
#blogListContainer.is-loading { opacity: .55; }
.ta-blog-index__layout { display: grid; grid-template-columns: minmax(0, 1fr) 278px; align-items: start; gap: clamp(24px, 3vw, 38px); }
.ta-blog-index__results { min-width: 0; }
.ta-blog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 21px; }
/* With an odd number of results, close the grid with one balanced wide card. */
.ta-blog-grid > .ta-blog-card:last-child:nth-child(odd):not(:first-child) { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); }
.ta-blog-grid > .ta-blog-card:last-child:nth-child(odd):not(:first-child) .ta-blog-card__media { height: 100%; min-height: 240px; }
.ta-blog-grid > .ta-blog-card:last-child:nth-child(odd):not(:first-child) .ta-blog-card__media img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
.ta-blog-card,
.ta-blog-related__card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--ta-line);
    border-radius: 15px;
    background: var(--ta-paper);
    box-shadow: 0 8px 24px rgba(14, 42, 36, .045);
    transition: transform .2s ease, box-shadow .2s ease;
}
.ta-blog-card:hover, .ta-blog-related__card:hover { transform: translateY(-3px); box-shadow: 0 17px 38px rgba(10, 52, 42, .11); }
.ta-blog-card__media { display: block; overflow: hidden; background: #e4eee8; }
.ta-blog-card__media img,
.ta-blog-related__card img { display: block; width: 100%; height: auto; aspect-ratio: 399 / 250; object-fit: cover; }
.ta-blog-card__content { display: flex; flex: 1; flex-direction: column; padding: 20px; }
.ta-blog-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 12px; margin-bottom: 10px; color: var(--ta-muted); font-size: 12px; }
.ta-blog-card__category { color: #147052; font-size: 12px; font-weight: 800; }
.ta-blog-card h3 { margin: 0 0 10px; color: var(--ta-ink); font-size: clamp(19px, 1.5vw, 22px); font-weight: 800; line-height: 1.35; }
.ta-blog-card h3 a,
.ta-blog-related__card h3 a { color: inherit; text-decoration: none; }
.ta-blog-card h3 a:hover,
.ta-blog-related__card h3 a:hover { color: var(--ta-green); text-decoration: underline; text-underline-offset: 3px; }
.ta-blog-card__content > p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; margin: 0 0 21px; color: #536a61; font-size: 14px; line-height: 1.65; }
.ta-blog-card__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin-top: auto; padding-top: 13px; border-top: 1px solid #e8efe9; color: var(--ta-muted); font-size: 12px; }
.ta-blog-card__footer a { color: var(--ta-ink); font-weight: 800; }
.ta-blog-card__read { display: inline-flex; align-items: center; gap: 3px; text-decoration: none; }
.ta-blog-sidebar { display: grid; gap: 18px; }
.ta-blog-sidebar__panel,
.ta-blog-sidebar__guide,
.ta-blog-article__toc,
.ta-blog-article__help,
.ta-blog-article__mobile-toc { padding: 22px; border: 1px solid var(--ta-line); border-radius: 15px; background: #fff; }
.ta-blog-sidebar h2,
.ta-blog-article__sidebar h2 { margin: 7px 0 17px; color: var(--ta-ink); font-size: 19px; font-weight: 800; line-height: 1.32; }
.ta-blog-featured { display: grid; gap: 13px; padding: 0; margin: 0; list-style: none; }
.ta-blog-featured li + li { padding-top: 13px; border-top: 1px solid var(--ta-line); }
.ta-blog-featured a { display: grid; grid-template-columns: 70px minmax(0,1fr); align-items: center; gap: 10px; color: var(--ta-ink); font-size: 13px; font-weight: 750; line-height: 1.4; text-decoration: none; }
.ta-blog-featured a:hover { color: var(--ta-green); text-decoration: underline; }
.ta-blog-featured img { display: block; width: 70px; height: 61px; object-fit: cover; border-radius: 8px; }
.ta-blog-sidebar__guide,
.ta-blog-article__help { border-color: #082b34; background: #082b34; }
.ta-blog-sidebar__guide .ta-blog-eyebrow,
.ta-blog-article__help .ta-blog-eyebrow { color: #8cd6a4; }
.ta-blog-sidebar__guide h2,
.ta-blog-article__help h2 { color: #fff; }
.ta-blog-sidebar__guide p, .ta-blog-article__help p { color: #d2e3e0; font-size: 14px; line-height: 1.65; }
.ta-blog-sidebar__guide a,
.ta-blog-article__help a,
.ta-blog-related__heading > a,
.ta-blog-notfound__heading a { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 800; text-decoration: none; }
.ta-blog-sidebar__guide a, .ta-blog-article__help a { color: #f5cc45; }
.ta-blog-related__heading > a, .ta-blog-notfound__heading a { color: #0b6749; }
.ta-blog-sidebar__guide a:hover,
.ta-blog-article__help a:hover,
.ta-blog-related__heading > a:hover,
.ta-blog-notfound__heading a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ta-blog-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.ta-blog-tags a { display: inline-flex; padding: 7px 11px; border: 1px solid #d3e5d8; border-radius: 999px; background: #f4faf5; color: #0b6146; font-size: 12px; font-weight: 700; text-decoration: none; }
.ta-blog-tags a:hover { background: #e1f1e7; }
.ta-blog-empty { padding: 40px 30px; border: 1px solid var(--ta-line); border-radius: 15px; background: #fff; }
.ta-blog-empty h3 { margin: 0 0 8px; color: var(--ta-ink); font-size: 24px; }
.ta-blog-empty p { margin: 0 0 12px; }
.ta-blog-empty a { color: var(--ta-green); font-weight: 800; }
.ta-blog-pagination,
.ta-blog-pagination__numbers { display: flex; align-items: center; justify-content: center; gap: 7px; }
.ta-blog-pagination { flex-wrap: wrap; margin-top: 34px; }
.ta-blog-pagination a,
.ta-blog-pagination span { display: inline-flex; min-width: 39px; min-height: 39px; align-items: center; justify-content: center; gap: 4px; padding: 8px 11px; border: 1px solid var(--ta-line); border-radius: 8px; background: #fff; color: var(--ta-ink); font-size: 13px; font-weight: 750; text-decoration: none; }
.ta-blog-pagination span[aria-current="page"],
.ta-blog-pagination a:hover { border-color: #137454; background: #137454; color: #fff; }

/* Article: image and introductory copy followed by distinct editorial sections. */
.ta-blog-article__meta,
.ta-blog-article__written { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ta-blog-article__meta { gap: 11px; color: #526960; font-size: 14px; line-height: 1.6; }
.ta-blog-article__meta-separator { width: 4px; height: 4px; border-radius: 50%; background: #98aaa0; }
.ta-blog-article__reading { padding: 38px 0 78px; background: #fff; }
.ta-blog-article__layout { display: grid; grid-template-columns: minmax(0, 820px) minmax(225px, 280px); align-items: start; gap: clamp(27px, 3.5vw, 48px); }
.ta-blog-article__body { min-width: 0; padding: 0; background: transparent; }
.ta-blog-article__body .rs-blog-details__content-inner { min-width: 0; }
.ta-blog-article__body .ta-blog-cover { overflow: hidden; margin: 0 0 28px; border: 1px solid var(--ta-line); border-radius: 15px; background: #e5efe9; box-shadow: 0 9px 26px rgba(9, 49, 38, .06); }
.ta-blog-article__body .ta-blog-cover img { display: block; width: 100%; height: auto; aspect-ratio: 1250 / 500; object-fit: cover; }
.ta-blog-article__body :is(img, video, iframe) { max-width: 100%; }
.ta-blog-article__body .rs-content { min-width: 0; color: var(--ta-copy); font-size: 16px; line-height: 1.78; overflow-wrap: break-word; }
.ta-blog-article__body .rs-content > :is(.ta-blog-lead, .ta-blog-section),
.ta-blog-article__body .ta-blog-faq { margin: 0 0 26px; padding: clamp(22px, 2.6vw, 30px); border: 1px solid var(--ta-line); border-radius: 13px; background: #f7f8f7; }
.ta-blog-article__body .rs-content > .ta-blog-lead { margin-bottom: 32px; padding: clamp(24px, 3vw, 32px); border-left: 4px solid #249266; background: #f6f8f7; }
.ta-blog-article__body .rs-content > .ta-blog-section { margin: 0 0 35px; padding: 32px 0 0; border: 0; border-top: 1px solid var(--ta-line); border-radius: 0; background: transparent; box-shadow: none; }
.ta-blog-article__body .rs-content > .ta-blog-section--long { padding-top: 32px; }
.ta-blog-article__body .rs-content .ta-blog-section--long > .section-title-2 { padding: 0 0 6px; }
.ta-blog-article__body .rs-content > .ta-blog-section--tint {
    padding: 28px 26px 22px;
    border: 1px solid #e4e9e7;
    border-radius: 13px;
    background: #f4f6f5;
}
.ta-blog-article__body .rs-content > .ta-blog-section--faq {
    border-top: 1px solid var(--ta-line);
    background: #fff;
}
.ta-blog-article__body .rs-content .ta-blog-subsection {
    margin-top: 22px;
    padding-top: 23px;
    border-top: 1px solid var(--ta-line);
}
.ta-blog-article__body .rs-content .ta-blog-subsection--tint {
    padding: 23px 25px 21px;
    border: 1px solid #e3e9e6;
    border-radius: 11px;
    background: #f4f6f5;
}
.ta-blog-article__body .rs-content .ta-blog-subsection > :last-child { margin-bottom: 0; }
.ta-blog-article__body .rs-content .ta-blog-subsection h3 { margin-top: 0; }
.ta-blog-article__body .rs-content .ta-blog-section--faq h3 {
    margin: 25px 0 10px;
    padding-top: 23px;
    border-top: 1px solid var(--ta-line);
}
.ta-blog-article__body .rs-content .ta-blog-section--faq > .section-title-2 + div h3 {
    padding-top: 0;
    border-top: 0;
}
.ta-blog-article__body .rs-content p { margin: 0 0 1.1em; color: var(--ta-copy); font-size: 16px; line-height: 1.78; }
.ta-blog-article__body .rs-content :is(.ta-blog-lead, .ta-blog-section) > :last-child { margin-bottom: 0; }
.ta-blog-article__body .rs-content p.ta-blog-intro { color: #17463d; font-size: clamp(17px, 1.5vw, 19px); font-weight: 550; line-height: 1.68; }
.ta-blog-article__body .rs-content h2,
.ta-blog-article__body .ta-blog-faq h2 { margin: 0 0 18px; color: var(--ta-ink); font-size: clamp(25px, 2.1vw, 31px); font-weight: 800; line-height: 1.24; letter-spacing: -.025em; scroll-margin-top: 104px; }
.ta-blog-article__body .rs-content .section-title-2.section-title-3 h2.title { margin: 0 0 18px; color: var(--ta-ink); font-size: clamp(25px, 2.1vw, 31px); line-height: 1.24; }
.ta-blog-article__body .rs-content h3 { margin: 29px 0 12px; color: var(--ta-ink); font-size: clamp(21px, 1.8vw, 25px); font-weight: 800; line-height: 1.3; letter-spacing: -.02em; scroll-margin-top: 105px; }
.ta-blog-article__body .rs-content :is(h4,h5,h6) { margin: 20px 0 8px; color: var(--ta-ink); font-size: 17px; font-weight: 800; }
.ta-blog-article__body .rs-content .ta-blog-section > .section-title-2::before { display: none; content: none; }
.ta-blog-article__body .rs-content :is(ul, ol) { padding-left: 1.4em; margin: 15px 0 20px; }
.ta-blog-article__body .rs-content li { margin: 0 0 8px; color: var(--ta-copy); line-height: 1.65; }
.ta-blog-article__body .rs-content li p { margin: 0; line-height: inherit; }
.ta-blog-article__body .rs-content .private-list { margin: 0; }
.ta-blog-article__body .rs-content a { color: #0a7654; text-decoration: underline; text-underline-offset: 2px; }
.ta-blog-article__body .rs-content blockquote.rs-quote { min-height: 0; margin: 22px 0; padding: 18px 21px; border: 1px solid #dfe7e2; border-radius: 10px; background: #fff; text-align: left; }
.ta-blog-article__body .rs-content blockquote.rs-quote::before { display: none; }
.ta-blog-article__body .rs-content blockquote.rs-quote :is(p,span) { margin: 0; color: #17463c; font-size: clamp(18px, 1.6vw, 21px); font-weight: 650; line-height: 1.55; }
.ta-blog-article__body .rs-content .ta-blog-section--points:not(.ta-blog-section--tint),
.ta-blog-article__body .rs-content .ta-blog-section--comparison:not(.ta-blog-section--tint),
.ta-blog-article__body .rs-content .ta-blog-section--steps:not(.ta-blog-section--tint) { background: transparent; }
.ta-blog-article__body .rs-content :is(.ta-blog-points,.ta-blog-steps) { display: grid; gap: 10px; padding: 0; margin: 17px 0 4px; list-style: none; }
.ta-blog-article__body .rs-content .ta-blog-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ta-blog-article__body .rs-content .ta-blog-points > li { position: relative; margin: 0; padding: 13px 14px 13px 32px; border: 1px solid #d9eadd; border-radius: 9px; background: #fff; }
.ta-blog-article__body .rs-content .ta-blog-points > li::before { position: absolute; top: 23px; left: 14px; width: 8px; height: 8px; border-radius: 50%; background: #2d9267; content: ""; }
.ta-blog-article__body .rs-content .ta-blog-steps { counter-reset: ta-step; }
.ta-blog-article__body .rs-content .ta-blog-steps > li { counter-increment: ta-step; position: relative; min-height: 56px; margin: 0; padding: 13px 16px 13px 56px; border: 1px solid #d9eadd; border-radius: 9px; background: #fff; }
.ta-blog-article__body .rs-content .ta-blog-steps > li::before { position: absolute; top: 12px; left: 12px; display: grid; width: 30px; height: 30px; place-items: center; border-radius: 7px; background: #167858; color: #fff; font-size: 12px; font-weight: 800; content: counter(ta-step, decimal-leading-zero); }
.ta-blog-table-scroll,
.ta-blog-article__body .rs-content pre { max-width: 100%; overflow-x: auto; }
.ta-blog-table-scroll { margin: 21px 0 6px; border: 1px solid #d9e5de; border-radius: 9px; background: #fff; }
.ta-blog-table-scroll table { min-width: 540px; width: 100%; margin: 0; border-collapse: collapse; }
.ta-blog-table-scroll th { background: #0c5d50; color: #fff; text-align: left; }
.ta-blog-table-scroll tr:nth-child(even) { background: #f3f8f4; }
.ta-blog-table-scroll :is(th,td) { padding: 12px 14px; border: 1px solid #e1e9e3; vertical-align: top; }
.ta-blog-article__body .ta-blog-faq {
    padding: 32px 0 0;
    border: 0;
    border-top: 1px solid var(--ta-line);
    border-radius: 0;
    background: #fff;
}
.ta-blog-article__body .ta-blog-faq h2 { margin-bottom: 23px; }
.ta-blog-article__body .ta-blog-faq__item { margin: 9px 0; border: 1px solid #d7e7dc; border-radius: 9px; background: #fff; }
.ta-blog-article__body .ta-blog-faq__item summary { position: relative; padding: 16px 45px 16px 17px; color: var(--ta-ink); font-size: 16px; font-weight: 750; line-height: 1.5; list-style: none; cursor: pointer; }
.ta-blog-article__body .ta-blog-faq__item summary::-webkit-details-marker { display: none; }
.ta-blog-article__body .ta-blog-faq__item summary::after { position: absolute; top: 15px; right: 17px; color: #17795c; font-size: 22px; line-height: 1; content: "+"; }
.ta-blog-article__body .ta-blog-faq__item[open] summary::after { content: "−"; }
.ta-blog-article__body .ta-blog-faq__answer { padding: 0 17px 17px; color: var(--ta-copy); line-height: 1.7; }
.ta-blog-article__body .ta-blog-faq__answer p:last-child { margin-bottom: 0; }
.ta-blog-article__body .rs-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 14px; padding: 20px 0 2px; }
.ta-blog-article__body .rs-tags span { color: var(--ta-ink); font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.ta-blog-article__body .rs-tags ul { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; list-style: none; }
.ta-blog-article__body .rs-tags li a { display: inline-flex; padding: 7px 11px; border: 1px solid #d3e5d8; border-radius: 999px; background: #edf7ef; color: #106248; font-size: 12px; font-weight: 700; text-decoration: none; }
.ta-blog-article__body .rs-tags li a:hover { background: #dceee2; }
.ta-blog-article__sidebar { position: sticky; top: 94px; display: grid; gap: 18px; }
.ta-blog-article__toc ol,
.ta-blog-article__mobile-toc ol { display: grid; gap: 0; padding: 0; margin: 0; list-style: none; }
.ta-blog-article__toc li + li,
.ta-blog-article__mobile-toc li + li { border-top: 1px solid #e9f0ea; }
.ta-blog-article__toc ol { max-height: 52vh; overflow-y: auto; }
.ta-blog-article__mobile-toc ol { max-height: 60vh; overflow-y: auto; }
.ta-blog-article__toc a,
.ta-blog-article__mobile-toc a { display: block; padding: 9px 0; color: #47615a; font-size: 13px; line-height: 1.4; text-decoration: none; }
.ta-blog-article__toc .ta-blog-toc__article-title a,
.ta-blog-article__mobile-toc .ta-blog-toc__article-title a { color: var(--ta-ink); font-weight: 800; }
.ta-blog-article__toc a[aria-current="location"],
.ta-blog-article__mobile-toc a[aria-current="location"] { color: #0b654d; font-weight: 800; }
.ta-blog-article__toc a[aria-current="location"] { padding-left: 10px; border-radius: 6px; background: #edf3f0; }
.ta-blog-article__toc a:hover,
.ta-blog-article__mobile-toc a:hover { color: var(--ta-green); text-decoration: underline; }
.ta-blog-article__mobile-toc { display: none; }

/* Desktop biography preview; the author name remains a normal link on touch screens. */
.ta-blog-author { position: relative; display: inline-flex; align-items: center; }
.ta-blog-author__name,
.ta-blog-author__name:hover { color: var(--ta-ink); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.ta-blog-author__preview { display: none; }
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
    .ta-blog-author__preview { position: absolute; z-index: 60; top: 100%; left: -12px; display: block; width: min(380px, calc(100vw - 48px)); padding-top: 11px; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(4px); transition: opacity .16s ease, transform .16s ease, visibility .16s ease; white-space: normal; }
    .ta-blog-author:not(.is-dismissed):hover .ta-blog-author__preview,
    .ta-blog-author:not(.is-dismissed):focus-within .ta-blog-author__preview { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
    .ta-blog-author__card, .ta-blog-author__header, .ta-blog-author__role, .ta-blog-author__bio, .ta-blog-author__links { display: block; }
    .ta-blog-author__card { padding: 21px; border: 1px solid #dce8e2; border-radius: 15px; background: #fff; box-shadow: 0 20px 48px rgba(0, 33, 45, .16); color: #425753; font-size: 13px; font-weight: 400; line-height: 1.6; }
    .ta-blog-author__header { display: flex; align-items: center; gap: 13px; padding-bottom: 15px; border-bottom: 1px solid #e4eeea; }
    .ta-blog-author__header img { display: block; width: 58px; height: 58px; flex: 0 0 58px; border-radius: 50%; object-fit: cover; }
    .ta-blog-author__header strong { display: block; color: var(--ta-ink); font-size: 17px; line-height: 1.3; }
    .ta-blog-author__role { margin-top: 3px; color: #596b66; font-size: 12px; font-weight: 600; line-height: 1.45; }
    .ta-blog-author__bio { margin: 15px 0; }
    .ta-blog-author__links { display: flex; flex-wrap: wrap; gap: 10px 16px; }
    .ta-blog-author__links a { color: #0b6b4d; font-size: 12px; font-weight: 800; text-decoration: none; }
    .ta-blog-author__links a:hover { text-decoration: underline; }
}

/* Related reading and 404 */
.ta-blog-related { padding: 46px 0 85px; background: #f7f8f7; }
.ta-blog-related__heading,
.ta-blog-notfound__heading { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 22px; }
.ta-blog-related__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ta-blog-related__card > div { flex: 1; padding: 17px 18px 20px; }
.ta-blog-related__card time { color: var(--ta-muted); font-size: 12px; }
.ta-blog-related__card h3 { margin: 7px 0 0; color: var(--ta-ink); font-size: 17px; font-weight: 800; line-height: 1.35; }
.ta-blog-notfound__content { padding: 52px 0 90px; }
.ta-blog-notfound__search { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,340px); align-items: center; gap: 24px; margin-bottom: 54px; padding: clamp(24px,3vw,36px); border: 1px solid var(--ta-line); border-radius: 15px; background: #fff; box-shadow: 0 8px 28px rgba(12,52,42,.04); }
.ta-blog-notfound__search h2 { margin: 7px 0; color: var(--ta-ink); font-size: clamp(24px,2.4vw,32px); }
.ta-blog-notfound__search p { margin: 0; color: var(--ta-muted); font-size: 14px; line-height: 1.6; }
.ta-blog-notfound__home { display: inline-flex; align-items: center; gap: 5px; margin-top: 30px; color: #0c674b; font-size: 14px; font-weight: 800; }

@media (max-width: 1050px) {
    .ta-blog-index__layout { grid-template-columns: minmax(0,1fr) 250px; gap: 23px; }
    .ta-blog-article__layout { grid-template-columns: minmax(0,1fr) 240px; gap: 24px; }
}
@media (max-width: 860px) {
    .ta-blog-index .ta-blog-hero .ta-blog-container { grid-template-columns: minmax(0,1fr); gap: 16px; }
    .ta-blog-index .ta-blog-hero h1 { margin-top: 12px; }
    .ta-blog-hero p { max-width: 630px; }
    .ta-blog-index__layout, .ta-blog-article__layout { grid-template-columns: minmax(0,1fr); }
    .ta-blog-sidebar { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ta-blog-article__sidebar { position: static; grid-template-columns: minmax(0,1fr); }
    .ta-blog-article__toc { display: none; }
    .ta-blog-article__mobile-toc:not([hidden]) { display: block; margin-bottom: 21px; }
    .ta-blog-article__mobile-toc summary { display: flex; align-items: center; justify-content: space-between; color: var(--ta-ink); font-size: 16px; font-weight: 800; cursor: pointer; }
    .ta-blog-article__mobile-toc nav { padding-top: 13px; }
}
@media (max-width: 640px) {
    .ta-blog-container { width: min(100% - 32px,1180px); }
    .ta-blog-hero, .ta-blog-article__hero { padding: 100px 0 40px; }
    .ta-blog-article__hero { padding: 82px 0 30px; }
    .ta-blog-hero h1, .ta-blog-article__hero h1 { font-size: clamp(32px,8.5vw,40px); }
    .ta-blog-hero h1, .ta-blog-article__hero h1 { margin-bottom: 15px; }
    .ta-blog-article__hero h1 { margin: 13px 0 18px; }
    .ta-blog-hero p { font-size: 15px; }
    .ta-blog-breadcrumb ol { min-height: 44px; }
    .ta-blog-index__heading { align-items: stretch; flex-direction: column; }
    .ta-blog-search { flex: 0 1 auto; width: 100%; }
    .ta-blog-categories { padding: 16px; }
    .ta-blog-categories nav { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    .ta-blog-categories nav::-webkit-scrollbar { display: none; }
    .ta-blog-categories a { flex: 0 0 auto; white-space: nowrap; }
    .ta-blog-grid, .ta-blog-sidebar, .ta-blog-related__grid { grid-template-columns: minmax(0,1fr); }
    .ta-blog-grid > .ta-blog-card:last-child:nth-child(odd):not(:first-child) { grid-column: auto; display: flex; }
    .ta-blog-grid > .ta-blog-card:last-child:nth-child(odd):not(:first-child) .ta-blog-card__media { height: auto; min-height: 0; }
    .ta-blog-grid > .ta-blog-card:last-child:nth-child(odd):not(:first-child) .ta-blog-card__media img { height: auto; aspect-ratio: 399 / 250; }
    .ta-blog-card__content { padding: 19px; }
    .ta-blog-article__meta { gap: 2px; align-items: start; flex-direction: column; font-size: 13px; }
    .ta-blog-article__meta-separator { display: none; }
    .ta-blog-article__reading { padding: 24px 0 60px; }
    .ta-blog-article__body .rs-content > :is(.ta-blog-lead,.ta-blog-section),
    .ta-blog-article__body .ta-blog-faq { padding: 22px 19px; }
    .ta-blog-article__body .rs-content > .ta-blog-section { padding: 27px 0 0; }
    .ta-blog-article__body .rs-content > .ta-blog-section--long { padding: 27px 0 0; }
    .ta-blog-article__body .rs-content > .ta-blog-section--tint { padding: 24px 19px 20px; }
    .ta-blog-article__body .rs-content > .ta-blog-section--faq,
    .ta-blog-article__body .ta-blog-faq { padding: 27px 0 0; }
    .ta-blog-article__body .rs-content .ta-blog-subsection--tint { padding: 20px 18px; }
    .ta-blog-article__body .ta-blog-cover { border-radius: 10px; }
    .ta-blog-article__body .rs-content p { font-size: 15px; }
    .ta-blog-article__body .rs-content .ta-blog-points { grid-template-columns: minmax(0,1fr); }
    .ta-blog-notfound__search { grid-template-columns: minmax(0,1fr); }
    .ta-blog-pagination { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
    .ta-blog-card, .ta-blog-related__card, .ta-blog-author__preview, #blogListContainer { transition: none; }
}
