/* Build40-Hotfix1 — trusted rich article components. Typography stays authoritative in portfolio-overrides.css. */
.blog-article__content :where(.tn-content-carousel,.tn-content-gallery,.tn-before-after,.tn-accordion,.tn-content-tabs,.tn-callout,.tn-timeline,.tn-steps,.tn-comparison,.tn-stats){box-sizing:border-box;max-width:100%}
.blog-article__content :where(.tn-content-carousel,.tn-before-after)>figure{margin:0!important;padding:0!important}
.blog-article__content :where(.tn-content-carousel,.tn-before-after)>figure>img{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;border-radius:0!important}

.blog-article__content .tn-content-carousel{--tn-carousel-aspect:16 / 10;position:relative;margin:24px 0 32px;overflow:hidden;background:rgba(255,255,255,.035);isolation:isolate;touch-action:pan-y}
/* Hotfix3: real no-JS fallback stays readable as a gallery. */
html:not(.tn-article-components-js) .blog-article__content .tn-content-carousel:not(.tn-component-ready){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:transparent}
html:not(.tn-article-components-js) .blog-article__content .tn-content-carousel:not(.tn-component-ready)>figure{min-width:0}
/* Hotfix3: JS-capable first paint reserves the final carousel viewport and shows only slide 1 before enhancement. */
html.tn-article-components-js .blog-article__content .tn-content-carousel:not(.tn-component-ready){display:block;aspect-ratio:var(--tn-carousel-aspect);background:rgba(255,255,255,.035)}
html.tn-article-components-js .blog-article__content .tn-content-carousel:not(.tn-component-ready)>figure{position:absolute;inset:0;min-width:0;opacity:0;visibility:hidden;pointer-events:none}
html.tn-article-components-js .blog-article__content .tn-content-carousel:not(.tn-component-ready)>figure:first-of-type{opacity:1;visibility:visible}
html.tn-article-components-js .blog-article__content .tn-content-carousel:not(.tn-component-ready)>figure>img{height:100%!important;object-fit:contain;background:rgba(0,0,0,.16)}
.blog-article__content .tn-content-carousel.tn-component-ready{aspect-ratio:var(--tn-carousel-aspect)}
.blog-article__content .tn-content-carousel.tn-component-ready>figure{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease}
.blog-article__content .tn-content-carousel.tn-component-ready>figure.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.blog-article__content .tn-content-carousel.tn-component-ready>figure>img{height:100%!important;object-fit:contain;background:rgba(0,0,0,.16)}
.blog-article__content .tn-content-carousel__controls{position:absolute;inset:0;z-index:4;pointer-events:none}
.blog-article__content .tn-content-carousel__arrow{position:absolute;top:50%;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(9,11,15,.56);color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.22);transform:translateY(-50%);cursor:pointer;pointer-events:auto;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}
.blog-article__content .tn-content-carousel__arrow:hover{background:rgba(9,11,15,.82);border-color:rgba(255,255,255,.54);box-shadow:0 8px 24px rgba(0,0,0,.3);transform:translateY(-50%) scale(1.045)}
.blog-article__content .tn-content-carousel__arrow:focus-visible{background:rgba(9,11,15,.88);border-color:#fff;outline:2px solid #fff;outline-offset:3px}
.blog-article__content .tn-content-carousel__arrow--prev{left:14px}.blog-article__content .tn-content-carousel__arrow--next{right:14px}
.blog-article__content .tn-content-carousel__arrow-icon{position:absolute;top:50%;left:50%;display:block;width:18px;height:18px;margin:0!important;overflow:visible;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transform:translate(-50%,-50%);transform-origin:center;pointer-events:none}
.blog-article__content .tn-content-carousel__indicators{position:absolute;left:50%;bottom:14px;display:flex;align-items:center;gap:8px;max-width:calc(100% - 120px);overflow-x:auto;padding:5px 7px;transform:translateX(-50%);pointer-events:auto;scrollbar-width:none}
.blog-article__content .tn-content-carousel__indicators::-webkit-scrollbar{display:none}
.blog-article__content .tn-content-carousel__indicator{flex:0 0 auto;width:10px;height:10px;padding:0;border:1px solid rgba(255,255,255,.84);border-radius:50%;background:rgba(10,12,16,.55);cursor:pointer}
.blog-article__content .tn-content-carousel__indicator.is-active{background:#fff}.blog-article__content .tn-content-carousel__indicator:focus-visible{outline:2px solid #fff;outline-offset:2px}

.blog-article__content .tn-content-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0 32px}
.blog-article__content .tn-content-gallery>figure{min-width:0;margin:0!important}.blog-article__content .tn-content-gallery>figure>img{display:block!important;width:100%!important;height:auto!important;margin:0!important}
.blog-article__content .tn-content-gallery>figure>figcaption{margin-top:8px}
.blog-article__content .tn-lightbox-trigger{cursor:zoom-in}
.blog-article__content .tn-lightbox-trigger:focus-visible{outline:2px solid currentColor;outline-offset:4px}

.blog-article__content .tn-callout{margin:24px 0;padding:18px 20px;border:1px solid rgba(255,255,255,.12);border-inline-start:4px solid #ff6675;background:rgba(255,255,255,.045)}
.blog-article__content .tn-callout--note,.blog-article__content .tn-callout--info{border-inline-start-color:#67a3ff}.blog-article__content .tn-callout--tip{border-inline-start-color:#4ebd92}.blog-article__content .tn-callout--warning,.blog-article__content .tn-callout--important{border-inline-start-color:#f0aa45}
.blog-article__content .tn-callout>:first-child{margin-top:0}.blog-article__content .tn-callout>:last-child{margin-bottom:0}
.blog-article__content blockquote.tn-pullquote{margin:30px 0;padding:22px 24px;border-inline-start:4px solid #ff6675;background:rgba(255,255,255,.035)}

.blog-article__content .tn-code-wrap{position:relative;margin:24px 0}.blog-article__content .tn-code-wrap pre.tn-code{margin:0!important;padding-top:48px!important;max-width:100%;overflow:auto;white-space:pre;tab-size:4}.blog-article__content .tn-code-copy{position:absolute;top:10px;right:10px;z-index:2;min-height:32px;padding:5px 10px;border:1px solid rgba(255,255,255,.16);background:#1b1e25;color:#fff;cursor:pointer}.blog-article__content .tn-code-copy:focus-visible{outline:2px solid #fff;outline-offset:2px}

.blog-article__content .tn-accordion{display:grid;gap:10px;margin:24px 0}.blog-article__content .tn-accordion-item{border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.025)}.blog-article__content .tn-accordion-item>:first-child{margin:0!important}.blog-article__content .tn-accordion__trigger{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:16px 18px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.blog-article__content .tn-accordion__icon{flex:0 0 auto;transition:transform .18s ease}.blog-article__content .tn-accordion-item.is-open .tn-accordion__icon{transform:rotate(45deg)}.blog-article__content .tn-accordion__trigger:focus-visible{outline:2px solid currentColor;outline-offset:-4px}.blog-article__content .tn-accordion-panel{padding:0 18px 16px}.blog-article__content .tn-accordion-panel>:last-child{margin-bottom:0}

.blog-article__content .tn-content-tabs{margin:24px 0}.blog-article__content .tn-tabs__list{display:flex;gap:4px;max-width:100%;overflow-x:auto;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.12);scrollbar-width:thin}.blog-article__content .tn-tabs__tab{flex:0 0 auto;min-height:42px;padding:9px 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:inherit;cursor:pointer;font:inherit}.blog-article__content .tn-tabs__tab[aria-selected="true"]{border-bottom-color:#ff6675;background:rgba(255,255,255,.04)}.blog-article__content .tn-tabs__tab:focus-visible{outline:2px solid currentColor;outline-offset:-2px}.blog-article__content .tn-tab-panel{padding:18px 0 0}.blog-article__content .tn-tab-panel>:last-child{margin-bottom:0}

.blog-article__content .tn-before-after{--tn-before-after-position:50%;position:relative;margin:24px 0 32px;overflow:hidden;isolation:isolate;touch-action:none;background:rgba(255,255,255,.03)}
.blog-article__content .tn-before-after:not(.tn-component-ready){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:transparent}
.blog-article__content .tn-before-after.tn-component-ready{aspect-ratio:16 / 10}
.blog-article__content .tn-before-after.tn-component-ready>figure{position:absolute;inset:0}.blog-article__content .tn-before-after.tn-component-ready>figure>img{height:100%!important;object-fit:cover}
.blog-article__content .tn-before-after__after{z-index:2;clip-path:inset(0 calc(100% - var(--tn-before-after-position)) 0 0)}.blog-article__content .tn-before-after__control{position:absolute;inset:0;z-index:4;pointer-events:none}.blog-article__content .tn-before-after__handle{position:absolute;top:0;bottom:0;left:var(--tn-before-after-position);width:2px;background:#fff;transform:translateX(-1px);box-shadow:0 0 0 1px rgba(0,0,0,.25)}.blog-article__content .tn-before-after__handle::after{content:"↔";position:absolute;top:50%;left:50%;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff;color:#111;transform:translate(-50%,-50%)}.blog-article__content .tn-before-after__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;pointer-events:auto}.blog-article__content .tn-before-after__label{position:absolute;top:12px;padding:5px 9px;background:rgba(10,12,16,.72);color:#fff}.blog-article__content .tn-before-after__label--before{left:12px}.blog-article__content .tn-before-after__label--after{right:12px}

.blog-article__content .tn-timeline{display:grid;gap:0;margin:24px 0;padding-left:24px;border-inline-start:2px solid rgba(255,255,255,.14)}.blog-article__content .tn-timeline>section{position:relative;padding:0 0 24px 18px}.blog-article__content .tn-timeline>section::before{content:"";position:absolute;left:-30px;top:.55em;width:10px;height:10px;border-radius:50%;background:#ff6675;box-shadow:0 0 0 5px rgba(255,102,117,.12)}
.blog-article__content .tn-steps{display:grid;gap:14px;margin:24px 0;counter-reset:tn-step}.blog-article__content .tn-steps>section{position:relative;padding:18px 18px 18px 58px;border:1px solid rgba(255,255,255,.1);counter-increment:tn-step}.blog-article__content .tn-steps>section::before{content:counter(tn-step);position:absolute;left:16px;top:16px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ff6675;color:#fff}
.blog-article__content .tn-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}.blog-article__content .tn-comparison>section,.blog-article__content .tn-stats>section{padding:18px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025)}.blog-article__content .tn-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}

.blog-article__content :where(.tn-reveal,.tn-reveal-up,.tn-reveal-left,.tn-reveal-right,.tn-reveal-zoom).tn-reveal-pending{opacity:0;transition:opacity .5s ease,transform .5s ease}.blog-article__content .tn-reveal-up.tn-reveal-pending{transform:translateY(18px)}.blog-article__content .tn-reveal-left.tn-reveal-pending{transform:translateX(18px)}.blog-article__content .tn-reveal-right.tn-reveal-pending{transform:translateX(-18px)}.blog-article__content .tn-reveal-zoom.tn-reveal-pending{transform:scale(.98)}.blog-article__content :where(.tn-reveal,.tn-reveal-up,.tn-reveal-left,.tn-reveal-right,.tn-reveal-zoom).tn-reveal-pending.is-revealed{opacity:1;transform:none}

.blog-article__content table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.blog-article__content hr{border:0;border-top:1px solid rgba(255,255,255,.12);margin:30px 0}

@media(max-width:991.98px){.blog-article__content .tn-content-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-article__content .tn-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.blog-article__content .tn-content-gallery,.blog-article__content .tn-content-carousel:not(.tn-component-ready),.blog-article__content .tn-before-after:not(.tn-component-ready),.blog-article__content .tn-comparison,.blog-article__content .tn-stats{grid-template-columns:1fr}.blog-article__content .tn-content-carousel__arrow{width:40px;height:48px}.blog-article__content .tn-content-carousel__arrow--prev{left:8px}.blog-article__content .tn-content-carousel__arrow--next{right:8px}.blog-article__content .tn-before-after.tn-component-ready{aspect-ratio:4 / 3}}
@media(prefers-reduced-motion:reduce){.blog-article__content .tn-content-carousel.tn-component-ready>figure,.blog-article__content :where(.tn-reveal,.tn-reveal-up,.tn-reveal-left,.tn-reveal-right,.tn-reveal-zoom){transition:none!important}.blog-article__content :where(.tn-reveal,.tn-reveal-up,.tn-reveal-left,.tn-reveal-right,.tn-reveal-zoom){opacity:1!important;transform:none!important}}

/* Build40-Hotfix4: direct SVG chevrons are centered from an exact symmetric viewBox; no wrapper/baseline compensation. */
@media(max-width:640px){
.blog-article__content .tn-content-carousel__arrow{width:38px;height:38px}
.blog-article__content .tn-content-carousel__arrow--prev{left:10px}.blog-article__content .tn-content-carousel__arrow--next{right:10px}
.blog-article__content .tn-content-carousel__arrow-icon{width:17px;height:17px}
}

