:root{
  --red:#EC3535;--red-soft:#EB6868;--red-dark:#EC3535;--ink:#000000;--ink-2:#000000;--muted:#777777;--paper:#F4F4F4;--white:#FFFFFF;--surface:#EDEDED;--surface-2:#F4F4F4;--line:#EDEDED;--line-dark:#777777;
  --max:1320px;--article:760px;--radius:7px;--radius-lg:10px;--shadow:0 10px 30px rgba(17,19,24,.055);--header:70px;
  --sp1:8px;--sp2:12px;--sp3:16px;--sp4:24px;--sp5:32px;--sp6:48px;--sp7:64px;--sp8:80px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Montserrat",sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.lock{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}img,svg{display:block;max-width:100%}[hidden]{display:none!important}:focus-visible{outline:3px solid rgba(236,53,53,.35);outline-offset:3px}.shell{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.skip{position:fixed;left:-9999px;top:10px;background:#fff;border:1px solid var(--ink);padding:10px 14px;z-index:9999}.skip:focus{left:10px}.page{min-height:70vh}
/* Header */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(245,243,239,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--ink)}.masthead{height:var(--header);display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:28px}.brand{display:inline-flex;align-items:center;gap:10px;width:max-content}.brand-mark{width:12px;height:12px;background:var(--red);flex:none}.brand-name{font-size:22px;line-height:1;font-weight:900;letter-spacing:-.055em;text-transform:uppercase}.brand-name span{color:var(--red)}.edition{justify-self:center;font-size:12.5px;font-weight:600;color:var(--muted);letter-spacing:.01em}.header-actions{display:flex;align-items:center;gap:8px}.icon-btn,.header-btn{height:42px;border:1px solid var(--ink);background:transparent;border-radius:5px;display:inline-flex;align-items:center;justify-content:center}.icon-btn{width:42px}.header-btn{padding:0 15px;font-size:12px;font-weight:800}.header-btn.primary{background:var(--red);border-color:var(--red);color:#fff}.menu-btn{display:none}.navbar{border-top:1px solid var(--line);background:var(--paper)}.nav-inner{height:50px;display:flex;align-items:center;gap:28px}.primary-nav{display:flex;align-items:center;gap:26px;height:100%;font-size:13.5px;font-weight:800}.primary-nav a{height:100%;display:flex;align-items:center;position:relative}.primary-nav a:after{content:"";position:absolute;height:3px;left:0;right:100%;bottom:-1px;background:var(--red);transition:right .18s ease}.primary-nav a:hover:after{right:0}.topic-rail{margin-left:auto;display:flex;gap:17px;align-items:center;overflow:auto;white-space:nowrap;scrollbar-width:none;font-size:12.5px;font-weight:700;color:var(--muted)}.topic-rail::-webkit-scrollbar{display:none}.topic-rail a:hover{color:var(--red)}
/* Drawer and search */
.drawer{position:fixed;inset:0;z-index:1600;background:var(--paper);transform:translateX(100%);transition:transform .22s ease;display:flex;flex-direction:column}.drawer.open{transform:none}.drawer-head{height:64px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink)}.drawer-body{padding:22px 18px 48px;overflow:auto}.drawer-body>a{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:24px;line-height:1.15;font-weight:800;letter-spacing:-.04em}.drawer-body>a small{font-size:11px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;flex:0 0 128px;margin-left:20px;text-align:right;line-height:1.25;align-self:center}.drawer-topics{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.drawer-topics a{border:1px solid var(--line);border-radius:5px;padding:9px 11px;font-size:12px;font-weight:700}.search-layer{position:fixed;inset:0;z-index:1700;background:rgba(245,243,239,.99);padding:28px;overflow:auto}.search-head{max-width:1040px;margin:0 auto 46px;display:flex;justify-content:space-between;align-items:center}.search-box{max-width:1040px;margin:auto}.search-input{width:100%;border:0;border-bottom:3px solid var(--ink);background:transparent;outline:none;font-size:clamp(36px,6vw,72px);line-height:1;font-weight:800;letter-spacing:-.055em;padding:0 0 16px}.search-results{margin-top:28px}.search-result{display:grid;grid-template-columns:150px 1fr;gap:22px;padding:20px 0;border-bottom:1px solid var(--line)}.search-result .media{aspect-ratio:16/9}.search-result h3{margin:5px 0;font-size:21px;line-height:1.22;letter-spacing:-.035em}
/* Core system */
.section{padding:var(--sp8) 0}.section+.section{border-top:1px solid var(--line)}.section.soft{background:var(--surface)}.section.white{background:#fff}.section.dark{background:var(--ink);color:#fff}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:40px}.section-title-wrap{display:flex;align-items:flex-end;gap:14px}.section-anchor{width:10px;height:10px;background:var(--red);flex:none;margin-bottom:9px}.section-title{margin:0;font-size:clamp(40px,4vw,58px);line-height:.98;font-weight:900;letter-spacing:-.058em}.section-sub{margin:12px 0 0;color:var(--muted);font-size:15.5px;line-height:1.55;max-width:720px}.section.dark .section-sub{color:#b0b6bf}.section-tools{display:flex;align-items:center;gap:14px;min-width:0}.section-link{font-size:13px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:3px;white-space:nowrap}.tabs{display:flex;align-items:center;gap:5px;overflow:auto;white-space:nowrap;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{border:0;background:transparent;padding:10px 13px;border-radius:5px;color:var(--muted);font-size:13.5px;font-weight:700;line-height:1}.tabs button:hover{background:var(--surface-2);color:var(--ink)}.tabs button.active{background:var(--ink);color:#fff}.dark .tabs button{color:#b9bec6}.dark .tabs button:hover{background:#292d34;color:#fff}.dark .tabs button.active{background:#fff;color:var(--ink)}.kicker{font-size:12.5px;line-height:1.2;font-weight:900;text-transform:uppercase;letter-spacing:.075em;color:var(--red)}.meta{display:flex;flex-wrap:wrap;gap:8px 12px;color:var(--muted);font-size:13px;font-weight:600}.meta span+span:before{content:"•";color:#aaa49b;margin-right:10px}.deck{color:var(--muted);font-size:16px;line-height:1.62}.headline{letter-spacing:-.045em}.media{position:relative;overflow:hidden;background:#EDEDED;border-radius:var(--radius)}.media img{width:100%;height:100%;object-fit:cover;transition:transform .22s ease}.media-16x9{aspect-ratio:16/9}.card-hover{transition:transform .2s ease,box-shadow .2s ease}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
/* Restrained editorial hover system: image moves slightly, headline changes colour. */
.top-story h3,.asia-row h3,.newsroom-row h3,.industry-card h3,.review-row strong,.choice-card h3,.related-card h3,.archive-card h2{transition:color .18s ease}.top-story:hover .media img,.asia-row:hover .media img,.newsroom-feature:hover .media img,.industry-card:hover .media img,.review-row:hover .media img,.choice-card:hover .media img,.related-card:hover .media img,.archive-card:hover .media img,.lead-story:hover .media img,.asia-feature:hover .media img{transform:scale(1.018)}.top-story:hover h3,.asia-row:hover h3,.newsroom-row:hover h3,.industry-card:hover h3,.review-row:hover strong,.choice-card:hover h3,.related-card:hover h3,.archive-card:hover h2{color:var(--red)}.lead-copy h1 a,.asia-copy h3 a,.newsroom-feature h3 a{transition:color .18s ease}.lead-story:hover .lead-copy h1 a,.asia-feature:hover .asia-copy h3 a,.newsroom-feature:hover h3 a{color:var(--red)}
@media(hover:none){.top-story:hover .media img,.asia-row:hover .media img,.newsroom-feature:hover .media img,.industry-card:hover .media img,.review-row:hover .media img,.choice-card:hover .media img,.related-card:hover .media img,.archive-card:hover .media img,.lead-story:hover .media img,.asia-feature:hover .media img{transform:none}}
/* Latest */
.latest-strip{background:#fff;border-bottom:1px solid var(--ink)}.latest-inner{min-height:92px;display:grid;grid-template-columns:140px repeat(4,minmax(0,1fr));align-items:stretch}.latest-label{display:flex;align-items:center;gap:10px;padding-right:20px;border-right:1px solid var(--line);font-size:13px;font-weight:900;text-transform:uppercase}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(236,53,53,.12)}.latest-item{display:flex;gap:12px;align-items:flex-start;padding:18px 18px;border-right:1px solid var(--line);font-size:15px;font-weight:700;line-height:1.35}.latest-item:last-child{border-right:0}.latest-time{color:var(--red);font-size:12.5px;font-weight:900;white-space:nowrap;padding-top:2px}.latest-item:hover{background:#faf8f5}
/* Homepage lead */
.front{padding:48px 0 30px}.front-grid{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(320px,.68fr);gap:34px;align-items:start}.lead-story{min-width:0}.lead-story .media{aspect-ratio:16/9;border-radius:var(--radius-lg);box-shadow:var(--shadow)}.lead-copy{padding-top:22px;max-width:960px}.lead-copy h1{font-size:clamp(43px,4.7vw,66px);line-height:.99;margin:9px 0 15px;font-weight:900;letter-spacing:-.062em}.lead-copy .deck{font-size:17px;max-width:880px;margin:0 0 18px}.top-stories{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:0 22px;box-shadow:var(--shadow);align-self:start}.top-stories-head{display:flex;justify-content:space-between;align-items:center;padding:19px 0 14px;border-bottom:3px solid var(--red);font-size:13.5px;font-weight:900}.top-story{display:grid;grid-template-columns:116px minmax(0,1fr);gap:16px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}.top-story:last-child{border-bottom:0}.top-story .media{aspect-ratio:16/9}.top-story h3{margin:6px 0 8px;font-size:18px;line-height:1.26;letter-spacing:-.032em}
/* Asia */
.asia-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:34px;align-items:start}.asia-feature{min-width:0}.asia-feature .media{aspect-ratio:16/9;border-radius:var(--radius-lg);box-shadow:var(--shadow)}.asia-copy{padding-top:20px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:28px;align-items:start}.asia-copy h3{font-size:clamp(32px,3.3vw,46px);line-height:1.04;letter-spacing:-.052em;margin:8px 0 12px}.asia-copy p{font-size:15.5px;line-height:1.65;color:var(--muted);margin:2px 0 18px}.asia-list{background:#fff;border-top:4px solid var(--red);padding:0 20px;border-radius:0 0 var(--radius) var(--radius)}.asia-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}.asia-row:last-child{border-bottom:0}.asia-row .media{aspect-ratio:16/9}.asia-row h3{font-size:17.5px;line-height:1.29;letter-spacing:-.03em;margin:5px 0 8px}.panel-fade{animation:panelFade .2s ease}@keyframes panelFade{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}
/* Newsroom */
.newsroom-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:42px;align-items:start}.newsroom-feature .media{aspect-ratio:16/9;margin-bottom:18px}.newsroom-feature h3{font-size:clamp(30px,3vw,42px);line-height:1.06;letter-spacing:-.05em;margin:8px 0 12px}.newsroom-list{border-top:3px solid var(--ink)}.newsroom-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}.newsroom-time{font-size:12.5px;font-weight:900;color:var(--red);padding-top:4px}.newsroom-row h3{font-size:19px;line-height:1.26;letter-spacing:-.035em;margin:4px 0 9px}
/* Industry insights */
.industry-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:0;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:#fff;box-shadow:var(--shadow);margin-bottom:28px}.industry-feature .media{border-radius:0;aspect-ratio:16/9}.industry-copy{padding:38px 38px 36px;display:flex;flex-direction:column;justify-content:center}.insight-identity{font-size:clamp(30px,3vw,42px);line-height:1.02;font-weight:900;letter-spacing:-.05em;margin:8px 0 6px}.insight-role{font-size:13.5px;color:var(--muted);font-weight:600;margin-bottom:20px}.industry-copy h3{font-size:29px;line-height:1.13;letter-spacing:-.043em;margin:0 0 13px}.industry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.industry-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;min-height:100%;transition:transform .2s ease,box-shadow .2s ease}.industry-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.industry-card .media{aspect-ratio:16/9;margin-bottom:18px}.industry-card .insight-name{font-size:21px;line-height:1.1;font-weight:900;letter-spacing:-.035em;margin:8px 0 5px}.industry-card .insight-role{margin:0 0 14px;font-size:12.5px}.industry-card h3{font-size:18px;line-height:1.3;letter-spacing:-.03em;margin:0}
/* Reviews */
.reviews-layout{display:block}.review-feature{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(360px,.78fr);gap:46px;align-items:start}.review-feature>a{display:block;min-width:0}.review-feature .media{aspect-ratio:16/9;background:#20242a;border-radius:9px}.review-feature>div{padding-top:4px;max-width:520px}.review-feature h3{font-size:clamp(34px,3.55vw,50px);line-height:1.02;letter-spacing:-.055em;margin:10px 0 16px}.review-feature .deck{color:#bbc0c8;font-size:16.5px;line-height:1.6;max-width:48ch}.score-box{margin-top:30px}.score-value{display:flex;align-items:baseline;gap:7px}.score-value strong{font-size:64px;line-height:.88;font-weight:900;letter-spacing:-.08em;color:#fff;font-variant-numeric:tabular-nums}.score-value span{font-size:13px;color:#9299a3;font-weight:700}.score-scale{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin-top:14px;max-width:360px}.score-scale i{height:6px;background:#30343a;border-radius:2px;transition:background .16s ease,transform .16s ease}.score-scale i.on{background:var(--red);transform:translateY(-1px)}.review-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:46px;padding-top:32px;border-top:1px solid #444850}.review-row{display:flex;flex-direction:column;min-width:0;padding:0;border:0}.review-row .media{aspect-ratio:16/9;background:#20242a;border-radius:7px;margin-bottom:16px}.review-row strong{font-size:18px;line-height:1.28;letter-spacing:-.025em;display:block}.review-row .review-excerpt{font-size:14.5px;line-height:1.55;color:#aeb5bf;margin:10px 0 18px;max-width:38ch}.score-box.mini{margin-top:auto;padding-top:2px}.score-box.mini .score-value{gap:5px}.score-box.mini .score-value strong{font-size:31px;letter-spacing:-.055em}.score-box.mini .score-value span{font-size:11.5px}.score-box.mini .score-scale{max-width:220px;gap:4px;margin-top:10px}.score-box.mini .score-scale i{height:5px}
/* Editor's Choice */
.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.choice-card .media{aspect-ratio:16/9;margin-bottom:17px}.choice-card .kicker{margin-bottom:8px}.choice-card h3{font-size:22px;line-height:1.2;letter-spacing:-.035em;margin:0}.choice-card.feature h3{font-size:26px}.choice-card p{margin:12px 0 0;color:var(--muted);font-size:14.5px;line-height:1.55}
/* Instagram — native 4:5 editorial grid */
.instagram-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.instagram-card{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#000;border-radius:var(--radius);isolation:isolate}.instagram-card img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease,filter .2s ease}.instagram-card:after{content:"";position:absolute;inset:44% 0 0;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.72));z-index:1;pointer-events:none}.instagram-card-copy{position:absolute;left:16px;right:54px;bottom:15px;z-index:2;color:#fff}.instagram-card h3{margin:0;font-size:15px;line-height:1.28;font-weight:700;letter-spacing:-.02em}.instagram-format-icon{position:absolute;top:12px;right:12px;z-index:3;width:30px;height:30px;display:grid;place-items:center;color:#fff;background:rgba(0,0,0,.56);backdrop-filter:blur(5px);border-radius:50%;pointer-events:none}.instagram-format-icon svg{width:16px;height:16px;display:block}.instagram-card:hover img,.instagram-card:focus-visible img{transform:scale(1.012);filter:brightness(.95)}.instagram-card:hover h3,.instagram-card:focus-visible h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
/* Opinion, events, newsletter */
.opinion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.opinion-card{background:#fff7f5;border-top:4px solid var(--red);padding:24px;border-radius:0 0 var(--radius) var(--radius)}.opinion-card h3{font-size:22px;line-height:1.22;letter-spacing:-.035em;margin:9px 0 11px}.author-line{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:12.5px;font-weight:700}.avatar{width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800;flex:none}.events{border-top:3px solid var(--ink)}.event-row{display:grid;grid-template-columns:150px minmax(0,1fr) 150px;gap:22px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}.event-date{font-size:14px;font-weight:900;color:var(--red)}.event-row h3{margin:0 0 6px;font-size:20px;line-height:1.25}.event-row p{margin:0;color:var(--muted);font-size:14.5px}.event-place{text-align:right;font-size:13px;font-weight:700}.newsletter{background:var(--red);color:#fff;padding:62px 0}.newsletter-inner{display:grid;grid-template-columns:1fr 520px;gap:50px;align-items:end}.newsletter h2{font-size:clamp(34px,4vw,52px);line-height:1.02;letter-spacing:-.055em;margin:8px 0 10px}.newsletter p{margin:0;max-width:720px;font-size:15px}.newsletter .kicker{color:#fff}.newsletter-form{display:flex}.newsletter-form input{flex:1;min-width:0;border:0;padding:15px 16px;border-radius:5px 0 0 5px}.newsletter-form button{border:0;background:var(--ink);color:#fff;padding:0 20px;font-weight:800;border-radius:0 5px 5px 0}
/* Archives and pages */
.page-hero{padding:66px 0 52px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(48px,6vw,78px);line-height:.98;letter-spacing:-.065em;margin:10px 0 16px}.page-hero p{font-size:18px;line-height:1.6;max-width:850px;color:var(--muted)}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 26px}.archive-card .media{aspect-ratio:16/9;margin-bottom:16px}.archive-card h2{font-size:22px;line-height:1.22;letter-spacing:-.035em;margin:7px 0 10px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.feature-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px}.feature-box h3{font-size:24px;line-height:1.15;letter-spacing:-.04em;margin:9px 0 10px}.form-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field.full{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:800;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#fff;border-radius:5px;padding:12px 13px}.field textarea{min-height:130px}.form-submit{margin-top:20px;background:var(--ink);color:#fff;border:0;border-radius:5px;padding:12px 18px;font-size:13px;font-weight:800}.jobs{border-top:3px solid var(--ink)}.job{display:grid;grid-template-columns:150px 1fr auto;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.job h3{margin:0 0 4px;font-size:22px}.job p{margin:0;color:var(--muted);font-size:14px}.apply{font-size:13px;font-weight:800;border-bottom:1px solid currentColor}
/* Article */
.article-shell{padding:52px 0 0}.article-head{max-width:1100px;margin:0 auto 34px}.breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:20px}.article-head h1{font-size:clamp(46px,6vw,78px);line-height:.99;letter-spacing:-.065em;margin:11px 0 20px;max-width:1080px}.standfirst{font-size:20px;line-height:1.55;color:#3d424a;max-width:1080px;margin:0 0 26px}.article-meta{display:flex;align-items:center;gap:13px;min-height:46px}.article-meta-copy{font-size:13px;color:var(--muted);font-weight:600}.article-meta-copy strong{display:block;color:var(--ink);font-size:13.5px;margin-bottom:2px}.article-actions{margin-left:auto;display:flex;gap:8px}.share-btn,.copy-btn{height:40px;border:1px solid var(--line);background:#fff;border-radius:5px;padding:0 12px;font-size:12px;font-weight:800}.article-featured{max-width:1200px;margin:0 auto 46px;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;background:#ddd}.article-featured img{width:100%;height:100%;object-fit:cover}.article-layout{max-width:var(--article);margin:auto;display:block}.share-rail{position:sticky;top:calc(var(--header) + 36px);display:grid;gap:8px}.share-rail a{width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:5px;display:grid;place-items:center;color:var(--ink);transition:border-color .16s ease,color .16s ease,background .16s ease}.share-rail a:hover,.share-rail a:focus-visible{border-color:var(--red);color:var(--red);background:#fff}.share-icon{display:block;width:17px;height:17px}.share-icon svg{display:block;width:100%;height:100%;fill:currentColor}.article-share-mobile{display:flex;flex-wrap:wrap}.article-body{font-size:18px;line-height:1.82;color:#292e35}.article-body p{margin:0 0 24px}.article-body h2{font-size:34px;line-height:1.15;letter-spacing:-.045em;color:var(--ink);margin:50px 0 18px}.article-body blockquote{margin:38px 0;padding:2px 0 2px 24px;border-left:4px solid var(--red);font-size:25px;line-height:1.4;font-weight:700;letter-spacing:-.035em;color:var(--ink)}.article-body figure{margin:36px 0}.article-body figure .media{aspect-ratio:16/9}.article-body figcaption{font-size:12px;color:var(--muted);margin-top:9px}.article-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:36px}.article-tags a{border:1px solid var(--line);padding:8px 10px;border-radius:4px;font-size:11.5px;font-weight:700}.related-reading{max-width:1100px;margin:72px auto 0;padding:36px 0 70px;border-top:1px solid var(--ink)}.related-reading>.section-title-wrap{align-items:center;gap:12px;margin-bottom:24px}.related-reading>.section-title-wrap .section-anchor{width:9px;height:9px;margin:0}.related-reading>.section-title-wrap h2{font-size:30px;letter-spacing:-.045em;margin:0}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.related-card .media{aspect-ratio:16/9;margin-bottom:14px}.related-card h3{font-size:18px;line-height:1.25;letter-spacing:-.03em;margin:6px 0 8px}.continuous-wrap{background:#fff}.continuous-separator{max-width:1100px;margin:0 auto;padding:30px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.continuous-separator strong{font-size:13px;text-transform:uppercase;letter-spacing:.06em}.continuous-separator span{font-size:12.5px;color:var(--muted)}.continuous-article{padding:70px 0 84px;border-top:8px solid var(--paper)}.continuous-head{max-width:960px;margin:0 auto 32px}.continuous-head h2{font-size:clamp(40px,5vw,66px);line-height:1;letter-spacing:-.06em;margin:10px 0 18px}.continuous-featured{max-width:1200px;margin:0 auto 44px;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden}.continuous-featured img{width:100%;height:100%;object-fit:cover}.continuous-body{max-width:var(--article);margin:auto;font-size:18px;line-height:1.82;color:#292e35}.continuous-body h2{font-size:34px;line-height:1.15;letter-spacing:-.045em;margin:50px 0 18px}.continuous-limit{max-width:880px;margin:0 auto 80px;padding:32px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper)}.continuous-limit h3{font-size:26px;line-height:1.16;letter-spacing:-.04em;margin:8px 0}.continuous-limit button{border:0;background:var(--ink);color:#fff;border-radius:5px;padding:11px 14px;font-size:12px;font-weight:800;margin-top:8px}
/* Footer */
.footer{background:#0f1115;color:#fff}.footer-main{padding:58px 0 42px;display:grid;grid-template-columns:1.4fr repeat(3,.7fr);gap:46px}.footer-brand p{color:#aeb4bd;max-width:430px;font-size:14px}.footer-col{display:grid;align-content:start;gap:9px}.footer-col h3{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#858b94;margin:0 0 8px}.footer-col a,.footer-col button{font-size:13px;color:#e7e8eb;text-align:left;background:none;border:0;padding:0}.footer-bottom{border-top:1px solid #292d34;padding:18px 0 28px;display:flex;justify-content:space-between;gap:20px;color:#848b94;font-size:11.5px}
/* Ad popup: square creative only, all controls over image */
.ad-overlay{position:fixed;inset:0;z-index:2200;background:rgba(10,11,14,.72);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}.ad-modal{position:relative;width:min(92vw,82vh,760px);aspect-ratio:1/1;border-radius:8px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.38);background:#1a1d23}.ad-creative{position:absolute;inset:0;display:block}.ad-creative img{width:100%;height:100%;object-fit:cover}.ad-close{position:absolute;z-index:3;top:14px;right:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(13,15,18,.72);color:#fff;font-size:25px;line-height:1;display:grid;place-items:center}.ad-label{position:absolute;z-index:2;top:17px;left:18px;color:#fff;background:rgba(13,15,18,.66);padding:7px 9px;border-radius:4px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.ad-countdown{position:absolute;z-index:2;left:18px;bottom:18px;background:rgba(13,15,18,.76);color:#fff;border:1px solid rgba(255,255,255,.22);padding:9px 11px;border-radius:5px;font-size:12.5px;font-weight:700}.ad-cta{position:absolute;z-index:2;right:18px;bottom:18px;background:#fff;color:var(--ink);padding:9px 12px;border-radius:5px;font-size:12px;font-weight:800}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:3000;background:var(--ink);color:#fff;border-radius:5px;padding:11px 14px;font-size:12px;font-weight:700;box-shadow:var(--shadow)}

/* Featured spotlight */
.featured-spotlight-section{padding:18px 0 78px;background:#fff}.featured-spotlight{position:relative;overflow:hidden;border-radius:9px;min-height:560px;background:#14161b;box-shadow:var(--shadow)}.featured-spotlight .feature-media{position:absolute;inset:0}.featured-spotlight .feature-media img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.featured-spotlight:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,16,.82) 0%,rgba(10,12,16,.56) 42%,rgba(10,12,16,.08) 78%),linear-gradient(0deg,rgba(10,12,16,.55),transparent 55%);pointer-events:none}.featured-spotlight-copy{position:relative;z-index:2;color:#fff;min-height:560px;display:flex;flex-direction:column;justify-content:flex-end;padding:54px;max-width:760px}.featured-spotlight-copy .kicker{color:#fff}.featured-spotlight-copy h2{font-size:clamp(42px,5vw,68px);line-height:.98;letter-spacing:-.06em;margin:10px 0 16px}.featured-spotlight-copy p{font-size:17px;line-height:1.58;color:rgba(255,255,255,.86);margin:0 0 20px;max-width:62ch}.featured-spotlight-copy .meta{color:rgba(255,255,255,.72)}.featured-spotlight:hover .feature-media img{transform:scale(1.012)}
/* Article image captions + lightbox */
.article-featured-wrap{max-width:1200px;margin:0 auto 46px}.article-featured{max-width:none;margin:0;aspect-ratio:16/9}.featured-caption,.continuous-caption{font-size:13px;line-height:1.48;color:var(--muted);margin:10px 2px 0}.image-lightbox-trigger{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.image-lightbox-trigger img{width:100%;height:100%;object-fit:cover}.article-body .image-lightbox-trigger{border-radius:var(--radius);overflow:hidden}.image-lightbox-trigger:focus-visible{outline:3px solid rgba(236,53,53,.38);outline-offset:3px}.lightbox-overlay{position:fixed;inset:0;z-index:2600;background:rgba(7,8,10,.94);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;padding:18px}.lightbox-top{display:flex;justify-content:flex-end}.lightbox-close{width:44px;height:44px;border:1px solid rgba(255,255,255,.46);border-radius:50%;background:rgba(0,0,0,.34);color:#fff;font-size:26px;display:grid;place-items:center}.lightbox-stage{display:grid;place-items:center;min-height:0}.lightbox-stage img{max-width:min(96vw,1920px);max-height:calc(100vh - 130px);width:auto;height:auto;object-fit:contain}.lightbox-caption{max-width:1100px;margin:0 auto;color:rgba(255,255,255,.78);font-size:13px;line-height:1.45;text-align:center;min-height:20px}
/* Continuous article parity */
.continuous-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px}.continuous-meta .article-actions{margin-left:auto}.continuous-featured-wrap{max-width:1200px;margin:0 auto 44px}.continuous-featured{max-width:none;margin:0}.continuous-share-row,.article-share-mobile{max-width:var(--article);margin:24px auto 0;align-items:center;gap:9px;padding-top:24px;border-top:1px solid var(--line)}.continuous-share-row{display:flex}.continuous-share-row>span,.article-share-mobile>span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.055em;margin-right:4px}.continuous-share-row a,.article-share-mobile a{width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:5px;display:grid;place-items:center;color:var(--ink);transition:border-color .16s ease,color .16s ease}.continuous-share-row a:hover,.continuous-share-row a:focus-visible,.article-share-mobile a:hover,.article-share-mobile a:focus-visible{border-color:var(--red);color:var(--red)}
/* Changelog */
.changelog{margin:34px 0 42px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.changelog-title{display:flex;align-items:baseline;gap:10px;margin:0 0 18px}.changelog-title:before{content:"";width:8px;height:8px;background:var(--red);flex:none}.changelog-title h3{margin:0;font-size:24px;line-height:1.15;letter-spacing:-.035em}.changelog-list{display:grid;gap:14px}.changelog-entry{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;align-items:start}.changelog-date{font-size:12px;font-weight:800;color:var(--red);padding-top:2px}.changelog-entry p{font-size:14.5px;line-height:1.55;margin:0;color:#444a53}
/* Industry Insights taxonomy */
.insight-format{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;line-height:1;font-weight:900;text-transform:uppercase;letter-spacing:.075em;color:var(--red);margin-bottom:8px}.insight-format:before{content:"";width:7px;height:7px;background:currentColor}.industry-card .deck{font-size:14px;line-height:1.55;margin:10px 0 0}.industry-card>a{display:block}.industry-copy .deck{margin-bottom:0}
/* Related cards */
.related-card .related-excerpt{display:block;color:var(--muted);font-size:13.5px;line-height:1.5;margin-top:8px}

/* Responsive */

@media(max-width:1100px){.masthead{grid-template-columns:210px 1fr auto}.edition{display:none}.primary-nav{gap:20px}.front-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:26px}.lead-copy h1{font-size:48px}.asia-copy{grid-template-columns:1fr}.industry-feature{grid-template-columns:1fr 1fr}.review-feature{grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:34px}.review-list{grid-template-columns:repeat(2,minmax(0,1fr))}.newsletter-inner{grid-template-columns:1fr 420px}.article-layout{grid-template-columns:52px minmax(0,var(--article));gap:28px}}
@media(max-width:900px){.shell{width:min(calc(100% - 36px),var(--max))}.masthead{grid-template-columns:1fr auto;height:64px}.header-btn.primary,.navbar{display:none}.menu-btn{display:inline-flex}.latest-inner{display:flex;overflow-x:auto;scrollbar-width:none;min-height:78px}.latest-inner::-webkit-scrollbar{display:none}.latest-label{flex:0 0 112px;padding-left:2px}.latest-item{flex:0 0 290px;padding:15px 16px;font-size:14.5px}.front{padding:32px 0 20px}.front-grid,.asia-grid,.newsroom-grid{grid-template-columns:1fr}.top-stories{margin-top:4px}.top-story{grid-template-columns:140px 1fr}.section{padding:60px 0}.section-head{align-items:flex-start;flex-direction:column;margin-bottom:30px}.section-tools{width:100%;justify-content:space-between}.tabs{max-width:100%}.asia-copy{grid-template-columns:1fr}.industry-feature{grid-template-columns:1fr}.industry-copy{padding:28px}.industry-grid,.choice-grid,.opinion-grid,.archive-grid,.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-feature{grid-template-columns:1fr 1fr;gap:28px}.review-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.instagram-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.newsletter-inner{grid-template-columns:1fr;gap:28px}.article-layout{display:block}.share-rail{display:none}.article-share-mobile{display:flex;flex-wrap:wrap;margin-left:0;margin-right:0}.related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-main{grid-template-columns:1.2fr 1fr 1fr}.footer-col:last-child{grid-column:2/4}}
@media(max-width:640px){.inline-related>a{grid-template-columns:minmax(0,1fr) 118px;gap:16px;padding:18px}.inline-related h3{font-size:16px;line-height:1.28}.inline-related p{display:none}.inline-related .meta{font-size:10.5px}.inline-related-media{border-radius:6px}body{font-size:16px}.shell{width:min(calc(100% - 28px),var(--max))}.brand-name{font-size:20px}.header-actions{gap:6px}.icon-btn{width:40px;height:40px}.latest-item{flex-basis:270px}.section{padding:50px 0}.section-title{font-size:38px}.section-sub{font-size:14.5px}.section-head{gap:18px;margin-bottom:26px}.section-title-wrap{gap:11px}.section-anchor{width:8px;height:8px;margin-bottom:7px}.tabs button{font-size:12.5px;padding:9px 11px}.front{padding-top:26px}.lead-story .media{margin-inline:-14px;border-radius:0;width:calc(100% + 28px)}.lead-copy{padding-top:18px}.lead-copy h1{font-size:36px;line-height:1.02;margin:8px 0 13px}.lead-copy .deck{font-size:16px}.top-stories{padding:0 16px}.top-story{grid-template-columns:118px 1fr;gap:14px;padding:17px 0}.top-story h3{font-size:16.5px}.asia-feature .media{margin-inline:-14px;border-radius:0;width:calc(100% + 28px)}.asia-copy{padding-top:17px}.asia-copy h3{font-size:31px}.asia-list{margin-inline:-14px;border-radius:0;padding:0 14px}.asia-row{grid-template-columns:112px 1fr;gap:14px;padding:17px 0}.newsroom-grid{gap:30px}.newsroom-row{grid-template-columns:76px 1fr}.industry-feature{margin-inline:-14px;border-left:0;border-right:0;border-radius:0}.industry-copy{padding:24px 14px 28px}.industry-grid,.choice-grid,.opinion-grid,.archive-grid,.feature-grid{grid-template-columns:1fr}.industry-card{padding:15px}.review-feature{grid-template-columns:1fr;gap:20px}.review-feature>div{padding-top:0;max-width:none}.review-feature h3{font-size:32px}.review-feature .deck{font-size:16px}.score-box{margin-top:22px}.score-value strong{font-size:54px}.review-list{grid-template-columns:1fr;gap:0;margin-top:34px;padding-top:10px}.review-row{display:grid;grid-template-columns:118px minmax(0,1fr);grid-template-areas:'media title' 'media excerpt' 'media score';gap:7px 14px;align-items:start;padding:18px 0;border-bottom:1px solid #343941}.review-row .media{grid-area:media;margin:0}.review-row strong{grid-area:title;font-size:16.5px;line-height:1.3}.review-row .review-excerpt{grid-area:excerpt;font-size:13.5px;line-height:1.45;margin:0;color:#aeb5bf}.review-row .score-box.mini{grid-area:score;margin:4px 0 0;padding:0}.score-box.mini .score-value strong{font-size:27px}.score-box.mini .score-scale{max-width:190px;margin-top:8px}.choice-grid{gap:28px}.choice-card h3{font-size:21px}.choice-card.feature h3{font-size:23px}.instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.instagram-card{border-radius:5px}.instagram-card-copy{left:11px;right:11px;bottom:11px}.instagram-card h3{font-size:13px}.instagram-format-icon{width:28px;height:28px;top:9px;right:9px}.event-row{grid-template-columns:1fr;gap:7px}.event-place{text-align:left}.newsletter{padding:48px 0}.newsletter-form{display:grid;grid-template-columns:1fr}.newsletter-form input,.newsletter-form button{border-radius:5px}.newsletter-form button{height:46px;margin-top:8px}.page-hero{padding:48px 0 40px}.page-hero h1{font-size:42px}.form-grid{grid-template-columns:1fr}.job{grid-template-columns:1fr;gap:8px}.article-shell{padding-top:36px}.article-head{margin-bottom:28px}.article-head h1{font-size:38px;line-height:1.03}.standfirst{font-size:17px}.article-actions{width:100%;margin:12px 0 0}.article-meta{align-items:flex-start;flex-wrap:wrap}.article-featured{margin-inline:-14px;width:calc(100% + 28px);border-radius:0;margin-bottom:36px}.article-layout{padding:0}.article-body{font-size:17px;line-height:1.78}.article-body h2,.continuous-body h2{font-size:29px}.article-body blockquote{font-size:22px}.related-reading{padding:30px 0 54px}.related-grid{grid-template-columns:1fr}.related-card{display:grid;grid-template-columns:120px 1fr;gap:14px}.related-card .media{margin:0}.continuous-separator{padding:24px 0}.continuous-article{padding:54px 0 66px}.continuous-head{padding:0 14px}.continuous-head h2{font-size:36px}.continuous-featured{margin-inline:0;border-radius:0}.continuous-body{padding:0 14px;font-size:17px}.footer-main{grid-template-columns:1fr;gap:28px}.footer-col:last-child{grid-column:auto}.footer-bottom{flex-direction:column}.ad-overlay{padding:12px}.ad-modal{width:min(94vw,82vh)}.ad-close{top:10px;right:10px}.ad-label{top:12px;left:12px}.ad-countdown{left:12px;bottom:12px}.ad-cta{right:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media(max-width:900px){.featured-spotlight{min-height:500px}.featured-spotlight-copy{min-height:500px;padding:38px}.continuous-meta .article-actions{width:auto;margin-left:auto}}
@media(max-width:640px){.featured-spotlight-section{padding:8px 0 54px}.featured-spotlight{margin-inline:-14px;border-radius:0;min-height:500px}.featured-spotlight:after{background:linear-gradient(0deg,rgba(10,12,16,.86) 0%,rgba(10,12,16,.52) 52%,rgba(10,12,16,.04) 83%)}.featured-spotlight-copy{min-height:500px;padding:28px 22px}.featured-spotlight-copy h2{font-size:34px;line-height:1.02}.featured-spotlight-copy p{font-size:15.5px}.article-featured-wrap{margin-inline:-14px;width:calc(100% + 28px);margin-bottom:36px}.article-featured{margin-inline:0;width:100%}.featured-caption,.continuous-caption{padding:0 14px;margin-top:9px}.continuous-featured-wrap{margin:0 0 38px}.continuous-featured{margin:0}.continuous-meta{padding:0 14px}.continuous-meta .article-actions{width:100%;margin:8px 0 0}.continuous-share-row{margin:22px 14px 0;flex-wrap:wrap}.changelog-entry{grid-template-columns:1fr;gap:3px}.changelog{margin:30px 0 38px}.lightbox-overlay{padding:10px}.lightbox-stage img{max-width:100%;max-height:calc(100vh - 112px)}.lightbox-caption{font-size:12px}.related-card .related-excerpt{display:none}}


/* Live-context author profiles */
.author-avatar{overflow:hidden;text-decoration:none}.author-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.author-avatar.large{width:66px;height:66px}.author-box{display:grid;grid-template-columns:66px minmax(0,1fr);gap:18px;margin:52px 0 10px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.author-box h3{font-size:22px;line-height:1.15;margin:2px 0 7px;letter-spacing:-.035em}.author-box p{margin:0 0 8px;font-size:14px;line-height:1.55;color:var(--muted)}.author-role{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--red)}.author-more{font-size:12px;font-weight:800;border-bottom:1px solid currentColor}.archive-card>.deck{font-size:13.5px;line-height:1.5;margin:0 0 10px}.ig-tile>img{width:100%;height:100%;object-fit:cover}
@media(max-width:640px){.author-box{grid-template-columns:52px minmax(0,1fr);gap:14px;margin-top:40px}.author-avatar.large{width:52px;height:52px}.author-box h3{font-size:20px}}


/* =========================================================
   Tech Edition typography system v17
   One Montserrat scale, six supported weights, consistent
   line-height and tracking across editorial and UI elements.
   ========================================================= */
:root{
  --font-brand:"Montserrat",sans-serif;
  --type-xs:12px;
  --type-sm:13px;
  --type-ui:14px;
  --type-copy:16px;
  --type-copy-lg:17px;
  --type-card:18px;
  --type-card-lg:22px;
  --type-subhead:28px;
  --type-section:clamp(40px,3.8vw,54px);
  --type-feature:clamp(34px,3vw,44px);
  --type-display:clamp(44px,4.6vw,64px);
  --type-page:clamp(48px,5.6vw,72px);
  --type-article:clamp(46px,5.6vw,72px);
  --lh-label:1.25;
  --lh-head:1.12;
  --lh-copy:1.6;
  --lh-body:1.78;
  --track-display:-.052em;
  --track-head:-.032em;
  --track-label:.065em;
}
html,body,button,input,textarea,select{font-family:var(--font-brand)}
body{font-size:var(--type-copy);line-height:1.6;font-weight:400}

/* Masthead and navigation */
.brand-name{font-size:22px;font-weight:900;line-height:1;letter-spacing:-.045em}
.edition{font-size:var(--type-sm);font-weight:600;line-height:1.35}
.header-btn{font-size:var(--type-xs);font-weight:800;line-height:1}
.primary-nav{font-size:var(--type-ui);font-weight:800;line-height:1}
.topic-rail{font-size:var(--type-sm);font-weight:700;line-height:1.25}
.drawer-body>a{font-size:24px;font-weight:800;line-height:1.15;letter-spacing:var(--track-head)}
.drawer-body>a small,.drawer-topics a{font-size:var(--type-xs);font-weight:700;line-height:1.3}
.search-input{font-size:clamp(38px,6vw,68px);font-weight:800;line-height:1;letter-spacing:var(--track-display)}
.search-result h3{font-size:var(--type-card-lg);font-weight:700;line-height:1.22;letter-spacing:var(--track-head)}

/* Shared editorial hierarchy */
.section-title{font-size:var(--type-section);font-weight:900;line-height:1;letter-spacing:var(--track-display)}
.section-sub{font-size:var(--type-copy);font-weight:400;line-height:var(--lh-copy)}
.section-link{font-size:var(--type-sm);font-weight:800;line-height:1.2}
.tabs button{font-size:var(--type-sm);font-weight:700;line-height:1}
.kicker,.insight-format{font-size:var(--type-xs);font-weight:800;line-height:var(--lh-label);letter-spacing:var(--track-label)}
.meta{font-size:var(--type-sm);font-weight:600;line-height:1.4}
.deck{font-size:var(--type-copy);font-weight:400;line-height:var(--lh-copy)}

/* Latest */
.latest-label{font-size:var(--type-sm);font-weight:900;line-height:1.2}
.latest-item{font-size:var(--type-copy);font-weight:700;line-height:1.4}
.latest-time{font-size:var(--type-sm);font-weight:800;line-height:1.35}

/* Homepage lead and Top Stories */
.lead-copy h1{font-size:var(--type-display);font-weight:900;line-height:1.01;letter-spacing:var(--track-display)}
.lead-copy .deck{font-size:var(--type-copy-lg);line-height:1.6}
.top-stories-head{font-size:var(--type-sm);font-weight:900;line-height:1.2}
.top-story h3{font-size:var(--type-card);font-weight:700;line-height:1.3;letter-spacing:var(--track-head)}

/* Asia Tech */
.asia-copy h3{font-size:var(--type-feature);font-weight:800;line-height:1.08;letter-spacing:-.045em}
.asia-copy p{font-size:var(--type-copy);line-height:var(--lh-copy)}
.asia-row h3{font-size:var(--type-card);font-weight:700;line-height:1.32;letter-spacing:var(--track-head)}

/* Newsroom */
.newsroom-feature h3{font-size:var(--type-feature);font-weight:800;line-height:1.08;letter-spacing:-.045em}
.newsroom-time{font-size:var(--type-sm);font-weight:800;line-height:1.35}
.newsroom-row h3{font-size:var(--type-card);font-weight:700;line-height:1.32;letter-spacing:var(--track-head)}

/* Industry Insights */
.insight-identity{font-size:clamp(30px,2.8vw,40px);font-weight:900;line-height:1.05;letter-spacing:-.045em}
.insight-role{font-size:var(--type-sm);font-weight:600;line-height:1.45}
.industry-copy h3{font-size:var(--type-subhead);font-weight:800;line-height:1.16;letter-spacing:-.04em}
.industry-card .insight-name{font-size:20px;font-weight:900;line-height:1.15;letter-spacing:var(--track-head)}
.industry-card .insight-role{font-size:var(--type-xs);font-weight:600}
.industry-card h3{font-size:var(--type-card);font-weight:700;line-height:1.32;letter-spacing:var(--track-head)}
.industry-card .deck{font-size:var(--type-ui);line-height:1.55}

/* Reviews */
.review-feature h3{font-size:clamp(36px,3.4vw,48px);font-weight:800;line-height:1.06;letter-spacing:-.048em}
.review-feature .deck{font-size:var(--type-copy);line-height:var(--lh-copy)}
.score-value strong{font-size:60px;font-weight:900;line-height:.9;letter-spacing:-.065em}
.score-value span{font-size:var(--type-sm);font-weight:700}
.review-row strong{font-size:var(--type-card);font-weight:700;line-height:1.32;letter-spacing:var(--track-head)}
.review-row .review-excerpt{font-size:var(--type-ui);line-height:1.55}
.score-box.mini .score-value strong{font-size:32px;font-weight:900;letter-spacing:-.045em}
.score-box.mini .score-value span{font-size:var(--type-xs);font-weight:700}

/* Editor's Choice, Opinion and Events */
.choice-card h3,.opinion-card h3{font-size:var(--type-card-lg);font-weight:700;line-height:1.25;letter-spacing:var(--track-head)}
.choice-card.feature h3{font-size:24px}
.choice-card p,.event-row p{font-size:var(--type-ui);line-height:1.55}
.author-line{font-size:var(--type-sm);font-weight:700;line-height:1.4}
.avatar{font-size:var(--type-xs);font-weight:800}
.event-date{font-size:var(--type-ui);font-weight:900;line-height:1.25}
.event-row h3{font-size:20px;font-weight:700;line-height:1.3;letter-spacing:var(--track-head)}
.event-place{font-size:var(--type-sm);font-weight:700;line-height:1.35}

/* Instagram */

/* Newsletter and standalone pages */
.newsletter h2{font-size:clamp(36px,4vw,50px);font-weight:900;line-height:1.04;letter-spacing:-.05em}
.newsletter p{font-size:var(--type-copy);line-height:var(--lh-copy)}
.newsletter-form button,.form-submit,.apply{font-size:var(--type-sm);font-weight:800}
.page-hero h1{font-size:var(--type-page);font-weight:900;line-height:1;letter-spacing:var(--track-display)}
.page-hero p{font-size:var(--type-copy-lg);line-height:1.65}
.archive-card h2{font-size:var(--type-card-lg);font-weight:700;line-height:1.25;letter-spacing:var(--track-head)}
.archive-card>.deck{font-size:var(--type-ui);line-height:1.55}
.feature-box h3,.job h3{font-size:var(--type-card-lg);font-weight:700;line-height:1.25;letter-spacing:var(--track-head)}
.job p{font-size:var(--type-ui);line-height:1.55}
.field label{font-size:var(--type-xs);font-weight:800;line-height:1.35}

/* Article */
.breadcrumbs{font-size:var(--type-sm);font-weight:600;line-height:1.4}
.article-head h1{font-size:var(--type-article);font-weight:900;line-height:1.01;letter-spacing:var(--track-display)}
.standfirst{font-size:20px;font-weight:400;line-height:1.55}
.article-meta-copy,.article-meta-copy strong{font-size:var(--type-sm);font-weight:600;line-height:1.45}
.article-meta-copy strong{font-weight:700}
.share-btn,.copy-btn{font-size:var(--type-xs);font-weight:800}
.share-rail a{font-size:var(--type-xs);font-weight:800}
.article-body,.continuous-body{font-size:18px;font-weight:400;line-height:var(--lh-body)}
.article-body h2,.continuous-body h2{font-size:32px;font-weight:800;line-height:1.18;letter-spacing:-.04em}
.article-body blockquote{font-size:24px;font-weight:700;line-height:1.45;letter-spacing:var(--track-head)}
.article-body figcaption,.featured-caption,.continuous-caption,.lightbox-caption{font-size:var(--type-sm);font-weight:500;line-height:1.5}
.article-tags a{font-size:var(--type-xs);font-weight:700}
.related-reading>.section-title-wrap h2{font-size:30px;font-weight:900;line-height:1.1;letter-spacing:-.04em}
.related-card h3{font-size:var(--type-card);font-weight:700;line-height:1.3;letter-spacing:var(--track-head)}
.related-card .related-excerpt{font-size:var(--type-ui);line-height:1.55}
.continuous-separator strong{font-size:var(--type-sm);font-weight:800;letter-spacing:var(--track-label)}
.continuous-separator span{font-size:var(--type-sm);line-height:1.45}
.continuous-head h2{font-size:clamp(42px,5vw,62px);font-weight:900;line-height:1.02;letter-spacing:var(--track-display)}
.continuous-limit h3{font-size:24px;font-weight:800;line-height:1.2;letter-spacing:-.035em}
.continuous-limit button,.continuous-limit-link{font-size:var(--type-xs);font-weight:800}
.continuous-share-row>span{font-size:var(--type-xs);font-weight:800;letter-spacing:var(--track-label)}
.continuous-share-row a,.article-share-mobile a{font-size:var(--type-xs);font-weight:800}

/* Featured homepage module */
.featured-spotlight-copy h2{font-size:clamp(40px,5vw,64px);font-weight:900;line-height:1.01;letter-spacing:var(--track-display)}
.featured-spotlight-copy p{font-size:var(--type-copy-lg);line-height:1.6}

/* Changelog and author */
.changelog-title h3{font-size:24px;font-weight:800;line-height:1.2;letter-spacing:var(--track-head)}
.changelog-date{font-size:var(--type-sm);font-weight:800;line-height:1.4}
.changelog-entry p{font-size:var(--type-ui);line-height:1.55}
.author-box h3{font-size:20px;font-weight:800;line-height:1.2;letter-spacing:var(--track-head)}
.author-box p{font-size:var(--type-ui);line-height:1.55}
.author-role{font-size:var(--type-xs);font-weight:800;letter-spacing:var(--track-label)}
.author-more{font-size:var(--type-sm);font-weight:800}

/* Footer and ad UI */
.footer-brand p{font-size:var(--type-ui);line-height:1.55}
.footer-col h3{font-size:var(--type-xs);font-weight:800;letter-spacing:var(--track-label)}
.footer-col a,.footer-col button{font-size:var(--type-sm);font-weight:500}
.footer-bottom{font-size:var(--type-xs);line-height:1.45}
.ad-close{font-size:24px;font-weight:500;line-height:1}
.ad-label{font-size:var(--type-xs);font-weight:800;letter-spacing:var(--track-label)}
.ad-countdown{font-size:var(--type-sm);font-weight:700}
.ad-cta{font-size:var(--type-xs);font-weight:800}
.toast{font-size:var(--type-xs);font-weight:700}
.lightbox-close{font-size:24px;font-weight:500}

@media(max-width:900px){
  .section-title{font-size:40px}
  .lead-copy h1{font-size:44px}
  .asia-copy h3,.newsroom-feature h3{font-size:34px}
  .industry-copy h3{font-size:26px}
  .review-feature h3{font-size:38px}
  .featured-spotlight-copy h2{font-size:40px}
}
@media(max-width:640px){
  body{font-size:16px}
  .brand-name{font-size:20px}
  .latest-item{font-size:15px}
  .section-title{font-size:34px;line-height:1.03}
  .section-sub{font-size:15px}
  .tabs button{font-size:13px}
  .lead-copy h1{font-size:36px;line-height:1.04}
  .lead-copy .deck{font-size:16px}
  .top-story h3,.asia-row h3,.newsroom-row h3,.industry-card h3,.review-row strong,.related-card h3{font-size:17px}
  .asia-copy h3,.newsroom-feature h3{font-size:30px}
  .insight-identity{font-size:30px}
  .industry-copy h3{font-size:25px}
  .industry-card .insight-name{font-size:19px}
  .review-feature h3{font-size:32px}
  .review-feature .deck{font-size:16px}
  .score-value strong{font-size:52px}
  .score-box.mini .score-value strong{font-size:28px}
  .choice-card h3,.opinion-card h3,.archive-card h2{font-size:20px}
  .choice-card.feature h3{font-size:22px}
  .page-hero h1{font-size:40px}
  .page-hero p{font-size:16px}
  .article-head h1{font-size:36px;line-height:1.04}
  .standfirst{font-size:17px;line-height:1.6}
  .article-body,.continuous-body{font-size:17px;line-height:1.75}
  .article-body h2,.continuous-body h2{font-size:28px;line-height:1.2}
  .article-body blockquote{font-size:21px}
  .continuous-head h2{font-size:34px}
  .featured-spotlight-copy h2{font-size:32px;line-height:1.04}
  .featured-spotlight-copy p{font-size:16px}
  .related-reading>.section-title-wrap h2{font-size:28px}
  .changelog-title h3{font-size:22px}
}


/* v19 interaction system */
.top-stories-head small{font-size:11px;line-height:1;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.top-stories-more{display:flex;justify-content:flex-end;padding:13px 0 16px;font-size:12px;font-weight:800;color:var(--muted)}.top-stories-more:hover{color:var(--red)}
.story-interactive{--hover-scale:1.016}.story-interactive .media img{transition:transform .2s cubic-bezier(.2,.75,.3,1)}.story-interactive :is(h1,h2,h3),.story-interactive :is(h1,h2,h3) a,.review-row.story-interactive>strong{transition:color .18s ease}.story-interactive:hover .media img,.story-interactive:focus-within .media img{transform:scale(var(--hover-scale))}.lead-story.story-interactive:hover .lead-copy h1 a,.top-story.story-interactive:hover h3,.asia-feature.story-interactive:hover .asia-copy h3 a,.asia-row.story-interactive:hover h3,.newsroom-feature.story-interactive:hover h3 a,.newsroom-row.story-interactive:hover h3,.industry-feature.story-interactive:hover .industry-copy h3 a,.industry-card.story-interactive:hover h3,.review-feature.story-interactive:hover h3 a,.review-row.story-interactive:hover>strong,.choice-card.story-interactive:hover h3 a,.related-card.story-interactive:hover h3,.archive-card.story-interactive:hover h2 a,.search-result.story-interactive:hover h3,.opinion-card.story-interactive:hover h3 a,.lead-story.story-interactive:focus-within .lead-copy h1 a,.top-story.story-interactive:focus-within h3,.asia-feature.story-interactive:focus-within .asia-copy h3 a,.asia-row.story-interactive:focus-within h3,.newsroom-feature.story-interactive:focus-within h3 a,.newsroom-row.story-interactive:focus-within h3,.industry-feature.story-interactive:focus-within .industry-copy h3 a,.industry-card.story-interactive:focus-within h3,.review-feature.story-interactive:focus-within h3 a,.review-row.story-interactive:focus-within>strong,.choice-card.story-interactive:focus-within h3 a,.related-card.story-interactive:focus-within h3,.archive-card.story-interactive:focus-within h2 a,.search-result.story-interactive:focus-within h3,.opinion-card.story-interactive:focus-within h3 a{color:var(--red)}.industry-card.story-interactive:hover{transform:none;box-shadow:var(--shadow)}
/* Industry Insights: editorial title first, identity second. */
.industry-copy h3{font-size:clamp(32px,3vw,44px);line-height:1.06;margin:8px 0 18px;font-weight:800}.industry-card h3{font-size:20px;line-height:1.27;margin:7px 0 14px;font-weight:700}.insight-attribution{display:grid;gap:3px;padding-top:13px;border-top:1px solid var(--line);margin-bottom:16px}.insight-attribution strong{font-size:15px;line-height:1.25;font-weight:800;letter-spacing:-.02em}.insight-attribution span{font-size:12.5px;line-height:1.4;color:var(--muted);font-weight:600}.industry-card .insight-attribution{padding-top:11px;margin-bottom:12px}.industry-card .insight-attribution strong{font-size:14px}
/* Featured story gets its own interaction language: no red title and almost no zoom. */
.featured-spotlight .feature-media img{transition:transform .28s ease,filter .28s ease}.featured-spotlight:hover .feature-media img,.featured-spotlight:focus-visible .feature-media img{transform:scale(1.006);filter:brightness(.94) saturate(1.03)}.featured-spotlight-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.feature-cta{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:13px;font-weight:800;white-space:nowrap;opacity:.82}.feature-cta b{font-size:17px;line-height:1;transition:transform .2s ease}.featured-spotlight:hover .feature-cta b,.featured-spotlight:focus-visible .feature-cta b{transform:translateX(5px)}
/* Lightweight entrance motion, only below the fold. */
.reveal-item{opacity:0;transform:translateY(8px);transition:opacity .38s ease,transform .38s cubic-bezier(.2,.75,.3,1)}.reveal-item.is-visible{opacity:1;transform:none}.live-dot{animation:livePulse 2.4s ease-in-out infinite}@keyframes livePulse{0%,100%{box-shadow:0 0 0 4px rgba(236,53,53,.10)}50%{box-shadow:0 0 0 7px rgba(236,53,53,.03)}}.lightbox-overlay,.ad-overlay{animation:overlayIn .18s ease both}.lightbox-stage img,.ad-modal{animation:modalIn .22s cubic-bezier(.2,.75,.3,1) both}@keyframes overlayIn{from{opacity:0}to{opacity:1}}@keyframes modalIn{from{opacity:.7;transform:scale(.985)}to{opacity:1;transform:none}}
@media(hover:none){.story-interactive:hover .media img{transform:none}.featured-spotlight:hover .feature-media img{transform:none;filter:none}}
@media(max-width:640px){.top-stories-head small{font-size:10px}.featured-spotlight-bottom{align-items:flex-start;flex-direction:column;gap:14px}.feature-cta{font-size:12px}.industry-copy h3{font-size:30px}.industry-card h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){.reveal-item{opacity:1!important;transform:none!important}.live-dot{animation:none!important}.lightbox-overlay,.ad-overlay,.lightbox-stage img,.ad-modal{animation:none!important}}


/* v20 interaction + editorial consistency pass */
.edition{font-size:12px;font-weight:700;letter-spacing:.055em;text-transform:lowercase;color:var(--muted)}
/* Major editorial leads share the same Montserrat display weight. */
.lead-copy h1,.asia-copy h3,.newsroom-feature h3,.industry-copy h3,.featured-spotlight-copy h2,.article-head h1,.continuous-head h2{font-weight:900}
/* Industry Insights lead: full-height media on desktop, normal 16:9 when stacked. */
.industry-feature{align-items:stretch}
.industry-feature>a.media{height:100%;min-height:470px;aspect-ratio:auto;align-self:stretch}
.industry-feature>a.media img{width:100%;height:100%;object-fit:cover}
.industry-copy{min-height:470px}
/* Featured spotlight: no zoom/lift. Interaction is conveyed through tone + CTA arrow. */
.featured-spotlight{box-shadow:none;transition:none}
.featured-spotlight .feature-media img{transform:none!important;transition:filter .2s ease}
.featured-spotlight:hover .feature-media img,.featured-spotlight:focus-visible .feature-media img{transform:none!important;filter:brightness(.965) saturate(1.015)}
.featured-spotlight-copy{transition:none}
.feature-meta{align-items:center;gap:8px 12px}
.feature-meta .feature-cta{display:inline-flex;align-items:center;gap:7px;color:#fff;font-size:13px;font-weight:800;white-space:nowrap}
.feature-meta .feature-cta:before{content:"•";color:rgba(255,255,255,.46);margin-right:2px}
.feature-meta .feature-cta b{font-size:15px;font-weight:700;transition:transform .18s ease}
.featured-spotlight:hover .feature-cta b,.featured-spotlight:focus-visible .feature-cta b{transform:translateX(4px)}
/* Lightbox affordance: visible but deliberately quiet. */
.image-lightbox-trigger{position:relative}
.expand-indicator{position:absolute;right:12px;bottom:12px;width:34px;height:34px;border-radius:6px;display:grid;place-items:center;background:rgba(10,12,16,.66);border:1px solid rgba(255,255,255,.30);color:#fff;opacity:.82;pointer-events:none;backdrop-filter:blur(5px);transition:opacity .16s ease,background .16s ease}
.expand-indicator svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.image-lightbox-trigger:hover .expand-indicator,.image-lightbox-trigger:focus-visible .expand-indicator{opacity:1;background:rgba(10,12,16,.82)}
/* Author profile: editorial byline treatment, not a boxed widget. */
.author-box{display:block;margin:54px 0 8px;padding:28px 0 0;border-top:1px solid var(--ink);border-bottom:0}
.author-box-label{font-size:11px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.075em;color:var(--red);margin-bottom:18px}
.author-box-inner{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;align-items:start}
.author-avatar.large{width:72px;height:72px;background:#EDEDED;border:1px solid var(--line)}
.author-avatar.large span{color:var(--muted)}
.author-heading{display:flex;align-items:baseline;gap:10px 14px;flex-wrap:wrap;margin-bottom:7px}
.author-box h3{font-size:20px;font-weight:800;line-height:1.2;letter-spacing:-.03em;margin:0}
.author-role{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}
.author-box p{max-width:610px;margin:0 0 8px;font-size:14px;line-height:1.6;color:var(--muted)}
.author-more{display:inline-block;font-size:12px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:2px}
@media(max-width:900px){.industry-feature>a.media{height:auto;min-height:0;aspect-ratio:16/9}.industry-copy{min-height:0}}
@media(max-width:640px){.expand-indicator{right:9px;bottom:9px;width:32px;height:32px}.author-box{margin-top:42px;padding-top:24px}.author-box-inner{grid-template-columns:58px minmax(0,1fr);gap:14px}.author-avatar.large{width:58px;height:58px}.author-heading{display:block}.author-role{display:block;margin-top:3px}}
@media(prefers-reduced-motion:reduce){.featured-spotlight .feature-media img,.feature-meta .feature-cta b,.expand-indicator{transition:none!important}}


/* =========================================================
   v21 — brand palette + final feedback audit corrections
   Brand: #EC3535 #EB6868 #000000 #777777 #EDEDED #F4F4F4
   ========================================================= */
:root{
  --brand-red:#EC3535;
  --brand-red-soft:#EB6868;
  --brand-black:#000000;
  --brand-grey:#777777;
  --brand-light:#EDEDED;
  --brand-paper:#F4F4F4;
  --red:var(--brand-red);
  --red-soft:var(--brand-red-soft);
  --ink:var(--brand-black);
  --ink-2:var(--brand-black);
  --muted:var(--brand-grey);
  --line:var(--brand-light);
  --line-dark:var(--brand-grey);
  --surface:var(--brand-light);
  --surface-2:var(--brand-paper);
  --paper:var(--brand-paper);
}
html,body{background:var(--brand-paper);color:var(--brand-black)}
.site-header{background:rgba(244,244,244,.97)}
.search-layer{background:rgba(244,244,244,.99)}
.section.soft{background:var(--brand-light)}
.section.white,.latest-strip{background:var(--brand-paper)}
.section.dark,.newsletter,.footer{background:var(--brand-black)}
.kicker,.insight-format,.latest-time,.author-box-label{color:var(--brand-red)}
.header-btn.primary,.section-anchor,.brand-mark,.live-dot{background:var(--brand-red)}
.header-btn.primary{border-color:var(--brand-red)}
.tabs button.active{background:var(--brand-black);color:var(--brand-paper)}
.tabs button:hover{background:var(--brand-light)}

/* Keep display typography recognisably one Montserrat system. */
.lead-copy h1,.asia-copy h3,.newsroom-feature h3,.industry-copy h3,.featured-spotlight-copy h2,.article-head h1,.continuous-head h2,.section-title{font-weight:900}

/* Asia Tech: one cohesive lead story + a quieter supporting rail. */
.asia-grid{grid-template-columns:minmax(0,1.62fr) minmax(310px,.58fr);gap:38px;align-items:start}
.asia-feature{min-width:0}
.asia-feature .media{box-shadow:none;border-radius:var(--radius-lg)}
.asia-copy{display:block;padding-top:20px;max-width:880px}
.asia-copy h3{font-size:clamp(34px,3.15vw,44px);line-height:1.055;letter-spacing:-.05em;margin:8px 0 12px;max-width:20ch}
.asia-copy .deck{max-width:760px;margin:0 0 15px;font-size:16px;line-height:1.62;color:var(--brand-grey)}
.asia-list{background:transparent;border:0;border-top:3px solid var(--brand-red);padding:0;border-radius:0;box-shadow:none}
.asia-list-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0 8px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.asia-list-head a{font-size:12px;text-transform:none;letter-spacing:0;border-bottom:1px solid currentColor;padding-bottom:2px}
.asia-row{grid-template-columns:126px minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid var(--brand-light)}
.asia-row .media{border-radius:6px}
.asia-row h3{font-size:17px;line-height:1.28;margin:5px 0 7px;font-weight:800}
.asia-row .meta{font-size:12px}

/* Unified hover: image and title react as one system from anywhere inside the story. */
.story-interactive:is(:hover,:focus-within) .media img{transform:scale(1.014)}
.story-interactive:is(:hover,:focus-within) :is(h1,h2,h3) a,
.story-interactive:is(:hover,:focus-within)>strong,
.story-interactive:is(:hover,:focus-within) h3{color:var(--brand-red)}

/* The large featured module is deliberately calmer than ordinary cards. */
.featured-spotlight:is(:hover,:focus-visible) .feature-media img{transform:none!important;filter:brightness(.975)}
.featured-spotlight-copy{display:flex;flex-direction:column;align-items:flex-start}
.feature-meta{margin-top:6px;width:100%}
.feature-meta .feature-cta{position:static;margin-left:2px;color:var(--brand-paper)}
.feature-meta .feature-cta:before{color:var(--brand-red-soft)}
.featured-spotlight:is(:hover,:focus-visible) .feature-cta b{transform:translateX(3px)}

/* Industry lead stays geometrically balanced across both content types. */
.industry-feature>a.media{height:100%;min-height:470px;aspect-ratio:auto}
.industry-feature>a.media img{height:100%;object-fit:cover}
.industry-copy{min-height:470px}
.insight-attribution{border-top:1px solid var(--brand-light)}

/* Expand affordance uses the brand system rather than a generic dark glass button. */
.expand-indicator{background:rgba(0,0,0,.68);border-color:rgba(244,244,244,.42);color:var(--brand-paper)}
.image-lightbox-trigger:is(:hover,:focus-visible) .expand-indicator{background:var(--brand-black)}

/* Author photo must always reserve a real image area; live WP avatar hydrates over the fallback. */
.author-avatar{overflow:hidden;background:var(--brand-light);border:1px solid var(--brand-light)}
.author-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.author-avatar.large{background:var(--brand-light);border-color:var(--brand-light)}

@media(max-width:900px){
  .asia-grid{grid-template-columns:1fr;gap:28px}
  .asia-list{margin-top:4px}
  .industry-feature>a.media{height:auto;min-height:0;aspect-ratio:16/9}
  .industry-copy{min-height:0}
}
@media(max-width:640px){
  .asia-copy h3{font-size:30px;max-width:none}
  .asia-copy .deck{font-size:15px}
  .asia-list-head{padding-inline:0}
  .asia-row{grid-template-columns:112px minmax(0,1fr);gap:14px}
}
@media(hover:none){
  .story-interactive:is(:hover,:focus-within) .media img{transform:none}
  .featured-spotlight:is(:hover,:focus-visible) .feature-media img{filter:none}
}
@media(prefers-reduced-motion:reduce){
  .story-interactive .media img,.story-interactive :is(h1,h2,h3),.story-interactive :is(h1,h2,h3) a{transition:none!important}
}


/* v22 article-system corrections */
.article-body h2{scroll-margin-top:calc(var(--header) + 34px)}
.article-toc{margin:30px 0 42px;padding:22px 0;border-top:1px solid var(--brand-light);border-bottom:1px solid var(--brand-light)}
.article-toc h3{margin:0 0 14px;font-size:18px;line-height:1.2;font-weight:800;letter-spacing:-.025em;color:var(--brand-black)}
.article-toc ol{margin:0;padding:0;list-style:none;display:grid;gap:9px;counter-reset:toc}
.article-toc li{counter-increment:toc}
.article-toc a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start;font-size:13px;line-height:1.45;font-weight:600;color:var(--brand-grey);transition:color .16s ease}
.article-toc a:before{content:counter(toc,decimal-leading-zero);font-size:11px;line-height:1.7;font-weight:800;color:var(--brand-red)}
.article-toc a:hover,.article-toc a:focus-visible{color:var(--brand-black)}

/* Changelog is an end-of-article record, not a replacement for the TOC. */
.article-body>.changelog{margin:54px 0 0;padding:26px 0 4px;border-top:1px solid var(--brand-black);border-bottom:0}

/* Captions use one compact system everywhere. */
.article-body figcaption,.featured-caption,.continuous-caption{font-size:12px!important;line-height:1.5!important;font-weight:500!important;color:var(--brand-grey)!important;margin-top:8px!important}
.featured-caption,.continuous-caption{padding-left:1px;padding-right:1px}

/* Click-to-expand affordance and reliable trigger target. */
.image-lightbox-trigger{position:relative;isolation:isolate;cursor:zoom-in!important}
.article-featured .image-lightbox-trigger,.continuous-featured .image-lightbox-trigger{width:100%;height:100%;display:block}
.expand-indicator{right:10px;bottom:10px;width:32px;height:32px;border-radius:4px;background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.5);backdrop-filter:none;opacity:.78}
.image-lightbox-trigger:is(:hover,:focus-visible) .expand-indicator{opacity:1;background:rgba(0,0,0,.82)}

/* Full-viewport lightbox: no framed modal, rounded backdrop or image border. */
.lightbox-overlay{position:fixed;inset:0;z-index:2600;background:rgba(0,0,0,.94);display:flex;flex-direction:column;padding:0!important;gap:0;border:0!important;border-radius:0!important;box-shadow:none!important}
.lightbox-top{position:absolute;top:0;right:0;z-index:2;padding:16px;display:block}
.lightbox-close{width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(0,0,0,.4);color:#fff}
.lightbox-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:58px 0 42px}
.lightbox-stage img{display:block;max-width:100vw!important;max-height:calc(100vh - 112px)!important;width:auto;height:auto;object-fit:contain;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.lightbox-caption{flex:none;width:100%;max-width:none;margin:0;padding:10px 24px 14px;background:rgba(0,0,0,.94);color:rgba(255,255,255,.78);font-size:12px!important;line-height:1.45;text-align:center}

/* Tags behave like deliberate interactive elements. */
.article-tags a{transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}
.article-tags a:hover,.article-tags a:focus-visible{background:var(--brand-black);border-color:var(--brand-black);color:var(--brand-paper);transform:translateY(-1px)}

/* Google audience buttons replace the large Share / Copy pair in article headers. */
.google-actions{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.google-action{height:42px;display:inline-flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #d8d8d8;border-radius:7px;background:#fff;color:#202124;font-family:"Montserrat",sans-serif;font-size:11px;line-height:1.15;font-weight:500;text-decoration:none;box-shadow:0 1px 2px rgba(0,0,0,.03);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.google-action:hover,.google-action:focus-visible{border-color:#bdbdbd;box-shadow:0 2px 6px rgba(0,0,0,.08);transform:translateY(-1px)}
.google-action svg{width:24px;height:24px;flex:none}
.google-action strong{display:block;font-size:12px;font-weight:700;color:#202124}
.google-action span{display:block;white-space:nowrap}

/* Real author portrait gets visual priority; fallback remains only if remote sources fail. */
.author-avatar{box-shadow:none}
.article-meta>.author-avatar{width:44px;height:44px}
.author-avatar.large{width:72px;height:72px}
.author-box-inner{grid-template-columns:72px minmax(0,1fr)}
.author-avatar img{background:var(--brand-light)}

@media(max-width:760px){
  .google-actions{width:100%;margin:12px 0 0;justify-content:flex-start}
  .google-action{height:40px;padding:0 10px}
  .google-action svg{width:22px;height:22px}
  .article-toc{margin:26px 0 34px}
  .lightbox-stage{padding:56px 0 36px}
  .lightbox-caption{padding-inline:14px}
}


/* =========================================================
   v23 — minimalism / regression-control pass
   Visual-only overrides. Existing content, data and behaviour
   from v22 are intentionally left intact.
   ========================================================= */
:root{
  --paper:#FFFFFF;
  --surface:#F4F4F4;
  --surface-2:#F4F4F4;
  --line:#EDEDED;
  --shadow:none;
  --radius:6px;
  --radius-lg:8px;
}
html,body{background:#fff;color:var(--brand-black)}

/* Header: clean white newsroom chrome with hairline separation only. */
.site-header{
  background:#fff;
  backdrop-filter:none;
  border-bottom:0;
  box-shadow:0 1px 0 var(--brand-light);
}
.navbar{background:#fff;border-top:1px solid #F4F4F4}
.search-layer{background:#fff}
.icon-btn,.header-btn{border-color:var(--brand-light)}
.header-btn.primary{border-color:var(--brand-red)}
.primary-nav a:after{height:2px}
.topic-rail a,.primary-nav a{transition:color .16s ease}
.topic-rail a:hover,.primary-nav a:hover{color:var(--brand-red)}

/* White is the default canvas. Grey is reserved for controls/placeholders, not whole sections. */
.section.soft,.section.white,.latest-strip,.continuous-wrap{background:#fff}
.section+.section{border-top:0}
.section.dark{background:var(--brand-black)}

/* Remove accumulated cardiness and unnecessary elevation. */
.lead-story .media,.asia-feature .media,.industry-feature,.industry-card,.top-stories,.feature-box,.form-panel{box-shadow:none}
.card-hover:hover{transform:none;box-shadow:none}
.top-stories{border:0;border-radius:0;padding:0;background:#fff}
.industry-feature{border-color:var(--brand-light)}
.industry-card{border-color:var(--brand-light);box-shadow:none}
.industry-card:hover{box-shadow:none}

/* Thin, deliberate separators. */
.latest-strip{border-bottom:1px solid var(--brand-light)}
.top-stories-head{border-bottom:2px solid var(--brand-red)}
.asia-list{border-top:2px solid var(--brand-red)}
.newsroom-list{border-top:1px solid var(--brand-black)}
.events,.jobs{border-top:1px solid var(--brand-black)}
.opinion-card{background:#fff;border-top:2px solid var(--brand-red);padding:22px 0 0;border-radius:0}

/* v34: restore the clean Opinion card treatment and make Events interactive without changing other modules. */
.opinion-grid{gap:22px}
.opinion-card{background:#fff;border:1px solid var(--brand-light);border-top:2px solid var(--brand-red);padding:24px;border-radius:7px;min-height:100%;display:flex;flex-direction:column}
.opinion-card .deck{margin-bottom:20px}
.opinion-card .author-line{margin-top:auto;padding-top:4px}
.opinion-card:is(:hover,:focus-within){border-color:#d9d9d9}

.events{border-top:1px solid var(--brand-light)}
.event-row{position:relative;width:100%;border:0;border-bottom:1px solid var(--brand-light);background:transparent;text-align:left;display:grid;grid-template-columns:160px minmax(0,1fr) 180px 24px;gap:22px;padding:22px 0;align-items:start;color:inherit;cursor:pointer}
.event-row:after{content:"→";font-size:18px;line-height:1;color:var(--brand-grey);transition:transform .18s ease,color .18s ease}
.event-row h3{transition:color .18s ease}
.event-row:is(:hover,:focus-visible) h3{color:var(--brand-red)}
.event-row:is(:hover,:focus-visible):after{color:var(--brand-red);transform:translateX(3px)}
.event-row:focus-visible{outline:2px solid rgba(236,53,53,.28);outline-offset:5px}
.event-place{text-align:right}

.event-modal{position:fixed;inset:0;z-index:2300;background:rgba(0,0,0,.58);display:grid;place-items:center;padding:28px;animation:eventBackdrop .16s ease both}
.event-modal-panel{width:min(940px,100%);max-height:min(84vh,760px);overflow:auto;background:#fff;border-radius:9px;display:grid;grid-template-columns:minmax(0,1fr) 390px;position:relative;animation:eventPanel .18s ease both}
.event-modal-copy{padding:42px 40px 38px}
.event-modal-kicker{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--brand-red);margin-bottom:12px}
.event-modal h2{margin:0 48px 14px 0;font-size:clamp(30px,4vw,44px);line-height:1.05;font-weight:900;letter-spacing:-.045em}
.event-modal-meta{display:flex;flex-wrap:wrap;gap:8px 18px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--brand-light);font-size:13px;font-weight:700;color:var(--brand-grey)}
.event-modal p{margin:0;color:var(--brand-grey);font-size:15px;line-height:1.7}
.event-modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.event-modal-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border:1px solid var(--brand-black);border-radius:5px;font-size:12px;font-weight:800;transition:background .16s ease,color .16s ease,border-color .16s ease}
.event-modal-link.primary{background:var(--brand-black);color:#fff}
.event-modal-link:is(:hover,:focus-visible){background:var(--brand-red);border-color:var(--brand-red);color:#fff}
.event-modal-map{min-height:480px;background:var(--brand-paper);border-left:1px solid var(--brand-light)}
.event-modal-map iframe{width:100%;height:100%;min-height:480px;border:0;display:block}
.event-modal-close{position:absolute;top:14px;right:14px;z-index:2;width:36px;height:36px;border:1px solid var(--brand-light);border-radius:50%;background:#fff;display:grid;place-items:center;font-size:22px;line-height:1}
.event-modal-close:is(:hover,:focus-visible){border-color:var(--brand-black)}
@keyframes eventBackdrop{from{opacity:0}to{opacity:1}}
@keyframes eventPanel{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:900px){.event-modal-panel{grid-template-columns:1fr}.event-modal-map{min-height:300px;border-left:0;border-top:1px solid var(--brand-light)}.event-modal-map iframe{min-height:300px}}
@media(max-width:640px){.event-row{grid-template-columns:1fr 24px;gap:7px 12px}.event-row .event-date,.event-row>div:nth-child(2),.event-row .event-place{grid-column:1}.event-row:after{grid-column:2;grid-row:1/4;align-self:center}.event-place{text-align:left}.event-modal{padding:12px;align-items:end}.event-modal-panel{max-height:92vh;border-radius:9px 9px 0 0}.event-modal-copy{padding:32px 20px 26px}.event-modal h2{margin-right:38px;font-size:31px}.event-modal-map,.event-modal-map iframe{min-height:240px}}
@media(prefers-reduced-motion:reduce){.event-modal,.event-modal-panel{animation:none}.event-row:after{transition:none}}

.related-reading{border-top:1px solid var(--brand-light)}
.author-box{border-top:1px solid var(--brand-light)}
.article-body>.changelog{border-top:1px solid var(--brand-light)}
.article-body blockquote{border-left-width:2px}
.continuous-article{border-top:1px solid var(--brand-light)}
.continuous-share-row,.continuous-separator{border-top-color:var(--brand-light)}
.footer-bottom{border-top-color:#242424}

/* Keep lists airy without turning them into grey panels. */
.latest-item:hover{background:#F4F4F4}
.tabs button:hover{background:transparent;color:var(--brand-black)}
.tabs button.active{background:var(--brand-black);color:#fff}
.asia-list{background:#fff}

/* Return the newsletter to the brand accent; footer remains the dark endpoint. */
.newsletter{background:var(--brand-red);color:#fff}
.footer{background:var(--brand-black)}

/* Bring stray legacy greys back into the approved brand palette. */
.standfirst,.article-body,.continuous-body{color:var(--brand-black)}
.article-meta-copy,.breadcrumbs,.deck,.section-sub,.author-box p{color:var(--brand-grey)}
.footer-brand p{color:var(--brand-light)}
.footer-col h3,.footer-bottom{color:var(--brand-grey)}
.footer-col a,.footer-col button{color:var(--brand-light)}

/* Inputs and secondary UI should use a hairline, not a boxy outline. */
.field input,.field textarea,.field select,.share-btn,.copy-btn,.continuous-share-row a,.article-share-mobile a,.article-tags a{
  border-color:var(--brand-light);
  box-shadow:none;
}
.google-action{box-shadow:none;border-color:var(--brand-light)}
.google-action:hover,.google-action:focus-visible{box-shadow:none;border-color:#D8D8D8;transform:none}

/* Preserve the approved image/title hover behaviour, but keep it quiet. */
.story-interactive{--hover-scale:1.012}
.story-interactive .media img{transition:transform .18s cubic-bezier(.2,.75,.3,1)}
.story-interactive :is(h1,h2,h3),.story-interactive :is(h1,h2,h3) a,.review-row.story-interactive>strong{transition:color .16s ease}

/* Large editorial spotlight: no scaling, no lift, just a subtle tonal cue. */
.featured-spotlight{box-shadow:none}
.featured-spotlight .feature-media img{transform:none!important;transition:filter .18s ease}
.featured-spotlight:is(:hover,:focus-visible) .feature-media img{transform:none!important;filter:brightness(.98)}

/* Entrance animation stays restrained. */
.reveal-item{transform:translateY(6px);transition-duration:.3s}

@media(max-width:900px){
  .site-header{box-shadow:0 1px 0 var(--brand-light)}
}
@media(hover:none){
  .latest-item:hover{background:transparent}
}
@media(prefers-reduced-motion:reduce){
  .story-interactive .media img,.featured-spotlight .feature-media img{transition:none!important}
}


/* =========================================================
   v24 Asia Tech editorial spread
   Locked redesign for this section only. It deliberately
   breaks the recurring lead + right-rail pattern elsewhere.
   ========================================================= */
.asia-tech-section{background:var(--brand-light)}
.asia-spread{min-width:0}
.asia-lead-spread{border-top:1px solid var(--brand-black);padding-top:22px}
.asia-lead-link{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);grid-template-areas:"copy media";gap:44px;align-items:center}
.asia-lead-copy{grid-area:copy;min-width:0;padding:10px 0}
.asia-lead-media{grid-area:media;min-width:0}
.asia-lead-media .media{aspect-ratio:16/9;border-radius:7px;box-shadow:none}
.asia-lead-copy h3{margin:9px 0 14px;font-size:clamp(34px,3.4vw,50px);line-height:1.03;font-weight:900;letter-spacing:-.052em}
.asia-lead-copy .deck{max-width:520px;margin:0 0 18px;color:var(--brand-grey);font-size:16px;line-height:1.62}
.asia-read-cue{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:12px;line-height:1;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.asia-read-cue b{font-size:17px;line-height:1;transition:transform .18s ease;color:var(--brand-red)}
.asia-lead-spread.story-interactive:is(:hover,:focus-within) h3{color:var(--brand-red)}
.asia-lead-spread.story-interactive:is(:hover,:focus-within) .media img{transform:scale(1.012)}
.asia-lead-spread.story-interactive:is(:hover,:focus-within) .asia-read-cue b{transform:translateX(3px)}
.asia-secondary-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:44px;padding-bottom:11px;border-bottom:1px solid var(--brand-light);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.asia-secondary-head a{font-size:12px;text-transform:none;letter-spacing:0;border-bottom:1px solid currentColor;padding-bottom:2px}
.asia-secondary-head a:hover{color:var(--brand-red)}
.asia-secondary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:22px}
.asia-secondary-card{display:block;min-width:0;padding-right:24px}
.asia-secondary-card+.asia-secondary-card{border-left:1px solid var(--brand-light);padding-left:24px}
.asia-secondary-card:last-child{padding-right:0}
.asia-secondary-card .media{aspect-ratio:16/9;border-radius:6px;margin-bottom:15px}
.asia-secondary-copy{display:block}
.asia-secondary-card h3{margin:6px 0 9px;font-size:18px;line-height:1.28;font-weight:800;letter-spacing:-.03em}
.asia-secondary-card .meta{font-size:12px}
.asia-secondary-card.story-interactive:is(:hover,:focus-within) h3{color:var(--brand-red)}
.asia-secondary-card.story-interactive:is(:hover,:focus-within) .media img{transform:scale(1.014)}
@media(max-width:900px){
  .asia-lead-link{grid-template-columns:1fr;grid-template-areas:"media" "copy";gap:22px}
  .asia-lead-copy{padding:0}
  .asia-lead-copy .deck{max-width:720px}
  .asia-secondary-grid{grid-template-columns:repeat(3,minmax(220px,1fr));overflow-x:auto;scroll-snap-type:x proximity;gap:18px;padding-bottom:6px;scrollbar-width:none}
  .asia-secondary-grid::-webkit-scrollbar{display:none}
  .asia-secondary-card,.asia-secondary-card+.asia-secondary-card{border-left:0;padding:0;scroll-snap-align:start}
}
@media(max-width:640px){
  .asia-lead-spread{padding-top:16px}
  .asia-lead-media{margin-inline:-14px}
  .asia-lead-media .media{border-radius:0}
  .asia-lead-copy h3{font-size:31px;line-height:1.04}
  .asia-lead-copy .deck{font-size:15px;line-height:1.58}
  .asia-read-cue{margin-top:18px}
  .asia-secondary-head{margin-top:34px}
  .asia-secondary-grid{grid-template-columns:repeat(3,82vw);margin-right:-14px}
  .asia-secondary-card h3{font-size:17px}
}



/* =========================================================
   v28 — article regression / QA pass
   These rules intentionally override older article rules only.
   ========================================================= */
/* Featured images are presentation media only: no zoom cursor, no lightbox affordance. */
.article-featured,.continuous-featured{cursor:default}
.article-featured>img,.continuous-featured>img{display:block;width:100%;height:100%;object-fit:cover}
.article-featured .expand-indicator,.continuous-featured .expand-indicator{display:none!important}

/* Centre the text column while retaining the desktop share rail. */
@media(min-width:901px){
  .article-layout{max-width:1080px;grid-template-columns:64px minmax(0,var(--article)) 64px;gap:40px;justify-content:center}
  .share-rail{grid-column:1}
  .article-body{grid-column:2;min-width:0}
}
@media(min-width:901px) and (max-width:1100px){
  .article-layout{grid-template-columns:52px minmax(0,var(--article)) 52px;gap:28px}
}

/* Inline article photography deliberately breaks out beyond the text measure. */
.article-body>figure,.continuous-body>figure{
  width:min(1080px,calc(100vw - 48px));
  max-width:none;
  position:relative;
  left:50%;
  transform:translateX(-50%);
  margin:40px 0 44px;
}
.article-body>figure .media,.continuous-body>figure .media{width:100%;aspect-ratio:16/9;border-radius:0;overflow:hidden;background:var(--brand-light)}
.article-body>figure .image-lightbox-trigger,.continuous-body>figure .image-lightbox-trigger{width:100%;height:100%;border-radius:0!important;overflow:hidden}
.article-body>figure img,.continuous-body>figure img{display:block;width:100%;height:100%;object-fit:cover}

/* One caption system for featured and inline images. */
.article-image-caption,.article-body figcaption,.featured-caption,.continuous-caption{
  display:block;
  margin:8px 0 0!important;
  padding:0!important;
  font-family:"Montserrat",sans-serif!important;
  font-size:12px!important;
  line-height:1.5!important;
  font-weight:500!important;
  letter-spacing:0!important;
  color:var(--brand-grey)!important;
  text-align:left!important;
}

/* Inline-only lightbox indication. */
.image-lightbox-trigger{border-radius:0!important;background:transparent!important;box-shadow:none!important}
.expand-indicator{right:12px;bottom:12px;width:30px;height:30px;border-radius:3px;border:0;background:rgba(0,0,0,.64);opacity:.86}
.image-lightbox-trigger:is(:hover,:focus-visible) .expand-indicator{background:rgba(0,0,0,.78);opacity:1}

/* True viewport lightbox: one flat black backdrop, no modal/card framing. */
.lightbox-overlay{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  padding:0!important;
  margin:0!important;
  background:#000!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  display:flex!important;
  flex-direction:column!important;
}
.lightbox-top{position:fixed!important;top:10px!important;right:12px!important;z-index:3!important;padding:0!important}
.lightbox-close{width:40px!important;height:40px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#fff!important;font-size:30px!important;box-shadow:none!important}
.lightbox-stage{width:100vw!important;flex:1!important;min-height:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#000!important}
.lightbox-stage img{max-width:100vw!important;max-height:calc(100dvh - 48px)!important;width:auto!important;height:auto!important;object-fit:contain!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.lightbox-caption{position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:9px 48px 11px!important;background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,0))!important;color:#fff!important;font-family:"Montserrat",sans-serif!important;font-size:12px!important;line-height:1.45!important;font-weight:500!important;text-align:center!important;border:0!important}

/* Author images always reserve visible portrait space while live WP avatars hydrate. */
.author-avatar,.author-avatar.large{display:block!important;flex:none!important;border-radius:50%!important;overflow:hidden!important;background:var(--brand-light)!important}
.article-meta>.author-avatar{width:44px!important;height:44px!important}
.author-avatar.large{width:72px!important;height:72px!important}
.author-avatar img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important}

/* Changelog remains the final editorial module inside the article body. */
.article-body>.changelog,.continuous-body>.changelog{margin-top:54px!important}

@media(max-width:900px){
  .article-body>figure,.continuous-body>figure{width:calc(100vw - 36px);left:50%;transform:translateX(-50%);margin:34px 0 38px}
}
@media(max-width:640px){
  .article-body>figure,.continuous-body>figure{width:100vw;margin-left:0;margin-right:0}
  .article-image-caption,.article-body figcaption,.featured-caption,.continuous-caption{padding-inline:14px!important}
  .lightbox-caption{padding:9px 18px 11px!important}
}


/* v32 logo + original-resolution lightbox */
.brand{gap:0}
.brand-logo{display:block;width:158px;height:auto;max-height:42px;object-fit:contain}
.footer-brand .brand-logo{width:168px}
.drawer-head .brand-logo{width:150px}
@media(max-width:640px){.brand-logo{width:142px;max-height:38px}.drawer-head .brand-logo{width:142px}}

/* The lightbox uses the original media asset and intentionally grows beyond the article embed. */
.lightbox-stage{overflow:hidden!important}
.lightbox-stage img{
  width:min(100vw,1920px)!important;
  max-width:100vw!important;
  height:auto!important;
  max-height:100dvh!important;
  object-fit:contain!important;
}
@media(max-aspect-ratio:16/10){.lightbox-stage img{width:auto!important;height:min(100dvh,1080px)!important;max-width:100vw!important}}


/* =========================================================
   UAT stabilisation: accessibility, anchors and overflow
   ========================================================= */
html,body{overflow-x:clip}
.section[id],#newsletter,#events,#industry-insights,.article-body h2[id],.continuous-body h2[id]{scroll-margin-top:138px}
.drawer{visibility:hidden;pointer-events:none}
.drawer.open{visibility:visible;pointer-events:auto}
.image-lightbox-trigger img{min-width:0}
@media(max-width:900px){.section[id],#newsletter,#events,#industry-insights,.article-body h2[id],.continuous-body h2[id]{scroll-margin-top:82px}}

/* v39 — responsive ad inventory, isolated from the popup-ad component */
.te-ad-break{display:block;width:100%;clear:both;background:#fff;padding:48px 0 52px}
.te-ad-break-inner{width:min(calc(100% - 48px),var(--max));margin-inline:auto;display:flex;justify-content:center}
.te-ad-slot{display:flex;flex-direction:column;align-items:center;width:max-content;max-width:100%;margin:0 auto}
.te-ad-label{margin:0 0 8px;color:#777;font-size:10px;line-height:1.2;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.te-ad-placeholder{display:grid;place-items:center;flex:none;background:#F4F4F4;border:1px solid #EDEDED;color:#777;overflow:hidden}
.te-ad-placeholder span{font-size:12px;line-height:1.4;text-align:center;padding:14px}
.te-ad-mobile-label{display:none}
.te-ad-size-970x250{width:970px;height:250px;max-width:100%}
.te-ad-size-300x250{width:300px;height:250px;max-width:100%}
.te-ad-size-300x600{width:300px;height:600px;max-width:100%}
.te-article-ad-break{display:block;clear:both;position:relative;margin:52px 0;padding:0}
.article-body>.te-article-ad-break,.continuous-body>.te-article-ad-break{left:50%;width:min(970px,calc(100vw - 48px));transform:translateX(-50%)}
.article-body>.te-article-ad-break.te-ad-compact,.continuous-body>.te-article-ad-break.te-ad-compact{width:300px;max-width:calc(100vw - 48px)}
.te-post-end-ad{max-width:1100px;margin:52px auto 64px;padding:0;clear:both}
.te-post-end-ad .te-ad-slot{margin-inline:auto}
@media(max-width:768px){
 .te-ad-break{padding:38px 0 42px}.te-ad-break-inner{width:calc(100% - 28px)}
 .te-ad-placeholder{width:300px!important;height:250px!important;max-width:100%}
 .te-ad-desktop-label{display:none}.te-ad-mobile-label{display:block}
 .te-article-ad-break{margin:40px 0}
 .article-body>.te-article-ad-break,.continuous-body>.te-article-ad-break,.article-body>.te-article-ad-break.te-ad-compact,.continuous-body>.te-article-ad-break.te-ad-compact{left:50%;width:min(300px,calc(100vw - 28px));max-width:none;transform:translateX(-50%)}
 .te-post-end-ad{margin:42px auto 52px;padding:0 14px}
}



/* =========================================================
   v41 mobile regression repair
   Scoped to responsive geometry only. Desktop design remains locked.
   ========================================================= */
.featured-spotlight{display:block;width:100%}

@media(max-width:640px){
  html,body{max-width:100%;overflow-x:hidden}

  /* Featured article image: one full-viewport breakout, not nested negative margins. */
  .article-featured-wrap{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    margin-bottom:36px!important;
  }
  .article-featured{width:100%!important;max-width:100%!important;margin:0!important;border-radius:0!important}

  /* Featured editorial module: ensure the anchor owns the full mobile width. */
  .featured-spotlight{
    display:block;
    width:calc(100% + 28px);
    margin-left:-14px;
    margin-right:-14px;
    min-height:500px;
  }
  .featured-spotlight .feature-media,
  .featured-spotlight .feature-media img{width:100%;height:100%}
  .featured-spotlight-copy{width:100%;max-width:none}

  /* Related Reading: the link, not the article wrapper, owns the two-column layout. */
  .related-reading{width:100%;max-width:none;margin-top:54px;padding:30px 14px 52px}
  .related-grid{display:grid;grid-template-columns:1fr;gap:0;width:100%}
  .related-card{display:block;width:100%;padding:18px 0;border-bottom:1px solid var(--brand-light)}
  .related-card:last-child{border-bottom:0}
  .related-card>a{
    display:grid;
    grid-template-columns:112px minmax(0,1fr);
    grid-template-areas:
      "media kicker"
      "media title"
      "media meta";
    column-gap:14px;
    row-gap:5px;
    align-items:start;
    width:100%;
    min-width:0;
  }
  .related-card .media{grid-area:media;width:112px;margin:0;align-self:start}
  .related-card .kicker{grid-area:kicker;margin:0;min-width:0}
  .related-card h3{grid-area:title;margin:0;font-size:16px;line-height:1.28;min-width:0;overflow-wrap:break-word}
  .related-card .related-excerpt,.related-card .deck{display:none!important}
  .related-card .meta{grid-area:meta;margin-top:3px;min-width:0;font-size:12px}

  /* Keep article and continuously loaded content within the viewport. */
  .article-head,.article-layout,.continuous-head,.continuous-body,.continuous-meta,
  .continuous-share-row,.continuous-separator,.related-reading{min-width:0}
  .article-body,.continuous-body{width:100%;max-width:100%;min-width:0}
  .article-body p,.continuous-body p,.article-body h2,.continuous-body h2{overflow-wrap:anywhere}

  /* Full-width embedded editorial images are intentional; remove old transform-based breakout. */
  .article-body>figure,.continuous-body>figure{
    position:relative;
    left:auto!important;
    transform:none!important;
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
  }
  .article-image-caption,.article-body figcaption{padding-left:14px!important;padding-right:14px!important}

  /* Industry Insights: keep the homepage useful on mobile instead of stacking nine tall cards. */
  .industry-grid{
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px!important;
    overflow-x:auto;
    overflow-y:hidden;
    margin-right:-14px;
    padding:0 14px 8px 0;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .industry-grid::-webkit-scrollbar{display:none}
  .industry-card{
    flex:0 0 min(82vw,310px);
    width:min(82vw,310px);
    min-height:0;
    scroll-snap-align:start;
    padding:14px;
  }

  /* Continuous articles inherit the same shell rhythm as the first story. */
  .continuous-head,.continuous-body{padding-left:14px;padding-right:14px}
  .continuous-featured-wrap{width:100%;max-width:100%;overflow:hidden}
  .continuous-featured{width:100%;max-width:100%}
}

\n/* v42 stable-prototype overrides: mobile recomposition and homepage-only ad inventory */\n.te-article-ad-break,.te-post-end-ad{display:none!important}\n@media(max-width:640px){\n  /* Full-width Featured section becomes a normal editorial stack on phones. */\n  .featured-spotlight-section{padding:10px 0 54px}\n  .featured-spotlight{\n    width:100%!important;\n    margin:0!important;\n    min-height:0!important;\n    overflow:visible;\n    border-radius:0;\n    background:transparent;\n    box-shadow:none;\n    color:var(--ink);\n  }\n  .featured-spotlight .feature-media{\n    position:relative!important;\n    inset:auto!important;\n    width:100%!important;\n    height:auto!important;\n    aspect-ratio:16/9;\n    overflow:hidden;\n    border-radius:0;\n    background:var(--surface);\n  }\n  .featured-spotlight .feature-media img{width:100%;height:100%;object-fit:cover;filter:none!important}\n  .featured-spotlight:after{display:none!important}\n  .featured-spotlight-copy{\n    min-height:0!important;\n    width:100%!important;\n    max-width:none!important;\n    padding:18px 0 0!important;\n    color:var(--ink)!important;\n    display:block;\n  }\n  .featured-spotlight-copy .kicker{color:var(--red)!important}\n  .featured-spotlight-copy h2{font-size:32px;line-height:1.04;letter-spacing:-.05em;margin:8px 0 12px}\n  .featured-spotlight-copy p{font-size:15px;line-height:1.58;color:var(--muted)!important;margin:0 0 15px}\n  .featured-spotlight-copy .meta{color:var(--muted)!important;gap:7px 10px}\n  .featured-spotlight-copy .feature-cta{display:block;width:100%;margin-top:12px;color:var(--ink);font-weight:800}\n\n  /* Related Reading uses the full article width and a true stacked card layout. */\n  .related-reading{width:100%;max-width:100%;margin:54px 0 0;padding:30px 0 52px}\n  .related-grid{display:grid!important;grid-template-columns:1fr!important;gap:28px!important;width:100%;min-width:0}\n  .related-card{display:block;width:100%;padding:0 0 24px;border-bottom:1px solid var(--line);min-width:0}\n  .related-card:last-child{padding-bottom:0;border-bottom:0}\n  .related-card>a{display:block!important;width:100%;min-width:0}\n  .related-card .media{width:100%!important;aspect-ratio:16/9;margin:0 0 13px!important}\n  .related-card .kicker{margin:0 0 6px}\n  .related-card h3{margin:0 0 8px;font-size:19px;line-height:1.25;overflow-wrap:normal}\n  .related-card .related-excerpt,.related-card .deck{display:block!important;margin:0 0 10px;color:var(--muted);font-size:13.5px;line-height:1.5}\n  .related-card .meta{margin:0;font-size:12px}\n\n  /* Homepage rail ad moves into document flow after Top Stories. */\n  .top-stories .te-rail-ad{margin:24px auto 22px;padding-top:22px;border-top:1px solid var(--line)}\n}\n@media(max-width:900px){\n  .te-rail-ad{display:flex;justify-content:center;width:100%;max-width:100%}\n}\n
/* v50 Quick Read loading polish */
.quick-read-list li{max-height:0;min-height:0;margin:0!important;overflow:hidden;opacity:0;transform:translateY(4px);transition:max-height .24s ease,margin .24s ease,opacity .2s ease,transform .2s ease}
.quick-read-list li.is-typed{max-height:9em;margin:0 0 12px!important;opacity:1;transform:none;overflow:visible}
.quick-read-list li.is-typed:last-child{margin-bottom:0!important}
.quick-read-list li:before{opacity:0;transition:opacity .12s ease}
.quick-read-list li.is-typed:before{opacity:1}
.quick-read-content.open .quick-read-list{padding-top:2px!important}
@media(prefers-reduced-motion:reduce){.quick-read-list li{max-height:none!important;opacity:1!important;transform:none!important;margin:0 0 12px!important;overflow:visible!important}.quick-read-list li:before{opacity:1!important}}

/* v57 Industry Insights card media treatment: image touches the card's top, left and right edges. */
.industry-card{padding:0;overflow:hidden}
.industry-card>a{display:block;height:100%}
.industry-card .media{width:100%;margin:0;aspect-ratio:16/9;border-radius:0}
.industry-card .media img{width:100%;height:100%;object-fit:cover}
.industry-card-body{padding:18px}
.industry-card-body .insight-format{margin:0 0 8px}
@media(max-width:640px){
  .industry-card{padding:0}
  .industry-card-body{padding:16px}
}

/* =========================================================
   v58 — continuous article width parity
   Subsequent articles use the same editorial measures as the first article.
   ========================================================= */
@media(min-width:641px){
  .continuous-head{max-width:1100px!important;width:min(calc(100% - 48px),1100px)!important;margin-inline:auto!important}
  .continuous-head h2{max-width:1080px!important}
  .continuous-head .standfirst{max-width:1080px!important}
  .continuous-body{max-width:var(--article)!important;width:min(calc(100% - 48px),var(--article))!important;margin-inline:auto!important;padding-inline:0!important}
}
@media(max-width:640px){
  .continuous-head,.continuous-body{width:calc(100% - 28px)!important;max-width:none!important;margin-inline:auto!important;padding-inline:0!important}
}


/* v59 regression fixes: continuous-reading safety, media parity and homepage density */
:root{--editorial-media-radius:7px}
.article-featured,.continuous-featured,
.article-body>figure .media,.continuous-body>figure .media,
.article-body>figure .image-lightbox-trigger,.continuous-body>figure .image-lightbox-trigger,
.youtube-frame,.te-compare-stage,.inline-related-media{
  border-radius:var(--editorial-media-radius)!important;
  overflow:hidden;
}
/* Fullscreen viewing remains unframed. */
.lightbox-stage img{border-radius:0!important}
/* Give every newly loaded story a clear page-level boundary without adding another thin rule. */
.continuous-article{border-top:8px solid var(--paper)!important;padding-top:72px}
.continuous-separator{border-top:0!important;padding-top:26px;padding-bottom:26px}
/* Empty inventory must not reserve vertical space or create CLS-like blank bands. */
.te-ad-empty,[data-ad-slot][hidden]{display:none!important;min-height:0!important;margin:0!important;padding:0!important}
/* Keep the lower homepage modules on the same section rhythm. */
#upcoming.section{padding-top:64px;padding-bottom:64px}
@media(max-width:640px){
  .article-featured,.continuous-featured,
  .article-body>figure .media,.continuous-body>figure .media,
  .article-body>figure .image-lightbox-trigger,.continuous-body>figure .image-lightbox-trigger,
  .youtube-frame,.te-compare-stage,.inline-related-media{border-radius:var(--editorial-media-radius)!important}
  .continuous-article{padding-top:56px}
  #upcoming.section{padding-top:50px;padding-bottom:50px}
}


/* v60 — continuous articles use the exact same structural width system as the lead article */
.continuous-article .article-head.continuous-head{
  width:min(calc(100% - 48px),1100px)!important;
  max-width:1100px!important;
  margin:0 auto 34px!important;
  padding-inline:0!important;
}
.continuous-article .article-head.continuous-head h2{max-width:1080px!important}
.continuous-article .article-head.continuous-head .standfirst{max-width:1080px!important}
.continuous-article .article-layout.continuous-layout{
  width:min(calc(100% - 48px),var(--article))!important;
  max-width:var(--article)!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}
.continuous-article .article-layout.continuous-layout>.article-body.continuous-body{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-inline:0!important;
}
@media(max-width:640px){
  .continuous-article .article-head.continuous-head,
  .continuous-article .article-layout.continuous-layout{
    width:calc(100% - 28px)!important;
    max-width:none!important;
    margin-inline:auto!important;
    padding-inline:0!important;
  }
  .continuous-article .article-head.continuous-head{margin-bottom:24px!important}
}

@media(max-width:360px){.drawer-body>a small{flex-basis:116px;margin-left:14px}}

/* v78 event status clarity */
.tracker-live{color:#10966f!important;font-size:11px!important;font-weight:900!important;letter-spacing:.02em!important;text-transform:none!important;gap:7px!important}
.tracker-live-dot{width:8px!important;height:8px!important;background:#20b486!important;box-shadow:0 0 0 3px rgba(32,180,134,.11)}
.tracker-live-dot:after{inset:-5px!important;border-color:rgba(32,180,134,.52)!important;animation-duration:1.35s!important}
.tracker-featured-icon{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;color:var(--red);vertical-align:middle;cursor:help}
.tracker-featured-icon svg{width:13px;height:13px;display:block;fill:currentColor}
.tracker-meta .tracker-featured-icon:before{display:none!important}
@media(max-width:640px){.tracker-live{font-size:10.5px!important}.tracker-featured-icon{width:14px;height:14px}}

/* v79 About + Advertise pages */
.brand-page{overflow:hidden;background:#fff}.brand-page .section{position:relative}.brand-hero{position:relative;padding:86px 0 76px;border-bottom:1px solid var(--line);overflow:hidden}.brand-hero:before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;right:-120px;top:-210px;background:radial-gradient(circle,rgba(236,53,53,.11),rgba(236,53,53,0) 68%);pointer-events:none}.brand-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:74px;align-items:end}.brand-hero h1{font-size:clamp(58px,7.2vw,104px);line-height:.9;letter-spacing:-.075em;margin:14px 0 26px;max-width:950px}.brand-hero-copy{font-size:19px;line-height:1.65;color:#454a52;max-width:760px;margin:0}.brand-hero-aside{border-top:3px solid var(--ink);padding-top:22px;display:grid;gap:22px}.brand-hero-aside strong{font-size:14px;line-height:1.4}.brand-hero-aside p{margin:5px 0 0;color:var(--muted);font-size:13.5px;line-height:1.55}.brand-fact-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.brand-fact{padding:28px 24px 27px;border-right:1px solid var(--line)}.brand-fact:last-child{border-right:0}.brand-fact strong{display:block;font-size:31px;line-height:1;font-weight:900;letter-spacing:-.05em;margin-bottom:8px}.brand-fact span{display:block;font-size:12.5px;line-height:1.45;color:var(--muted);font-weight:600}.brand-intro-grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:74px;align-items:start}.brand-intro-sticky{position:sticky;top:150px}.brand-intro-sticky h2{font-size:clamp(38px,4vw,58px);line-height:.98;letter-spacing:-.06em;margin:10px 0 18px}.brand-prose{font-size:20px;line-height:1.75;color:#262b31}.brand-prose p{margin:0 0 28px}.brand-prose .pull{font-size:30px;line-height:1.3;font-weight:800;letter-spacing:-.04em;color:var(--ink);padding:30px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);margin:38px 0}.brand-pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.brand-pillar{background:#fff;padding:34px;min-height:260px}.brand-pillar .number{font-size:11px;font-weight:900;color:var(--red);letter-spacing:.08em}.brand-pillar h3{font-size:27px;line-height:1.12;letter-spacing:-.04em;margin:28px 0 12px}.brand-pillar p{margin:0;color:var(--muted);font-size:15px;line-height:1.65}.brand-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.brand-principle{padding:25px 0;border-top:3px solid var(--ink)}.brand-principle h3{font-size:21px;margin:0 0 10px;letter-spacing:-.03em}.brand-principle p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.65}.brand-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--ink)}.brand-era{padding:25px 28px 10px 0;border-right:1px solid var(--line);margin-right:28px}.brand-era:last-child{border-right:0}.brand-era .year{font-size:38px;font-weight:900;letter-spacing:-.06em;color:var(--red)}.brand-era h3{font-size:18px;margin:12px 0 8px}.brand-era p{font-size:13.5px;line-height:1.55;color:var(--muted);margin:0}.brand-team{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.brand-person{min-width:0}.brand-person .person-image{aspect-ratio:1/1;border-radius:7px;overflow:hidden;background:var(--surface);margin-bottom:14px}.brand-person .person-image img{width:100%;height:100%;object-fit:cover}.brand-person h3{font-size:17px;line-height:1.2;margin:0 0 4px}.brand-person p{font-size:12px;color:var(--muted);margin:0}.brand-cta{background:var(--ink);color:#fff;padding:70px 0}.brand-cta-inner{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end}.brand-cta h2{font-size:clamp(40px,5vw,72px);line-height:.95;letter-spacing:-.065em;margin:8px 0 15px;max-width:850px}.brand-cta p{max-width:700px;color:#c1c5cb;margin:0}.brand-cta-actions{display:flex;gap:10px;flex-wrap:wrap}.brand-cta-btn{height:46px;padding:0 18px;border-radius:5px;border:1px solid #fff;display:inline-flex;align-items:center;font-size:12.5px;font-weight:900}.brand-cta-btn.primary{background:var(--red);border-color:var(--red)}

/* Advertise */
.commercial-page{background:#fff}.commercial-hero{position:relative;background:#111317;color:#fff;overflow:hidden;padding:86px 0 74px}.commercial-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 38%,rgba(236,53,53,.14) 38%,transparent 62%);transform:translateX(34%);pointer-events:none}.commercial-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:68px;align-items:end}.commercial-hero .kicker{color:#fff}.commercial-hero h1{font-size:clamp(58px,7.4vw,108px);line-height:.88;letter-spacing:-.078em;margin:14px 0 24px;max-width:970px}.commercial-hero p{font-size:18px;line-height:1.65;color:#c7ccd4;max-width:760px;margin:0}.commercial-hero-actions{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap}.commercial-btn{height:46px;padding:0 17px;border:1px solid rgba(255,255,255,.5);border-radius:5px;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}.commercial-btn.primary{background:var(--red);border-color:var(--red)}.commercial-hero-card{border:1px solid #343941;padding:25px;background:rgba(255,255,255,.035);backdrop-filter:blur(10px)}.commercial-hero-card h3{font-size:22px;line-height:1.15;margin:0 0 18px}.commercial-check{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid #2c3037;font-size:13px;color:#d5d8dd}.commercial-check:before{content:"+";color:var(--red);font-size:20px;font-weight:900;line-height:1}.commercial-proof{background:#f4f4f4;border-bottom:1px solid var(--line)}.commercial-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.commercial-metric{padding:28px 18px;border-right:1px solid #dedede}.commercial-metric:last-child{border-right:0}.commercial-metric strong{display:block;font-size:30px;line-height:1;font-weight:900;letter-spacing:-.055em;margin-bottom:8px}.commercial-metric span{font-size:11px;line-height:1.45;color:var(--muted);font-weight:700}.commercial-audience{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start}.commercial-audience h2{font-size:clamp(42px,4.4vw,64px);line-height:.96;letter-spacing:-.06em;margin:10px 0 16px}.audience-stack{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.audience-row{background:#fff;display:grid;grid-template-columns:150px 1fr;gap:24px;padding:25px}.audience-row strong{font-size:15px}.audience-row p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.solutions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.solution-card{position:relative;border:1px solid var(--line);padding:25px;min-height:285px;background:#fff;transition:transform .2s ease,border-color .2s ease}.solution-card:hover{transform:translateY(-3px);border-color:#bbb}.solution-card .solution-no{font-size:11px;font-weight:900;color:var(--red);letter-spacing:.08em}.solution-card h3{font-size:22px;line-height:1.18;letter-spacing:-.035em;margin:35px 0 12px}.solution-card p{color:var(--muted);font-size:14px;line-height:1.6;margin:0}.solution-card small{display:block;margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font-size:11px;line-height:1.5;font-weight:800}.commercial-guardrails{background:#111317;color:#fff}.guardrail-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start}.guardrail-grid h2{font-size:clamp(42px,4.8vw,68px);line-height:.94;letter-spacing:-.06em;margin:10px 0}.guardrail-list{border-top:1px solid #4a4f58}.guardrail{display:grid;grid-template-columns:40px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid #343941}.guardrail b{color:var(--red)}.guardrail h3{font-size:18px;margin:0 0 6px}.guardrail p{margin:0;color:#b9bec6;font-size:13.5px;line-height:1.6}.commercial-brands{display:flex;flex-wrap:wrap;gap:10px}.commercial-brand{border:1px solid var(--line);padding:11px 14px;border-radius:4px;font-size:12px;font-weight:900;background:#fff}.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.case-card{border-top:3px solid var(--ink);padding-top:22px}.case-card .case-label{font-size:11px;font-weight:900;color:var(--red);letter-spacing:.07em}.case-card h3{font-size:27px;letter-spacing:-.04em;margin:14px 0 8px}.case-card p{font-size:14px;line-height:1.62;color:var(--muted);margin:0}.case-card .case-meta{font-size:11.5px;font-weight:800;margin-top:17px}.commercial-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.process-step{background:#fff;padding:27px;min-height:220px}.process-step strong{display:block;color:var(--red);font-size:12px}.process-step h3{font-size:20px;margin:30px 0 10px}.process-step p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.6}.commercial-enquiry{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px;align-items:start}.commercial-enquiry h2{font-size:clamp(40px,4.3vw,62px);line-height:.98;letter-spacing:-.055em;margin:9px 0 16px}.commercial-form{background:#fff;border:1px solid var(--line);padding:30px}.commercial-form .form-grid{gap:16px}.commercial-form .field label{font-size:11.5px}.commercial-form textarea{min-height:150px}.commercial-note{font-size:11.5px;color:var(--muted);line-height:1.55;margin-top:14px}.commercial-faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.faq-list{border-top:1px solid var(--ink)}.faq-item{border-bottom:1px solid var(--line)}.faq-item button{width:100%;border:0;background:none;padding:20px 0;display:flex;justify-content:space-between;gap:20px;text-align:left;font-weight:800;font-size:15px}.faq-answer{display:none;padding:0 0 21px;color:var(--muted);font-size:13.5px;line-height:1.65}.faq-item.open .faq-answer{display:block}.faq-item.open button span:last-child{transform:rotate(45deg)}

/* restrained reveal motion */
.reveal-on-scroll{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}.reveal-on-scroll.is-visible{opacity:1;transform:none}.stagger-children>*{opacity:0;transform:translateY(12px);transition:opacity .42s ease,transform .42s ease}.stagger-children.is-visible>*{opacity:1;transform:none}.stagger-children.is-visible>*:nth-child(2){transition-delay:.05s}.stagger-children.is-visible>*:nth-child(3){transition-delay:.1s}.stagger-children.is-visible>*:nth-child(4){transition-delay:.15s}.stagger-children.is-visible>*:nth-child(5){transition-delay:.2s}.stagger-children.is-visible>*:nth-child(6){transition-delay:.25s}
@media(max-width:1000px){.brand-hero-grid,.commercial-hero-grid,.brand-intro-grid,.commercial-audience,.guardrail-grid,.commercial-enquiry,.commercial-faq{grid-template-columns:1fr}.brand-intro-sticky{position:static}.brand-fact-row{grid-template-columns:repeat(2,1fr)}.commercial-metrics{grid-template-columns:repeat(3,1fr)}.solutions-grid{grid-template-columns:repeat(2,1fr)}.brand-team{grid-template-columns:repeat(3,1fr)}.brand-timeline{grid-template-columns:repeat(2,1fr)}.brand-era:nth-child(2){border-right:0}.commercial-hero-card{max-width:650px}.brand-cta-inner{grid-template-columns:1fr}}
@media(max-width:640px){.brand-hero,.commercial-hero{padding:56px 0 48px}.brand-hero h1,.commercial-hero h1{font-size:54px}.brand-hero-copy,.commercial-hero p{font-size:16px}.brand-fact-row{grid-template-columns:1fr 1fr}.brand-fact{padding:21px 15px}.brand-fact:nth-child(2){border-right:0}.brand-fact strong{font-size:25px}.brand-pillars,.brand-principles,.brand-timeline,.brand-team,.solutions-grid,.case-grid,.commercial-process{grid-template-columns:1fr}.brand-era{border-right:0;border-bottom:1px solid var(--line);padding-bottom:24px;margin:0}.brand-prose{font-size:17px}.brand-prose .pull{font-size:24px}.brand-pillar{min-height:0;padding:25px}.commercial-metrics{grid-template-columns:1fr 1fr}.commercial-metric:nth-child(2n){border-right:0}.commercial-metric strong{font-size:26px}.audience-row{grid-template-columns:1fr;gap:7px;padding:20px}.commercial-form{padding:20px}.brand-cta{padding:52px 0}.brand-cta-actions{width:100%}.brand-cta-btn{flex:1}.commercial-hero-actions .commercial-btn{flex:1}.brand-person .person-image{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){.reveal-on-scroll,.stagger-children>*,.solution-card{transition:none!important;transform:none!important;opacity:1!important}}

/* v80 About + Advertise visual and interaction refinement */
.brand-page h1,.brand-page h2,.brand-page h3,.commercial-page h1,.commercial-page h2,.commercial-page h3{font-family:"Montserrat",sans-serif;color:inherit}
.brand-page h1,.commercial-page h1,.brand-page .section-title,.commercial-page .section-title,.brand-intro-sticky h2,.commercial-audience h2,.guardrail-grid h2,.commercial-enquiry h2,.brand-cta h2{font-weight:900;letter-spacing:-.058em}
.brand-page h3,.commercial-page h3{font-weight:800}
.brand-hero h1,.commercial-hero h1{font-size:clamp(54px,6.4vw,88px);line-height:.94;letter-spacing:-.065em}
.brand-page .section-title,.commercial-page .section-title{font-size:clamp(40px,4vw,58px);line-height:.98}
.brand-intro-sticky h2,.commercial-audience h2,.guardrail-grid h2,.commercial-enquiry h2{font-size:clamp(40px,4vw,58px);line-height:.98}

.brand-hero-grid{align-items:center}.brand-hero-visual{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:10px;min-height:430px}.brand-hero-shot{position:relative;overflow:hidden;border-radius:7px;background:#111}.brand-hero-shot:first-child{grid-row:1/3}.brand-hero-shot img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.brand-hero-shot:hover img{transform:scale(1.018)}.brand-hero-shot:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.68));pointer-events:none}.brand-hero-shot span{position:absolute;z-index:2;left:14px;right:14px;bottom:12px;color:#fff;font-size:11px;font-weight:800;line-height:1.35}.brand-hero-aside{margin-top:17px;grid-template-columns:1fr 1fr;gap:22px}.brand-hero-aside>div{min-width:0}
.brand-photo-band{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:stretch}.brand-photo-large,.brand-photo-small{position:relative;overflow:hidden;border-radius:7px;min-height:360px;background:#111}.brand-photo-small{display:grid;grid-template-rows:1fr 1fr;gap:18px;background:transparent}.brand-photo-small>div{position:relative;overflow:hidden;border-radius:7px;background:#111}.brand-photo-band img{width:100%;height:100%;object-fit:cover}.brand-photo-caption{position:absolute;left:16px;right:16px;bottom:14px;color:#fff;font-size:12px;font-weight:700;z-index:2}.brand-photo-large:after,.brand-photo-small>div:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.66))}

.commercial-hero-grid{align-items:center}.commercial-hero-visual{position:relative;min-height:465px;display:grid;grid-template-columns:1.08fr .92fr;grid-template-rows:1fr 1fr;gap:10px}.commercial-hero-shot{position:relative;overflow:hidden;border-radius:7px;background:#20242a}.commercial-hero-shot:first-child{grid-row:1/3}.commercial-hero-shot img{width:100%;height:100%;object-fit:cover;filter:saturate(.9);transition:transform .5s ease}.commercial-hero-shot:hover img{transform:scale(1.018)}.commercial-hero-shot:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.75))}.commercial-hero-shot span{position:absolute;z-index:2;left:14px;right:14px;bottom:12px;color:#fff;font-size:11px;font-weight:800;line-height:1.35}.commercial-hero-card{margin-top:18px}.commercial-check{line-height:1.5}

.commercial-metric strong[data-stat]{font-variant-numeric:tabular-nums}.commercial-metric strong.is-counting{color:var(--red)}
.commercial-data-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:60px;align-items:center}.audience-viz{border-top:1px solid var(--ink);padding-top:24px}.audience-viz-row{display:grid;grid-template-columns:190px 1fr 54px;gap:16px;align-items:center;margin:17px 0}.audience-viz-row span{font-size:12px;font-weight:800}.audience-viz-row strong{font-size:13px;text-align:right;font-variant-numeric:tabular-nums}.audience-viz-track{height:9px;background:#e7e7e7;border-radius:99px;overflow:hidden}.audience-viz-fill{height:100%;width:0;background:var(--ink);border-radius:inherit;transition:width .85s cubic-bezier(.2,.75,.25,1)}.audience-viz.is-visible .audience-viz-fill{width:var(--value)}.audience-viz-row:first-child .audience-viz-fill{background:var(--red)}.audience-viz-note{font-size:11px;line-height:1.5;color:var(--muted);margin-top:20px}
.commercial-showcase{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.commercial-showcase-main,.commercial-showcase-stack>article{position:relative;overflow:hidden;border-radius:7px;background:#111}.commercial-showcase-main{min-height:520px}.commercial-showcase-stack{display:grid;grid-template-rows:1fr 1fr;gap:18px}.commercial-showcase img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.commercial-showcase article:hover img{transform:scale(1.018)}.commercial-showcase article:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.78))}.commercial-showcase-copy{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:#fff}.commercial-showcase-copy .kicker{color:#fff}.commercial-showcase-copy h3{font-size:clamp(20px,2vw,30px);line-height:1.08;margin:8px 0 5px}.commercial-showcase-copy p{font-size:12px;line-height:1.5;color:rgba(255,255,255,.82);margin:0;max-width:55ch}

.faq-item button span:last-child{transition:transform .25s ease}.faq-answer{display:grid!important;grid-template-rows:0fr;opacity:0;padding:0;color:var(--muted);font-size:13.5px;line-height:1.65;transition:grid-template-rows .3s cubic-bezier(.2,.75,.25,1),opacity .22s ease,padding .3s ease}.faq-answer>div{overflow:hidden}.faq-item.open .faq-answer{grid-template-rows:1fr;opacity:1;padding:0 0 21px}.faq-item.open button span:last-child{transform:rotate(45deg)}

.case-meta{text-transform:none}.commercial-page .case-meta,.brand-page .case-meta{letter-spacing:0}
@media(max-width:1000px){.brand-hero-visual,.commercial-hero-visual{min-height:390px}.brand-photo-band,.commercial-showcase,.commercial-data-grid{grid-template-columns:1fr}.commercial-showcase-main{min-height:430px}.commercial-showcase-stack{grid-template-columns:1fr 1fr;grid-template-rows:none}.commercial-showcase-stack>article{min-height:260px}.brand-hero-aside{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.brand-hero h1,.commercial-hero h1{font-size:48px;line-height:.96}.brand-hero-visual,.commercial-hero-visual{min-height:330px;grid-template-columns:1fr 1fr}.brand-hero-shot:first-child,.commercial-hero-shot:first-child{grid-row:1/3}.brand-hero-aside{grid-template-columns:1fr}.brand-photo-band{gap:10px}.brand-photo-large{min-height:280px}.brand-photo-small{gap:10px;min-height:260px}.commercial-showcase-main{min-height:340px}.commercial-showcase-stack{grid-template-columns:1fr;gap:10px}.commercial-showcase-stack>article{min-height:230px}.audience-viz-row{grid-template-columns:120px 1fr 44px;gap:10px}.audience-viz-row span{font-size:11px}}


/* v81 Advertise rich-media and infographic pass */
.commercial-page h1,.commercial-page h2,.commercial-page h3,.brand-page h1,.brand-page h2,.brand-page h3{font-family:"Montserrat",sans-serif;font-weight:900}
.commercial-page .section-title{font-weight:900}
.commercial-proof-v2{background:#f4f4f4;border-bottom:1px solid var(--line)}
.commercial-proof-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1px;background:var(--line);border-left:1px solid var(--line);border-right:1px solid var(--line)}
.commercial-proof-primary,.commercial-proof-secondary{background:#fff;padding:38px}
.commercial-proof-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
.metric-hero{min-height:210px;display:flex;flex-direction:column;justify-content:space-between;border-top:4px solid var(--ink);padding-top:20px}
.metric-hero strong{font-size:clamp(62px,7vw,104px);line-height:.85;letter-spacing:-.08em;font-weight:900}
.metric-hero h3{font-size:20px;line-height:1.15;margin:12px 0 8px}
.metric-hero p{font-size:12.5px;line-height:1.55;color:var(--muted);margin:0;max-width:34ch}
.commercial-proof-secondary{display:grid;gap:22px}
.mini-infographic{display:grid;grid-template-columns:84px minmax(0,1fr);gap:20px;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--line)}
.mini-infographic:last-child{border-bottom:0;padding-bottom:0}
.ring-chart{--pct:50;position:relative;width:78px;height:78px;border-radius:50%;background:conic-gradient(var(--red) calc(var(--pct)*1%),#e7e7e7 0);display:grid;place-items:center}
.ring-chart:after{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}
.ring-chart strong{position:relative;z-index:1;font-size:18px;letter-spacing:-.04em}
.mini-infographic h3{font-size:16px;margin:0 0 4px}
.mini-infographic p{font-size:12.5px;line-height:1.5;color:var(--muted);margin:0}
.audience-map-card{position:relative;min-height:310px;border-radius:8px;overflow:hidden;background:#111317;color:#fff;padding:30px;display:flex;flex-direction:column;justify-content:space-between}
.audience-map-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 28%,rgba(236,53,53,.3),transparent 22%),radial-gradient(circle at 40% 58%,rgba(255,255,255,.09),transparent 17%),linear-gradient(135deg,#171a20,#08090c)}
.audience-map-grid{position:absolute;inset:0;opacity:.25;background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);background-size:42px 42px}
.audience-map-card>*{position:relative;z-index:1}.audience-map-card h3{font-size:28px;line-height:1.05;margin:0;max-width:11ch}.audience-map-card p{font-size:13px;color:#bfc4cd;max-width:40ch;margin:0}.audience-map-points{display:flex;gap:8px;flex-wrap:wrap}.audience-map-points span{border:1px solid rgba(255,255,255,.28);padding:7px 9px;border-radius:4px;font-size:10.5px;font-weight:800}
.partner-marquee-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;padding:42px 0}.partner-marquee-head{text-align:center;margin-bottom:26px}.partner-marquee-head p{font-size:13px;color:var(--muted);margin:7px 0 0}.partner-marquee-frame{width:min(calc(100% - 64px),1160px);margin:0 auto;overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)}.logo-marquee{overflow:hidden;display:flex;margin:12px 0}.logo-marquee-track{display:flex;width:max-content;gap:18px;animation:logoMarquee 34s linear infinite}.logo-marquee.reverse .logo-marquee-track{animation-direction:reverse;animation-duration:38s}.logo-chip{width:238px;height:112px;border:1px solid var(--line);border-radius:7px;background:#fff;display:grid;place-items:center;padding:12px 18px;white-space:nowrap}.logo-chip img{display:block;max-width:198px;max-height:72px;width:auto;height:auto;object-fit:contain}.logo-chip.logo-fallback{font-size:18px;font-weight:900;letter-spacing:-.03em}.logo-marquee:hover .logo-marquee-track{animation-play-state:paused}@keyframes logoMarquee{to{transform:translateX(-50%)}}@media(max-width:700px){.partner-marquee-frame{width:min(calc(100% - 28px),1160px)}.logo-chip{width:174px;height:78px;padding:9px 12px}.logo-chip img{max-width:142px;max-height:48px}.logo-chip.logo-fallback{font-size:15px}}
.video-work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.video-work-card{position:relative;aspect-ratio:4/5;border:0;padding:0;background:#111;overflow:hidden;border-radius:7px;text-align:left;color:#fff}.video-work-card img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease,filter .25s ease}.video-work-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.82));pointer-events:none}.video-work-card:hover img{transform:scale(1.018);filter:brightness(.88)}.video-work-play{position:absolute;top:16px;right:16px;z-index:3;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.94);color:#111;display:grid;place-items:center;font-size:15px;box-shadow:0 5px 24px rgba(0,0,0,.18)}.video-work-copy{position:absolute;z-index:3;left:18px;right:18px;bottom:17px}.video-work-copy small{display:block;color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}.video-work-copy h3{font-size:17px;line-height:1.2;margin:0}.video-work-copy p{font-size:11.5px;line-height:1.45;color:rgba(255,255,255,.78);margin:7px 0 0}.video-work-intro{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;margin-bottom:32px;align-items:end}.video-work-intro h2{font-size:clamp(42px,4.5vw,64px);line-height:.96;letter-spacing:-.06em;margin:9px 0}.video-work-intro p{font-size:16px;line-height:1.65;color:var(--muted);margin:0;max-width:62ch}.work-video-modal{position:fixed;inset:0;z-index:2900;background:rgba(8,9,11,.9);display:grid;place-items:center;padding:24px;opacity:0;animation:workModalIn .18s ease forwards}.work-video-modal-panel{width:min(920px,94vw);background:#111317;color:#fff;border-radius:8px;overflow:hidden;transform:translateY(12px) scale(.985);animation:workPanelIn .22s ease forwards}.work-video-modal-media{position:relative;aspect-ratio:16/9;background:#000}.work-video-modal-media img{width:100%;height:100%;object-fit:cover;opacity:.76}.work-video-modal-overlay{position:absolute;inset:0;display:grid;place-items:center}.work-video-modal-overlay span{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#111;font-size:24px}.work-video-modal-copy{padding:24px 26px 28px;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:end}.work-video-modal-copy h3{font-size:24px;margin:0 0 6px}.work-video-modal-copy p{font-size:13.5px;color:#b9bec6;line-height:1.55;margin:0}.work-video-modal-close{position:absolute;top:16px;right:16px;z-index:4;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.45);color:#fff;font-size:24px}.work-video-modal-action{height:42px;padding:0 15px;border-radius:5px;background:var(--red);color:#fff;display:inline-flex;align-items:center;font-size:12px;font-weight:900}@keyframes workModalIn{to{opacity:1}}@keyframes workPanelIn{to{transform:none}}
.commercial-data-grid-v2{display:grid;grid-template-columns:.82fr 1.18fr;gap:54px;align-items:start}.audience-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.audience-tile{border:1px solid var(--line);border-radius:7px;padding:22px;background:#fff;min-height:190px}.audience-tile h3{font-size:15px;margin:0 0 16px}.audience-tile .bar-big{height:10px;background:#ededed;border-radius:20px;overflow:hidden;margin:24px 0 10px}.audience-tile .bar-big i{display:block;height:100%;width:0;background:var(--red);border-radius:20px;transition:width 1s cubic-bezier(.2,.8,.2,1)}.audience-tile.is-visible .bar-big i{width:var(--value)}.audience-tile strong{font-size:38px;line-height:1;letter-spacing:-.055em}.audience-tile p{font-size:12px;line-height:1.5;color:var(--muted);margin:7px 0 0}
@media(max-width:1000px){.commercial-proof-grid,.commercial-data-grid-v2,.video-work-intro{grid-template-columns:1fr}.video-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.commercial-proof-primary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.commercial-proof-primary{grid-template-columns:1fr;padding:26px}.commercial-proof-secondary{padding:26px}.metric-hero{min-height:160px}.video-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.video-work-copy{left:12px;right:12px;bottom:12px}.video-work-copy h3{font-size:14px}.video-work-copy p{display:none}.video-work-play{width:36px;height:36px;top:10px;right:10px}.audience-dashboard{grid-template-columns:1fr}.logo-chip{width:122px;height:54px;font-size:13px}.work-video-modal-copy{grid-template-columns:1fr}.work-video-modal-action{width:max-content}}
@media(prefers-reduced-motion:reduce){.logo-marquee-track{animation:none}.audience-tile .bar-big i{transition:none;width:var(--value)}.work-video-modal,.work-video-modal-panel{animation:none;opacity:1;transform:none}}


/* v92 commercial conversion path */
.commercial-inline-cta{margin:34px 0 0;padding:22px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.commercial-inline-cta-copy{max-width:650px}.commercial-inline-cta-copy strong{display:block;font-size:17px;line-height:1.25;letter-spacing:-.025em}.commercial-inline-cta-copy span{display:block;margin-top:5px;color:var(--muted);font-size:13px;line-height:1.5}.commercial-inline-cta-actions{display:flex;gap:9px;flex:none}.commercial-anchor-btn{height:42px;padding:0 15px;border:1px solid var(--ink);border-radius:5px;background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:900}.commercial-anchor-btn.primary{background:var(--ink);color:#fff}.commercial-anchor-btn.red{background:var(--red);border-color:var(--red);color:#fff}.commercial-enquiry-cta-section{padding:46px 0!important;background:#fff}.commercial-enquiry-banner{padding:30px 32px;background:#f4f4f4;border:1px solid #e6e6e6;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:30px}.commercial-enquiry-banner>div:first-child{max-width:760px}.commercial-enquiry-banner .kicker{margin-bottom:8px}.commercial-enquiry-banner strong{display:block;font-size:clamp(24px,2.2vw,34px);line-height:1.08;letter-spacing:-.045em}.commercial-enquiry-banner span{display:block;margin-top:9px;color:var(--muted);font-size:14px;line-height:1.55;max-width:62ch}.commercial-enquiry-banner .commercial-anchor-btn{background:var(--ink);border-color:var(--ink);color:#fff;min-width:150px}.commercial-enquiry-banner .commercial-anchor-btn:hover{background:var(--red);border-color:var(--red)}
@media(max-width:700px){.commercial-inline-cta,.commercial-enquiry-banner{align-items:stretch;flex-direction:column}.commercial-inline-cta-actions{width:100%;display:grid;grid-template-columns:1fr}.commercial-anchor-btn{width:100%}.commercial-enquiry-banner{padding:23px 21px}.commercial-enquiry-cta-section{padding:34px 0!important}.commercial-inline-cta{margin-top:26px}}
@media(max-width:380px){.commercial-inline-cta-actions{grid-template-columns:1fr}}

/* Advertise enquiry market selector and validation */
.commercial-form .field-help{display:block;margin-top:7px;font-size:11.5px;line-height:1.45;color:var(--muted)}
.market-detail{display:none;padding:18px 0 2px;border-top:1px solid var(--line)}
.market-detail.show{display:block;animation:marketDetailIn .22s ease}
.market-detail-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px;font-size:12px;font-weight:800}
.market-detail-head small{font-size:11px;color:var(--muted);font-weight:600}
.market-chips{display:flex;flex-wrap:wrap;gap:8px}
.market-chip{position:relative;cursor:pointer}
.market-chip input{position:absolute;opacity:0;pointer-events:none}
.market-chip span{display:inline-flex;align-items:center;min-height:36px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12px;font-weight:700;transition:border-color .16s ease,background .16s ease,color .16s ease}
.market-chip input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.market-chip:focus-within span{outline:3px solid rgba(236,53,53,.24);outline-offset:2px}
@keyframes marketDetailIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(max-width:700px){.market-detail{padding-top:15px}.market-chips{gap:7px}.market-chip span{min-height:34px;padding:7px 10px;font-size:11.5px}}

/* v107 legal pages */
.legal-page{background:#fff}
.legal-hero{padding:78px 0 44px;border-bottom:1px solid #EDEDED}
.legal-hero .legal-kicker{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#EC3535;margin-bottom:14px}
.legal-hero h1{font-size:clamp(46px,6vw,76px);line-height:.96;letter-spacing:-.055em;font-weight:900;max-width:900px;margin:0 0 22px}
.legal-hero p{font-size:18px;line-height:1.7;color:#777;max-width:780px;margin:0}
.legal-updated{margin-top:18px;font-size:12px;font-weight:700;color:#777;letter-spacing:.01em}
.legal-layout{display:grid;grid-template-columns:230px minmax(0,760px);gap:72px;justify-content:center;padding:56px 0 96px}
.legal-nav{align-self:start;position:sticky;top:120px}
.legal-nav-title{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#777;margin-bottom:16px}
.legal-nav a{display:block;padding:10px 0;border-bottom:1px solid #EDEDED;font-size:13px;font-weight:700;color:#111;line-height:1.35;text-decoration:none;transition:color .18s ease}
.legal-nav a:hover{color:#EC3535}
.legal-document{min-width:0}
.legal-intro{font-size:20px;line-height:1.7;color:#222;margin:0 0 44px}
.legal-section{scroll-margin-top:130px;padding:0 0 34px;margin:0 0 34px;border-bottom:1px solid #EDEDED}
.legal-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.legal-section h2{font-size:28px;line-height:1.15;letter-spacing:-.025em;font-weight:800;margin:0 0 16px}
.legal-section p,.legal-section li{font-size:16px;line-height:1.8;color:#444}
.legal-section p{margin:0 0 14px}
.legal-section p:last-child{margin-bottom:0}
.legal-section ul{margin:10px 0 0;padding-left:22px}
.legal-section li{margin:7px 0}
.legal-note{background:#F4F4F4;border-radius:7px;padding:22px 24px;margin:0 0 34px;font-size:14px;line-height:1.7;color:#555}
@media(max-width:900px){
  .legal-hero{padding:52px 0 34px}
  .legal-hero h1{font-size:46px}
  .legal-layout{grid-template-columns:1fr;gap:30px;padding:34px 0 72px}
  .legal-nav{position:static;display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
  .legal-nav::-webkit-scrollbar{display:none}
  .legal-nav-title{display:none}
  .legal-nav a{flex:0 0 auto;border:1px solid #EDEDED;border-radius:6px;padding:9px 12px;font-size:12px;white-space:nowrap}
  .legal-intro{font-size:18px;margin-bottom:34px}
  .legal-section h2{font-size:24px}
}
@media(max-width:430px){
  .legal-hero{padding:38px 0 28px}
  .legal-hero h1{font-size:38px;line-height:1}
  .legal-hero p{font-size:16px}
  .legal-layout{padding:26px 0 58px}
  .legal-section{padding-bottom:26px;margin-bottom:26px}
  .legal-section h2{font-size:22px}
  .legal-section p,.legal-section li{font-size:15px;line-height:1.75}
}


/* Careers page — editorial recruitment experience */
.careers-hero{padding:70px 0 64px;background:#fff;border-bottom:1px solid var(--line)}
.careers-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:68px;align-items:center}
.careers-hero-copy h1{font-size:clamp(50px,5.5vw,76px);line-height:.98;letter-spacing:-.062em;margin:12px 0 20px;max-width:760px}
.careers-hero-copy p{font-size:18px;line-height:1.65;color:var(--muted);max-width:650px;margin:0}
.careers-hero-note{display:flex;align-items:center;gap:10px;margin-top:28px;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.careers-hero-note:before{content:"";width:8px;height:8px;background:var(--red);flex:none}
.careers-hero-media{aspect-ratio:16/9;min-height:0;border-radius:7px;overflow:hidden;background:#eee}
.careers-hero-media figure{margin:0;width:100%;height:100%}
.careers-hero-media img{display:block;width:100%;height:100%;object-fit:cover}
.careers-intro{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:72px;align-items:start}
.careers-intro h2{font-size:clamp(38px,4vw,56px);line-height:1;letter-spacing:-.055em;margin:8px 0 0}
.careers-intro-copy{font-size:16.5px;line-height:1.72;color:#333}
.careers-intro-copy p{margin:0 0 18px}.careers-intro-copy p:last-child{margin-bottom:0}
.career-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.career-value{background:#fff;padding:30px 28px 34px;min-height:240px}
.career-value-num{font-size:12px;font-weight:900;color:var(--red);letter-spacing:.08em;margin-bottom:34px}
.career-value h3{font-size:22px;line-height:1.18;letter-spacing:-.035em;margin:0 0 12px}
.career-value p{font-size:14.5px;line-height:1.62;color:var(--muted);margin:0}
.careers-open{background:var(--surface-2)}
.career-role-list{border-top:1px solid var(--ink)}
.career-role{display:grid;grid-template-columns:175px minmax(0,1fr) auto;gap:32px;align-items:center;padding:30px 28px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .18s ease;box-sizing:border-box}
.career-role:hover{background:rgba(255,255,255,.62)}
.career-role-meta{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.065em;color:var(--red)}
.career-role-main h3{font-size:27px;line-height:1.15;letter-spacing:-.04em;margin:0 0 9px;transition:color .18s ease}
.career-role:hover h3{color:var(--red)}
.career-role-main p{font-size:14.5px;line-height:1.55;color:var(--muted);margin:0;max-width:720px}
.career-role-facts{display:flex;gap:8px 14px;flex-wrap:wrap;margin-top:12px;font-size:12.5px;font-weight:700;color:#555}
.career-role-facts span+span:before{content:"•";color:#aaa;margin-right:12px}
.career-role-action{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:900;white-space:nowrap}
.career-role-action svg{width:15px;height:15px;transition:transform .18s ease}.career-role:hover .career-role-action svg{transform:translateX(3px)}
.careers-empty-note{margin-top:24px;font-size:13px;color:var(--muted)}
.career-modal-overlay{position:fixed;inset:0;z-index:2800;background:rgba(8,9,11,.72);backdrop-filter:blur(7px);padding:26px;display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.career-modal-overlay.open{opacity:1;visibility:visible}
.career-modal{width:min(900px,100%);max-height:min(90vh,920px);background:#fff;border-radius:9px;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;transform:translateY(12px) scale(.985);transition:transform .22s ease;box-shadow:0 30px 90px rgba(0,0,0,.28)}
.career-modal-overlay.open .career-modal{transform:none}
.career-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:30px 34px 25px;border-bottom:1px solid var(--line)}
.career-modal-head .kicker{margin-bottom:8px}.career-modal-head h2{font-size:34px;line-height:1.08;letter-spacing:-.048em;margin:0}
.career-modal-close{width:42px;height:42px;flex:none;border:1px solid var(--line);background:#fff;border-radius:50%;display:grid;place-items:center;font-size:25px;line-height:1}
.career-modal-body{overflow:auto;padding:30px 34px 38px;scrollbar-gutter:stable}
.career-modal-summary{font-size:17px;line-height:1.67;color:#343941;margin:0 0 26px;max-width:760px}
.career-modal-facts{display:flex;gap:9px 18px;flex-wrap:wrap;padding:16px 0 24px;margin-bottom:8px;border-bottom:1px solid var(--line);font-size:13px;font-weight:700;color:#555}
.career-modal-facts span{display:inline-flex;align-items:center;gap:7px}.career-modal-facts svg{width:16px;height:16px;color:var(--red)}
.career-modal-section{padding-top:28px}.career-modal-section h3{font-size:21px;line-height:1.2;letter-spacing:-.035em;margin:0 0 15px}
.career-modal-section ul{margin:0;padding-left:20px;display:grid;gap:10px}.career-modal-section li{font-size:14.5px;line-height:1.58;color:#444}
.career-modal-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 34px;border-top:1px solid var(--line);background:#fff}
.career-modal-foot p{font-size:12.5px;line-height:1.45;color:var(--muted);margin:0;max-width:480px}
.career-apply-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:0 18px;background:var(--ink);color:#fff;border-radius:5px;font-size:13px;font-weight:900;white-space:nowrap}
.career-apply-btn:hover{background:var(--red)}
@media(max-width:900px){
 .careers-hero{padding:46px 0 46px}.careers-hero-grid,.careers-intro{grid-template-columns:1fr;gap:36px}.careers-hero-copy h1{font-size:48px}.careers-hero-media{min-height:0}.career-values{grid-template-columns:1fr}.career-value{min-height:0}.career-role{grid-template-columns:1fr auto;gap:14px 20px;padding:24px 0}.career-role-meta{grid-column:1/-1}.career-role-main{grid-column:1}.career-role-action{grid-column:2;grid-row:2;align-self:end}.career-modal-overlay{padding:12px}.career-modal{max-height:94vh}.career-modal-head,.career-modal-body,.career-modal-foot{padding-left:22px;padding-right:22px}.career-modal-head h2{font-size:29px}
}
@media(max-width:560px){
 .careers-hero{padding-top:36px}.careers-hero-copy h1{font-size:39px}.careers-hero-copy p{font-size:16px}.careers-hero-media{min-height:0}.careers-intro{gap:24px}.careers-intro h2{font-size:36px}.career-role{display:block;padding:24px 0}.career-role-main h3{font-size:24px}.career-role-action{margin-top:18px}.career-role-facts span{display:block;width:100%}.career-role-facts span+span:before{display:none}.career-modal-overlay{padding:6px;align-items:end}.career-modal{width:100%;max-height:96vh;border-radius:10px 10px 0 0}.career-modal-head{padding-top:22px}.career-modal-head h2{font-size:27px}.career-modal-body{padding-top:22px}.career-modal-foot{display:block}.career-modal-foot p{margin-bottom:13px}.career-apply-btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.career-modal-overlay,.career-modal,.career-role-action svg{transition:none!important}}


/* v110 Careers role-row breathing room */
.career-role{padding-inline:28px}
@media(max-width:640px){.career-role{padding-inline:18px}}

/* v36 targeted refinements: lighter Asia Tech surface, clearer editorial hover, author spacing */
.asia-tech-section{background:#F4F4F4!important}

/* Make story-card hover visible without introducing card lift/shadow. */
.story-interactive .media img{transition:transform .22s cubic-bezier(.2,.72,.25,1),filter .22s ease!important;will-change:transform}
.story-interactive :is(h1,h2,h3),
.story-interactive :is(h1,h2,h3) a,
.review-row.story-interactive>strong{transition:color .18s ease!important}
.story-interactive:is(:hover,:focus-within) .media img{transform:scale(1.025)!important;filter:brightness(.985)}
.story-interactive:is(:hover,:focus-within) :is(h1,h2,h3),
.story-interactive:is(:hover,:focus-within) :is(h1,h2,h3) a,
.review-row.story-interactive:is(:hover,:focus-within)>strong{color:#EC3535!important}

/* Top Stories are compact, so give the hover state a little more clarity. */
.top-story{transition:background-color .18s ease}
.top-story:is(:hover,:focus-visible){background:#F4F4F4}
.top-story:is(:hover,:focus-visible) .media img{transform:scale(1.035)!important}
.top-story:is(:hover,:focus-visible) h3{color:#EC3535!important}

/* Preserve the purposely restrained full-width feature behaviour. */
.featured-spotlight:is(:hover,:focus-visible) .feature-media img{transform:none!important;filter:brightness(.975)!important}

/* Give the author module equal breathing room above and below its content. */
.author-box{margin:54px 0 32px!important;padding:30px 0 30px!important;border-top:1px solid #EDEDED!important;border-bottom:1px solid #EDEDED!important}
.author-box-label{margin-bottom:18px!important}
.author-box p{margin-bottom:12px!important}
.author-more{margin-bottom:0}

@media(max-width:640px){
  .author-box{margin:42px 0 28px!important;padding:26px 0!important}
}
@media(hover:none){
  .story-interactive:is(:hover,:focus-within) .media img,
  .top-story:is(:hover,:focus-visible) .media img{transform:none!important;filter:none!important}
  .top-story:is(:hover,:focus-visible){background:transparent}
}
@media(prefers-reduced-motion:reduce){
  .story-interactive .media img,.story-interactive :is(h1,h2,h3),.story-interactive :is(h1,h2,h3) a,.top-story{transition:none!important}
}

/* v39 — responsive ad inventory, isolated from the popup-ad component */
.te-ad-break{display:block;width:100%;clear:both;background:#fff;padding:48px 0 52px}
.te-ad-break-inner{width:min(calc(100% - 48px),var(--max));margin-inline:auto;display:flex;justify-content:center}
.te-ad-slot{display:flex;flex-direction:column;align-items:center;width:max-content;max-width:100%;margin:0 auto}
.te-ad-label{margin:0 0 8px;color:#777;font-size:10px;line-height:1.2;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.te-ad-placeholder{display:grid;place-items:center;flex:none;background:#F4F4F4;border:1px solid #EDEDED;color:#777;overflow:hidden}
.te-ad-placeholder span{font-size:12px;line-height:1.4;text-align:center;padding:14px}
.te-ad-mobile-label{display:none}
.te-ad-size-970x250{width:970px;height:250px;max-width:100%}
.te-ad-size-300x250{width:300px;height:250px;max-width:100%}
.te-ad-size-300x600{width:300px;height:600px;max-width:100%}
.te-article-ad-break{display:block;clear:both;position:relative;margin:52px 0;padding:0}
.article-body>.te-article-ad-break,.continuous-body>.te-article-ad-break{left:50%;width:min(970px,calc(100vw - 48px));transform:translateX(-50%)}
.article-body>.te-article-ad-break.te-ad-compact,.continuous-body>.te-article-ad-break.te-ad-compact{width:300px;max-width:calc(100vw - 48px)}
.te-post-end-ad{max-width:1100px;margin:52px auto 64px;padding:0;clear:both}
.te-post-end-ad .te-ad-slot{margin-inline:auto}
@media(max-width:768px){
 .te-ad-break{padding:38px 0 42px}.te-ad-break-inner{width:calc(100% - 28px)}
 .te-ad-placeholder{width:300px!important;height:250px!important;max-width:100%}
 .te-ad-desktop-label{display:none}.te-ad-mobile-label{display:block}
 .te-article-ad-break{margin:40px 0}
 .article-body>.te-article-ad-break,.continuous-body>.te-article-ad-break,.article-body>.te-article-ad-break.te-ad-compact,.continuous-body>.te-article-ad-break.te-ad-compact{left:50%;width:min(300px,calc(100vw - 28px));max-width:none;transform:translateX(-50%)}
 .te-post-end-ad{margin:42px auto 52px;padding:0 14px}
}

/* v38: preserve v36 design; fix only Asia Tech contrast, Featured hover, and ad layout participation. */
.asia-tech-section{background:#F4F4F4!important}
.asia-tech-section .section-sub,
.asia-tech-section .deck,
.asia-tech-section .meta{color:rgba(0,0,0,.66)!important}
.asia-tech-section .meta span+span:before{color:rgba(0,0,0,.35)!important}

/* Featured module: visible but restrained interaction across the whole click target. */
.featured-spotlight .feature-media img{
  transform:scale(1)!important;
  filter:none!important;
  transition:transform .34s cubic-bezier(.2,.72,.25,1),filter .34s ease!important;
  will-change:transform;
}
.featured-spotlight:after{transition:opacity .28s ease!important;opacity:.92}
.featured-spotlight .feature-cta{transition:opacity .2s ease!important;opacity:.82}
.featured-spotlight .feature-cta b{transition:transform .22s ease!important}
.featured-spotlight:is(:hover,:focus-visible) .feature-media img{
  transform:scale(1.018)!important;
  filter:brightness(.91) saturate(1.035)!important;
}
.featured-spotlight:is(:hover,:focus-visible):after{opacity:1}
.featured-spotlight:is(:hover,:focus-visible) .feature-cta{opacity:1}
.featured-spotlight:is(:hover,:focus-visible) .feature-cta b{transform:translateX(6px)!important}

@media(hover:none){
  .featured-spotlight:is(:hover,:focus-visible) .feature-media img{transform:none!important;filter:none!important}
  .featured-spotlight:is(:hover,:focus-visible):after{opacity:.92}
}
@media(prefers-reduced-motion:reduce){
  .featured-spotlight .feature-media img,.featured-spotlight:after,.featured-spotlight .feature-cta,.featured-spotlight .feature-cta b{transition:none!important}
}

/* v39 — responsive ad inventory, isolated from the popup-ad component */
.te-ad-break{display:block;width:100%;clear:both;background:#fff;padding:48px 0 52px}
.te-ad-break-inner{width:min(calc(100% - 48px),var(--max));margin-inline:auto;display:flex;justify-content:center}
.te-ad-slot{display:flex;flex-direction:column;align-items:center;width:max-content;max-width:100%;margin:0 auto}
.te-ad-label{margin:0 0 8px;color:#777;font-size:10px;line-height:1.2;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.te-ad-placeholder{display:grid;place-items:center;flex:none;background:#F4F4F4;border:1px solid #EDEDED;color:#777;overflow:hidden}
.te-ad-placeholder span{font-size:12px;line-height:1.4;text-align:center;padding:14px}
.te-ad-mobile-label{display:none}
.te-ad-size-970x250{width:970px;height:250px;max-width:100%}
.te-ad-size-300x250{width:300px;height:250px;max-width:100%}
.te-ad-size-300x600{width:300px;height:600px;max-width:100%}
.te-article-ad-break{display:block;clear:both;position:relative;margin:52px 0;padding:0}
.article-body>.te-article-ad-break,.continuous-body>.te-article-ad-break{left:50%;width:min(970px,calc(100vw - 48px));transform:translateX(-50%)}
.article-body>.te-article-ad-break.te-ad-compact,.continuous-body>.te-article-ad-break.te-ad-compact{width:300px;max-width:calc(100vw - 48px)}
.te-post-end-ad{max-width:1100px;margin:52px auto 64px;padding:0;clear:both}
.te-post-end-ad .te-ad-slot{margin-inline:auto}
@media(max-width:768px){
 .te-ad-break{padding:38px 0 42px}.te-ad-break-inner{width:calc(100% - 28px)}
 .te-ad-placeholder{width:300px!important;height:250px!important;max-width:100%}
 .te-ad-desktop-label{display:none}.te-ad-mobile-label{display:block}
 .te-article-ad-break{margin:40px 0}
 .article-body>.te-article-ad-break,.continuous-body>.te-article-ad-break,.article-body>.te-article-ad-break.te-ad-compact,.continuous-body>.te-article-ad-break.te-ad-compact{left:50%;width:min(300px,calc(100vw - 28px));max-width:none;transform:translateX(-50%)}
 .te-post-end-ad{margin:42px auto 52px;padding:0 14px}
}

/* v40: homepage rail ad + wide-only desktop post ads. */
.te-rail-ad{margin:30px 0 8px;padding-top:26px;border-top:1px solid #EDEDED;display:flex;justify-content:center}
.te-rail-ad .te-ad-slot{width:300px}
.te-rail-ad .te-ad-placeholder{width:300px;height:250px}
.te-post-end-ad{width:min(970px,calc(100% - 48px));max-width:970px;margin:56px auto 68px}
@media(max-width:900px){
  .te-rail-ad{margin-top:28px;padding-top:24px}
}
@media(max-width:768px){
  .te-post-end-ad{width:min(300px,calc(100% - 28px));max-width:none;margin:44px auto 54px;padding:0}
}

/* Final cascade layer for the stable prototype. */
.te-article-ad-break,.te-post-end-ad{display:none!important}
.home-rail-ad-wrap{grid-column:2;display:flex;justify-content:center;align-self:start;margin-top:-4px}
.home-rail-ad-wrap .te-rail-ad{margin:0;padding-top:26px;border-top:1px solid var(--line);width:100%}
.home-rail-ad-wrap .te-ad-slot{width:300px}
@media(min-width:901px){.lead-story{grid-row:1 / span 2}}
@media(max-width:900px){
  .home-rail-ad-wrap{grid-column:auto;width:100%;margin:8px 0 0;justify-content:center}
  .home-rail-ad-wrap .te-rail-ad{width:100%;display:flex;justify-content:center;padding-top:22px}
}
@media(max-width:640px){
  .featured-spotlight-section{padding:10px 0 54px!important}
  .featured-spotlight{width:100%!important;margin:0!important;min-height:0!important;overflow:visible!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--ink)!important}
  .featured-spotlight .feature-media{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;overflow:hidden!important;border-radius:0!important;background:var(--surface)!important}
  .featured-spotlight .feature-media img{width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important;filter:none!important}
  .featured-spotlight:after{display:none!important}
  .featured-spotlight-copy{position:relative!important;min-height:0!important;width:100%!important;max-width:none!important;padding:18px 0 0!important;color:var(--ink)!important;display:block!important}
  .featured-spotlight-copy .kicker{color:var(--red)!important}
  .featured-spotlight-copy h2{font-size:32px!important;line-height:1.04!important;letter-spacing:-.05em!important;margin:8px 0 12px!important}
  .featured-spotlight-copy p{font-size:15px!important;line-height:1.58!important;color:var(--muted)!important;margin:0 0 15px!important}
  .featured-spotlight-copy .meta{color:var(--muted)!important;gap:7px 10px!important}
  .featured-spotlight-copy .feature-cta{display:block!important;width:100%!important;margin-top:12px!important;color:var(--ink)!important;font-weight:800!important;opacity:1!important}
  .related-reading{width:calc(100% - 28px)!important;max-width:none!important;margin:54px auto 0!important;padding:30px 0 52px!important}
  .related-grid{display:grid!important;grid-template-columns:1fr!important;gap:28px!important;width:100%!important;min-width:0!important}
  .related-card{display:block!important;width:100%!important;padding:0 0 24px!important;border-bottom:1px solid var(--line)!important;min-width:0!important}
  .related-card:last-child{padding-bottom:0!important;border-bottom:0!important}
  .related-card>a{display:block!important;width:100%!important;min-width:0!important}
  .related-card .media{width:100%!important;aspect-ratio:16/9!important;margin:0 0 13px!important}
  .related-card .kicker{margin:0 0 6px!important}
  .related-card h3{margin:0 0 8px!important;font-size:19px!important;line-height:1.25!important;overflow-wrap:normal!important}
  .related-card .related-excerpt,.related-card .deck{display:block!important;margin:0 0 10px!important;color:var(--muted)!important;font-size:13.5px!important;line-height:1.5!important}
  .related-card .meta{margin:0!important;font-size:12px!important}
  .home-rail-ad-wrap{width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}
  .home-rail-ad-wrap .te-rail-ad{border-top:0!important;padding-top:12px!important}
  .home-rail-ad-wrap .te-ad-slot{width:300px!important;max-width:300px!important}
}

/* v44: one consistent article-ending hierarchy across primary and continuous stories. */
.article-body,.continuous-body{--footer-line:#EDEDED}

/* Tags rely on whitespace. The author module owns the first separator. */
.article-tags{margin-top:36px}
.author-box{
  margin:48px 0 0!important;
  padding:28px 0 0!important;
  border-top:1px solid var(--footer-line)!important;
  border-bottom:0!important;
}
.author-box-label{margin-bottom:18px!important}
.author-box p{margin-bottom:12px!important}

/* Sharing is part of the same article-ending group, so no extra rule above it. */
.article-share-mobile,.continuous-share-row{
  width:100%;
  max-width:none;
  margin:28px 0 0!important;
  padding:0!important;
  border-top:0!important;
}

/* Changelog is optional and receives the next single separator. */
.article-body>.changelog,.continuous-body>.changelog{
  margin:42px 0 0!important;
  padding:28px 0 0!important;
  border-top:1px solid var(--footer-line)!important;
  border-bottom:0!important;
}

/* Continuous-story boundary remains the only page-level separator after a story. */
.continuous-article{border-top:1px solid var(--footer-line)!important}
.continuous-separator{border-top:0!important}

@media(max-width:640px){
  .author-box{margin-top:40px!important;padding-top:24px!important}
  .article-share-mobile,.continuous-share-row{margin-top:24px!important}
  .article-body>.changelog,.continuous-body>.changelog{margin-top:36px!important;padding-top:24px!important}
}

/* v45: Share is article-level utility, followed by author identity. */
.article-share-mobile,.continuous-share-row{
  margin:40px 0 0!important;
  padding:24px 0 0!important;
  border-top:1px solid var(--footer-line)!important;
}
.author-box{
  margin:36px 0 0!important;
  padding:0!important;
  border-top:0!important;
}
/* Changelog is visually distinct metadata rather than another ruled section. */
.article-body>.changelog,.continuous-body>.changelog{
  margin:44px 0 0!important;
  padding:26px 28px!important;
  background:var(--surface-2)!important;
  border:0!important;
  border-radius:var(--radius)!important;
}
.changelog-title{margin-bottom:18px!important}
@media(max-width:640px){
  .article-share-mobile,.continuous-share-row{margin-top:34px!important;padding-top:22px!important}
  .author-box{margin-top:32px!important}
  .article-body>.changelog,.continuous-body>.changelog{margin-top:38px!important;padding:22px 20px!important}
}

/* v46 integrated publishing-platform mock-up. Presentation is theme-native; durable data/logic is represented as Tech Edition Core. */
:root{--te-soft:#F4F4F4;--te-line:#EDEDED;--te-grey:#777777;--te-red:#EC3535}
.platform-note{font-size:11px;line-height:1.45;color:var(--muted);margin-top:9px}

/* Quick Read — replaces the current animated purple/pink plugin front end. */
.quick-read{margin:30px 0 34px;border:1px solid var(--line);border-top:3px solid var(--red);background:#fff;border-radius:0 0 var(--radius) var(--radius);overflow:hidden}
.quick-read-toggle{width:100%;border:0;background:#fff;padding:18px 20px;display:grid;grid-template-columns:34px minmax(0,1fr) 24px;gap:12px;align-items:center;text-align:left}
.quick-read-toggle:hover{background:#fafafa}.quick-read-icon{width:30px;height:30px;border:1px solid var(--line);display:grid;place-items:center;border-radius:50%;font-size:15px;font-weight:900;color:var(--red)}
.quick-read-heading{display:grid;gap:2px}.quick-read-heading strong{font-size:15px;line-height:1.2}.quick-read-heading span{font-size:12px;color:var(--muted);font-weight:500}.quick-read-chevron{font-size:18px;transition:transform .18s ease}.quick-read-toggle[aria-expanded="true"] .quick-read-chevron{transform:rotate(180deg)}
.quick-read-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.quick-read-content.open{grid-template-rows:1fr}.quick-read-content>div{overflow:hidden}.quick-read-list{margin:0;padding:0 20px 18px 52px;list-style:none}.quick-read-list li{position:relative;margin:0 0 10px;font-size:14px;line-height:1.55}.quick-read-list li:last-child{margin-bottom:0}.quick-read-list li:before{content:"";position:absolute;left:-18px;top:.6em;width:6px;height:6px;background:var(--red)}

/* Review Pro Max — server-rendered visual treatment, no runtime widget shell. */
.te-review{margin:38px 0;background:#111318;color:#fff;border-radius:var(--radius-lg);overflow:hidden}
.te-review-top{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;padding:28px}.te-review-score{display:flex;flex-direction:column;justify-content:center;border-right:1px solid #343840;padding-right:28px}.te-review-score .kicker{color:#fff}.te-review-number{font-size:72px;line-height:.9;font-weight:900;letter-spacing:-.075em;margin:10px 0 7px}.te-review-number small{font-size:15px;color:#aab0ba;letter-spacing:0}.te-review-label{font-size:13px;color:#c6cbd2;font-weight:700}.te-review-copy h3{font-size:26px;line-height:1.1;letter-spacing:-.04em;margin:5px 0 11px}.te-review-copy p{margin:0;color:#c2c7ce;font-size:14.5px;line-height:1.6}.te-review-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #343840}.te-review-col{padding:22px 28px}.te-review-col+ .te-review-col{border-left:1px solid #343840}.te-review-col h4{font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px}.te-review-col ul{margin:0;padding-left:18px;color:#d8dbe0;font-size:14px;line-height:1.6}.te-review-retail{display:flex;align-items:center;gap:12px;justify-content:space-between;border-top:1px solid #343840;padding:18px 28px}.te-review-retail small{color:#9097a1;line-height:1.4;max-width:440px}.te-review-cta{border:0;background:var(--red);color:#fff;border-radius:5px;padding:11px 16px;font-size:12px;font-weight:800;white-space:nowrap}

/* Shortlist blocks — content remains portable; front end is theme-native. */
.shortlist-banner{display:inline-flex;position:relative;background:var(--red);color:#fff;padding:7px 11px;margin:22px 0 18px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;border-radius:3px}.shortlist-banner:after{content:"";position:absolute;left:18px;bottom:-7px;border:7px solid transparent;border-top-color:var(--red);border-bottom:0}
.inline-related{margin:34px 0 40px;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;overflow:hidden;transition:border-color .18s ease,background .18s ease}.inline-related>a{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:24px;align-items:center;padding:22px 22px 22px 24px}.inline-related-copy{min-width:0}.inline-related-label{display:block;font-size:10.5px;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:var(--red);font-weight:900;margin:0 0 8px}.inline-related h3{margin:0;font-size:19px;line-height:1.25;letter-spacing:-.03em;font-weight:800;transition:color .18s ease}.inline-related p{margin:8px 0 12px;font-size:13.5px;line-height:1.5;color:var(--muted)}.inline-related .meta{font-size:11.5px}.inline-related-media{aspect-ratio:16/9;border-radius:7px;overflow:hidden;background:var(--surface)}.inline-related-media img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.inline-related:hover{border-color:#d9d9d9;background:#f7f7f7}.inline-related:hover h3{color:var(--red)}.inline-related:hover .inline-related-media img{transform:scale(1.018)}@media(hover:none){.inline-related:hover .inline-related-media img{transform:none}}

/* Visual Compare — integrated with article media and caption language. */
.te-compare{margin:38px 0}.te-compare-stage{position:relative;aspect-ratio:16/9;overflow:hidden;background:#16191e;border-radius:var(--radius)}.te-compare-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.te-compare-after{clip-path:inset(0 0 0 var(--compare,50%))}.te-compare-divider{position:absolute;top:0;bottom:0;left:var(--compare,50%);width:2px;background:#fff;transform:translateX(-1px);box-shadow:0 0 0 1px rgba(0,0,0,.18)}.te-compare-handle{position:absolute;left:var(--compare,50%);top:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-size:17px;font-weight:900;box-shadow:0 4px 18px rgba(0,0,0,.22);pointer-events:none}.te-compare-label{position:absolute;top:12px;background:rgba(0,0,0,.66);color:#fff;border-radius:4px;padding:6px 8px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.te-compare-label.before{left:12px}.te-compare-label.after{right:12px}.te-compare-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}.te-compare-caption{font-size:12px;line-height:1.5;color:var(--muted);margin:9px 2px 0}

/* Lightweight YouTube facade. */
.youtube-facade{margin:38px 0}.youtube-frame{position:relative;aspect-ratio:16/9;background:#121418;border-radius:var(--radius);overflow:hidden;display:grid;place-items:center}.youtube-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.58)}.youtube-play{position:relative;z-index:2;width:68px;height:48px;border:0;border-radius:11px;background:#fff;color:#111;font-size:20px;font-weight:900}.youtube-consent{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;color:#fff;font-size:11px;text-align:center}.youtube-loaded{position:relative;z-index:2;color:#fff;text-align:center;max-width:420px;padding:30px}.youtube-loaded strong{display:block;font-size:20px;margin-bottom:6px}.youtube-loaded span{font-size:12px;color:#c8cdd5}

/* Tech Tracker reader product — data/admin belongs in Core; UI belongs in theme. */
.tracker-section{background:#fff}.tracker-shell{border-top:3px solid var(--ink)}.tracker-filters{display:flex;align-items:center;gap:6px;padding:18px 0;border-bottom:1px solid var(--line);overflow:auto;scrollbar-width:none}.tracker-filters::-webkit-scrollbar{display:none}.tracker-filter{border:0;background:transparent;padding:9px 11px;border-radius:5px;font-size:12px;font-weight:800;color:var(--muted);white-space:nowrap}.tracker-filter.active{background:var(--ink);color:#fff}.tracker-count{margin-left:auto;font-size:11px;color:var(--muted);font-weight:700;white-space:nowrap}.tracker-list{display:grid}.tracker-item{display:grid;grid-template-columns:160px minmax(0,1fr) 150px;gap:24px;padding:23px 0;border-bottom:1px solid var(--line);align-items:start}.tracker-live{display:inline-flex;align-items:center;gap:7px;margin-left:2px;color:var(--muted);font-size:10px;line-height:1;font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.tracker-live-dot{position:relative;width:7px;height:7px;border-radius:50%;background:#21B88A;flex:none}.tracker-live-dot:after{content:"";position:absolute;inset:-4px;border:1.5px solid rgba(33,184,138,.42);border-radius:50%;animation:trackerLivePulse 1.55s ease-out infinite}@keyframes trackerLivePulse{0%{transform:scale(.7);opacity:.95}70%,100%{transform:scale(1.8);opacity:0}}@media(prefers-reduced-motion:reduce){.tracker-live-dot:after{animation:none;opacity:.35}}.tracker-date{font-size:13px;font-weight:900;color:var(--red)}.tracker-date small{display:block;color:var(--muted);font-size:10.5px;margin-top:5px;text-transform:uppercase;letter-spacing:.05em}.tracker-item h3{font-size:20px;line-height:1.22;margin:0 0 7px;letter-spacing:-.03em}.tracker-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:7px}.tracker-pill{font-size:10px;font-weight:800;padding:4px 7px;border:1px solid var(--line);border-radius:4px;text-transform:uppercase;letter-spacing:.04em}.tracker-item p{font-size:13.5px;line-height:1.55;color:var(--muted);margin:0}.tracker-actions{display:grid;gap:8px;justify-items:end}.tracker-link,.tracker-cal{font-size:11.5px;font-weight:800;border:1px solid var(--line);background:#fff;border-radius:5px;padding:8px 10px}.tracker-link:hover,.tracker-cal:hover{border-color:var(--red);color:var(--red)}

/* Feature-lab page for UAT — not intended as a public navigation destination. */
.lab-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:start}.lab-status{background:#fff;border:1px solid var(--line);padding:22px;border-radius:var(--radius)}.lab-status h3{margin:0 0 14px;font-size:18px}.lab-status-row{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-top:1px solid var(--line);font-size:12px}.lab-status-row:first-of-type{border-top:0}.lab-status-row span:last-child{font-weight:800}.lab-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.lab-card{border:1px solid var(--line);background:#fff;padding:24px;border-radius:var(--radius)}.lab-card h3{font-size:22px;line-height:1.2;margin:7px 0 9px}.lab-card p{font-size:13.5px;color:var(--muted);line-height:1.55;margin:0}.lab-chip{display:inline-block;margin-top:14px;padding:6px 8px;background:var(--surface-2);font-size:10.5px;font-weight:800;border-radius:3px}

@media(max-width:900px){.tracker-item{grid-template-columns:130px minmax(0,1fr);gap:18px}.tracker-actions{grid-column:2;justify-items:start;display:flex}.lab-intro,.lab-feature-grid{grid-template-columns:1fr}.te-review-top{grid-template-columns:150px minmax(0,1fr)}}
@media(max-width:640px){.quick-read-toggle{grid-template-columns:30px minmax(0,1fr) 18px;padding:15px 14px}.quick-read-list{padding:0 14px 15px 44px}.te-review-top{grid-template-columns:1fr;padding:22px 20px}.te-review-score{border-right:0;border-bottom:1px solid #343840;padding:0 0 20px}.te-review-number{font-size:58px}.te-review-grid{grid-template-columns:1fr}.te-review-col+ .te-review-col{border-left:0;border-top:1px solid #343840}.te-review-col{padding:19px 20px}.te-review-retail{align-items:flex-start;flex-direction:column;padding:18px 20px}.tracker-filters{padding:14px 0}.tracker-count{display:none}.tracker-item{grid-template-columns:1fr;gap:9px;padding:20px 0}.tracker-date small{display:inline;margin-left:8px}.tracker-actions{grid-column:1;display:flex}.te-compare-handle{width:38px;height:38px}.lab-card{padding:20px}}
@media(prefers-reduced-motion:reduce){.quick-read-content,.quick-read-chevron{transition:none}}

/* v47: plugin functionality is woven into the existing editorial system rather than presented as standalone widgets. */

/* Quick Read keeps the current plugin's polished animated-border interaction, but uses Tech Edition colours. */
.quick-read{margin:24px 0 30px;padding:2px;border:0;border-radius:8px;background:linear-gradient(90deg,var(--red) 0%,var(--red-soft) 50%,var(--red) 100%);background-size:200% 100%;animation:quickReadBorder 3.2s ease infinite;overflow:visible}
@keyframes quickReadBorder{0%,100%{background-position:0 0}50%{background-position:100% 0}}
.quick-read-inner{background:#fff;border-radius:6px;overflow:hidden}
.quick-read-toggle{padding:14px 16px;grid-template-columns:28px minmax(0,1fr) 22px;gap:10px;background:#fff}
.quick-read-toggle:hover{background:#fff9f8}
.quick-read-icon{width:24px;height:24px;border:0;border-radius:0;color:var(--red);margin-top:1px}
.quick-read-heading{gap:1px}.quick-read-heading strong{font-size:15px;font-weight:700;letter-spacing:-.015em;color:var(--ink)}.quick-read-heading span{font-size:12px;color:var(--muted)}
.quick-read-chevron{display:grid;place-items:center;color:var(--ink);transition:transform .4s cubic-bezier(.4,0,.2,1)}
.quick-read-content{transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1)}
.quick-read-list{padding:0 16px 16px 54px}
.quick-read-list li{font-size:14px;line-height:1.6;color:#333;margin-bottom:12px;opacity:0;transform:translateY(5px);transition:opacity .2s ease,transform .2s ease}
.quick-read-list li:before{width:8px;height:8px;left:-20px;top:.62em;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--red-soft))}
.quick-read-content.open li{opacity:1;transform:none}.quick-read-content.open li:nth-child(2){transition-delay:.05s}.quick-read-content.open li:nth-child(3){transition-delay:.1s}

/* Review Pro Max adopts the white editorial card language and reuses homepage score animation/bar. */
.te-review{margin:38px 0;background:#fff;color:var(--ink);border:1px solid var(--line);border-top:4px solid var(--red);border-radius:var(--radius-lg);overflow:hidden;box-shadow:none}
.te-review-top{grid-template-columns:205px minmax(0,1fr);gap:30px;padding:28px 30px;background:#fff}
.te-review-score{border-right:1px solid var(--line);padding-right:30px;justify-content:flex-start}.te-review-score .kicker{color:var(--red)}
.te-review-score .score-box{margin-top:15px}.te-review-score .score-value strong{font-size:58px;color:var(--ink);letter-spacing:-.07em}.te-review-score .score-value span{color:var(--muted)}
.te-review-score .score-scale{max-width:180px;margin-top:12px;gap:4px}.te-review-score .score-scale i{height:5px;background:var(--line)}.te-review-score .score-scale i.on{background:var(--red)}
.te-review-label{margin-top:10px;color:var(--ink);font-size:12.5px;font-weight:800}
.te-review-copy{align-self:center}.te-review-copy .kicker{color:var(--red)}.te-review-copy h3{font-size:27px;line-height:1.12;margin:6px 0 10px}.te-review-copy p{color:var(--muted);font-size:14.5px;line-height:1.62}
.te-review-grid{border-top:1px solid var(--line);background:var(--surface-2)}.te-review-col{padding:24px 30px}.te-review-col+.te-review-col{border-left:1px solid #ddd}
.te-review-col h4{font-size:12px;margin:0 0 15px}.te-review-col ul{list-style:none;padding:0;color:var(--ink);display:grid;gap:10px}.te-review-col li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:9px;align-items:start;font-size:14px;line-height:1.5}.te-review-list-icon{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;margin-top:1px}.te-review-list-icon svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.te-review-pros .te-review-list-icon{background:rgba(236,53,53,.09);color:var(--red)}.te-review-cons .te-review-list-icon{background:#e5e5e5;color:#555}
.te-review-retail{border-top:1px solid var(--line);padding:16px 30px;background:#fff}.te-review-retail small{color:var(--muted);font-size:11.5px;max-width:500px}.te-review-cta{padding:10px 14px}

/* Shortlist tag is a label attached to the following heading, not a separate vertical module. */
.shortlist-banner{margin:10px 0 2px;padding:6px 10px;font-size:10.5px;line-height:1.2;border-radius:3px}.shortlist-banner:after{left:16px;bottom:-6px;border-width:6px;border-bottom:0}.shortlist-banner+h2{margin-top:18px!important}

/* Tech Tracker replaces the duplicate Events section and borrows its restrained editorial-row rhythm. */
.tracker-section{background:var(--surface-2)}.tracker-shell{border-top:3px solid var(--ink)}
.tracker-filters{padding:14px 0;border-bottom:1px solid var(--line)}.tracker-filter{border-radius:4px;padding:8px 10px}.tracker-filter.active{background:var(--ink);color:#fff}
.tracker-item{grid-template-columns:150px minmax(0,1fr) 150px;gap:22px;padding:22px 0;border-bottom:1px solid #ddd;align-items:start}.tracker-date{font-size:14px}.tracker-date small{font-size:10px}.tracker-meta{margin:1px 0 7px}.tracker-meta span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.065em;color:var(--red)}.tracker-meta span+span:before{content:'·';margin:0 7px;color:#aaa}.tracker-item h3{font-size:20px;margin:0 0 6px}.tracker-item p{font-size:14px;line-height:1.5}.tracker-place{margin-top:8px;font-size:12px;font-weight:700;color:var(--muted)}
.tracker-actions{display:flex;flex-direction:column;align-items:stretch;gap:7px}.tracker-link,.tracker-cal{width:100%;padding:9px 10px;background:transparent}.tracker-link{border-color:var(--ink);color:var(--ink)}.tracker-link span{display:inline-block;transition:transform .16s ease}.tracker-link:hover span{transform:translateX(3px)}
.tracker-modal .event-modal-kicker{color:var(--red)}

@media(max-width:640px){
 .quick-read{margin:20px 0 26px}.quick-read-toggle{padding:12px 14px}.quick-read-list{padding:0 14px 14px 48px}.quick-read-list li{font-size:13.5px}
 .te-review-top{grid-template-columns:1fr;padding:22px 20px;gap:20px}.te-review-score{border-right:0;border-bottom:1px solid var(--line);padding:0 0 20px}.te-review-score .score-value strong{font-size:52px}.te-review-grid{grid-template-columns:1fr}.te-review-col+.te-review-col{border-left:0;border-top:1px solid #ddd}.te-review-col{padding:20px}.te-review-retail{padding:18px 20px}
 .shortlist-banner{margin-top:6px}.shortlist-banner+h2{margin-top:16px!important}
 .tracker-item{grid-template-columns:1fr;gap:8px;padding:19px 0}.tracker-actions{grid-column:1;flex-direction:row;margin-top:5px}.tracker-link,.tracker-cal{width:auto}.tracker-date small{display:inline;margin-left:7px}.tracker-place{margin-top:6px}
}
@media(prefers-reduced-motion:reduce){.quick-read{animation:none}.quick-read-list li{transition:none}.tracker-link span{transition:none}}

/* v48 refinement: retain useful plugin interactions while matching the approved editorial system. */

/* Quick Read: intentionally adopts the current production plugin's visual language and motion. */
.quick-read{
  margin:20px 0!important;
  padding:2px!important;
  border:0!important;
  border-radius:8px!important;
  background:linear-gradient(90deg,#8b5cf6 0%,#ec4899 50%,#8b5cf6 100%)!important;
  background-size:200% 100%!important;
  animation:teqrGradientShift 3s ease infinite!important;
  overflow:visible!important;
}
@keyframes teqrGradientShift{0%,100%{background-position:0 0}50%{background-position:100% 0}}
.quick-read-inner{background:#fff;border-radius:6px;overflow:hidden}
.quick-read-toggle{display:flex!important;align-items:flex-start!important;width:100%;padding:14px 16px!important;background:#fff!important;border:0;cursor:pointer;text-align:left;transition:background-color .2s ease!important}
.quick-read-toggle:hover{background:#faf5ff!important}
.quick-read-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:auto!important;height:auto!important;margin:2px 10px 0 0!important;flex:none;border:0!important;border-radius:0!important;color:#8b5cf6!important}
.quick-read-icon svg{width:18px;height:18px;fill:none}
.quick-read-heading{flex:1;display:flex!important;flex-direction:column;gap:2px!important}
.quick-read-heading strong{font-size:15px!important;font-weight:600!important;line-height:1.25;background:linear-gradient(135deg,#8b5cf6 0%,#ec4899 50%,#8b5cf6 100%);background-size:200% 200%;animation:teqrGradientShift 3s ease infinite;-webkit-background-clip:text;background-clip:text;color:transparent}
.quick-read-heading span{font-size:12px!important;color:#666!important;font-weight:400!important}
.quick-read-chevron{display:flex!important;align-items:center;justify-content:center;margin-left:12px;align-self:center;color:#333;transition:transform .4s cubic-bezier(.4,0,.2,1)!important}
.quick-read-toggle[aria-expanded="true"] .quick-read-chevron{transform:rotate(180deg)}
.quick-read-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1)!important;will-change:grid-template-rows}
.quick-read-content.open{grid-template-rows:1fr}.quick-read-content>div{overflow:hidden}
.quick-read-list{margin:0!important;padding:10px 16px 16px!important;list-style:none!important;text-align:left}
.quick-read-list li{position:relative;margin:0 0 12px!important;padding-left:20px;font-size:14px!important;line-height:1.6!important;color:#333;opacity:0;transform:translateY(5px);transition:opacity .2s ease,transform .2s ease}
.quick-read-list li:last-child{margin-bottom:0!important}.quick-read-list li:before{content:"";position:absolute;left:0!important;top:7px!important;width:8px!important;height:8px!important;border-radius:50%!important;background:linear-gradient(135deg,#8b5cf6 0%,#ec4899 100%)!important}
.quick-read-list li.is-typed{opacity:1;transform:none}.quick-read-typing-cursor{display:inline-block;width:2px;height:1em;background:#8b5cf6;margin-left:2px;animation:quickReadBlink .7s infinite;vertical-align:text-bottom}
@keyframes quickReadBlink{0%,50%{opacity:1}51%,100%{opacity:0}}

/* Tech Edition Review: rating uses the same animated score/bar as homepage with the canonical scoring-scale tooltip interaction. */
.te-review-score{position:relative}
.te-review-scoreline{display:flex;align-items:flex-end;gap:10px;position:relative}
.te-review-scoreline .score-box{margin-top:14px;flex:1}
.te-review-rating-info{position:relative;align-self:flex-start;margin-top:16px}
.te-review-rating-info-btn{width:22px;height:22px;border:1px solid #b8bcc2;background:#fff;border-radius:50%;display:grid;place-items:center;padding:0;font-size:11px;line-height:1;font-weight:800;color:#5f6670;transition:border-color .16s ease,color .16s ease,background .16s ease}
.te-review-rating-info-btn:hover,.te-review-rating-info-btn:focus-visible,.te-review-rating-info.is-open .te-review-rating-info-btn{border-color:var(--red);color:var(--red);background:#fff7f5}
.te-review-rating-tooltip{position:absolute;z-index:80;left:calc(100% + 10px);top:0;width:min(560px,72vw);background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 34px rgba(0,0,0,.13);padding:18px;color:var(--ink);opacity:0;visibility:hidden;transform:translateY(5px) scale(.985);transform-origin:top left;transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
.te-review-rating-info:hover .te-review-rating-tooltip,.te-review-rating-info:focus-within .te-review-rating-tooltip,.te-review-rating-info.is-open .te-review-rating-tooltip{opacity:1;visibility:visible;transform:none}
.te-review-rating-tooltip-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding-bottom:11px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.te-review-rating-tooltip-head strong{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}.te-review-rating-tooltip-score{font-size:10.5px;color:var(--muted)}.te-review-rating-tooltip-close{width:28px;height:28px;border:1px solid var(--line);border-radius:50%;background:#fff;display:grid;place-items:center;padding:0;font-size:18px;line-height:1;color:var(--ink)}.te-review-rating-tooltip-close:hover,.te-review-rating-tooltip-close:focus-visible{border-color:var(--red);color:var(--red)}
.te-review-rating-scale{display:grid;gap:5px;list-style:none!important;margin:0!important;padding:0!important}.te-review-rating-scale li{display:grid;grid-template-columns:34px 90px minmax(0,1fr);gap:8px;align-items:start;margin:0!important;padding:4px 6px!important;border-radius:4px;font-size:12px!important;line-height:1.38!important;color:#555}.te-review-rating-scale li.current{background:#fff4f2;color:var(--ink);font-weight:700}.te-review-rating-scale b{font-variant-numeric:tabular-nums;color:var(--ink)}.te-review-rating-scale em{font-style:normal;font-weight:700;color:var(--ink)}.te-review-rating-tooltip-foot{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:10.5px;line-height:1.45;color:var(--muted)}

/* Tracker interactions: filter changes and detail launch are animated but restrained. */
.tracker-filter{transition:background .18s ease,color .18s ease,transform .18s ease}.tracker-filter:active{transform:scale(.97)}
.tracker-item{transition:opacity .2s ease,transform .2s ease}.tracker-item.tracker-entering{animation:trackerEnter .28s cubic-bezier(.2,.7,.2,1) both}.tracker-item.tracker-leaving{animation:trackerLeave .16s ease both}
@keyframes trackerEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes trackerLeave{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px)}}
.tracker-count{transition:opacity .16s ease,transform .16s ease}.tracker-count.is-updating{opacity:.35;transform:translateY(-2px)}
.tracker-link span{display:inline-block;transition:transform .18s ease}.tracker-link:hover span,.tracker-link:focus-visible span{transform:translateX(3px)}

/* Banner tag: compact label with true vertical and horizontal centring. */
.shortlist-banner{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:28px;box-sizing:border-box;padding:0 10px!important;margin:8px 0 2px!important;line-height:1!important;text-align:center}.shortlist-banner+h2{margin-top:17px!important}

/* Modal / image expansion motion. */
.event-modal{animation:modalBackdropIn .2s ease both!important}.event-modal-panel{animation:modalPanelIn .24s cubic-bezier(.2,.72,.25,1) both!important}.event-modal.is-closing{animation:modalBackdropOut .16s ease both!important}.event-modal.is-closing .event-modal-panel{animation:modalPanelOut .16s ease both!important}
@keyframes modalBackdropIn{from{opacity:0}to{opacity:1}}@keyframes modalBackdropOut{from{opacity:1}to{opacity:0}}@keyframes modalPanelIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}@keyframes modalPanelOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(8px) scale(.99)}}
.lightbox-overlay{animation:lightboxBackdropIn .2s ease both}.lightbox-stage img{animation:lightboxImageIn .28s cubic-bezier(.2,.72,.25,1) both;transform-origin:center}.lightbox-overlay.is-closing{animation:lightboxBackdropOut .16s ease both}.lightbox-overlay.is-closing .lightbox-stage img{animation:lightboxImageOut .16s ease both}
@keyframes lightboxBackdropIn{from{opacity:0}to{opacity:1}}@keyframes lightboxBackdropOut{from{opacity:1}to{opacity:0}}@keyframes lightboxImageIn{from{opacity:0;transform:scale(.955)}to{opacity:1;transform:scale(1)}}@keyframes lightboxImageOut{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.975)}}
.ad-overlay{animation:modalBackdropIn .22s ease both}.ad-modal{animation:adModalIn .28s cubic-bezier(.2,.72,.25,1) both}.ad-overlay.is-closing{animation:modalBackdropOut .16s ease both}.ad-overlay.is-closing .ad-modal{animation:adModalOut .16s ease both}@keyframes adModalIn{from{opacity:0;transform:translateY(12px) scale(.965)}to{opacity:1;transform:none}}@keyframes adModalOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(6px) scale(.98)}}

@media(max-width:900px){.te-review-rating-tooltip{position:fixed;z-index:2601;left:50%;top:50%;width:min(560px,calc(100vw - 28px));max-height:min(78vh,620px);overflow:auto;overscroll-behavior:contain;transform:translate(-50%,-48%) scale(.985);transform-origin:center}.te-review-rating-info:hover .te-review-rating-tooltip{opacity:0;visibility:hidden;transform:translate(-50%,-48%) scale(.985)}.te-review-rating-info.is-open .te-review-rating-tooltip,.te-review-rating-info:focus-within.is-open .te-review-rating-tooltip{opacity:1;visibility:visible;transform:translate(-50%,-50%)}.te-review-rating-tooltip-close{width:32px;height:32px;font-size:20px}}
@media(max-width:640px){.quick-read{margin:16px 0!important}.quick-read-toggle{padding:12px 14px!important}.quick-read-heading strong{font-size:14px!important}.quick-read-list{padding:0 14px 14px!important}.quick-read-list li{font-size:13px!important}.te-review-rating-scale li{grid-template-columns:32px 76px minmax(0,1fr);font-size:11px!important}.shortlist-banner{margin-top:5px!important}}
@media(max-width:640px){.quick-read-list{padding-top:9px!important}}
@media(prefers-reduced-motion:reduce){.quick-read,.quick-read-heading strong{animation:none!important}.quick-read-content,.quick-read-chevron,.quick-read-list li,.tracker-item,.tracker-count,.event-modal,.event-modal-panel,.lightbox-overlay,.lightbox-stage img,.ad-overlay,.ad-modal{animation:none!important;transition:none!important}}

/* v54: mobile article QA. Keep desktop composition unchanged. */
@media(max-width:640px){
  /* One consistent mobile article gutter for editorial copy. */
  .article-head{width:calc(100% - 28px);max-width:none;margin:0 auto 24px}
  .article-layout{width:calc(100% - 28px);max-width:var(--article);margin-inline:auto}
  .article-shell{padding-top:30px}
  .breadcrumbs{margin-bottom:16px;font-size:11.5px;gap:6px}
  .article-head>.kicker{font-size:11px}
  .article-head h1{font-size:34px!important;line-height:1.045!important;letter-spacing:-.052em;margin:9px 0 16px}
  .standfirst{font-size:17px!important;line-height:1.56!important;margin-bottom:22px;max-width:none}

  /* Byline first, then Google discovery actions on their own clean row. */
  .article-meta{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:11px;row-gap:13px;align-items:center;min-height:0}
  .article-meta>.avatar{grid-column:1;grid-row:1;width:44px;height:44px}
  .article-meta>.article-meta-copy{grid-column:2;grid-row:1;min-width:0;font-size:12px}
  .article-meta>.google-actions{grid-column:1/-1;grid-row:2;width:100%;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;justify-content:stretch}
  .google-action{width:100%;min-width:0;height:42px;padding:0 9px;gap:7px;justify-content:flex-start;font-size:9.5px}
  .google-action svg{width:20px;height:20px}
  .google-action span{white-space:normal;min-width:0}
  .google-action strong{font-size:10.5px}

  /* Hero remains intentionally edge-to-edge; caption returns to the article gutter. */
  .article-featured-wrap{margin-bottom:30px!important}
  .featured-caption{margin:8px 0 0;padding:0 14px;font-size:11px!important;line-height:1.5}

  /* Body hierarchy on narrow screens. */
  .article-body,.continuous-body{font-size:17px!important;line-height:1.72!important}
  .article-body p,.continuous-body p{margin-bottom:22px}
  .article-body h2,.continuous-body h2{font-size:27px!important;line-height:1.18!important;margin-top:42px;margin-bottom:15px}
  .article-body figure,.continuous-body figure{margin-top:30px;margin-bottom:30px}

  /* Quick Read and inline utilities align to the same editorial rhythm. */
  .quick-read{margin:24px 0 28px!important}
  .inline-related{margin:30px 0 34px}
  .inline-related>a{grid-template-columns:minmax(0,1fr) 104px!important;gap:13px!important;padding:16px!important}
  .inline-related h3{font-size:15.5px!important;line-height:1.28}
  .inline-related .meta{font-size:10px!important}
  .inline-related-media{align-self:center}

  /* Review summary must not feel like a desktop card squeezed into a phone. */
  .te-review{margin:32px 0;border-radius:7px}
  .te-review-top{padding:20px 18px!important;gap:18px!important}
  .te-review-score{padding-bottom:18px!important}
  .te-review-copy h3{font-size:22px!important;line-height:1.15}
  .te-review-copy p{font-size:13.5px!important;line-height:1.55}
  .te-review-col{padding:18px!important}
  .te-review-retail{padding:17px 18px!important}
  .te-review-cta{width:100%;text-align:center}

  /* Continuous articles use the same mobile gutter and type scale. */
  .continuous-head{width:calc(100% - 28px);padding:0!important;margin-inline:auto}
  .continuous-head h2{font-size:32px!important;line-height:1.06!important}
  .continuous-body{width:calc(100% - 28px)!important;padding:0!important;margin-inline:auto}
  .continuous-meta{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:11px;row-gap:13px}
  .continuous-meta>.google-actions{grid-column:1/-1;width:100%;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
}
@media(max-width:360px){
  .article-head h1{font-size:32px!important}
  .google-action{padding-inline:7px;font-size:9px}
  .google-action svg{width:18px;height:18px}
  .inline-related>a{grid-template-columns:minmax(0,1fr) 92px!important}
}

/* v61: continuous articles deliberately reuse the exact same structural classes as the lead article. */
.continuous-article > .article-head > .continuous-title{
  font-size:var(--type-article);
  font-weight:900;
  line-height:1.01;
  letter-spacing:var(--track-display);
  margin:11px 0 20px;
  max-width:1080px;
}
/* Neutralise legacy continuous-width rules now that the same article classes are shared. */
.continuous-article > .article-head,
.continuous-article > .article-layout,
.continuous-article > .article-featured-wrap{box-sizing:border-box}
.continuous-article > .article-head{max-width:1100px;width:auto;margin:0 auto 34px;padding-inline:0}
.continuous-article > .article-layout{max-width:var(--article);width:auto;margin-inline:auto;padding-inline:0}
.continuous-article > .article-layout > .article-body{width:auto;max-width:none;margin:0;padding-inline:0}
.continuous-article > .article-featured-wrap{max-width:1200px;width:auto;margin:0 auto 46px}
@media(max-width:640px){
  .continuous-article > .article-head{width:calc(100% - 28px);max-width:none;margin:0 auto 24px}
  .continuous-article > .article-layout{width:calc(100% - 28px);max-width:var(--article);margin-inline:auto}
  .continuous-article > .article-head > .continuous-title{font-size:34px!important;line-height:1.045!important;letter-spacing:-.052em;margin:9px 0 16px}
  .continuous-article > .article-featured-wrap{width:100%;max-width:none;margin:0 auto 30px}
}
@media(max-width:360px){.continuous-article > .article-head > .continuous-title{font-size:32px!important}}

/* v62: match the lead article's actual 1080px layout grid, not only its 760px text column. */
@media (min-width:1101px){
  .continuous-article .article-layout.continuous-layout{
    width:min(calc(100% - 48px),1080px)!important;
    max-width:1080px!important;
    margin-inline:auto!important;
    display:grid!important;
    grid-template-columns:64px minmax(0,var(--article)) 64px!important;
    gap:40px!important;
    justify-content:center!important;
    padding-inline:0!important;
  }
  .continuous-article .article-layout.continuous-layout>.article-body.continuous-body{
    grid-column:2!important;
    width:100%!important;
    max-width:var(--article)!important;
    min-width:0!important;
    margin:0!important;
    padding-inline:0!important;
  }
}
@media (min-width:901px) and (max-width:1100px){
  .continuous-article .article-layout.continuous-layout{
    width:min(calc(100% - 48px),1040px)!important;
    max-width:1040px!important;
    margin-inline:auto!important;
    display:grid!important;
    grid-template-columns:52px minmax(0,var(--article)) 52px!important;
    gap:28px!important;
    justify-content:center!important;
    padding-inline:0!important;
  }
  .continuous-article .article-layout.continuous-layout>.article-body.continuous-body{
    grid-column:2!important;
    width:100%!important;
    max-width:var(--article)!important;
    min-width:0!important;
    margin:0!important;
    padding-inline:0!important;
  }
}
@media (max-width:900px){
  .continuous-article .article-layout.continuous-layout{
    display:block!important;
    width:calc(100% - 36px)!important;
    max-width:var(--article)!important;
    margin-inline:auto!important;
    padding-inline:0!important;
  }
  .continuous-article .article-layout.continuous-layout>.article-body.continuous-body{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding-inline:0!important;
  }
}
@media (max-width:640px){
  .continuous-article .article-layout.continuous-layout{width:calc(100% - 28px)!important;}
}

/* v63: match the rendered lead article width exactly.
   The lead article currently uses a 1080px block layout after the desktop share rail was removed.
   Earlier continuous fixes incorrectly forced loaded article bodies back to the legacy 760px reading measure. */
@media (min-width:901px){
  .continuous-article > .article-layout{
    display:block!important;
    width:auto!important;
    max-width:1080px!important;
    margin-inline:auto!important;
    padding-inline:0!important;
  }
  .continuous-article > .article-layout > .article-body{
    display:block!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding-inline:0!important;
  }
}
@media (min-width:901px) and (max-width:1100px){
  .continuous-article > .article-layout{
    max-width:1080px!important;
  }
}
/* Mobile follows the exact same gutter rule as the lead article. */
@media (max-width:900px){
  .continuous-article > .article-layout{
    display:block!important;
    width:auto!important;
    max-width:var(--article)!important;
    margin-inline:auto!important;
    padding-inline:0!important;
  }
  .continuous-article > .article-layout > .article-body{
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding-inline:0!important;
  }
}
@media (max-width:640px){
  .continuous-article > .article-layout{
    width:calc(100% - 28px)!important;
    max-width:var(--article)!important;
  }
}

/* Post-end ad sits between changelog and Related Reading, outside article content. */
.te-post-end-ad{display:block!important;width:min(calc(100% - 48px),1100px);margin:46px auto 20px;padding:0;clear:both}
.te-post-end-ad .te-ad-slot{margin-inline:auto}
@media(max-width:768px){
  .te-post-end-ad{width:calc(100% - 28px);margin:38px auto 10px;padding:0}
  .te-post-end-ad .te-ad-placeholder{width:300px!important;height:250px!important}
}

.taxonomy-hero{padding:58px 0 42px;border-bottom:1px solid var(--line);background:#fff}.taxonomy-hero-inner{max-width:1000px}.taxonomy-hero .archive-type,.author-hero .archive-type{display:flex;align-items:center;gap:9px;color:var(--red);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.075em;margin-bottom:13px}.taxonomy-hero .archive-type:before,.author-hero .archive-type:before{content:"";width:8px;height:8px;background:var(--red);flex:none}.taxonomy-hero h1{font-size:clamp(48px,6vw,76px);line-height:.98;letter-spacing:-.063em;margin:0 0 16px;font-weight:900}.taxonomy-hero p{font-size:17px;line-height:1.62;color:var(--muted);max-width:820px;margin:0}.taxonomy-summary{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;margin-top:22px;color:var(--muted);font-size:12.5px;font-weight:700}.taxonomy-summary span+span:before{content:"•";margin-right:18px;color:#aaa}.taxonomy-feature{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:34px;align-items:center;margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--line)}.taxonomy-feature .media{aspect-ratio:16/9;border-radius:7px}.taxonomy-feature-copy h2{font-size:clamp(31px,3.5vw,46px);line-height:1.04;letter-spacing:-.052em;margin:8px 0 13px}.taxonomy-feature-copy .deck{font-size:15.5px;line-height:1.62;margin:0 0 17px}.archive-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.archive-toolbar h2{font-size:30px;line-height:1.05;letter-spacing:-.045em;margin:0}.archive-count{font-size:12.5px;color:var(--muted);font-weight:700;white-space:nowrap}.archive-card{min-width:0}.archive-card .archive-card-author{color:var(--muted);transition:color .16s ease}.archive-card .archive-card-author:hover{color:var(--red)}.archive-card .deck{font-size:14px;line-height:1.55;margin:0 0 13px}.archive-card .meta{font-size:12px}.archive-load-wrap{display:flex;justify-content:center;padding-top:46px}.archive-load{height:43px;border:1px solid var(--ink);background:transparent;border-radius:5px;padding:0 18px;font-size:12.5px;font-weight:800}.archive-load:hover{background:var(--ink);color:#fff}.archive-card.archive-extra{display:none}.archive-card.archive-extra.is-visible{display:block;animation:archiveReveal .28s ease both}@keyframes archiveReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.author-hero{padding:58px 0 48px;background:#fff;border-bottom:1px solid var(--line)}.author-hero-grid{display:grid;grid-template-columns:150px minmax(0,760px);gap:34px;align-items:center}.author-portrait{width:150px;height:150px;border-radius:50%;overflow:hidden;background:var(--surface);border:1px solid var(--line)}.author-portrait img{width:100%;height:100%;object-fit:cover}.author-hero h1{font-size:clamp(44px,5.4vw,68px);line-height:.98;letter-spacing:-.06em;margin:0 0 7px}.author-hero-role{font-size:14px;font-weight:800;margin:0 0 17px}.author-hero-bio{font-size:16px;line-height:1.65;color:var(--muted);margin:0;max-width:720px}.author-meta-row,.tag-cloud{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.author-topic-chip,.tag-cloud a{display:inline-flex;align-items:center;min-height:34px;border:1px solid var(--line);border-radius:5px;padding:0 10px;font-size:11.5px;font-weight:750;background:#fff;transition:border-color .16s ease,color .16s ease}.author-topic-chip:hover,.tag-cloud a:hover{border-color:var(--red);color:var(--red)}@media(max-width:900px){.taxonomy-feature{grid-template-columns:1fr;gap:22px}.author-hero-grid{grid-template-columns:120px 1fr;gap:26px}.author-portrait{width:120px;height:120px}}@media(max-width:640px){.taxonomy-hero{padding:42px 0 34px}.taxonomy-hero h1{font-size:40px}.taxonomy-hero p{font-size:15.5px}.taxonomy-feature{margin-bottom:34px;padding-bottom:34px}.taxonomy-feature-copy h2{font-size:30px}.archive-toolbar{align-items:center;margin-bottom:22px}.archive-toolbar h2{font-size:26px}.author-hero{padding:42px 0 36px}.author-hero-grid{grid-template-columns:78px minmax(0,1fr);gap:18px;align-items:start}.author-portrait{width:78px;height:78px}.author-hero h1{font-size:36px}.author-hero-bio,.author-meta-row{grid-column:1/-1}.author-hero-bio{font-size:15px;line-height:1.6}.archive-load-wrap{padding-top:34px}}@media(prefers-reduced-motion:reduce){.archive-card.archive-extra.is-visible{animation:none}}

.commercial-v82{background:#fff}.commercial-subnav{position:sticky;top:var(--header);z-index:940;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.commercial-subnav .shell{height:48px;display:flex;gap:26px;align-items:center;overflow:auto;scrollbar-width:none}.commercial-subnav .shell::-webkit-scrollbar{display:none}.commercial-subnav a{font-size:11.5px;font-weight:800;white-space:nowrap}.commercial-subnav a:hover{color:var(--red)}
.commercial-hero-v82{background:#0f1115;color:#fff;padding:80px 0 70px;border:0}.commercial-hero-v82-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);gap:64px;align-items:center}.commercial-hero-v82 .kicker{color:var(--red)}.commercial-hero-v82 h1{font-size:clamp(56px,6.5vw,94px);line-height:.91;letter-spacing:-.073em;margin:13px 0 25px;max-width:900px}.commercial-hero-v82-copy>p{font-size:17px;line-height:1.65;color:#c7ccd3;max-width:700px;margin:0}.commercial-hero-v82 .commercial-btn{border-color:rgba(255,255,255,.5);color:#fff}.commercial-hero-v82 .commercial-btn.primary{background:var(--red);border-color:var(--red)}.commercial-hero-proof{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:32px;padding-top:22px;border-top:1px solid #343942}.commercial-hero-proof span{font-size:11px;font-weight:800;color:#dfe3e8}.commercial-hero-proof span+span:before{content:"•";color:var(--red);margin-right:18px}.commercial-hero-collage{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:1fr 1fr;gap:10px;min-height:570px}.commercial-hero-collage article{position:relative;overflow:hidden;border-radius:7px;background:#20242a}.commercial-hero-collage .hero-collage-main{grid-row:1/-1}.commercial-hero-collage img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.commercial-hero-collage article:hover img{transform:scale(1.018)}.commercial-hero-collage article:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.82))}.commercial-hero-collage article>div{position:absolute;z-index:2;left:18px;right:18px;bottom:17px}.commercial-hero-collage small{display:block;color:#fff;font-size:9px;font-weight:900;letter-spacing:.09em;margin-bottom:6px}.commercial-hero-collage strong{font-size:16px;line-height:1.2;color:#fff}.hero-collage-main strong{font-size:22px}
.commercial-quick-proof{border-bottom:1px solid var(--line);background:#fff}.commercial-quick-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.commercial-quick-proof article{padding:31px 30px 34px;border-right:1px solid var(--line)}.commercial-quick-proof article:last-child{border-right:0}.commercial-quick-proof article>span{font-size:10px;color:var(--red);font-weight:900}.commercial-quick-proof h3{font-size:23px;line-height:1.08;letter-spacing:-.04em;margin:11px 0 9px}.commercial-quick-proof p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}
.commercial-section-intro{max-width:930px;margin-bottom:42px}.commercial-section-intro .section-title{font-size:clamp(42px,4.5vw,64px)}.commercial-section-intro p{max-width:760px;color:var(--muted);font-size:15.5px;line-height:1.65;margin:15px 0 0}.commercial-stat-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.metric-super{position:relative;min-height:330px;padding:35px;border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.metric-super strong{font-size:clamp(76px,8vw,126px);line-height:.78;letter-spacing:-.085em;font-weight:900;font-variant-numeric:tabular-nums}.metric-super h3{font-size:22px;line-height:1.1;margin:20px 0 9px}.metric-super p{font-size:13px;line-height:1.55;color:var(--muted);max-width:50ch;margin:0}.metric-super-label{position:absolute;top:27px;left:35px;font-size:10px;font-weight:900;letter-spacing:.11em;color:var(--red)}.metric-super i{position:absolute;left:35px;right:35px;top:62px;height:3px;background:var(--red);transform-origin:left;transform:scaleX(0);transition:transform .8s ease}.metric-super.is-visible i{transform:scaleX(1)}.metric-super-dark{background:#101216;color:#fff;border-color:#101216}.metric-super-dark p{color:#b9c0c9}.metric-super-dark i{background:#fff}.audience-infographic{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,260px) minmax(0,1fr);gap:20px;background:#f4f4f4;border-radius:8px;padding:34px;align-items:center}.audience-ring{position:relative;display:grid;place-items:center;min-height:230px}.audience-ring svg{width:210px;height:210px;transform:rotate(-90deg)}.audience-ring circle{fill:none;stroke-width:9}.ring-bg{stroke:#dedede}.ring-value{stroke:var(--red);stroke-linecap:round;stroke-dasharray:301.6;stroke-dashoffset:301.6;transition:stroke-dashoffset 1s cubic-bezier(.2,.75,.25,1)}.audience-infographic.is-visible .ring-value{stroke-dashoffset:calc(301.6 - (301.6 * var(--pct) / 100))}.audience-ring>div{position:absolute;text-align:center;width:120px}.audience-ring strong{display:block;font-size:42px;line-height:1;font-weight:900;letter-spacing:-.06em}.audience-ring span{display:block;font-size:11px;line-height:1.35;color:var(--muted);margin-top:6px}.audience-bars-v82{padding-left:18px}.audience-bars-v82>div:first-of-type,.audience-bars-v82>p+div{display:flex;justify-content:space-between;gap:15px;align-items:end}.audience-bars-v82 span{font-size:12px;font-weight:800}.audience-bars-v82 b{font-size:22px}.audience-bars-v82 .bar-big{height:8px;background:#ddd;border-radius:99px;overflow:hidden;margin:8px 0 8px}.audience-bars-v82 .bar-big i{display:block;height:100%;width:0;background:#111;border-radius:inherit;transition:width .9s ease}.audience-infographic.is-visible .bar-big i{width:var(--value)}.audience-bars-v82 p{font-size:11.5px;line-height:1.45;color:var(--muted);margin:0 0 24px}.commercial-inline-title{font-size:30px;line-height:1.1;letter-spacing:-.045em;margin:10px 0 0}
.solution-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.solution-family{border:1px solid var(--line);border-radius:8px;padding:29px;min-height:265px;display:flex;flex-direction:column}.solution-family>span{font-size:10px;letter-spacing:.09em;font-weight:900;color:var(--red)}.solution-family h3{font-size:30px;line-height:1.05;letter-spacing:-.047em;margin:13px 0 12px;max-width:14ch}.solution-family p{font-size:13.5px;line-height:1.6;color:var(--muted);max-width:55ch;margin:0}.solution-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:28px}.solution-tags b{font-size:10.5px;border:1px solid var(--line);padding:8px 10px;border-radius:4px}
.commercial-work-v82{background:#101216;color:#fff}.commercial-work-v82 .kicker{color:var(--red)}.commercial-work-v82 .video-work-intro p{color:#b7bdc6}.commercial-work-v82 .video-work-card{border:1px solid #292d34}.commercial-work-v82 .video-work-copy p{color:rgba(255,255,255,.72)}
.case-study-visual-grid{display:grid;gap:22px}.case-study-visual{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);min-height:390px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.case-study-visual:nth-child(even){grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr)}.case-study-visual:nth-child(even) .case-study-visual-media{order:2}.case-study-visual-media{min-height:390px}.case-study-visual-media img{width:100%;height:100%;object-fit:cover}.case-study-visual-copy{padding:42px;display:flex;flex-direction:column;justify-content:center}.case-study-visual-copy>span{font-size:10px;font-weight:900;letter-spacing:.1em;color:var(--red)}.case-study-visual-copy h3{font-size:33px;line-height:1.06;letter-spacing:-.05em;margin:13px 0 14px}.case-study-visual-copy p{font-size:13.5px;line-height:1.65;color:var(--muted);margin:0 0 22px}.case-study-visual-copy b{font-size:10.5px;text-transform:none}.commercial-contact-v82{background:#EC3535;color:#fff}.commercial-contact-v82 .kicker{color:#fff}.commercial-contact-v82-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start}.commercial-contact-v82 h2{font-size:clamp(48px,5vw,72px);line-height:.94;letter-spacing:-.065em;margin:12px 0 18px}.commercial-contact-v82-grid>div>p{font-size:15px;line-height:1.65;max-width:54ch}.commercial-contact-points{display:grid;gap:10px;margin-top:30px;font-size:11px;font-weight:800}.commercial-contact-points span{padding-top:10px;border-top:1px solid rgba(255,255,255,.35)}.commercial-form-v82{background:#fff;color:#000;border-radius:8px;padding:30px}.commercial-form-actions{display:flex;gap:10px;align-items:center;margin-top:20px}.commercial-form-v82 .form-submit{margin:0}.commercial-form-v82 .commercial-btn{height:42px;background:#fff;border-color:#bbb;color:#000}.commercial-form-v82 .commercial-note{color:#777}
@media(max-width:1100px){.commercial-hero-v82-grid{grid-template-columns:1fr;gap:38px}.commercial-hero-collage{min-height:500px}.audience-infographic{grid-template-columns:repeat(2,220px) minmax(0,1fr)}.commercial-contact-v82-grid{grid-template-columns:1fr}.case-study-visual,.case-study-visual:nth-child(even){grid-template-columns:1fr}.case-study-visual:nth-child(even) .case-study-visual-media{order:0}.case-study-visual-media{min-height:330px}}
@media(max-width:800px){.commercial-subnav{top:64px}.commercial-hero-v82{padding:54px 0}.commercial-hero-v82 h1{font-size:54px}.commercial-quick-proof-grid,.commercial-stat-story,.solution-family-grid{grid-template-columns:1fr}.commercial-quick-proof article{border-right:0;border-bottom:1px solid var(--line)}.audience-infographic{grid-template-columns:1fr 1fr}.audience-bars-v82{grid-column:1/-1;padding:0}.case-study-visual-copy{padding:28px}.commercial-contact-v82 h2{font-size:48px}}
@media(max-width:560px){.commercial-hero-v82 h1{font-size:44px}.commercial-hero-collage{grid-template-columns:1fr 1fr;grid-template-rows:260px 180px;min-height:0}.commercial-hero-collage .hero-collage-main{grid-row:auto;grid-column:1/-1}.commercial-hero-proof span+span:before{display:none}.commercial-hero-proof{display:grid;gap:7px}.metric-super{min-height:260px;padding:26px}.metric-super-label{left:26px}.metric-super i{left:26px;right:26px}.audience-infographic{grid-template-columns:1fr;padding:22px}.audience-bars-v82{grid-column:auto}.solution-family{min-height:240px;padding:24px}.commercial-contact-v82 h2{font-size:42px}.commercial-form-v82{padding:22px}.commercial-form-actions{align-items:stretch;flex-direction:column}.commercial-form-actions>*{width:100%}}
@media(prefers-reduced-motion:reduce){.ring-value,.metric-super i,.audience-bars-v82 .bar-big i{transition:none}.logo-marquee-track{animation:none}}

.regional-footprint{margin-top:28px;padding-top:28px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:34px;align-items:end}.regional-footprint-copy>span{display:block;font-size:10px;font-weight:900;letter-spacing:.09em;color:var(--red);margin-bottom:9px}.regional-footprint-copy>strong{display:block;font-size:24px;line-height:1.12;font-weight:900;letter-spacing:-.04em;max-width:22ch}.regional-footprint-copy>p{margin:12px 0 0;color:var(--muted);font-size:13.5px;line-height:1.6;max-width:54ch}.regional-path{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:25px}.regional-path-line{position:absolute;left:7%;right:7%;top:12px;height:2px;background:#dedede;overflow:hidden}.regional-path-line i{display:block;height:100%;width:0;background:var(--red);transition:width 1.1s cubic-bezier(.2,.7,.2,1)}.reveal-on-scroll.in .regional-path-line i,.audience-bars-v82.in .regional-path-line i{width:100%}.regional-node{position:relative;padding-top:12px}.regional-node:before{content:"";position:absolute;top:-18px;left:0;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #aaa;z-index:2;transition:border-color .35s ease,background .35s ease,transform .35s ease}.regional-node.active:before,.regional-node:hover:before{background:var(--red);border-color:var(--red);transform:scale(1.08)}.regional-node b{display:block;font-size:12px;line-height:1.2}.regional-node span{display:block;margin-top:4px;color:var(--muted);font-size:10.5px;line-height:1.25}.solution-family-wide{grid-column:1/-1;min-height:0;display:grid;grid-template-columns:minmax(0,1.15fr) auto;gap:44px;align-items:end;background:#fff}.solution-family-wide h3{max-width:18ch}.solution-family-wide .solution-tags{margin:0;padding:0;align-self:end;justify-content:flex-end}.commercial-hero-proof span{white-space:normal}.video-work-copy p:empty{display:none}.brand-page .section-title,.commercial-page .section-title{font-family:"Montserrat",sans-serif;font-weight:900}.brand-page h1,.brand-page h2,.brand-page h3,.commercial-page h1,.commercial-page h2,.commercial-page h3{font-family:"Montserrat",sans-serif}@media(max-width:900px){.regional-footprint{grid-template-columns:1fr}.regional-path{margin-top:4px}.solution-family-wide{grid-template-columns:1fr}.solution-family-wide .solution-tags{justify-content:flex-start;margin-top:18px}}@media(max-width:560px){.regional-path{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px;padding-top:0}.regional-path-line{display:none}.regional-node{padding:0 0 0 16px}.regional-node:before{top:2px;left:0;width:8px;height:8px}.regional-footprint-copy>strong{font-size:22px}}

/* Rebuilt enquiry form: one hierarchy, no duplicate market fields, conditional SEA details. */
.commercial-contact-v82-grid{grid-template-columns:minmax(300px,.72fr) minmax(620px,1.28fr);gap:64px;align-items:start}
.commercial-contact-copy{position:sticky;top:150px}
.commercial-form-v82{padding:34px;border-radius:9px;box-shadow:none}
.commercial-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
.commercial-form-grid .field{min-width:0}
.commercial-form-grid .field.full,.commercial-form-grid .market-detail.full{grid-column:1/-1}
.commercial-form-grid .field label{display:flex;align-items:baseline;gap:6px;font-size:12px;font-weight:800;margin-bottom:8px}
.commercial-form-grid .field label span{font-size:11px;font-weight:600;color:var(--muted)}
.commercial-form-grid .field input,.commercial-form-grid .field select,.commercial-form-grid .field textarea{min-height:52px;border:1px solid #DCDCDC;border-radius:6px;padding:13px 14px;background:#fff;box-shadow:none}
.commercial-form-grid .field textarea{min-height:148px;resize:vertical}
.commercial-form-grid .field input:focus,.commercial-form-grid .field select:focus,.commercial-form-grid .field textarea:focus{border-color:#999;outline:3px solid rgba(236,53,53,.12)}
.market-detail{display:none;border:1px solid #E3E3E3;background:#F7F7F7;border-radius:7px;padding:16px 16px 15px;margin-top:-2px}
.market-detail.show{display:block;animation:marketReveal .18s ease both}
.market-detail-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;font-size:12px;font-weight:800}
.market-detail-head small{font-size:10.5px;font-weight:600;color:var(--muted)}
.market-chips{display:flex;flex-wrap:wrap;gap:8px}
.market-chip{position:relative;display:inline-flex;align-items:center;cursor:pointer}
.market-chip input{position:absolute;opacity:0;pointer-events:none}
.market-chip span{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border:1px solid #D6D6D6;border-radius:5px;background:#fff;font-size:11.5px;font-weight:700;transition:border-color .16s ease,background .16s ease,color .16s ease}
.market-chip:hover span{border-color:#999}
.market-chip input:checked+span{background:#000;border-color:#000;color:#fff}
.market-chip input:focus-visible+span{outline:3px solid rgba(236,53,53,.2);outline-offset:2px}
.commercial-form-actions{margin-top:22px}
.commercial-form-v82 .form-submit{min-height:44px;padding:0 18px}
.commercial-form-v82 .commercial-note{margin:14px 0 0;font-size:11px;line-height:1.5}
@keyframes marketReveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.commercial-contact-v82-grid{grid-template-columns:1fr;gap:30px}.commercial-contact-copy{position:static}.commercial-form-v82{padding:28px}}
@media(max-width:700px){.commercial-form-v82{padding:20px}.commercial-form-grid{grid-template-columns:1fr;gap:14px}.commercial-form-grid .field.full,.commercial-form-grid .market-detail.full{grid-column:auto}.market-chips{gap:7px}.market-chip span{min-height:34px;padding:7px 10px;font-size:11px}.commercial-form-grid .field input,.commercial-form-grid .field select{min-height:48px}.commercial-form-grid .field textarea{min-height:132px}}
@media(prefers-reduced-motion:reduce){.market-detail.show{animation:none}}

.market-picker-field{position:relative}.market-picker{position:relative}.market-picker-selected{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px}.market-picker-selected:empty{display:none}.market-token{border:0;border-radius:5px;background:#111;color:#fff;min-height:34px;padding:6px 9px 6px 11px;display:inline-flex;align-items:center;gap:8px;font:700 12px/1 inherit;cursor:pointer}.market-token b{font-size:17px;line-height:1;font-weight:500;opacity:.7}.market-token:hover b{opacity:1}.market-picker-inputrow{position:relative}.commercial-form-grid .market-picker-inputrow input{padding-right:48px}.market-picker-toggle{position:absolute;right:1px;top:1px;bottom:1px;width:44px;border:0;border-left:1px solid #e5e5e5;background:#fff;border-radius:0 6px 6px 0;font-size:18px;cursor:pointer}.market-picker-menu{position:absolute;z-index:25;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #d8d8d8;border-radius:7px;box-shadow:0 14px 32px rgba(0,0,0,.12);padding:6px;max-height:286px;overflow:auto}.market-option{width:100%;border:0;background:#fff;border-radius:5px;padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;font:700 12.5px/1.3 inherit}.market-option:hover,.market-option:focus-visible{background:#f3f3f3}.market-option small{color:#888;font-size:10.5px;font-weight:600}.market-no-result{padding:12px;color:#777;font-size:12px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:700px){.market-picker-menu{max-height:240px}.market-token{font-size:11.5px}}

/*
  Tech Edition typography system v113
  One hierarchy across every public template. Existing component layout remains intact.
*/
:root{
  --te-font:"Montserrat",sans-serif;
  --te-fw-regular:400;
  --te-fw-medium:500;
  --te-fw-semibold:600;
  --te-fw-bold:700;
  --te-fw-heading:800;
  --te-fw-display:900;

  --te-text-xs:11px;
  --te-text-sm:12px;
  --te-text-meta:13px;
  --te-text-ui:14px;
  --te-text-copy:16px;
  --te-text-copy-lg:17px;
  --te-text-article:18px;

  --te-title-card:18px;
  --te-title-card-lg:22px;
  --te-title-sub:28px;
  --te-title-article-sub:32px;
  --te-title-section:clamp(40px,3.8vw,54px);
  --te-title-feature:clamp(32px,3vw,44px);
  --te-title-page:clamp(48px,5.4vw,72px);
  --te-title-article:clamp(46px,5.4vw,72px);
  --te-title-brand:clamp(54px,6vw,84px);

  --te-lh-tight:.98;
  --te-lh-head:1.12;
  --te-lh-card:1.26;
  --te-lh-copy:1.62;
  --te-lh-article:1.76;
  --te-track-display:-.058em;
  --te-track-head:-.034em;
  --te-track-label:.07em;
}

/* Foundation */
html,body,button,input,select,textarea{font-family:var(--te-font)!important}
body{font-weight:var(--te-fw-regular);font-size:var(--te-text-copy);line-height:var(--te-lh-copy)}
button,input,select,textarea{font-weight:var(--te-fw-regular)}
.kicker,.insight-format,.archive-type,.legal-kicker{
  font-size:var(--te-text-sm)!important;
  line-height:1.25!important;
  font-weight:var(--te-fw-heading)!important;
  letter-spacing:var(--te-track-label)!important;
}
.meta,.article-meta-copy,.archive-count{font-size:var(--te-text-meta);line-height:1.45}

/* Primary page hierarchy */
.section-title,.section-title-wrap>h2{
  font-size:var(--te-title-section)!important;
  line-height:1!important;
  font-weight:var(--te-fw-display)!important;
  letter-spacing:var(--te-track-display)!important;
}
.page-hero h1,.taxonomy-hero h1,.legal-hero h1{
  font-size:var(--te-title-page)!important;
  line-height:var(--te-lh-tight)!important;
  font-weight:var(--te-fw-display)!important;
  letter-spacing:var(--te-track-display)!important;
}
.page-hero p,.taxonomy-hero p,.legal-hero p{
  font-size:var(--te-text-copy-lg)!important;
  line-height:1.65!important;
  font-weight:var(--te-fw-regular)!important;
}

/* Homepage */
.lead-copy h1{
  font-size:clamp(46px,4.8vw,68px)!important;
  line-height:1!important;
  font-weight:var(--te-fw-display)!important;
  letter-spacing:var(--te-track-display)!important;
}
.lead-copy .deck{font-size:var(--te-text-copy-lg)!important;line-height:1.62!important;font-weight:400!important}
.asia-copy h3,.newsroom-feature h3{
  font-size:var(--te-title-feature)!important;
  line-height:1.08!important;
  font-weight:var(--te-fw-heading)!important;
  letter-spacing:-.044em!important;
}
.industry-copy h3{
  font-size:var(--te-title-sub)!important;
  line-height:1.14!important;
  font-weight:var(--te-fw-heading)!important;
  letter-spacing:-.038em!important;
}
.newsroom-row h3,.industry-card h3,.related-card h3,.archive-card h2,.review-row strong{
  font-size:var(--te-title-card)!important;
  line-height:var(--te-lh-card)!important;
  font-weight:var(--te-fw-heading)!important;
  letter-spacing:var(--te-track-head)!important;
}
.choice-card h3,.opinion-card h3{
  font-size:var(--te-title-card-lg)!important;
  line-height:1.22!important;
  font-weight:var(--te-fw-heading)!important;
  letter-spacing:var(--te-track-head)!important;
}
.choice-card.feature h3{font-size:24px!important}
.review-feature h3{
  font-size:clamp(36px,3.4vw,48px)!important;
  line-height:1.05!important;
  font-weight:var(--te-fw-heading)!important;
  letter-spacing:-.046em!important;
}
.industry-card .insight-name{font-size:20px!important;line-height:1.14!important;font-weight:var(--te-fw-display)!important;letter-spacing:var(--te-track-head)!important}
.asia-copy p,.review-feature .deck{font-size:var(--te-text-copy)!important;line-height:var(--te-lh-copy)!important}
.industry-card .deck,.choice-card p,.opinion-card p,.review-row .review-excerpt{font-size:var(--te-text-ui)!important;line-height:1.55!important}
.newsroom-time,.author-line{font-size:var(--te-text-meta)!important;font-weight:var(--te-fw-bold)!important}

/* What's happening cards */
.tracker-date{font-size:18px!important;line-height:1!important;font-weight:var(--te-fw-display)!important;letter-spacing:-.025em!important}
.tracker-date small,.tracker-meta>span:first-child,.tracker-live{font-size:10px!important;font-weight:var(--te-fw-heading)!important}
.tracker-item h3{font-size:20px!important;line-height:1.16!important;font-weight:var(--te-fw-heading)!important;letter-spacing:var(--te-track-head)!important}
.tracker-item p.tracker-desc{font-size:12.5px!important;line-height:1.5!important;font-weight:400!important}
.tracker-place,.tracker-view,.tracker-cal{font-size:11.5px!important;line-height:1.35!important}
.tracker-view,.tracker-cal{font-weight:var(--te-fw-heading)!important}

/* Article and continuous article parity */
.article-head h1,.continuous-article>.article-head>.continuous-title{
  font-size:var(--te-title-article)!important;
  line-height:1.01!important;
  font-weight:var(--te-fw-display)!important;
  letter-spacing:var(--te-track-display)!important;
}
.article-head .standfirst,.continuous-article .standfirst{font-size:var(--te-text-copy-lg)!important;line-height:1.65!important;font-weight:400!important}
.article-body,.continuous-body{
  font-size:var(--te-text-article)!important;
  line-height:var(--te-lh-article)!important;
  font-weight:var(--te-fw-regular)!important;
}
.article-body h2,.continuous-body h2{
  font-size:var(--te-title-article-sub)!important;
  line-height:1.18!important;
  font-weight:var(--te-fw-heading)!important;
  letter-spacing:-.038em!important;
}
.article-body blockquote,.continuous-body blockquote{font-size:24px!important;line-height:1.45!important;font-weight:var(--te-fw-bold)!important;letter-spacing:var(--te-track-head)!important}
.article-body figcaption,.featured-caption,.continuous-caption,.lightbox-caption,.article-image-caption{font-size:var(--te-text-sm)!important;line-height:1.5!important;font-weight:500!important}
.quick-read-heading strong{font-size:14px!important;font-weight:var(--te-fw-heading)!important}
.quick-read-heading span{font-size:12px!important;font-weight:500!important}
.quick-read-list li{font-size:14px!important;line-height:1.55!important;font-weight:400!important}
.inline-related h3{font-size:16px!important;line-height:1.28!important;font-weight:var(--te-fw-heading)!important}
.inline-related .meta{font-size:10.5px!important}
.related-reading>.section-title-wrap h2{font-size:30px!important;line-height:1.1!important;font-weight:var(--te-fw-display)!important;letter-spacing:-.04em!important}
.changelog-title h3{font-size:24px!important;line-height:1.18!important;font-weight:var(--te-fw-heading)!important;letter-spacing:var(--te-track-head)!important}
.author-box h3{font-size:20px!important;line-height:1.18!important;font-weight:var(--te-fw-heading)!important;letter-spacing:var(--te-track-head)!important}
.author-box p{font-size:var(--te-text-ui)!important;line-height:1.55!important}
.author-role,.author-more{font-size:var(--te-text-sm)!important;font-weight:var(--te-fw-heading)!important}

/* Review system */
.te-review-copy h3{font-size:24px!important;line-height:1.14!important;font-weight:var(--te-fw-heading)!important;letter-spacing:var(--te-track-head)!important}
.te-review-copy p{font-size:var(--te-text-ui)!important;line-height:1.58!important}
.te-review-rating-scale li{font-size:12px!important;line-height:1.4!important}
.te-review-rating-scale em{font-weight:var(--te-fw-bold)!important}

/* Archive, category, tag and author */
.archive-toolbar h2{font-size:30px!important;line-height:1.08!important;font-weight:var(--te-fw-display)!important;letter-spacing:-.04em!important}
.author-hero h1{font-size:clamp(44px,5vw,68px)!important;line-height:var(--te-lh-tight)!important;font-weight:var(--te-fw-display)!important;letter-spacing:var(--te-track-display)!important}
.author-hero-role{font-size:var(--te-text-ui)!important;line-height:1.4!important;font-weight:var(--te-fw-heading)!important}
.author-hero-bio{font-size:var(--te-text-copy)!important;line-height:1.65!important;font-weight:400!important}
.archive-card>.deck{font-size:var(--te-text-ui)!important;line-height:1.55!important}
.archive-card .meta{font-size:var(--te-text-sm)!important}
.author-topic-chip,.tag-cloud a{font-size:11.5px!important;font-weight:var(--te-fw-bold)!important}

/* About, Advertise and Careers share a single brand-page hierarchy */
.brand-page h1,.commercial-page h1,.careers-page h1,
.brand-page h2,.commercial-page h2,.careers-page h2,
.brand-page h3,.commercial-page h3,.careers-page h3{font-family:var(--te-font)!important}
.brand-hero h1,.commercial-hero-v82 h1,.careers-hero-copy h1{
  font-size:var(--te-title-brand)!important;
  line-height:.94!important;
  font-weight:var(--te-fw-display)!important;
  letter-spacing:-.064em!important;
}
.brand-hero-copy,.commercial-hero-v82-copy>p,.careers-hero-copy p{
  font-size:var(--te-text-copy-lg)!important;
  line-height:1.64!important;
  font-weight:400!important;
}
.brand-page .section-title,.commercial-page .section-title,
.brand-intro-sticky h2,.commercial-section-intro .section-title,.guardrail-grid h2,.video-work-intro h2,
.careers-page .section-title{
  font-size:var(--te-title-section)!important;
  line-height:1!important;
  font-weight:var(--te-fw-display)!important;
  letter-spacing:var(--te-track-display)!important;
}
.commercial-inline-title{font-size:30px!important;line-height:1.1!important;font-weight:var(--te-fw-heading)!important;letter-spacing:-.04em!important}
.commercial-quick-proof h3,.audience-scale-card h3,.audience-profile-card h3,.audience-region-card h3,
.solution-objective h3,.case-study-visual h3,.career-value h3,.career-role-copy h3{
  font-size:22px!important;
  line-height:1.14!important;
  font-weight:var(--te-fw-heading)!important;
  letter-spacing:var(--te-track-head)!important;
}
.guardrail h3{font-size:18px!important;line-height:1.2!important;font-weight:var(--te-fw-heading)!important;letter-spacing:var(--te-track-head)!important}
.guardrail p,.solution-row>p,.commercial-quick-proof p,.audience-scale-card p,.audience-card-intro,.case-study-visual p,.career-value p,.career-role-copy p{
  font-size:var(--te-text-ui)!important;
  line-height:1.58!important;
  font-weight:400!important;
}
.audience-scale-card>strong{font-weight:var(--te-fw-display)!important}
.audience-signal span,.commercial-form-grid .field label{font-size:var(--te-text-sm)!important;font-weight:var(--te-fw-heading)!important}
.solution-objective small,.commercial-quick-proof article>span,.audience-card-top span{font-size:10px!important;font-weight:var(--te-fw-heading)!important;letter-spacing:.08em!important}
.solution-formats span,.commercial-hero-proof span{font-weight:var(--te-fw-bold)!important}
.commercial-contact-v82 h2{font-size:clamp(46px,4.8vw,68px)!important;line-height:.96!important;font-weight:var(--te-fw-display)!important;letter-spacing:var(--te-track-display)!important}
.commercial-contact-v82-grid>div>p{font-size:var(--te-text-ui)!important;line-height:1.6!important}

/* Careers */
.career-modal-head h2{font-size:32px!important;line-height:1.08!important;font-weight:var(--te-fw-display)!important;letter-spacing:-.045em!important}
.career-modal-summary{font-size:var(--te-text-copy-lg)!important;line-height:1.65!important}
.career-modal-section h3{font-size:20px!important;line-height:1.2!important;font-weight:var(--te-fw-heading)!important;letter-spacing:var(--te-track-head)!important}
.career-modal-section li{font-size:var(--te-text-ui)!important;line-height:1.58!important}
.career-role-facts{font-size:var(--te-text-meta)!important;font-weight:var(--te-fw-bold)!important}
.career-role-action{font-size:var(--te-text-meta)!important;font-weight:var(--te-fw-heading)!important}

/* Legal */
.legal-content h2{font-size:28px!important;line-height:1.16!important;font-weight:var(--te-fw-heading)!important;letter-spacing:-.035em!important}
.legal-content h3{font-size:19px!important;line-height:1.22!important;font-weight:var(--te-fw-heading)!important;letter-spacing:var(--te-track-head)!important}
.legal-content p,.legal-content li{font-size:var(--te-text-copy)!important;line-height:1.72!important;font-weight:400!important}
.legal-nav a{font-size:var(--te-text-meta)!important;font-weight:var(--te-fw-bold)!important}

/* Shared overlays and modal hierarchy */
.tracker-modal h2,.work-video-modal-copy h3{font-weight:var(--te-fw-heading)!important;letter-spacing:var(--te-track-head)!important}
.work-video-modal-copy h3{font-size:22px!important;line-height:1.16!important}
.work-video-modal-copy p{font-size:var(--te-text-ui)!important;line-height:1.55!important}

/* Footer and navigation */
.primary-nav a,.topic-rail a,.drawer a,.drawer button{font-weight:var(--te-fw-bold)}
.footer-brand p{font-size:var(--te-text-ui)!important;line-height:1.55!important;font-weight:400!important}
.footer-col h3{font-size:var(--te-text-sm)!important;font-weight:var(--te-fw-heading)!important;letter-spacing:var(--te-track-label)!important}
.footer-col a,.footer-col button{font-size:var(--te-text-meta)!important;font-weight:500!important}
.footer-bottom{font-size:var(--te-text-sm)!important;line-height:1.45!important}

@media(max-width:900px){
  :root{
    --te-title-section:36px;
    --te-title-page:42px;
    --te-title-article:38px;
    --te-title-brand:48px;
    --te-title-feature:32px;
    --te-title-article-sub:29px;
  }
  .article-body,.continuous-body{font-size:17px!important;line-height:1.74!important}
  .archive-toolbar h2{font-size:27px!important}
  .commercial-inline-title{font-size:27px!important}
}

@media(max-width:640px){
  :root{
    --te-title-section:34px;
    --te-title-page:40px;
    --te-title-article:34px;
    --te-title-brand:40px;
    --te-title-feature:30px;
    --te-title-sub:26px;
    --te-title-card-lg:20px;
    --te-title-article-sub:27px;
  }
  .lead-copy h1{font-size:36px!important;line-height:1.02!important}
  .brand-hero h1,.commercial-hero-v82 h1,.careers-hero-copy h1{font-size:40px!important;line-height:.98!important;letter-spacing:-.055em!important}
  .article-head h1,.continuous-article>.article-head>.continuous-title{font-size:34px!important;line-height:1.045!important;letter-spacing:-.052em!important}
  .article-body,.continuous-body{font-size:17px!important;line-height:1.72!important}
  .article-body h2,.continuous-body h2{font-size:27px!important;line-height:1.18!important}
  .page-hero p,.taxonomy-hero p,.legal-hero p,.brand-hero-copy,.commercial-hero-v82-copy>p,.careers-hero-copy p{font-size:16px!important;line-height:1.6!important}
  .section-title,.section-title-wrap>h2{font-size:34px!important}
  .asia-copy h3,.newsroom-feature h3{font-size:30px!important}
  .industry-copy h3{font-size:26px!important}
  .review-feature h3{font-size:32px!important}
  .choice-card h3,.opinion-card h3{font-size:20px!important}
  .choice-card.feature h3{font-size:22px!important}
  .career-modal-head h2{font-size:28px!important}
  .commercial-contact-v82 h2{font-size:38px!important}
  .legal-content h2{font-size:25px!important}
}

@media(max-width:360px){
  :root{--te-title-page:36px;--te-title-article:32px;--te-title-brand:36px;--te-title-section:31px}
  .lead-copy h1{font-size:33px!important}
  .article-head h1,.continuous-article>.article-head>.continuous-title{font-size:32px!important}
  .brand-hero h1,.commercial-hero-v82 h1,.careers-hero-copy h1{font-size:36px!important}
}

/* v114 responsive consolidation: shared rules for common phone/tablet viewports */
html,body{max-width:100%;overflow-x:hidden}
img,video,iframe,svg{max-width:100%}

@media (max-width:1024px){
  .shell{width:min(100% - 40px,1180px)}
  .front-grid,.newsroom-grid,.reviews-layout{gap:28px}
  .section{padding-top:64px;padding-bottom:64px}
  .brand-hero-grid,.careers-hero-grid{gap:40px}
  .commercial-subnav{overflow-x:auto;scrollbar-width:none}
  .commercial-subnav::-webkit-scrollbar{display:none}
  .commercial-subnav .shell{min-width:max-content}
  .event-modal-panel{width:min(94vw,980px)}
}

@media (max-width:820px){
  .shell{width:calc(100% - 32px)}
  .masthead{min-height:64px}
  .navbar{display:none}
  .section{padding-top:52px;padding-bottom:52px}
  .section-head{gap:18px;align-items:flex-start}
  .section-head>div:last-child{margin-left:auto}
  .front-grid,.newsroom-grid,.reviews-layout,.asia-lead-spread,.asia-grid,.brand-hero-grid,.brand-intro-grid,.careers-hero-grid,.careers-intro,.commercial-contact-v82-grid,.legal-layout{grid-template-columns:1fr!important}
  .top-stories{margin-top:28px}
  .article-head,.article-layout,.article-featured-wrap{width:100%;max-width:none}
  .article-meta{gap:12px;flex-wrap:wrap}
  .google-actions{width:100%;margin-left:0}
  .google-actions .google-action{flex:1;min-width:0;justify-content:center}
  .taxonomy-feature{grid-template-columns:1fr!important}
  .archive-grid,.choice-grid,.industry-grid,.opinion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .instagram-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .footer-main{grid-template-columns:1fr 1fr;gap:34px}
  .commercial-data-grid-v2,.commercial-data-grid,.commercial-stat-story,.commercial-proof-grid,.commercial-proof-v2{grid-template-columns:1fr!important}
  .commercial-hero-collage{min-height:420px}
  .solution-family-grid{grid-template-columns:1fr!important}
  .case-study-visual-grid,.case-study-visual,.case-study-visual:nth-child(even){grid-template-columns:1fr!important}
  .case-study-visual-media{min-height:280px}
  .commercial-inline-cta{gap:20px}
  .commercial-inline-cta-actions{flex:none}
  .legal-nav{max-width:100%}
  .event-modal-panel{grid-template-columns:1fr;max-height:92vh;overflow:auto}
  .event-modal-map{min-height:300px}
}

@media (max-width:640px){
  .shell{width:calc(100% - 28px)}
  .site-header{position:relative}
  .masthead{min-height:60px;padding-top:8px;padding-bottom:8px}
  .brand-logo{max-width:118px;height:auto}
  .header-actions{gap:6px}
  .icon-btn{width:38px;height:38px}
  .section{padding-top:44px;padding-bottom:44px}
  .section-head{display:flex;flex-wrap:wrap;align-items:flex-end;margin-bottom:24px}
  .section-head .section-title{width:100%}
  .section-head p{width:100%;margin-top:3px}
  .section-head>a{margin-left:0}
  .latest-strip{overflow-x:auto;scrollbar-width:none}
  .latest-strip::-webkit-scrollbar{display:none}
  .latest-inner{width:max-content;min-width:100%}
  .latest-item{min-width:250px}
  .front-grid,.newsroom-grid,.reviews-layout{display:block}
  .newsroom-feature,.review-feature{margin-bottom:28px}
  .asia-lead-spread{display:block}
  .asia-lead-copy{margin-bottom:22px}
  .asia-secondary-grid,.archive-grid,.choice-grid,.industry-grid,.opinion-grid{grid-template-columns:1fr!important}
  .instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .media,.media-16x9,.article-featured,.article-featured-wrap img,.video-facade,.te-compare{border-radius:7px;overflow:hidden}
  .article-head{padding-left:14px;padding-right:14px}
  .article-head h1{max-width:none}
  .article-layout{display:block!important;width:100%!important;padding-left:14px;padding-right:14px}
  .article-body{width:100%!important;max-width:none!important}
  .article-featured-wrap{margin-left:0;margin-right:0}
  .article-featured{border-radius:0!important}
  .article-featured img{border-radius:0!important}
  .article-image-caption{padding-left:14px;padding-right:14px}
  .article-toc{padding:18px 0}
  .article-share-mobile{gap:8px;flex-wrap:wrap}
  .author-box-inner{grid-template-columns:56px minmax(0,1fr);gap:14px}
  .author-box .author-avatar.large{width:56px;height:56px}
  .related-reading{padding-left:14px;padding-right:14px}
  .related-grid{grid-template-columns:1fr}
  .inline-related>a{grid-template-columns:minmax(0,1fr) 104px;gap:14px}
  .inline-related-copy .deck,.inline-related-copy p{display:none}
  .quick-read{width:100%}
  .te-review{border-radius:7px}
  .te-review-rating-tooltip{position:fixed!important;left:14px!important;right:14px!important;top:50%!important;bottom:auto!important;width:auto!important;max-height:76vh;transform:translateY(-50%)!important;overflow:auto;z-index:10002}
  .taxonomy-hero,.author-hero,.brand-hero,.careers-hero,.legal-hero,.commercial-hero-v82{padding-top:38px;padding-bottom:34px}
  .author-hero-grid{grid-template-columns:72px minmax(0,1fr)!important;gap:16px}
  .author-portrait{width:72px;height:72px}
  .taxonomy-summary{gap:7px 12px}
  .taxonomy-summary span+span:before{margin-right:12px}
  .archive-toolbar{align-items:center;gap:12px}
  .archive-count{white-space:normal;text-align:right}
  .brand-hero-visual,.careers-hero-media{width:100%}
  .career-values{grid-template-columns:1fr!important}
  .career-role{display:block!important;padding-left:18px!important;padding-right:18px!important}
  .career-role-action{margin-top:18px}
  .career-modal-overlay{padding:6px;align-items:flex-end}
  .career-modal{width:100%;max-height:95vh;border-radius:10px 10px 0 0}
  .legal-layout{padding-top:24px}
  .legal-nav{display:flex;overflow-x:auto;gap:8px;padding-bottom:4px;scrollbar-width:none}
  .legal-nav::-webkit-scrollbar{display:none}
  .legal-nav a{flex:0 0 auto;white-space:nowrap}
  .commercial-subnav{top:0;position:sticky}
  .commercial-subnav .shell{width:max-content;padding-left:14px;padding-right:14px}
  .commercial-hero-v82-grid{grid-template-columns:1fr!important;gap:28px}
  .commercial-hero-collage{grid-template-columns:1fr 1fr;grid-template-rows:230px 150px;min-height:0}
  .commercial-hero-collage .hero-collage-main{grid-column:1/-1;grid-row:auto}
  .commercial-hero-actions,.commercial-inline-cta-actions{display:flex;flex-wrap:wrap;gap:10px}
  .commercial-inline-cta{display:block;padding:24px}
  .commercial-inline-cta-actions{margin-top:18px}
  .commercial-inline-cta-actions .commercial-btn{width:100%;justify-content:center}
  .commercial-form-v82,.commercial-form{padding:20px}
  .commercial-form-grid,.form-grid{grid-template-columns:1fr!important}
  .commercial-form-grid .field,.commercial-form-grid .field.full{grid-column:auto!important}
  .budget-pair{grid-template-columns:110px minmax(0,1fr)!important}
  .market-picker-menu{max-height:min(320px,48vh);overflow:auto}
  .market-picker-selected{gap:6px}
  .market-token{max-width:100%}
  .logo-marquee-shell{width:calc(100% - 28px)!important;max-width:none!important}
  .logo-marquee-item{width:180px!important;min-width:180px!important;height:88px!important}
  .work-video-grid{display:flex!important;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:none}
  .work-video-grid::-webkit-scrollbar{display:none}
  .work-video-card{min-width:78vw;scroll-snap-align:start}
  .event-card-grid{display:flex!important;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory;padding:2px 0 10px;scrollbar-width:none}
  .event-card-grid::-webkit-scrollbar{display:none}
  .event-card{min-width:82vw;scroll-snap-align:start}
  .event-modal{padding:8px}
  .event-modal-panel{width:100%;max-height:94vh;border-radius:9px;display:block}
  .event-modal-copy{padding:24px 20px}
  .event-modal-map{min-height:250px}
  .event-modal-actions{display:flex;flex-wrap:wrap;gap:8px}
  .event-modal-actions>*{flex:1 1 auto;justify-content:center}
  .newsletter-inner{display:block}
  .newsletter-form{margin-top:18px;width:100%}
  .footer-main{grid-template-columns:1fr!important;gap:28px}
  .footer-bottom{display:block}
  .footer-bottom>*+*{margin-top:10px}
  .ad-modal{max-width:calc(100vw - 24px);max-height:calc(100vh - 24px)}
}

@media (max-width:430px){
  .shell{width:calc(100% - 24px)}
  .section{padding-top:40px;padding-bottom:40px}
  .breadcrumbs{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .article-meta{align-items:flex-start}
  .article-meta-copy{min-width:0}
  .google-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .google-action{min-height:44px;padding:6px 7px;font-size:10.5px}
  .article-body{font-size:17px;line-height:1.72}
  .article-body h2{margin-top:34px;margin-bottom:14px}
  .inline-related>a{grid-template-columns:minmax(0,1fr) 92px}
  .inline-related-media{min-height:86px}
  .author-heading{display:block}
  .author-role{display:block;margin-top:2px}
  .taxonomy-feature-copy h2{font-size:28px}
  .archive-toolbar h2{font-size:24px}
  .commercial-hero-collage{grid-template-rows:210px 135px}
  .budget-pair{grid-template-columns:96px minmax(0,1fr)!important;gap:8px!important}
  .commercial-form-grid .field input,.commercial-form-grid .field select,.market-picker-control{font-size:16px}
  .commercial-form-grid .field textarea{font-size:16px;min-height:150px}
  .market-token{font-size:13px}
  .event-card{min-width:86vw}
  .career-modal-head,.career-modal-body,.career-modal-foot{padding-left:18px;padding-right:18px}
  .legal-section p,.legal-section li{font-size:15px;line-height:1.72}
}

@media (max-width:360px){
  .shell{width:calc(100% - 20px)}
  .brand-logo{max-width:108px}
  .section{padding-top:36px;padding-bottom:36px}
  .latest-item{min-width:224px}
  .google-actions{grid-template-columns:1fr}
  .article-head,.article-layout{padding-left:10px;padding-right:10px}
  .article-image-caption,.related-reading{padding-left:10px;padding-right:10px}
  .quick-read-toggle{padding-left:11px!important;padding-right:11px!important}
  .quick-read-icon{margin-right:8px!important}
  .quick-read-heading strong{font-size:14px!important}
  .quick-read-heading span{font-size:11px!important}
  .inline-related>a{grid-template-columns:1fr}
  .inline-related-media{display:none}
  .archive-count{display:none}
  .commercial-hero-collage{grid-template-rows:185px 120px}
  .commercial-form-v82,.commercial-form{padding:16px}
  .budget-pair{grid-template-columns:90px minmax(0,1fr)!important}
  .logo-marquee-item{width:160px!important;min-width:160px!important;height:80px!important}
  .work-video-card{min-width:84vw}
  .event-card{min-width:88vw}
  .event-modal-actions{display:grid;grid-template-columns:1fr}
}

@media (max-width:320px){
  .shell{width:calc(100% - 16px)}
  .section{padding-top:32px;padding-bottom:32px}
  .masthead{min-height:56px}
  .brand-logo{max-width:102px}
  .article-body{font-size:16.5px}
  .article-head,.article-layout{padding-left:8px;padding-right:8px}
  .article-image-caption,.related-reading{padding-left:8px;padding-right:8px}
  .commercial-hero-collage{grid-template-columns:1fr;grid-template-rows:190px 128px 128px}
  .commercial-hero-collage .hero-collage-main{grid-column:auto}
  .budget-pair{grid-template-columns:84px minmax(0,1fr)!important}
  .event-card{min-width:90vw}
}

@media (hover:none) and (pointer:coarse){
  .story-interactive:hover,.archive-card:hover,.choice-card:hover,.industry-card:hover,.opinion-card:hover,.event-card:hover,.career-role:hover{transform:none!important}
}

.events-section .event-card-grid,#events .event-card-grid,.event-card-grid{border-top:0!important}
.site-header .brand{display:flex;align-items:center;overflow:hidden;height:34px}.site-header .brand-logo{width:142px!important;max-width:none!important;max-height:none!important;height:auto!important;flex:none}
@media(max-width:820px){
.site-header .shell.masthead{width:calc(100% - 28px)}.front{padding-top:26px}.front-grid{gap:0!important}.front-main,.top-stories{min-width:0}.top-stories{width:100%}
.latest-strip{overflow:hidden!important;border-bottom:1px solid var(--line)}.latest-inner{width:100%!important;min-width:0!important;min-height:70px!important;display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;align-items:stretch;overflow:hidden!important}.latest-label{min-width:0!important;flex:none!important;padding:0 14px 0 0!important;border-right:1px solid var(--line)!important;display:flex!important;align-items:center!important;justify-content:flex-start;font-size:12px!important;line-height:1}.latest-item{min-width:0!important;width:auto!important;flex:none!important;border-right:0!important;padding:13px 0 13px 16px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:10px!important;align-items:start!important;font-size:14px!important;line-height:1.3!important;overflow:hidden}.latest-item:nth-of-type(n+3){display:none!important}.latest-time{font-size:11.5px!important;padding-top:1px}.latest-item>span:last-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.front-main .media,.front-main>.media{border-radius:0!important}.front-main h1,.front-main .front-title{font-size:clamp(34px,8.7vw,44px)!important;line-height:1.01!important;letter-spacing:-.055em!important;margin-top:10px!important;margin-bottom:14px!important;overflow-wrap:normal;word-break:normal}.front-main .deck{font-size:16px!important;line-height:1.55!important;margin-bottom:16px!important}.front-main .meta{font-size:12px!important}
.top-stories{margin-top:40px!important}.top-stories-head{margin-bottom:0}.top-story{grid-template-columns:112px minmax(0,1fr)!important;gap:14px!important;padding:16px 0!important;align-items:start}.top-story .media{width:112px!important;aspect-ratio:16/9!important;border-radius:6px!important}.top-story h3{font-size:16px!important;line-height:1.24!important;margin:5px 0 7px!important;letter-spacing:-.025em!important}}
@media(max-width:640px){
.site-header .shell.masthead{width:calc(100% - 24px)!important}.masthead{min-height:62px!important;height:62px!important;padding:0!important;grid-template-columns:minmax(0,1fr) auto!important}.masthead>div:nth-child(2){display:none}.site-header .brand{height:29px}.site-header .brand-logo{width:132px!important}.header-actions{justify-self:end}.icon-btn{width:38px!important;height:38px!important}
.latest-inner{grid-template-columns:84px minmax(0,1fr)!important;min-height:66px!important}.latest-label{font-size:11.5px!important;padding-right:10px!important}.latest-label .live-dot{width:7px;height:7px;margin-left:1px}.latest-item{padding-left:12px!important;padding-right:2px!important;gap:8px!important;font-size:13.5px!important}.latest-time{font-size:11px!important}
.front{padding:26px 0 14px!important}.front-main .media{width:100%;aspect-ratio:16/9}.front-main h1,.front-main .front-title{font-size:clamp(32px,9.4vw,40px)!important}.front-main .deck{font-size:15.5px!important;line-height:1.55!important}.top-stories{margin-top:36px!important}.front-main,.top-stories,.section,.section .shell,.article-shell,.article-head,.article-layout,.article-body,.archive-grid,.taxonomy-feature,.newsroom-grid,.reviews-layout{min-width:0!important;max-width:100%}}
@media(max-width:430px){.shell{width:calc(100% - 24px)!important}.site-header .shell.masthead{width:calc(100% - 24px)!important}.site-header .brand-logo{width:126px!important}.latest-inner{grid-template-columns:78px minmax(0,1fr)!important}.latest-label{gap:7px!important}.latest-item{grid-template-columns:auto minmax(0,1fr)!important;font-size:13px!important}.front-main h1,.front-main .front-title{font-size:clamp(31px,9.5vw,38px)!important}.top-story{grid-template-columns:104px minmax(0,1fr)!important;gap:13px!important}.top-story .media{width:104px!important}.top-story h3{font-size:15.5px!important}}
@media(max-width:360px){.site-header .brand-logo{width:118px!important}.latest-inner{grid-template-columns:72px minmax(0,1fr)!important}.latest-label{font-size:10.5px!important}.latest-item{font-size:12.5px!important;padding-left:10px!important}.latest-time{font-size:10.5px!important}.front-main h1,.front-main .front-title{font-size:32px!important}.top-story{grid-template-columns:92px minmax(0,1fr)!important}.top-story .media{width:92px!important}}
@media(hover:none){.latest-item:hover,.top-story:hover{transform:none!important}}

/*
  v116 responsive rebuild
  Purpose: replace the accumulated mobile/tablet overrides with predictable
  component behaviour at desktop, tablet and phone widths.
*/

/* Remove the redundant rule above the event cards. */
.event-card-grid,
.events-section .event-card-grid,
#events .event-card-grid {
  border-top: 0 !important;
}

/* Header artwork contains a legacy strapline. Crop the header logo instance. */
.site-header .brand {
  display: flex !important;
  align-items: flex-start !important;
  height: 30px !important;
  overflow: hidden !important;
}
.site-header .brand-logo {
  width: 144px !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
}

/* Collapse the full desktop topic navigation before it starts to crowd. */
@media (max-width: 1100px) {
  .navbar {
    display: none !important;
  }
  .menu-btn {
    display: inline-flex !important;
  }
  .masthead {
    grid-template-columns: minmax(0,1fr) auto !important;
  }
}

/* Tablet */
@media (max-width: 900px) {
  .shell {
    width: min(calc(100% - 32px), var(--max)) !important;
  }

  /* Latest is a ticker at tablet/phone sizes, never a compressed desktop rail. */
  .latest-strip {
    overflow: hidden !important;
  }
  .latest-inner {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 68px !important;
    display: grid !important;
    grid-template-columns: 92px minmax(0,1fr) !important;
    overflow: hidden !important;
  }
  .latest-label {
    min-width: 0 !important;
    padding: 0 14px 0 0 !important;
    border-right: 1px solid var(--line) !important;
    display: flex !important;
    align-items: center !important;
    font-size: 12px !important;
  }
  .latest-item {
    min-width: 0 !important;
    width: auto !important;
    padding: 13px 0 13px 16px !important;
    border-right: 0 !important;
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) !important;
    gap: 10px !important;
    align-items: start !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    overflow: hidden !important;
  }
  .latest-item ~ .latest-item {
    display: none !important;
  }
  .latest-item > span:last-child {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden !important;
  }

  /* Event cards become a clean 2-column grid on tablet. */
  .event-card-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 14px !important;
    overflow: visible !important;
    padding: 0 !important;
    scroll-snap-type: none !important;
  }
  .event-card {
    width: auto !important;
    min-width: 0 !important;
    flex: none !important;
  }
}

/* Phones */
@media (max-width: 640px) {
  html, body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .shell,
  .site-header .shell.masthead {
    width: calc(100% - 28px) !important;
  }

  .masthead {
    height: 64px !important;
    min-height: 64px !important;
    padding: 0 !important;
    grid-template-columns: minmax(0,1fr) auto !important;
  }
  .masthead > div:nth-child(2) {
    display: none !important;
  }
  .site-header .brand {
    height: 27px !important;
  }
  .site-header .brand-logo {
    width: 132px !important;
  }
  .header-actions {
    justify-self: end !important;
    gap: 8px !important;
  }
  .icon-btn {
    width: 38px !important;
    height: 38px !important;
  }

  /* Latest ticker: one story only. */
  .latest-inner {
    min-height: 64px !important;
    grid-template-columns: 78px minmax(0,1fr) !important;
  }
  .latest-label {
    padding-right: 9px !important;
    gap: 7px !important;
    font-size: 11px !important;
  }
  .latest-label .live-dot {
    width: 7px !important;
    height: 7px !important;
  }
  .latest-item {
    padding: 12px 0 12px 12px !important;
    grid-template-columns: auto minmax(0,1fr) !important;
    gap: 8px !important;
    font-size: 13px !important;
  }
  .latest-time {
    font-size: 10.5px !important;
    padding-top: 1px !important;
  }

  /* Homepage lead */
  .front {
    padding-top: 24px !important;
  }
  .front-grid {
    display: block !important;
  }
  .front-main,
  .top-stories {
    width: 100% !important;
    min-width: 0 !important;
  }
  .front-main .media {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 0 !important;
  }
  .front-main h1,
  .front-main .front-title {
    font-size: clamp(31px, 9.1vw, 38px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.05em !important;
    margin: 10px 0 14px !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
  .front-main .deck {
    font-size: 15.5px !important;
    line-height: 1.55 !important;
  }
  .top-stories {
    margin-top: 36px !important;
  }
  .top-story {
    grid-template-columns: 104px minmax(0,1fr) !important;
    gap: 13px !important;
    padding: 16px 0 !important;
  }
  .top-story .media {
    width: 104px !important;
    aspect-ratio: 16 / 9 !important;
  }
  .top-story h3 {
    font-size: 15.5px !important;
    line-height: 1.24 !important;
  }

  /* Events: one full-width card per row. No clipped horizontal carousel. */
  .event-card-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    overflow: visible !important;
  }
  .event-card {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 20px !important;
  }
  .event-card .event-date,
  .event-card-date {
    white-space: normal !important;
  }
  .event-card h3,
  .event-card-title {
    font-size: 20px !important;
    line-height: 1.15 !important;
  }
  .event-card p,
  .event-card-desc {
    display: block !important;
    overflow: visible !important;
    -webkit-line-clamp: unset !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  /* Editor's Choice/article templates */
  .article-head,
  .article-shell,
  .article-layout,
  .article-body {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .article-head h1,
  .article-title {
    font-size: clamp(31px, 8.8vw, 39px) !important;
    line-height: 1.03 !important;
    letter-spacing: -0.045em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  .article-head .standfirst,
  .article-standfirst {
    font-size: 17px !important;
    line-height: 1.55 !important;
  }
  .breadcrumbs {
    white-space: normal !important;
    overflow: visible !important;
  }
  .article-share-mobile {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .article-share-mobile > * {
    min-width: 0 !important;
  }

  /* Generic grids must not retain desktop minimum widths. */
  .archive-grid,
  .feature-grid,
  .choice-grid,
  .review-list,
  .industry-grid,
  .related-grid,
  .opinion-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Narrow phones */
@media (max-width: 430px) {
  .shell,
  .site-header .shell.masthead {
    width: calc(100% - 24px) !important;
  }
  .site-header .brand-logo {
    width: 126px !important;
  }
  .latest-inner {
    grid-template-columns: 74px minmax(0,1fr) !important;
  }
  .latest-label {
    font-size: 10.5px !important;
  }
  .latest-item {
    font-size: 12.5px !important;
    padding-left: 10px !important;
  }
  .front-main h1,
  .front-main .front-title,
  .article-head h1,
  .article-title {
    font-size: 32px !important;
  }
}

/* 320–360 px */
@media (max-width: 360px) {
  .site-header .brand-logo {
    width: 118px !important;
  }
  .latest-inner {
    grid-template-columns: 68px minmax(0,1fr) !important;
  }
  .latest-label {
    font-size: 10px !important;
  }
  .latest-item {
    font-size: 12px !important;
    gap: 6px !important;
  }
  .latest-time {
    font-size: 10px !important;
  }
  .article-share-mobile {
    grid-template-columns: 1fr !important;
  }
}

@media (hover: none) {
  .latest-item:hover,
  .top-story:hover,
  .event-card:hover {
    transform: none !important;
  }
}

/* Mobile article footer: make sharing, author information and ads deliberate. */
@media (max-width:640px){

  /* Share controls should be a compact horizontal action row, not a 2-column stack. */
  .article-share,
  .post-share,
  .share-block{
    padding-top:22px!important;
    margin-top:28px!important;
  }
  .article-share .share-title,
  .post-share .share-title,
  .share-block .share-title{
    margin-bottom:12px!important;
  }
  .article-share .share-buttons,
  .post-share .share-buttons,
  .share-block .share-buttons,
  .article-share-mobile{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:10px!important;
    align-items:center!important;
  }
  .article-share a,
  .post-share a,
  .share-block a,
  .article-share-mobile a,
  .article-share button,
  .post-share button,
  .share-block button{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    padding:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
  }

  /* Author card becomes a balanced full-width block. */
  .author-box,
  .about-author,
  .article-author-box{
    margin-top:30px!important;
    padding-top:0!important;
  }
  .author-box-inner,
  .about-author-inner,
  .article-author-box-inner{
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr)!important;
    column-gap:14px!important;
    row-gap:4px!important;
    align-items:start!important;
  }
  .author-box img,
  .about-author img,
  .article-author-box img,
  .author-avatar{
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
  }
  .author-box h3,
  .about-author h3,
  .article-author-box h3,
  .author-name{
    font-size:20px!important;
    line-height:1.15!important;
    margin:0 0 3px!important;
  }
  .author-role{
    font-size:11px!important;
    line-height:1.3!important;
    margin-bottom:8px!important;
  }
  .author-bio{
    font-size:14px!important;
    line-height:1.5!important;
  }
  .author-more{
    margin-top:14px!important;
  }

  /* 300x250 units should not appear inside post/article content on mobile.
     Existing desktop sidebar units remain controlled by the desktop layout. */
  .article-body .ad-300x250,
  .article-content .ad-300x250,
  .post-content .ad-300x250,
  .entry-content .ad-300x250,
  .article-body .ad-box[data-size="300x250"],
  .article-content .ad-box[data-size="300x250"],
  .post-content .ad-box[data-size="300x250"],
  .entry-content .ad-box[data-size="300x250"],
  .article-body .ad-slot-300,
  .article-content .ad-slot-300,
  .post-content .ad-slot-300,
  .entry-content .ad-slot-300{
    display:none!important;
  }
}

/* =========================================================
   v120 regression cleanup
   One final responsive layer for the newly surfaced issues.
   ========================================================= */

/* Events already have card borders/top accents. */
.tracker-section .tracker-shell{
  border-top:0!important;
  padding-top:0!important;
}

/* ---------- Header logo system ---------- */

/* Desktop: larger and genuinely centred in the masthead. */
@media (min-width:901px){
  .site-header .masthead{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    min-height:78px!important;
    height:78px!important;
  }
  .site-header .masthead>.brand{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:196px!important;
    height:38px!important;
    overflow:hidden!important;
    display:block!important;
  }
  .site-header .masthead>.brand .brand-logo{
    display:block!important;
    width:196px!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    /* Hide the legacy strapline embedded in the supplied artwork. */
    clip-path:inset(0 0 30% 0)!important;
  }
  .site-header .masthead>div:nth-child(2){
    display:none!important;
  }
  .site-header .header-actions{
    margin-left:auto!important;
    position:relative!important;
    z-index:2!important;
  }
}

/* Tablet/phone: larger wordmark aligned left, controls right. */
@media (max-width:900px){
  .site-header .masthead{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
  }
  .site-header .masthead>.brand{
    position:static!important;
    transform:none!important;
    justify-self:start!important;
    width:158px!important;
    height:31px!important;
    overflow:hidden!important;
    display:block!important;
  }
  .site-header .masthead>.brand .brand-logo{
    display:block!important;
    width:158px!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    clip-path:inset(0 0 30% 0)!important;
  }
  .site-header .masthead>div:nth-child(2){
    display:none!important;
  }
  .site-header .header-actions{
    justify-self:end!important;
  }
}
@media (max-width:430px){
  .site-header .masthead>.brand{
    width:150px!important;
    height:29px!important;
  }
  .site-header .masthead>.brand .brand-logo{
    width:150px!important;
  }
}
@media (max-width:360px){
  .site-header .masthead>.brand{
    width:142px!important;
    height:28px!important;
  }
  .site-header .masthead>.brand .brand-logo{
    width:142px!important;
  }
}

/* ---------- Author image hierarchy ---------- */

@media (max-width:640px){
  /* Article byline */
  .article-meta>.author-avatar,
  .article-meta>.avatar.author-avatar{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
  }

  /* About the author */
  .author-box-inner{
    grid-template-columns:56px minmax(0,1fr)!important;
    gap:14px!important;
    align-items:start!important;
  }
  .author-box .author-avatar.large{
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
  }
  .author-box h3{
    margin-top:0!important;
  }
}

/* ---------- Mobile What's happening slider ---------- */

@media (max-width:640px){
  .tracker-section{
    overflow:hidden!important;
  }

  .tracker-section .tracker-shell{
    overflow:visible!important;
    border-top:0!important;
    padding-top:0!important;
  }

  /* Target the actual rendered component, not the legacy event-card classes. */
  .tracker-section .tracker-list{
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    padding:2px 18px 14px 0!important;
    margin:0!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-left:0!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .tracker-section .tracker-list::-webkit-scrollbar{
    display:none!important;
  }

  .tracker-section .tracker-item,
  .tracker-section .tracker-item:nth-child(n){
    display:flex!important;
    flex:0 0 min(82vw,330px)!important;
    width:min(82vw,330px)!important;
    min-width:min(82vw,330px)!important;
    max-width:none!important;
    min-height:350px!important;
    padding:20px!important;
    flex-direction:column!important;
    gap:0!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    overflow:hidden!important;
    border:1px solid var(--line)!important;
    border-top-width:3px!important;
    border-radius:7px!important;
  }

  .tracker-section .tracker-item.is-live{
    border-color:rgba(33,184,138,.32)!important;
    border-top-color:#21B88A!important;
  }

  .tracker-section .tracker-date{
    font-size:18px!important;
    line-height:1.05!important;
    margin:0 0 18px!important;
    min-height:38px!important;
  }
  .tracker-section .tracker-date small{
    display:inline!important;
    margin-left:6px!important;
    font-size:9.5px!important;
  }

  .tracker-section .tracker-main{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    flex:1 1 auto!important;
  }

  .tracker-section .tracker-meta{
    min-height:20px!important;
    margin:0 0 8px!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    flex-wrap:wrap!important;
  }

  .tracker-section .tracker-item h3{
    margin:0 0 9px!important;
    font-size:21px!important;
    line-height:1.14!important;
    letter-spacing:-.03em!important;
  }

  .tracker-section .tracker-title-btn{
    text-align:left!important;
  }

  .tracker-section .tracker-desc{
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    margin:0 0 16px!important;
    font-size:13.5px!important;
    line-height:1.48!important;
  }

  .tracker-section .tracker-place{
    margin-top:auto!important;
    padding-top:3px!important;
    font-size:12.5px!important;
    line-height:1.35!important;
  }

  .tracker-section .tracker-actions{
    grid-column:auto!important;
    width:100%!important;
    display:flex!important;
    flex-direction:row!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:18px!important;
    margin-top:18px!important;
    padding-top:14px!important;
    border-top:1px solid var(--line)!important;
  }

  .tracker-section .tracker-view,
  .tracker-section .tracker-cal{
    width:auto!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    border-radius:0!important;
    white-space:nowrap!important;
    font-size:11.5px!important;
    line-height:1.2!important;
  }
  .tracker-section .tracker-view{
    color:var(--ink)!important;
  }
  .tracker-section .tracker-cal{
    color:var(--muted)!important;
  }
}

@media (max-width:430px){
  .tracker-section .tracker-item,
  .tracker-section .tracker-item:nth-child(n){
    flex-basis:84vw!important;
    width:84vw!important;
    min-width:84vw!important;
  }
}
@media (max-width:360px){
  .tracker-section .tracker-item,
  .tracker-section .tracker-item:nth-child(n){
    flex-basis:86vw!important;
    width:86vw!important;
    min-width:86vw!important;
    padding:18px!important;
  }
}

/* Touch devices should not inherit desktop card motion. */
@media (hover:none){
  .tracker-section .tracker-item:hover{
    transform:none!important;
  }
}

/* Logo behaviour:
   Desktop = full Tech Edition logo including "we are the future"
   Mobile/tablet = wordmark only, tagline cropped out. */

/* Desktop */
@media (min-width:901px){
  .site-header .masthead{
    min-height:88px!important;
    height:88px!important;
  }
  .site-header .masthead>.brand{
    width:196px!important;
    height:auto!important;
    overflow:visible!important;
  }
  .site-header .masthead>.brand .brand-logo{
    width:196px!important;
    height:auto!important;
    max-width:none!important;
    max-height:none!important;
    clip-path:none!important;
  }
}

/* Tablet and mobile */
@media (max-width:900px){
  .site-header .masthead{
    min-height:64px!important;
    height:64px!important;
  }
  .site-header .masthead>.brand{
    width:158px!important;
    height:28px!important;
    overflow:hidden!important;
  }
  .site-header .masthead>.brand .brand-logo{
    width:158px!important;
    height:auto!important;
    max-width:none!important;
    max-height:none!important;
    clip-path:inset(0 0 30% 0)!important;
  }
}

@media (max-width:430px){
  .site-header .masthead>.brand{
    width:150px!important;
    height:27px!important;
  }
  .site-header .masthead>.brand .brand-logo{
    width:150px!important;
  }
}

@media (max-width:360px){
  .site-header .masthead>.brand{
    width:142px!important;
    height:26px!important;
  }
  .site-header .masthead>.brand .brand-logo{
    width:142px!important;
  }
}

/* v124 Mobile Latest ticker
   A single ticker viewport prevents overlapping/ghost headlines. */

.mobile-latest-ticker{display:none}

@media (max-width:900px){
  .latest-inner{
    display:grid!important;
    grid-template-columns:86px minmax(0,1fr)!important;
    min-height:66px!important;
    height:66px!important;
    overflow:hidden!important;
    align-items:stretch!important;
  }

  .latest-label{
    grid-column:1!important;
    height:66px!important;
    padding:0 12px 0 0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    border-right:1px solid var(--line)!important;
    background:#fff!important;
    font-size:11px!important;
    line-height:1!important;
    z-index:2!important;
  }

  /* Originals remain the data source but are not independently rendered on mobile. */
  .latest-inner > .latest-item{
    display:none!important;
  }

  .mobile-latest-ticker{
    grid-column:2!important;
    display:block!important;
    position:relative!important;
    height:66px!important;
    min-width:0!important;
    overflow:hidden!important;
    background:#fff!important;
  }

  .mobile-latest-stage{
    position:absolute!important;
    inset:0!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
    padding:0 12px 0 15px!important;
    color:inherit!important;
    text-decoration:none!important;
    opacity:1!important;
    transform:translateY(0)!important;
    transition:
      transform .34s cubic-bezier(.22,.8,.26,1),
      opacity .24s ease!important;
    will-change:transform,opacity!important;
  }

  .mobile-latest-stage.is-leaving{
    opacity:0!important;
    transform:translateY(-55%)!important;
  }

  .mobile-latest-stage.is-entering{
    opacity:0!important;
    transform:translateY(55%)!important;
    transition:none!important;
  }

  .mobile-latest-time{
    color:var(--red)!important;
    font-size:10.5px!important;
    font-weight:900!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    align-self:center!important;
  }

  .mobile-latest-title{
    min-width:0!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.22!important;
    letter-spacing:-.015em!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    align-self:center!important;
  }
}

@media (max-width:430px){
  .latest-inner{
    grid-template-columns:74px minmax(0,1fr)!important;
    min-height:64px!important;
    height:64px!important;
  }

  .latest-label{
    width:auto!important;
    height:64px!important;
    padding-right:8px!important;
    gap:7px!important;
    font-size:10.5px!important;
  }

  .mobile-latest-ticker{
    height:64px!important;
  }

  .mobile-latest-stage{
    padding:0 9px 0 11px!important;
    gap:7px!important;
  }

  .mobile-latest-time{
    font-size:9.5px!important;
  }

  .mobile-latest-title{
    font-size:12.5px!important;
    line-height:1.2!important;
  }
}

@media (max-width:360px){
  .latest-inner{
    grid-template-columns:68px minmax(0,1fr)!important;
  }

  .latest-label{
    font-size:10px!important;
    padding-right:6px!important;
    gap:6px!important;
  }

  .mobile-latest-stage{
    grid-template-columns:1fr!important;
    gap:2px!important;
    align-content:center!important;
    padding-left:10px!important;
  }

  .mobile-latest-time{
    font-size:9px!important;
  }

  .mobile-latest-title{
    font-size:12px!important;
    -webkit-line-clamp:2!important;
  }
}

@media (min-width:901px){
  .mobile-latest-ticker{display:none!important}
  .latest-inner > .latest-item{display:flex!important}
}

@media (prefers-reduced-motion:reduce){
  .mobile-latest-stage{
    transition:none!important;
  }
}

/* Add clearer separation between the relative time and headline. */
@media (max-width:900px){
  .mobile-latest-stage{
    column-gap:14px!important;
  }
}

@media (max-width:430px){
  .mobile-latest-stage{
    column-gap:10px!important;
  }
}

@media (max-width:360px){
  .mobile-latest-stage{
    column-gap:0!important;
    row-gap:3px!important;
  }
}

/* Mobile system for About and Advertise. Keeps both pages visually distinct while sharing one responsive rhythm. */
@media(max-width:700px){
  .brand-page .section,.commercial-v82 .section{padding:46px 0}
  .brand-page .shell,.commercial-v82 .shell{width:min(calc(100% - 28px),var(--max))}
  .brand-page .section-title,.commercial-v82 .section-title{font-size:34px;line-height:1;letter-spacing:-.052em}
  .brand-page .section-sub,.commercial-v82 .commercial-section-intro p{font-size:14px;line-height:1.58}
  .brand-page .section-head,.commercial-v82 .commercial-section-intro{margin-bottom:28px}

  /* ABOUT HERO */
  .brand-hero{padding:44px 0 38px}
  .brand-hero-grid{display:grid;grid-template-columns:1fr;gap:30px;align-items:start}
  .brand-hero h1{font-size:42px!important;line-height:.98!important;letter-spacing:-.057em!important;margin:10px 0 18px}
  .brand-hero-copy{font-size:16px;line-height:1.58}
  .brand-hero-aside{grid-template-columns:1fr!important;gap:0;margin-top:24px;padding-top:0;border-top:1px solid var(--ink)}
  .brand-hero-aside>div{padding:16px 0;border-bottom:1px solid var(--line)}
  .brand-hero-aside strong{font-size:13px}.brand-hero-aside p{font-size:12.5px;line-height:1.5}
  .brand-hero-visual{min-height:0!important;grid-template-columns:1fr 1fr!important;grid-template-rows:230px 132px!important;gap:9px}
  .brand-hero-shot:first-child{grid-column:1/-1!important;grid-row:auto!important}
  .brand-hero-shot{border-radius:7px}.brand-hero-shot span{font-size:10px;left:11px;right:11px;bottom:10px}

  /* ABOUT FACTS */
  .brand-fact-row{grid-template-columns:1fr 1fr}
  .brand-fact{padding:19px 14px;min-width:0}
  .brand-fact:nth-child(2n){border-right:0}.brand-fact:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .brand-fact strong{font-size:23px;overflow-wrap:anywhere}.brand-fact span{font-size:11px;line-height:1.4}

  /* ABOUT STORY */
  .brand-intro-grid{grid-template-columns:1fr;gap:22px}
  .brand-intro-sticky{position:static}.brand-intro-sticky h2{font-size:34px;line-height:1;margin:8px 0 0}
  .brand-prose{font-size:16px;line-height:1.68}.brand-prose p{margin-bottom:22px}
  .brand-prose .pull{font-size:22px;line-height:1.3;padding:24px 0;margin:28px 0}
  .brand-photo-band{grid-template-columns:1fr;gap:9px}
  .brand-photo-large{min-height:235px}.brand-photo-small{min-height:0;grid-template-columns:1fr 1fr;grid-template-rows:none;gap:9px}
  .brand-photo-small>div{min-height:142px}.brand-photo-caption{font-size:10px;line-height:1.35;left:11px;right:11px;bottom:10px}

  /* ABOUT CONTENT */
  .brand-pillars{grid-template-columns:1fr;gap:0}.brand-pillar{padding:24px 21px;min-height:0}
  .brand-pillar h3{font-size:23px;margin:20px 0 9px}.brand-pillar p{font-size:14px;line-height:1.58}
  .brand-principles{grid-template-columns:1fr;gap:0}.brand-principle{padding:21px 0;border-top:1px solid var(--line)}.brand-principle:first-child{border-top:3px solid var(--ink)}
  .brand-principle h3{font-size:20px}.brand-principle p{font-size:14px;line-height:1.58}
  .brand-timeline{grid-template-columns:1fr;border-top:1px solid var(--ink)}.brand-era{margin:0;padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}
  .brand-era .year{font-size:31px}.brand-era h3{font-size:18px;margin:8px 0 6px}.brand-era p{font-size:13px;line-height:1.5}
  .brand-team{grid-template-columns:1fr 1fr;gap:22px 12px}.brand-person .person-image{aspect-ratio:1/1;margin-bottom:10px}.brand-person h3{font-size:15px}.brand-person p{font-size:11px}
  .brand-cta{padding:48px 0}.brand-cta-inner{grid-template-columns:1fr;gap:26px;align-items:start}.brand-cta h2{font-size:36px;line-height:.98;margin:8px 0 14px}.brand-cta p{font-size:14px;line-height:1.58}.brand-cta-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.brand-cta-btn{justify-content:center;padding:0 10px}

  /* ADVERTISE SUBNAV + HERO */
  .commercial-subnav{top:64px}.commercial-subnav .shell{height:44px;gap:20px;padding-right:14px}.commercial-subnav a{font-size:11px}
  .commercial-hero-v82{padding:42px 0 38px}
  .commercial-hero-v82-grid{grid-template-columns:1fr;gap:30px}
  .commercial-hero-v82 h1{font-size:42px!important;line-height:.96!important;letter-spacing:-.058em!important;margin:10px 0 18px}
  .commercial-hero-v82-copy>p{font-size:15.5px;line-height:1.58}
  .commercial-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:24px}.commercial-hero-actions .commercial-btn{width:100%;padding:0 10px}
  .commercial-hero-proof{display:grid;grid-template-columns:1fr;gap:7px;margin-top:24px;padding-top:17px}.commercial-hero-proof span{font-size:10.5px}.commercial-hero-proof span+span:before{display:none}
  .commercial-hero-collage{min-height:0;grid-template-columns:1fr 1fr;grid-template-rows:230px 132px;gap:9px}.commercial-hero-collage .hero-collage-main{grid-column:1/-1;grid-row:auto}.commercial-hero-collage article>div{left:12px;right:12px;bottom:11px}.commercial-hero-collage strong,.hero-collage-main strong{font-size:14px}.commercial-hero-collage small{font-size:8.5px}

  /* QUICK COMMERCIAL PROOF */
  .commercial-quick-proof-grid{grid-template-columns:1fr}.commercial-quick-proof article{padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}.commercial-quick-proof article:last-child{border-bottom:0}.commercial-quick-proof h3{font-size:21px;margin:8px 0 7px}.commercial-quick-proof p{font-size:13px;line-height:1.55}

  /* ADVERTISE AUDIENCE */
  .commercial-section-intro{margin-bottom:28px}.commercial-section-intro .section-title{font-size:34px;line-height:1}
  .audience-system{grid-template-columns:1fr;gap:12px}.audience-scale-card,.audience-profile-card,.audience-region-card{padding:23px 20px;border-radius:7px;min-height:0}
  .audience-card-top{margin-bottom:20px}.audience-scale-card>strong{font-size:70px;line-height:.84}.audience-scale-card h3,.audience-profile-card h3,.audience-region-card h3{font-size:23px;margin:16px 0 8px}.audience-scale-card p,.audience-card-intro{font-size:13px;line-height:1.52}.audience-card-intro{margin-bottom:20px}
  .audience-signal{margin-top:18px}.audience-signal span{font-size:12px}.audience-signal b{font-size:20px}.audience-signal-track{height:6px}
  .audience-region-card h3{font-size:27px;max-width:none;margin-bottom:20px}.audience-region-steps>div{grid-template-columns:82px minmax(0,1fr);gap:14px;padding:14px 0}.audience-region-steps b{font-size:12px}.audience-region-steps span{font-size:11.5px}

  /* PARTNER LOGOS */
  .partner-marquee-section{padding:34px 0}.partner-marquee-head{margin-bottom:20px;padding:0 14px}.partner-marquee-head .commercial-inline-title{font-size:27px;line-height:1.05}.partner-marquee-head p{font-size:12px;line-height:1.5}
  .partner-marquee-frame{width:calc(100% - 28px);mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}
  .logo-chip{width:172px!important;height:82px!important;padding:13px!important;font-size:15px!important}.logo-chip img{max-width:145px!important;max-height:50px!important}

  /* SOLUTIONS AS A MOBILE EDITORIAL LIST */
  .solution-matrix{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
  .solution-row{grid-template-columns:28px minmax(0,1fr);gap:8px 12px;padding:22px 0;align-items:start}.solution-row:hover{padding-left:0;padding-right:0;background:#fff}
  .solution-index{padding-top:3px}.solution-objective{grid-column:2}.solution-objective small{font-size:9px;margin-bottom:6px}.solution-objective h3{font-size:22px;max-width:none}
  .solution-row>p{grid-column:2;font-size:13px;line-height:1.52;margin-top:2px}.solution-formats{grid-column:2;display:flex;flex-wrap:wrap;gap:7px;border:0;padding:5px 0 0}
  .solution-formats span{font-size:11px;border:1px solid var(--line);border-radius:4px;padding:7px 9px;background:#fff}.solution-formats span:before{display:none}

  /* VISUAL STORYTELLING: SWIPEABLE, LARGE ENOUGH TO READ */
  .video-work-intro{grid-template-columns:1fr;gap:10px;margin-bottom:24px}.video-work-intro h2{font-size:34px;line-height:1;margin:8px 0}.video-work-intro p{font-size:14px;line-height:1.55}
  .video-work-grid{display:flex!important;grid-template-columns:none!important;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-right:-14px;padding-right:14px;padding-bottom:4px}.video-work-grid::-webkit-scrollbar{display:none}
  .video-work-card{flex:0 0 min(78vw,300px);scroll-snap-align:start}.video-work-copy{left:14px;right:14px;bottom:14px}.video-work-copy h3{font-size:16px!important}.video-work-copy small{font-size:9px}.video-work-play{width:39px;height:39px;top:12px;right:12px}

  /* CASE STUDIES */
  .case-study-visual-grid{gap:15px}.case-study-visual,.case-study-visual:nth-child(even){grid-template-columns:1fr;min-height:0}.case-study-visual:nth-child(even) .case-study-visual-media{order:0}.case-study-visual-media{min-height:210px;aspect-ratio:16/9}.case-study-visual-copy{padding:22px 20px 24px}.case-study-visual-copy h3{font-size:25px;line-height:1.08;margin:9px 0 10px}.case-study-visual-copy p{font-size:13px;line-height:1.55;margin-bottom:16px}.case-study-visual-copy b{font-size:10px;line-height:1.45}

  /* COMMERCIAL STANDARDS + FAQ */
  .guardrail-grid{grid-template-columns:1fr;gap:22px}.guardrail-grid h2{font-size:34px;line-height:1}.guardrail-grid .deck{font-size:14px}.guardrail{grid-template-columns:28px 1fr;gap:12px;padding:18px 0}.guardrail h3{font-size:17px}.guardrail p{font-size:12.5px;line-height:1.55}
  .commercial-faq{grid-template-columns:1fr;gap:22px}.faq-item button{padding:17px 0;font-size:14px;line-height:1.35}.faq-answer{font-size:12.5px;line-height:1.6}.faq-item.open .faq-answer{padding-bottom:17px}

  /* CONTACT */
  .commercial-contact-v82{padding:46px 0}.commercial-contact-v82-grid{grid-template-columns:1fr;gap:28px}.commercial-contact-v82 h2{font-size:35px;line-height:.98;margin:8px 0 14px}.commercial-contact-v82-grid>div>p{font-size:14px;line-height:1.55}.commercial-contact-points{margin-top:22px}
  .commercial-form-v82{padding:20px;border-radius:7px}.commercial-form-v82 .form-grid{grid-template-columns:1fr;gap:14px}.commercial-form-v82 textarea{min-height:130px}.commercial-form-actions{flex-direction:column;align-items:stretch;gap:8px}.commercial-form-actions>*{width:100%;justify-content:center}
  .commercial-note{font-size:10.5px;line-height:1.5}

  /* VIDEO MODAL */
  .work-video-modal{padding:12px}.work-video-modal-panel{width:100%;max-height:calc(100vh - 24px);overflow:auto}.work-video-modal-copy{padding:18px;grid-template-columns:1fr;gap:16px}.work-video-modal-copy h3{font-size:20px}.work-video-modal-action{width:100%;justify-content:center}.work-video-modal-close{top:10px;right:10px;width:38px;height:38px}
}
@media(max-width:360px){
  .brand-hero h1,.commercial-hero-v82 h1{font-size:38px!important}
  .brand-page .section-title,.commercial-v82 .section-title,.brand-intro-sticky h2,.video-work-intro h2,.guardrail-grid h2{font-size:31px}
  .brand-fact strong{font-size:20px}.brand-team{gap:18px 10px}
  .commercial-hero-actions,.brand-cta-actions{grid-template-columns:1fr}
  .commercial-hero-collage,.brand-hero-visual{grid-template-rows:210px 118px!important}
  .audience-scale-card>strong{font-size:62px}.audience-region-card h3{font-size:24px}
  .logo-chip{width:154px!important;height:76px!important}.logo-chip img{max-width:130px!important;max-height:46px!important}
  .video-work-card{flex-basis:82vw}
}
@media(prefers-reduced-motion:reduce){.video-work-grid{scroll-behavior:auto}}

/* v53 Quick Read expanded spacing correction */
.quick-read-content.open .quick-read-list{padding-top:18px!important}
@media(max-width:640px){.quick-read-content.open .quick-read-list{padding-top:15px!important}}

/* v87 Advertise audience + solutions system redesign */
.commercial-audience-v87{background:#fff}.audience-system{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.audience-scale-card,.audience-profile-card,.audience-region-card{border:1px solid var(--line);border-radius:8px;background:#fff;padding:32px;min-width:0}.audience-card-top{display:flex;align-items:center;gap:14px;margin-bottom:30px}.audience-card-top span{font-size:10px;line-height:1;font-weight:900;letter-spacing:.1em;color:var(--red)}.audience-card-top i{height:2px;background:var(--red);flex:1;transform-origin:left;transform:scaleX(0);transition:transform .8s cubic-bezier(.2,.75,.25,1)}.is-visible .audience-card-top i,.stagger-children.is-visible .audience-card-top i{transform:scaleX(1)}.audience-scale-card>strong{display:block;font-size:clamp(76px,8vw,118px);line-height:.82;letter-spacing:-.08em;font-weight:900;font-variant-numeric:tabular-nums}.audience-scale-card h3,.audience-profile-card h3,.audience-region-card h3{font-size:27px;line-height:1.08;letter-spacing:-.045em;margin:20px 0 10px}.audience-scale-card p,.audience-card-intro{font-size:13.5px;line-height:1.6;color:var(--muted);margin:0;max-width:58ch}.audience-profile-card,.audience-region-card{min-height:360px}.audience-card-intro{margin-bottom:28px}.audience-signal{margin-top:22px}.audience-signal>div:first-child{display:flex;justify-content:space-between;gap:20px;align-items:baseline}.audience-signal span{font-size:12.5px;font-weight:800}.audience-signal b{font-size:22px;line-height:1;font-weight:900}.audience-signal-track{height:7px;background:#e7e7e7;border-radius:99px;overflow:hidden;margin-top:9px}.audience-signal-track i{display:block;height:100%;width:0;background:var(--red);border-radius:inherit;transition:width .9s cubic-bezier(.2,.75,.25,1)}.audience-profile-card.is-visible .audience-signal-track i{width:var(--value)}.audience-region-card h3{font-size:clamp(30px,3.1vw,46px);max-width:16ch;margin-bottom:28px}.audience-region-steps{border-top:1px solid var(--line)}.audience-region-steps>div{display:grid;grid-template-columns:120px 1fr;gap:22px;padding:17px 0;border-bottom:1px solid var(--line);align-items:baseline}.audience-region-steps b{font-size:13px}.audience-region-steps span{font-size:12.5px;line-height:1.45;color:var(--muted)}
.solution-matrix{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:#fff}.solution-row{display:grid;grid-template-columns:54px minmax(220px,.85fr) minmax(260px,1.15fr) minmax(220px,.8fr);gap:28px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);transition:background .18s ease,padding .18s ease}.solution-row:last-child{border-bottom:0}.solution-row:hover{background:#fafafa;padding-left:12px;padding-right:12px}.solution-index{font-size:11px;font-weight:900;color:var(--red);letter-spacing:.08em}.solution-objective small{display:block;color:var(--red);font-size:10px;font-weight:900;letter-spacing:.085em;text-transform:uppercase;margin-bottom:7px}.solution-objective h3{font-size:24px;line-height:1.08;letter-spacing:-.04em;margin:0;max-width:16ch}.solution-row>p{font-size:13.5px;line-height:1.6;color:var(--muted);margin:0;max-width:52ch}.solution-formats{display:grid;gap:7px;padding-left:22px;border-left:1px solid var(--line)}.solution-formats span{font-size:12px;font-weight:800;line-height:1.35}.solution-formats span:before{content:"+";color:var(--red);margin-right:8px;font-weight:900}
@media(max-width:1000px){.solution-row{grid-template-columns:44px 1fr 1.15fr}.solution-formats{grid-column:2/-1;border-left:0;border-top:1px solid var(--line);padding:14px 0 0;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.audience-system{grid-template-columns:1fr}.audience-profile-card,.audience-region-card{min-height:0}.solution-row{grid-template-columns:36px 1fr;gap:14px 18px;padding:24px 0}.solution-row:hover{padding-left:0;padding-right:0;background:#fff}.solution-row>p,.solution-formats{grid-column:2}.solution-formats{grid-template-columns:1fr}.audience-region-steps>div{grid-template-columns:90px 1fr}}@media(prefers-reduced-motion:reduce){.audience-card-top i,.audience-signal-track i,.solution-row{transition:none}}

/* v99 What's happening redesign — compact editorial event cards */
.tracker-section{background:#fff}
.tracker-shell{border-top:1px solid var(--ink);padding-top:22px}
.tracker-filters,.tracker-count{display:none!important}
.tracker-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tracker-item{position:relative;display:flex;flex-direction:column;min-width:0;min-height:272px;padding:20px;border:1px solid var(--line);border-radius:7px;background:#fff;transition:border-color .18s ease,background .18s ease}
.tracker-item:hover{border-color:#b8bcc2}
.tracker-item.is-live{background:#f5fbf8;border-color:#cfe9df}
.tracker-date{display:flex;align-items:baseline;gap:5px;margin-bottom:24px;font-size:18px;line-height:1;font-weight:900;color:var(--red);letter-spacing:-.025em;text-transform:uppercase}
.tracker-date small{display:inline!important;margin:0!important;color:var(--muted);font-size:10px!important;line-height:1;text-transform:uppercase;letter-spacing:.06em}
.tracker-main{display:flex;flex:1;flex-direction:column;min-width:0}
.tracker-meta{display:flex;align-items:center;gap:8px;min-height:18px;margin:0 0 10px}
.tracker-meta>span:first-child{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:var(--red)}
.tracker-meta span+span:before{display:none!important;content:none!important}
.tracker-live{margin:0!important;color:#10966f!important;font-size:10.5px!important;font-weight:900!important;letter-spacing:.02em!important;text-transform:none!important}
.tracker-featured-icon{margin-left:auto;width:16px;height:16px;cursor:help}
.tracker-item h3{margin:0 0 10px;font-size:20px;line-height:1.16;letter-spacing:-.035em}
.tracker-title-btn{appearance:none;border:0;background:none;padding:0;margin:0;text-align:left;font:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;color:inherit;cursor:pointer}
.tracker-title-btn:hover,.tracker-title-btn:focus-visible{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.tracker-item p{display:none!important}
.tracker-place{margin-top:auto;padding-top:20px;font-size:12.5px;font-weight:700;color:var(--muted)}
.tracker-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.tracker-link{display:none!important}
.tracker-cal{border:0;background:transparent;padding:0;color:var(--ink);font-size:11.5px;font-weight:800;white-space:nowrap}
.tracker-cal:hover,.tracker-cal:focus-visible{color:var(--red)}
.tracker-card-arrow{margin-left:auto;font-size:18px;line-height:1;transition:transform .18s ease}
.tracker-item:hover .tracker-card-arrow{transform:translateX(3px)}
.tracker-full .tracker-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.tracker-full .tracker-item{min-height:285px}
@media(max-width:1100px){.tracker-list{grid-template-columns:repeat(3,minmax(0,1fr))}.tracker-list .tracker-item:nth-child(n+4){display:none}.tracker-full .tracker-list{grid-template-columns:repeat(3,minmax(0,1fr))}.tracker-full .tracker-list .tracker-item:nth-child(n+4){display:flex}}
@media(max-width:760px){.tracker-shell{padding-top:16px;overflow:hidden}.tracker-list,.tracker-full .tracker-list{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:0;padding:0 0 10px;scrollbar-width:none}.tracker-list::-webkit-scrollbar,.tracker-full .tracker-list::-webkit-scrollbar{display:none}.tracker-list .tracker-item,.tracker-list .tracker-item:nth-child(n+4),.tracker-full .tracker-list .tracker-item,.tracker-full .tracker-list .tracker-item:nth-child(n+4){display:flex;flex:0 0:min(82vw,310px);min-height:250px;scroll-snap-align:start;padding:18px}.tracker-date{font-size:17px;margin-bottom:20px}.tracker-item h3{font-size:19px}.tracker-place{padding-top:18px}}
@media(max-width:380px){.tracker-list .tracker-item,.tracker-full .tracker-list .tracker-item{flex-basis:84vw}}

/* v100 event-card UX refinement */
.tracker-item{min-height:318px;padding:20px 20px 18px;cursor:default}
.tracker-date{margin-bottom:22px}
.tracker-meta{align-items:center;min-height:18px;margin-bottom:10px}
.tracker-featured-icon{margin-left:auto;width:20px;height:20px;padding:3px;border-radius:50%;background:#fff;color:var(--red);box-shadow:0 0 0 1px var(--line);cursor:help}
.tracker-featured-icon svg{width:14px;height:14px}
.tracker-item h3{margin-bottom:9px}
.tracker-title-btn{cursor:pointer;text-align:left}
.tracker-title-btn:hover,.tracker-title-btn:focus-visible{color:var(--red)}
.tracker-desc{display:block!important;margin:0 0 14px!important;font-size:12.5px!important;line-height:1.5!important;color:var(--muted)!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tracker-place{display:flex;align-items:center;gap:6px;margin-top:auto!important;padding-top:8px!important;font-size:11.5px!important}
.tracker-place svg{width:14px;height:14px;flex:none;color:var(--muted)}
.tracker-actions{margin-top:14px;padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.tracker-view,.tracker-cal{border:0;background:transparent;padding:0;font-size:11.5px;font-weight:800;line-height:1.25;cursor:pointer;color:var(--ink)}
.tracker-view{display:inline-flex;align-items:center;gap:6px}
.tracker-view span{transition:transform .18s ease}
.tracker-view:hover span,.tracker-view:focus-visible span{transform:translateX(3px)}
.tracker-view:hover,.tracker-view:focus-visible,.tracker-cal:hover,.tracker-cal:focus-visible{color:var(--red)}
.tracker-card-arrow{display:none!important}
.tracker-cal{color:var(--muted)}
.event-modal-meta span{display:inline-flex;align-items:center;gap:6px}
.event-modal-meta svg{width:14px;height:14px;flex:none}
.tracker-modal .event-modal-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:26px}
.tracker-modal .event-modal-link{width:100%;min-height:42px;padding:0 10px;white-space:nowrap}
@media(max-width:760px){
  .tracker-list .tracker-item,.tracker-full .tracker-list .tracker-item{min-height:306px}
  .tracker-desc{-webkit-line-clamp:3}
}
@media(max-width:640px){
  .tracker-modal .event-modal-actions{grid-template-columns:1fr;gap:8px}
  .tracker-modal .event-modal-link{min-height:44px}
}

/* v101 event cards: unified visual hierarchy and fixed description/action cascade */
.tracker-item{
  position:relative;
  overflow:hidden;
  min-height:332px;
  padding:22px 20px 18px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  transition:border-color .18s ease, background-color .18s ease;
}
.tracker-item::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:var(--red);
}
.tracker-item.is-live{background:#f7fbfa;border-color:#cfe8df}
.tracker-item.is-live::before{background:#21B88A}
.tracker-item:hover{border-color:#cfcfcf;background:#fcfcfc}
.tracker-item.is-live:hover{border-color:#b9ded1;background:#f4faf8}
.tracker-date{
  margin:0 0 16px;
  padding:0 0 14px;
  border-bottom:1px solid var(--line);
  font-size:18px;
}
.tracker-main{min-height:0}
.tracker-meta{margin:0 0 10px}
.tracker-item h3{margin:0 0 9px;font-size:20px;line-height:1.16}
.tracker-item p.tracker-desc{
  display:-webkit-box!important;
  margin:0 0 12px!important;
  color:var(--muted)!important;
  font-size:12.5px!important;
  line-height:1.5!important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.tracker-place{
  margin-top:auto!important;
  padding-top:8px!important;
  min-height:28px;
}
.tracker-actions{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%;
  gap:28px!important;
  margin-top:16px!important;
  padding-top:14px!important;
  border-top:1px solid var(--line);
}
.tracker-view,.tracker-cal{width:auto!important;flex:none}
.tracker-view{font-size:11.5px;font-weight:900}
.tracker-cal{font-size:11.5px;font-weight:800;color:var(--muted)}
.tracker-featured-icon{
  width:20px;height:20px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:none;
  transition:border-color .18s ease,color .18s ease,background-color .18s ease;
}
.tracker-featured-icon:hover{border-color:var(--red);background:#fff7f7}
@media(max-width:760px){
  .tracker-list .tracker-item,.tracker-full .tracker-list .tracker-item{min-height:320px;padding:20px 18px 17px}
  .tracker-item p.tracker-desc{-webkit-line-clamp:3}
  .tracker-actions{gap:22px!important}
}
@media(prefers-reduced-motion:reduce){.tracker-item,.tracker-featured-icon{transition:none}}

/* Commercial form controls: one consistent interaction system */
.commercial-form-v82 .field input,
.commercial-form-v82 .field textarea,
.commercial-form-v82 .field select,
.commercial-form-v82 .market-picker-inputrow input{
  border:1px solid #D8D8D8;
  border-radius:6px;
  background:#fff;
  box-shadow:none;
  transition:border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.commercial-form-v82 .field input:hover,
.commercial-form-v82 .field textarea:hover,
.commercial-form-v82 .field select:hover,
.commercial-form-v82 .market-picker-inputrow:hover input{
  border-color:#BDBDBD;
}
.commercial-form-v82 .field input:focus,
.commercial-form-v82 .field textarea:focus,
.commercial-form-v82 .field select:focus,
.commercial-form-v82 .market-picker-inputrow input:focus{
  outline:none;
  border-color:#111;
  box-shadow:0 0 0 1px #111;
}
/* Remove the global pink focus ring inside this form, keep keyboard visibility clean */
.commercial-form-v82 input:focus-visible,
.commercial-form-v82 textarea:focus-visible,
.commercial-form-v82 select:focus-visible,
.commercial-form-v82 button:focus-visible{
  outline:2px solid #111;
  outline-offset:2px;
}
/* Native selects use the same centred chevron */
.commercial-form-v82 .field select{
  appearance:none;
  -webkit-appearance:none;
  padding-right:46px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath d='m7 9.5 5 5 5-5' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:16px 16px;
}
/* Searchable market picker: integrated icon, no split-button look */
.commercial-form-v82 .market-picker-inputrow input{
  padding-right:48px;
}
.commercial-form-v82 .market-picker-toggle{
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:46px;
  border:0;
  border-left:0;
  background:transparent;
  border-radius:0 6px 6px 0;
  font-size:0;
  display:grid;
  place-items:center;
  padding:0;
}
.commercial-form-v82 .market-picker-toggle::before{
  content:"";
  width:16px;
  height:16px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath d='m7 9.5 5 5 5-5' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px 16px no-repeat;
  transition:transform .16s ease;
}
.commercial-form-v82 .market-picker[data-open="true"] .market-picker-toggle::before{
  transform:rotate(180deg);
}
.commercial-form-v82 .market-picker-toggle:hover{background:#F7F7F7}
.commercial-form-v82 .market-picker:focus-within .market-picker-inputrow input{
  border-color:#111;
  box-shadow:0 0 0 1px #111;
}
.commercial-form-v82 .market-picker-menu{
  border:1px solid #D8D8D8;
  box-shadow:0 12px 28px rgba(0,0,0,.10);
}
.commercial-form-v82 .market-option:hover,
.commercial-form-v82 .market-option:focus-visible{
  background:#F4F4F4;
  outline:none;
}
@media (max-width:700px){
  .commercial-form-v82 .market-picker-toggle{width:44px}
}
/* v103: mechanically centred form chevrons and website field */
.commercial-form-v82 .select-control{position:relative}
.commercial-form-v82 .select-control select{background-image:none!important;padding-right:48px!important}
.commercial-form-v82 .select-chevron{position:absolute;right:16px;top:50%;width:16px;height:16px;transform:translateY(-50%);pointer-events:none;display:block}
.commercial-form-v82 .select-chevron::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath d='m7 9.5 5 5 5-5' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px 16px no-repeat}
.commercial-form-v82 .market-picker-toggle{top:50%!important;bottom:auto!important;height:calc(100% - 2px);transform:translateY(-50%);display:flex;align-items:center;justify-content:center}
.commercial-form-v82 .market-picker-toggle::before{display:block;flex:0 0 16px}
.commercial-form-v82 .url-control{min-height:52px;display:flex;align-items:stretch;border:1px solid #D8D8D8;border-radius:6px;background:#fff;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}
.commercial-form-v82 .url-control:hover{border-color:#BDBDBD}
.commercial-form-v82 .url-control:focus-within{border-color:#111;box-shadow:0 0 0 1px #111}
.commercial-form-v82 .url-prefix{display:flex;align-items:center;padding:0 0 0 14px;color:#777;font-size:14px;white-space:nowrap;user-select:none}
.commercial-form-v82 .url-control input{min-width:0!important;min-height:50px!important;border:0!important;border-radius:0!important;padding-left:3px!important;box-shadow:none!important;outline:none!important;background:transparent!important}
.commercial-form-v82 .url-control input:focus-visible{outline:none!important}
@media(max-width:700px){.commercial-form-v82 .select-chevron{right:14px}.commercial-form-v82 .url-prefix{font-size:13px}}
/* v104: split currency and amount while keeping one compact budget field */
.commercial-form-v82 .budget-controls{display:grid;grid-template-columns:minmax(112px,.38fr) minmax(0,1fr);gap:10px}
.commercial-form-v82 .budget-controls .select-control{min-width:0}
.commercial-form-v82 .budget-controls select{width:100%;margin:0}
.commercial-form-v82 .budget-currency select{font-weight:700;letter-spacing:.01em}
@media(max-width:700px){
  .commercial-form-v82 .budget-controls{grid-template-columns:110px minmax(0,1fr);gap:8px}
}
@media(max-width:350px){
  .commercial-form-v82 .budget-controls{grid-template-columns:100px minmax(0,1fr)}
}


/* Pre-production performance safeguards */
img{height:auto}
.media>img,.media img{height:100%}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}



/* =========================================================
   WordPress production integration v1.6.1
   The approved v126 cascade above is the visual source of truth.
   This layer only binds WordPress data/controls to those components.
   ========================================================= */
.te-home-panel[hidden],[hidden]{display:none!important}
.home .lead-story>a,.home .newsroom-feature>a,.home .choice-card>a,.home .review-feature>a{display:block;min-width:0}
.home .asia-lead-media>.media,.home .asia-secondary-card>.media,.home .review-row>.media{display:block;min-width:0}
.te-section-empty{min-height:150px;display:grid;place-items:center;padding:32px;border:1px dashed var(--line);border-radius:7px;color:var(--muted);font-size:14px;text-align:center;background:rgba(255,255,255,.45)}
.dark .te-section-empty,.te-bg-dark .te-section-empty{border-color:#3a3d42;color:#aeb5bf;background:rgba(255,255,255,.03)}
.te-custom-text-body{max-width:900px;font-size:18px;line-height:1.72}.te-custom-text-body>:first-child{margin-top:0}.te-custom-text-body>:last-child{margin-bottom:0}

/* WordPress image wrappers: preserve the component geometry defined by v126. */
.home .media>img,.home .media img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.home .lead-story .media,.home .top-story .media,.home .asia-lead-media .media,.home .asia-secondary-card .media,.home .newsroom-feature .media,.home .industry-feature .media,.home .industry-card .media,.home .review-feature .media,.home .review-row .media,.home .choice-card .media{aspect-ratio:16/9;overflow:hidden}
.home .instagram-card{aspect-ratio:4/5;overflow:hidden}.home .instagram-card>img{width:100%;height:100%;object-fit:cover;object-position:center}

/* Equal-width Explore secondary cards. v126 used asymmetric padding for dividers,
   which made the middle image visibly narrower once real WordPress media was used. */
.home .asia-secondary-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px}
.home .asia-secondary-card,.home .asia-secondary-card+.asia-secondary-card,.home .asia-secondary-card:last-child{position:relative;padding-left:0;padding-right:0;border-left:0}
.home .asia-secondary-card+.asia-secondary-card:before{content:"";position:absolute;left:-12px;top:0;bottom:0;width:1px;background:var(--line)}
.home .asia-secondary-card .media{width:100%;margin-bottom:15px}
@media(max-width:900px){.home .asia-secondary-grid{column-gap:18px}.home .asia-secondary-card+.asia-secondary-card:before{display:none}}
@media(max-width:640px){.home .asia-secondary-grid{column-gap:14px}}

/* Builder backgrounds are deliberately authoritative, but do not redefine component layout. */
.home .te-bg-white{background:#fff!important}.home .te-bg-soft{background:#F4F4F4!important}.home .te-bg-dark{background:var(--ink)!important;color:#fff!important}.home .te-bg-red{background:var(--red)!important;color:#fff!important}.home .te-bg-custom{background:var(--te-section-bg,#fff)!important}.home .te-bg-default{background:transparent}
.home .te-resolved-light>.shell>.section-head,.home .te-resolved-light>.shell>.section-head .section-title,.home .te-resolved-light>.shell>.section-head .section-link{color:#fff!important}.home .te-resolved-light>.shell>.section-head .section-sub{color:rgba(255,255,255,.78)!important}.home .te-resolved-light>.shell>.section-head .tabs button:not(.active){color:rgba(255,255,255,.76)!important}.home .te-resolved-light>.shell>.section-head .tabs button.active{background:#fff!important;color:var(--ink)!important}
.home .te-resolved-dark>.shell>.section-head .section-title,.home .te-resolved-dark>.shell>.section-head .section-link{color:var(--ink)!important}.home .te-resolved-dark>.shell>.section-head .section-sub{color:var(--muted)!important}

/* WP-only editorial UI. */
.te-author-avatar-image{width:100%;height:100%;object-fit:cover;border-radius:50%}
.article-body .wp-block-image,.continuous-body .wp-block-image{margin:36px 0}.article-body .wp-block-image img,.continuous-body .wp-block-image img{display:block;width:100%;height:auto}
.related-card>a{display:block;color:inherit;text-decoration:none}
.te-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.te-card-image{aspect-ratio:16/9;overflow:hidden}.te-card-image img{width:100%;height:100%;object-fit:cover}.te-pagination{display:flex;gap:8px;justify-content:center;margin:38px 0}.te-pagination .page-numbers{padding:8px 12px;border:1px solid var(--line)}.te-pagination .current{background:var(--ink);color:#fff;border-color:var(--ink)}
@media(max-width:900px){.te-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.te-archive-grid{grid-template-columns:1fr}.te-custom-text-body{font-size:17px}}

/* Event modal and popup are isolated from the approved page geometry. */
.te-event-row-button{appearance:none;width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer}.te-event-dialog[hidden],.te-popup-ad[hidden]{display:none!important}.te-event-dialog{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.68);display:grid;place-items:center;padding:24px}.te-event-dialog-card{position:relative;width:min(720px,100%);max-height:85vh;overflow:auto;background:#fff;padding:30px;border-radius:8px}.te-event-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px}.te-popup-ad{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.75);display:grid;place-items:center;padding:20px}.te-popup-ad-inner{position:relative;width:min(92vw,82vh,760px);max-width:100%;aspect-ratio:1/1;overflow:hidden}.te-popup-ad-inner>a{display:block;width:100%;height:100%}.te-popup-ad img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}.te-popup-close{position:absolute;right:8px;top:8px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(0,0,0,.72);color:#fff;font-size:20px}.te-popup-countdown{position:absolute;left:10px;top:10px;background:rgba(0,0,0,.72);color:#fff;padding:6px 9px;font-size:12px}
.continuous-retry{border:0;background:var(--ink);color:#fff;border-radius:5px;padding:11px 14px;font-size:12px;font-weight:800;margin-top:8px;cursor:pointer}.continuous-limit-link{display:inline-block;background:var(--ink);color:#fff;border-radius:5px;padding:11px 14px;font-size:12px;font-weight:800;margin-top:8px}

/* =========================================================
   WordPress adaptive section surfaces v1.6.3
   Builder-selected background + text theme must adapt the
   complete component, not only the outer section heading.
   ========================================================= */
.home .te-resolved-dark{
  --te-adapt-fg:var(--ink);
  --te-adapt-muted:var(--muted);
  --te-adapt-line:var(--line);
  --te-adapt-panel:#fff;
  --te-adapt-panel-soft:#fafafa;
  --te-adapt-hover:#faf8f5;
}
.home .te-resolved-light{
  --te-adapt-fg:#fff;
  --te-adapt-muted:rgba(255,255,255,.72);
  --te-adapt-line:rgba(255,255,255,.20);
  --te-adapt-panel:rgba(255,255,255,.065);
  --te-adapt-panel-soft:rgba(255,255,255,.045);
  --te-adapt-hover:rgba(255,255,255,.095);
}

/* Global copy and UI within an adaptive homepage section. */
.home .te-resolved-light,
.home .te-resolved-light h1,
.home .te-resolved-light h2,
.home .te-resolved-light h3,
.home .te-resolved-light h4,
.home .te-resolved-light strong,
.home .te-resolved-light a:not(.newsletter-form a){color:var(--te-adapt-fg)}
.home .te-resolved-light .deck,
.home .te-resolved-light .meta,
.home .te-resolved-light .section-sub,
.home .te-resolved-light .insight-role,
.home .te-resolved-light .industry-card .deck,
.home .te-resolved-light .choice-card p,
.home .te-resolved-light .review-excerpt,
.home .te-resolved-light .review-feature .deck,
.home .te-resolved-light .tracker-desc,
.home .te-resolved-light .tracker-place,
.home .te-resolved-light .event-place,
.home .te-resolved-light .te-custom-text-body{color:var(--te-adapt-muted)!important}
.home .te-resolved-light .meta span+span:before{color:rgba(255,255,255,.44)}
.home .te-resolved-light .section-anchor{background:var(--red)}
.home .te-bg-red.te-resolved-light .section-anchor{background:#fff}
.home .te-bg-red.te-resolved-light .kicker,
.home .te-bg-red.te-resolved-light .insight-format{color:#fff}

/* Dividers / structural lines. */
.home .te-resolved-light .section+.section,
.home .te-resolved-light .top-story,
.home .te-resolved-light .newsroom-row,
.home .te-resolved-light .review-list,
.home .te-resolved-light .asia-secondary-card+.asia-secondary-card:before,
.home .te-resolved-light .tracker-item,
.home .te-resolved-light .events,
.home .te-resolved-light .event-row,
.home .te-resolved-light .te-section-empty{border-color:var(--te-adapt-line)!important}
.home .te-resolved-light .newsroom-list{border-top-color:var(--te-adapt-fg)!important}

/* Latest strip: background, item separators, hover and labels all follow section theme. */
.home .latest-strip.te-resolved-light{border-bottom-color:var(--te-adapt-line)!important}
.home .latest-strip.te-resolved-light .latest-label,
.home .latest-strip.te-resolved-light .latest-item{border-color:var(--te-adapt-line)!important;color:var(--te-adapt-fg)!important}
.home .latest-strip.te-resolved-light .latest-item:hover{background:var(--te-adapt-hover)!important}
.home .latest-strip.te-resolved-light .latest-time{color:var(--red)!important}
.home .latest-strip.te-bg-red.te-resolved-light .latest-time{color:#fff!important}

/* Hero: lead copy + Top Stories must behave as one themed section. */
.home .front.te-resolved-light .lead-copy h1,
.home .front.te-resolved-light .lead-copy h1 a{color:var(--te-adapt-fg)!important}
.home .front.te-resolved-light .lead-copy .deck,
.home .front.te-resolved-light .lead-copy .meta{color:var(--te-adapt-muted)!important}
.home .front.te-resolved-light .top-stories{
  background:var(--te-adapt-panel)!important;
  color:var(--te-adapt-fg)!important;
  border-color:var(--te-adapt-line)!important;
  box-shadow:none;
}
.home .front.te-resolved-light .top-stories-head,
.home .front.te-resolved-light .top-story{border-color:var(--te-adapt-line)!important}
.home .front.te-resolved-light .top-story h3,
.home .front.te-resolved-light .top-story h3 a,
.home .front.te-resolved-light .top-stories-more{color:var(--te-adapt-fg)!important}
.home .front.te-resolved-light .top-story .meta{color:var(--te-adapt-muted)!important}

/* Tabbed/Explore/Newsroom. */
.home .te-resolved-light .tabs button:not(.active){color:var(--te-adapt-muted)!important}
.home .te-resolved-light .tabs button:not(.active):hover{background:var(--te-adapt-hover)!important;color:var(--te-adapt-fg)!important}
.home .te-resolved-light .tabs button.active{background:#fff!important;color:var(--ink)!important}
.home .te-resolved-light .asia-list,
.home .te-resolved-light .newsroom-list{background:transparent!important}
.home .te-resolved-light .asia-lead-copy h3,
.home .te-resolved-light .asia-lead-copy h3 a,
.home .te-resolved-light .asia-secondary-card h3,
.home .te-resolved-light .newsroom-feature h3,
.home .te-resolved-light .newsroom-row h3{color:var(--te-adapt-fg)!important}
.home .te-resolved-light .asia-lead-copy .deck,
.home .te-resolved-light .asia-secondary-card .meta,
.home .te-resolved-light .newsroom-feature .deck,
.home .te-resolved-light .newsroom-row .meta{color:var(--te-adapt-muted)!important}

/* Industry Insights. */
.home .te-resolved-light .industry-feature,
.home .te-resolved-light .industry-card{
  background:var(--te-adapt-panel)!important;
  border-color:var(--te-adapt-line)!important;
  box-shadow:none;
}
.home .te-resolved-light .industry-copy h3,
.home .te-resolved-light .industry-card h3,
.home .te-resolved-light .industry-card .insight-name{color:var(--te-adapt-fg)!important}
.home .te-resolved-light .industry-copy .deck,
.home .te-resolved-light .industry-card .deck,
.home .te-resolved-light .industry-card .insight-role{color:var(--te-adapt-muted)!important}

/* Reviews: keep the editorial dark language but harmonise borders/copy with any parent background. */
.home .te-resolved-light .review-feature h3,
.home .te-resolved-light .review-row strong{color:var(--te-adapt-fg)!important}
.home .te-resolved-light .review-list{border-top-color:var(--te-adapt-line)!important}
.home .te-resolved-light .score-value span{color:var(--te-adapt-muted)!important}
.home .te-resolved-light .score-scale i{background:rgba(255,255,255,.18)}
.home .te-resolved-light .score-scale i.on{background:var(--red)}
.home .te-bg-red.te-resolved-light .score-scale i.on{background:#fff}

/* Editor's Choice / generic story grids. */
.home .te-resolved-light .choice-card h3,
.home .te-resolved-light .choice-card h3 a{color:var(--te-adapt-fg)!important}
.home .te-resolved-light .choice-card p{color:var(--te-adapt-muted)!important}

/* Opinion cards become themed surfaces instead of fixed pale cards. */
.home .te-resolved-light .opinion-card{
  background:var(--te-adapt-panel)!important;
  color:var(--te-adapt-fg)!important;
  border-top-color:var(--red)!important;
}
.home .te-bg-red.te-resolved-light .opinion-card{border-top-color:#fff!important}
.home .te-resolved-light .opinion-card .deck,
.home .te-resolved-light .opinion-card .author-line{color:var(--te-adapt-muted)!important}
.home .te-resolved-light .opinion-card .avatar{background:#fff;color:var(--ink)}

/* Instagram is visual-first; only section chrome adapts. */
.home .te-resolved-light .instagram-card{background:#000}

/* Events / tracker. */
.home .tracker-section.te-resolved-light{background:inherit!important}
.home .te-resolved-light .tracker-item{
  background:var(--te-adapt-panel)!important;
  color:var(--te-adapt-fg)!important;
}
.home .te-resolved-light .tracker-item:hover{background:var(--te-adapt-hover)!important}
.home .te-resolved-light .tracker-item h3,
.home .te-resolved-light .tracker-view{color:var(--te-adapt-fg)!important}
.home .te-resolved-light .tracker-date,
.home .te-resolved-light .tracker-meta{color:var(--red)!important}
.home .te-bg-red.te-resolved-light .tracker-date,
.home .te-bg-red.te-resolved-light .tracker-meta{color:#fff!important}

/* Empty states. */
.home .te-resolved-light .te-section-empty{
  background:var(--te-adapt-panel)!important;
  color:var(--te-adapt-muted)!important;
}

/* Rail/display-ad placeholders adapt in staging while real creatives remain untouched. */
.home .te-resolved-light .te-ad-placeholder{
  background:var(--te-adapt-panel)!important;
  color:var(--te-adapt-muted)!important;
  border-color:var(--te-adapt-line)!important;
}
.home .te-resolved-light .te-ad-label{color:var(--te-adapt-muted)!important}
.home .te-resolved-light .te-rail-ad{border-color:var(--te-adapt-line)!important}

/* Newsletter can also be reassigned to any builder background. */
.home .newsletter.te-resolved-light h2,
.home .newsletter.te-resolved-light .kicker,
.home .newsletter.te-resolved-light p{color:var(--te-adapt-fg)!important}
.home .newsletter.te-resolved-dark h2,
.home .newsletter.te-resolved-dark .kicker{color:var(--ink)!important}
.home .newsletter.te-resolved-dark p{color:var(--muted)!important}

/* Custom-text sections. */
.home .te-resolved-light .te-custom-text-body,
.home .te-resolved-light .te-custom-text-body a{color:var(--te-adapt-fg)!important}

/* Dark/light custom backgrounds should also theme hover headlines predictably. */
.home .te-resolved-light .story-interactive:is(:hover,:focus-within) h1,
.home .te-resolved-light .story-interactive:is(:hover,:focus-within) h2,
.home .te-resolved-light .story-interactive:is(:hover,:focus-within) h3{color:var(--red)!important}
.home .te-bg-red.te-resolved-light .story-interactive:is(:hover,:focus-within) h1,
.home .te-bg-red.te-resolved-light .story-interactive:is(:hover,:focus-within) h2,
.home .te-bg-red.te-resolved-light .story-interactive:is(:hover,:focus-within) h3{color:#fff!important;text-decoration:underline;text-underline-offset:3px}

/* =========================================================
   v1.6.8 — Industry Insights + Opinion layout repair
   ========================================================= */

/* Industry Insights lead
   The previous integration combined a stretched 470px media column with a
   forced 16:9 aspect ratio. At tablet/compact-desktop widths that aspect ratio
   created an oversized minimum width for the first grid track, squeezing the
   copy column and clipping its left edge. The lead now follows the approved
   split layout without an intrinsic-ratio width constraint. */
@media (min-width:901px){
  .home .industry-feature{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;
    align-items:stretch!important;
  }
  .home .industry-feature > *{
    min-width:0!important;
  }
  .home .industry-feature > a.media{
    width:100%!important;
    height:100%!important;
    min-height:470px!important;
    min-width:0!important;
    aspect-ratio:auto!important;
    align-self:stretch!important;
  }
  .home .industry-feature > a.media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .home .industry-copy{
    min-width:0!important;
    width:auto!important;
    overflow:visible!important;
  }
  .home .industry-copy h3,
  .home .industry-copy .deck,
  .home .industry-copy .insight-attribution{
    max-width:100%;
    overflow-wrap:normal;
    word-break:normal;
  }
}
@media (max-width:900px){
  .home .industry-feature{
    grid-template-columns:1fr!important;
  }
  .home .industry-feature > a.media{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/9!important;
  }
  .home .industry-copy{
    min-height:0!important;
    width:100%!important;
  }
}

/* Opinion author identity
   te_author_avatar() returns an .author-avatar wrapper rather than the old
   prototype .avatar element. Without an explicit wrapper size, a real custom
   portrait could expand to its intrinsic dimensions and stretch the entire
   three-card row. Keep every author identity at the approved 38px footprint. */
.home .opinion-card .author-line{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:auto!important;
  padding-top:18px!important;
  min-height:38px;
}
.home .opinion-card .author-line .author-avatar,
.home .opinion-card .author-line .avatar{
  display:block!important;
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  max-width:38px!important;
  max-height:38px!important;
  border-radius:50%!important;
  overflow:hidden!important;
}
.home .opinion-card .author-line .author-avatar img,
.home .opinion-card .author-line .avatar img,
.home .opinion-card .author-line img.te-author-avatar-image{
  display:block!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  max-width:38px!important;
  max-height:38px!important;
  object-fit:cover!important;
  border-radius:50%!important;
}
.home .opinion-card .author-line > span:last-child{
  min-width:0;
  line-height:1.3;
}
.home .opinion-grid{
  align-items:stretch;
}
.home .opinion-card{
  min-width:0;
  height:100%;
}

/* =========================================================
   v1.6.9 — Industry Insights standalone parity
   Source of truth: approved v126 standalone Industry Insights component.
   ========================================================= */
.home #industry,
.home #industry-insights,
.home section[id^="industry"]{
  overflow:visible;
}
.home #industry .section-head,
.home #industry-insights .section-head,
.home section[id^="industry"] .section-head{
  align-items:flex-end;
  margin-bottom:30px;
}
.home #industry .section-tools,
.home #industry-insights .section-tools,
.home section[id^="industry"] .section-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  flex-wrap:wrap;
}
.home #industry .tabs,
.home #industry-insights .tabs,
.home section[id^="industry"] .tabs{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.home #industry .tabs button,
.home #industry-insights .tabs button,
.home section[id^="industry"] .tabs button{
  min-height:32px;
  padding:7px 12px;
  border:0;
  border-radius:5px;
  background:transparent;
  color:var(--muted);
  font-size:12.5px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
}
.home #industry .tabs button.active,
.home #industry-insights .tabs button.active,
.home section[id^="industry"] .tabs button.active{
  background:var(--ink)!important;
  color:#fff!important;
}
.home #industry .section-link,
.home #industry-insights .section-link,
.home section[id^="industry"] .section-link{
  color:var(--ink);
  font-size:12.5px;
  font-weight:800;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:3px;
}

/* Lead card: full-height split image + editorial information panel. */
.home #industry .industry-feature,
.home #industry-insights .industry-feature,
.home section[id^="industry"] .industry-feature{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;
  gap:0!important;
  align-items:stretch!important;
  overflow:hidden!important;
  margin:0 0 24px!important;
  min-height:350px!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:7px!important;
  box-shadow:none!important;
}
.home #industry .industry-feature>* ,
.home #industry-insights .industry-feature>* ,
.home section[id^="industry"] .industry-feature>*{
  min-width:0!important;
}
.home #industry .industry-feature>a.media,
.home #industry-insights .industry-feature>a.media,
.home section[id^="industry"] .industry-feature>a.media{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:350px!important;
  aspect-ratio:auto!important;
  margin:0!important;
  border-radius:0!important;
  overflow:hidden!important;
}
.home #industry .industry-feature>a.media img,
.home #industry-insights .industry-feature>a.media img,
.home section[id^="industry"] .industry-feature>a.media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.home #industry .industry-copy,
.home #industry-insights .industry-copy,
.home section[id^="industry"] .industry-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  padding:30px 30px 28px!important;
  background:#fff!important;
}
.home #industry .industry-copy .insight-format,
.home #industry-insights .industry-copy .insight-format,
.home section[id^="industry"] .industry-copy .insight-format{
  margin:0 0 12px!important;
}
.home #industry .industry-copy h3,
.home #industry-insights .industry-copy h3,
.home section[id^="industry"] .industry-copy h3{
  margin:0 0 14px!important;
  font-size:clamp(24px,2.35vw,32px)!important;
  line-height:1.08!important;
  font-weight:850!important;
  letter-spacing:-.04em!important;
  color:var(--ink)!important;
  transition:color .18s ease!important;
}
.home #industry .industry-copy h3 a,
.home #industry-insights .industry-copy h3 a,
.home section[id^="industry"] .industry-copy h3 a{
  color:inherit!important;
}
.home #industry .industry-feature:hover .industry-copy h3,
.home #industry-insights .industry-feature:hover .industry-copy h3,
.home section[id^="industry"] .industry-feature:hover .industry-copy h3,
.home #industry .industry-feature:focus-within .industry-copy h3,
.home #industry-insights .industry-feature:focus-within .industry-copy h3,
.home section[id^="industry"] .industry-feature:focus-within .industry-copy h3{
  color:var(--red)!important;
}
.home #industry .industry-copy .insight-attribution,
.home #industry-insights .industry-copy .insight-attribution,
.home section[id^="industry"] .industry-copy .insight-attribution{
  display:grid!important;
  gap:2px!important;
  margin:0 0 22px!important;
  padding:12px 0 0!important;
  border-top:1px solid var(--line)!important;
}
.home #industry .industry-copy .insight-attribution strong,
.home #industry-insights .industry-copy .insight-attribution strong,
.home section[id^="industry"] .industry-copy .insight-attribution strong{
  font-size:13.5px!important;
  line-height:1.25!important;
  font-weight:850!important;
  color:var(--ink)!important;
}
.home #industry .industry-copy .insight-attribution span,
.home #industry-insights .industry-copy .insight-attribution span,
.home section[id^="industry"] .industry-copy .insight-attribution span{
  font-size:11.5px!important;
  line-height:1.35!important;
  font-weight:500!important;
  color:var(--muted)!important;
}
.home #industry .industry-copy .deck,
.home #industry-insights .industry-copy .deck,
.home section[id^="industry"] .industry-copy .deck{
  margin:0!important;
  font-size:14px!important;
  line-height:1.55!important;
  color:var(--muted)!important;
}

/* Supporting insight cards: approved 3 × 2 editorial grid. */
.home #industry .industry-grid,
.home #industry-insights .industry-grid,
.home section[id^="industry"] .industry-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
  width:100%!important;
  overflow:visible!important;
  scroll-snap-type:none!important;
}
.home #industry .industry-card,
.home #industry-insights .industry-card,
.home section[id^="industry"] .industry-card{
  width:auto!important;
  min-width:0!important;
  height:100%!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:6px!important;
  box-shadow:none!important;
  scroll-snap-align:none!important;
}
.home #industry .industry-card>a,
.home #industry-insights .industry-card>a,
.home section[id^="industry"] .industry-card>a{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  color:inherit!important;
  text-decoration:none!important;
}
.home #industry .industry-card .media,
.home #industry-insights .industry-card .media,
.home section[id^="industry"] .industry-card .media{
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  margin:0!important;
  border-radius:0!important;
  overflow:hidden!important;
}
.home #industry .industry-card .media img,
.home #industry-insights .industry-card .media img,
.home section[id^="industry"] .industry-card .media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.home #industry .industry-card-body,
.home #industry-insights .industry-card-body,
.home section[id^="industry"] .industry-card-body{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  padding:16px 14px 15px!important;
  background:#fff!important;
}
.home #industry .industry-card-body .insight-format,
.home #industry-insights .industry-card-body .insight-format,
.home section[id^="industry"] .industry-card-body .insight-format{
  margin:0 0 10px!important;
}
.home #industry .industry-card h3,
.home #industry-insights .industry-card h3,
.home section[id^="industry"] .industry-card h3{
  margin:0 0 12px!important;
  font-size:17px!important;
  line-height:1.18!important;
  font-weight:850!important;
  letter-spacing:-.025em!important;
  color:var(--ink)!important;
}
.home #industry .industry-card .insight-attribution,
.home #industry-insights .industry-card .insight-attribution,
.home section[id^="industry"] .industry-card .insight-attribution{
  display:grid!important;
  gap:2px!important;
  margin:0 0 10px!important;
  padding:10px 0 0!important;
  border-top:1px solid var(--line)!important;
}
.home #industry .industry-card .insight-attribution strong,
.home #industry-insights .industry-card .insight-attribution strong,
.home section[id^="industry"] .industry-card .insight-attribution strong{
  font-size:12.5px!important;
  line-height:1.25!important;
  font-weight:850!important;
  color:var(--ink)!important;
}
.home #industry .industry-card .insight-attribution span,
.home #industry-insights .industry-card .insight-attribution span,
.home section[id^="industry"] .industry-card .insight-attribution span{
  font-size:11px!important;
  line-height:1.35!important;
  font-weight:500!important;
  color:var(--muted)!important;
}
.home #industry .industry-card .deck,
.home #industry-insights .industry-card .deck,
.home section[id^="industry"] .industry-card .deck{
  margin:auto 0 0!important;
  padding-top:0!important;
  font-size:12.5px!important;
  line-height:1.45!important;
  color:var(--muted)!important;
}
.home #industry .insight-format,
.home #industry-insights .insight-format,
.home section[id^="industry"] .insight-format{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  font-size:10.5px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
  color:var(--red)!important;
}
.home #industry .insight-format:before,
.home #industry-insights .insight-format:before,
.home section[id^="industry"] .insight-format:before{
  content:""!important;
  width:6px!important;
  height:6px!important;
  flex:0 0 6px!important;
  background:currentColor!important;
}

/* Industry section dark/custom-light inheritance keeps component surfaces readable. */
.home #industry.te-resolved-light .industry-feature,
.home #industry.te-resolved-light .industry-copy,
.home #industry.te-resolved-light .industry-card,
.home #industry.te-resolved-light .industry-card-body,
.home #industry-insights.te-resolved-light .industry-feature,
.home #industry-insights.te-resolved-light .industry-copy,
.home #industry-insights.te-resolved-light .industry-card,
.home #industry-insights.te-resolved-light .industry-card-body{
  background:var(--te-adapt-panel)!important;
  border-color:var(--te-adapt-line)!important;
}

@media(max-width:900px){
  .home #industry .section-head,
  .home #industry-insights .section-head,
  .home section[id^="industry"] .section-head{align-items:flex-start!important}
  .home #industry .section-tools,
  .home #industry-insights .section-tools,
  .home section[id^="industry"] .section-tools{width:100%;justify-content:space-between!important}
  .home #industry .industry-feature,
  .home #industry-insights .industry-feature,
  .home section[id^="industry"] .industry-feature{grid-template-columns:1fr!important;min-height:0!important}
  .home #industry .industry-feature>a.media,
  .home #industry-insights .industry-feature>a.media,
  .home section[id^="industry"] .industry-feature>a.media{height:auto!important;min-height:0!important;aspect-ratio:16/9!important}
  .home #industry .industry-copy,
  .home #industry-insights .industry-copy,
  .home section[id^="industry"] .industry-copy{padding:24px!important}
  .home #industry .industry-grid,
  .home #industry-insights .industry-grid,
  .home section[id^="industry"] .industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important}
}
@media(max-width:640px){
  .home #industry .section-tools,
  .home #industry-insights .section-tools,
  .home section[id^="industry"] .section-tools{align-items:flex-start;gap:12px}
  .home #industry .tabs,
  .home #industry-insights .tabs,
  .home section[id^="industry"] .tabs{max-width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none}
  .home #industry .tabs::-webkit-scrollbar,
  .home #industry-insights .tabs::-webkit-scrollbar,
  .home section[id^="industry"] .tabs::-webkit-scrollbar{display:none}
  .home #industry .industry-grid,
  .home #industry-insights .industry-grid,
  .home section[id^="industry"] .industry-grid{grid-template-columns:1fr!important;gap:16px!important}
  .home #industry .industry-copy,
  .home #industry-insights .industry-copy,
  .home section[id^="industry"] .industry-copy{padding:22px 18px 24px!important}
  .home #industry .industry-copy h3,
  .home #industry-insights .industry-copy h3,
  .home section[id^="industry"] .industry-copy h3{font-size:26px!important}
}

/* =========================================================
   Homepage rhythm + archive reliability v1.7.1
   All editorial homepage sections share one outer rhythm.
   Latest and Newsletter are intentional exceptions.
   ========================================================= */
:root{--te-home-section-space:80px}
.home .te-standard-section{
  padding-top:var(--te-home-section-space)!important;
  padding-bottom:var(--te-home-section-space)!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
.home .te-standard-section+.te-standard-section{margin-top:0!important}
.home .te-standard-section>.shell{margin-top:0;margin-bottom:0}
.home .featured-spotlight-section.te-standard-section{padding-top:var(--te-home-section-space)!important;padding-bottom:var(--te-home-section-space)!important}
.home #upcoming.te-standard-section{padding-top:var(--te-home-section-space)!important;padding-bottom:var(--te-home-section-space)!important}
.home .latest-strip{padding-top:0!important;padding-bottom:0!important}
.home .newsletter{margin-top:0!important;margin-bottom:0!important}

/* Taxonomy / archive templates */
.te-archive-section{padding-top:56px;padding-bottom:80px}
.te-archive-grid .te-card-image{display:block;aspect-ratio:16/9;overflow:hidden;border-radius:7px;margin-bottom:16px}
.te-archive-grid .te-card-image img{width:100%;height:100%;object-fit:cover}
.te-archive-grid .archive-card h2{font-size:22px;line-height:1.22;letter-spacing:-.035em;margin:7px 0 10px}
.te-archive-grid .archive-card .insight-format{margin:0 0 8px}
.te-archive-grid .archive-card .insight-person,.te-archive-grid .archive-card .insight-company{margin:0 0 10px}
.industry-insights-archive-hero{background:#fff}

@media(max-width:1100px){:root{--te-home-section-space:64px}}
@media(max-width:900px){:root{--te-home-section-space:52px}.te-archive-section{padding-top:46px;padding-bottom:64px}}
@media(max-width:640px){:root{--te-home-section-space:40px}.te-archive-section{padding-top:36px;padding-bottom:48px}}

/* =========================================================
   Navigation, archive parity and rhythm hardening v1.7.2
   ========================================================= */

/* Standard sections own exactly one top and bottom rhythm. Internal first/last
   child margins are neutralised so component typography cannot add hidden space. */
.home .te-standard-section{box-sizing:border-box}
.home .te-standard-section>.shell>:first-child{margin-top:0!important}
.home .te-standard-section>.shell>:last-child{margin-bottom:0!important}
.home .te-standard-section .section-head{margin-top:0!important}
.home .te-standard-section .section-head+*{margin-top:0}

/* Industry Insights archive mirrors the approved homepage component instead of
   falling back to the generic taxonomy card grid. */
.industry-insights-archive .te-archive-industry-section{padding:72px 0 80px}
.industry-insights-archive .industry-archive-head{align-items:flex-end;margin-bottom:30px}
.industry-insights-archive .industry-archive-head h1{font-size:46px;line-height:1;letter-spacing:-.055em;margin:0}
.industry-insights-archive .industry-archive-head p{max-width:620px;margin:10px 0 0;color:var(--muted)}
.industry-insights-archive .section-tools{display:flex;align-items:center;justify-content:flex-end;gap:18px}
.industry-insights-archive .tabs{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.industry-insights-archive .tabs a{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:5px;color:var(--muted);font-size:12px;font-weight:750;text-decoration:none}
.industry-insights-archive .tabs a.active{background:var(--ink);color:#fff}
.industry-insights-archive .industry-feature{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.98fr);min-height:430px;background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;margin-bottom:22px}
.industry-insights-archive .industry-feature>*{min-width:0}
.industry-insights-archive .industry-feature>a.media{display:block;width:100%;height:100%;min-height:430px;overflow:hidden}
.industry-insights-archive .industry-feature>a.media img{display:block;width:100%;height:100%;object-fit:cover}
.industry-insights-archive .industry-copy{display:flex;flex-direction:column;justify-content:center;padding:44px 38px;background:#fff}
.industry-insights-archive .insight-format{display:inline-flex;align-items:center;gap:7px;color:var(--red);font-size:10.5px;line-height:1;font-weight:900;letter-spacing:.075em;text-transform:uppercase}
.industry-insights-archive .insight-format:before{content:"";width:6px;height:6px;flex:0 0 6px;background:currentColor}
.industry-insights-archive .industry-copy h2{font-size:28px;line-height:1.12;letter-spacing:-.04em;margin:16px 0 18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.industry-insights-archive .industry-copy h2 a{color:var(--ink);text-decoration:none}
.industry-insights-archive .insight-attribution{display:grid;gap:2px;margin:0 0 22px}
.industry-insights-archive .insight-attribution strong{font-size:13.5px;line-height:1.25;font-weight:850;color:var(--ink)}
.industry-insights-archive .insight-attribution span{font-size:11.5px;line-height:1.35;color:var(--muted)}
.industry-insights-archive .industry-copy .deck{margin:0;font-size:14px;line-height:1.55;color:var(--muted)}
.industry-insights-archive .industry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.industry-insights-archive .industry-card{min-width:0;height:100%;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.industry-insights-archive .industry-card>a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.industry-insights-archive .industry-card .media{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:0;margin:0}
.industry-insights-archive .industry-card .media img{width:100%;height:100%;object-fit:cover}
.industry-insights-archive .industry-card-body{display:flex;flex:1 1 auto;flex-direction:column;padding:16px 14px 15px;background:#fff}
.industry-insights-archive .industry-card h3{font-size:17px;line-height:1.18;font-weight:850;letter-spacing:-.025em;margin:12px 0;color:var(--ink)}
.industry-insights-archive .industry-card .insight-attribution{margin:0 0 10px;padding:10px 0 0;border-top:1px solid var(--line)}
.industry-insights-archive .industry-card .insight-attribution strong{font-size:12.5px}
.industry-insights-archive .industry-card .insight-attribution span{font-size:11px}
.industry-insights-archive .industry-card .deck{margin:auto 0 0;font-size:12.5px;line-height:1.45;color:var(--muted)}
.industry-insights-archive .te-pagination{margin-top:36px}

/* Generic taxonomy cards use one predictable grid and consistent card height. */
.te-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}
.te-archive-grid .archive-card{display:flex;min-width:0;flex-direction:column;margin:0}
.te-archive-grid .archive-card .deck{flex:1 1 auto}

@media(max-width:900px){
  .industry-insights-archive .te-archive-industry-section{padding:56px 0 64px}
  .industry-insights-archive .industry-archive-head{align-items:flex-start}
  .industry-insights-archive .section-tools{width:100%;justify-content:flex-start}
  .industry-insights-archive .industry-feature{grid-template-columns:1fr;min-height:0}
  .industry-insights-archive .industry-feature>a.media{height:auto;min-height:0;aspect-ratio:16/9}
  .industry-insights-archive .industry-copy{padding:28px 24px}
  .industry-insights-archive .industry-grid,.te-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .industry-insights-archive .te-archive-industry-section{padding:40px 0 48px}
  .industry-insights-archive .industry-archive-head h1{font-size:36px}
  .industry-insights-archive .tabs{max-width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .industry-insights-archive .tabs::-webkit-scrollbar{display:none}
  .industry-insights-archive .industry-copy{padding:22px 18px 24px}
  .industry-insights-archive .industry-copy h2{font-size:25px}
  .industry-insights-archive .industry-grid,.te-archive-grid{grid-template-columns:1fr;gap:18px}
}

/* v1.8.0 Quick Read is configured by Tech Edition Core. */
.quick-read{background:linear-gradient(90deg,var(--qr-primary,#8b5cf6) 0%,var(--qr-secondary,#ec4899) 50%,var(--qr-primary,#8b5cf6) 100%)!important;font-family:var(--qr-font,inherit)!important}
.quick-read-heading strong{background:linear-gradient(135deg,var(--qr-primary,#8b5cf6) 0%,var(--qr-secondary,#ec4899) 50%,var(--qr-primary,#8b5cf6) 100%)!important;background-size:200% 200%!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important}
.quick-read-icon{color:var(--qr-primary,#8b5cf6)!important;font-size:18px!important;line-height:1!important}
.quick-read-list li{font-size:var(--qr-size,14px)!important;color:var(--qr-text,#333)!important}
.quick-read-list li:before{background:linear-gradient(135deg,var(--qr-primary,#8b5cf6),var(--qr-secondary,#ec4899))!important}
.quick-read-branding{padding:0 16px 14px;color:#777;font-size:11px;text-align:right}

/* Related Post Gutenberg block */
.te-related-post-block{margin:34px 0;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:7px;background:#fff;overflow:hidden}
.te-related-post-block>a{display:grid;grid-template-columns:minmax(0,1fr) 220px;color:inherit;text-decoration:none}
.te-related-post-copy{padding:22px 24px;align-self:center}.te-related-post-label{display:block;color:var(--red);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin-bottom:7px}.te-related-post-copy h3{margin:0 0 8px;font-size:22px;line-height:1.18}.te-related-post-copy p{margin:0 0 10px;color:var(--muted);font-size:14px;line-height:1.55}.te-related-post-meta{font-size:11px;font-weight:700;color:var(--muted)}
.te-related-post-media{aspect-ratio:16/9;min-height:100%;overflow:hidden}.te-related-post-media img{width:100%;height:100%;object-fit:cover;display:block}.te-related-post-block:hover h3{color:var(--red)}
@media(max-width:640px){.te-related-post-block>a{grid-template-columns:1fr}.te-related-post-media{order:-1}.te-related-post-copy{padding:18px}.te-related-post-copy h3{font-size:19px}}


/* TE GOLDEN CONTRACT MERGED v2.1.0 */
/*
 * Tech Edition golden-master contract v2.0.0
 * Approved standalone v126 is the visual baseline. Later explicit editorial
 * decisions override the prototype where noted (for example, Industry Insights
 * has no frontend filters/"All insights" CTA).
 */

:root{
  --te-home-section-space:80px;
  --te-red:#EC3535;
}

/* One vertical rhythm for all standard homepage editorial sections. */
.home .te-standard-section{
  padding-top:var(--te-home-section-space)!important;
  padding-bottom:var(--te-home-section-space)!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
.home .te-standard-section>.shell{margin-top:0!important;margin-bottom:0!important}
.home .te-standard-section>.shell>:first-child{margin-top:0!important}
.home .te-standard-section>.shell>:last-child{margin-bottom:0!important}
.home .latest-strip{padding-top:0!important;padding-bottom:0!important;margin:0!important}
.home .newsletter{margin-top:0!important;margin-bottom:0!important}

/* Media geometry follows the approved 16:9 editorial system. */
.home .lead-story .media,
.home .top-story .media,
.home .asia-lead-media .media,
.home .asia-secondary-card .media,
.home .newsroom-feature .media,
.home .industry-feature .media,
.home .industry-card .media,
.home .review-feature .media,
.home .review-row .media,
.home .choice-card .media,
.te-archive-grid .te-card-image,
.te-archive-grid .media{aspect-ratio:16/9!important;overflow:hidden}
.home .lead-story .media img,
.home .top-story .media img,
.home .asia-lead-media img,
.home .asia-secondary-card .media img,
.home .newsroom-feature .media img,
.home .industry-feature .media img,
.home .industry-card .media img,
.home .review-feature .media img,
.home .review-row .media img,
.home .choice-card .media img,
.te-archive-grid img{width:100%;height:100%;object-fit:cover}

/* Industry Insights structural contract: one lead + six supporting cards. */
.home #industry .section-tools,
.home #industry-insights .section-tools,
.home section[id^="industry"] .section-tools{display:none!important}
.home #industry .industry-feature,
.home #industry-insights .industry-feature,
.home section[id^="industry"] .industry-feature{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;
  gap:0!important;
  overflow:hidden!important;
}
.home #industry .industry-grid,
.home #industry-insights .industry-grid,
.home section[id^="industry"] .industry-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
}
.home #industry .industry-card,
.home #industry-insights .industry-card,
.home section[id^="industry"] .industry-card{height:100%;min-width:0}

/* Resting text is black; restrained Tech Edition red appears on interaction. */
.home #industry .industry-card h3,
.home #industry-insights .industry-card h3,
.home section[id^="industry"] .industry-card h3,
.home #industry .industry-feature .industry-copy h3,
.home #industry-insights .industry-feature .industry-copy h3,
.home section[id^="industry"] .industry-feature .industry-copy h3{
  color:var(--ink,#000)!important;
  transition:color .18s ease!important;
}
.home #industry .industry-card:hover h3,
.home #industry .industry-card:focus-within h3,
.home #industry-insights .industry-card:hover h3,
.home #industry-insights .industry-card:focus-within h3,
.home section[id^="industry"] .industry-card:hover h3,
.home section[id^="industry"] .industry-card:focus-within h3,
.home #industry .industry-feature:hover .industry-copy h3,
.home #industry .industry-feature:focus-within .industry-copy h3,
.home #industry-insights .industry-feature:hover .industry-copy h3,
.home #industry-insights .industry-feature:focus-within .industry-copy h3,
.home section[id^="industry"] .industry-feature:hover .industry-copy h3,
.home section[id^="industry"] .industry-feature:focus-within .industry-copy h3{
  color:var(--red,var(--te-red))!important;
}
.home #industry .industry-card .media img,
.home #industry-insights .industry-card .media img,
.home section[id^="industry"] .industry-card .media img,
.home #industry .industry-feature .media img,
.home #industry-insights .industry-feature .media img,
.home section[id^="industry"] .industry-feature .media img{
  transition:transform .22s ease!important;
}
@media(hover:hover){
  .home #industry .industry-card:hover .media img,
  .home #industry-insights .industry-card:hover .media img,
  .home section[id^="industry"] .industry-card:hover .media img,
  .home #industry .industry-feature:hover .media img,
  .home #industry-insights .industry-feature:hover .media img,
  .home section[id^="industry"] .industry-feature:hover .media img{transform:scale(1.018)!important}
}

/* Shared editorial hover contract. */
.top-story h3,.asia-secondary-card h3,.asia-row h3,.newsroom-row h3,
.review-row strong,.choice-card h3,.related-card h3,.archive-card h2,
.opinion-card h3{transition:color .18s ease!important}
.top-story:hover h3,.top-story:focus-within h3,
.asia-secondary-card:hover h3,.asia-secondary-card:focus-within h3,
.asia-row:hover h3,.asia-row:focus-within h3,
.newsroom-row:hover h3,.newsroom-row:focus-within h3,
.review-row:hover strong,.review-row:focus-within strong,
.choice-card:hover h3,.choice-card:focus-within h3,
.related-card:hover h3,.related-card:focus-within h3,
.archive-card:hover h2,.archive-card:focus-within h2,
.opinion-card:hover h3,.opinion-card:focus-within h3{color:var(--red,var(--te-red))!important}

/* Author portraits never escape their intended footprint. */
.author-avatar,.avatar{overflow:hidden;flex:none}
.author-avatar img,.avatar img,.te-author-avatar-image{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important}
.author-line .author-avatar,.author-line .avatar{width:38px!important;height:38px!important}

/* Seen this week remains a native 4:5 editorial grid. */
.instagram-card{aspect-ratio:4/5!important;overflow:hidden}
.instagram-card>img{width:100%!important;height:100%!important;object-fit:cover!important}

/* Related Post is a block, not a global post-end module. */
.te-related-post-block h3{transition:color .18s ease}
.te-related-post-block:hover h3,.te-related-post-block:focus-within h3{color:var(--red,var(--te-red))}

@media(max-width:1100px){:root{--te-home-section-space:64px}}
@media(max-width:900px){
  :root{--te-home-section-space:52px}
  .home #industry .industry-feature,
  .home #industry-insights .industry-feature,
  .home section[id^="industry"] .industry-feature{grid-template-columns:1fr!important}
  .home #industry .industry-grid,
  .home #industry-insights .industry-grid,
  .home section[id^="industry"] .industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  :root{--te-home-section-space:40px}
  .home #industry .industry-grid,
  .home #industry-insights .industry-grid,
  .home section[id^="industry"] .industry-grid{grid-template-columns:1fr!important}
}

/* v2.0.2 Core-block contract: frontend markup is owned by Core; theme owns presentation. */
.article-body .te-review{margin:38px 0;background:#fff;color:var(--ink);border:1px solid var(--line);border-top:4px solid var(--red);border-radius:var(--radius-lg);overflow:hidden;box-shadow:none}
.article-body .te-review-top{display:grid;grid-template-columns:205px minmax(0,1fr);gap:30px;padding:28px 30px;background:#fff}
.article-body .te-review-score{display:flex;flex-direction:column;justify-content:flex-start;border-right:1px solid var(--line);padding-right:30px}
.article-body .te-review-score .kicker,.article-body .te-review-copy .kicker{color:var(--red)}
.article-body .te-review-scoreline{display:flex;align-items:flex-start;gap:10px;position:relative}
.article-body .te-review-score .score-box{margin-top:15px;flex:1}.article-body .te-review-score .score-value strong{font-size:58px;color:var(--ink);letter-spacing:-.07em}.article-body .te-review-score .score-value span{color:var(--muted)}
.article-body .te-review-score .score-scale{max-width:180px;margin-top:12px;gap:4px}.article-body .te-review-score .score-scale i{height:5px;background:var(--line)}.article-body .te-review-score .score-scale i.on{background:var(--red)}
.article-body .te-review-label{margin-top:10px;color:var(--ink);font-size:12.5px;font-weight:800}.article-body .te-review-copy{align-self:center}.article-body .te-review-copy h3{font-size:27px;line-height:1.12;margin:6px 0 10px}.article-body .te-review-copy p{color:var(--muted);font-size:14.5px;line-height:1.62;margin:0}
.article-body .te-review-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);background:var(--surface-2)}.article-body .te-review-col{padding:24px 30px}.article-body .te-review-col+.te-review-col{border-left:1px solid #ddd}.article-body .te-review-col h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 15px}.article-body .te-review-col ul{list-style:none;padding:0;margin:0;color:var(--ink);display:grid;gap:10px}.article-body .te-review-col li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:9px;align-items:start;font-size:14px;line-height:1.5}.article-body .te-review-list-icon{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;margin-top:1px}.article-body .te-review-list-icon svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.article-body .te-review-pros .te-review-list-icon{background:rgba(236,53,53,.09);color:var(--red)}.article-body .te-review-cons .te-review-list-icon{background:#e5e5e5;color:#555}
.article-body .te-review-retail{display:flex;align-items:center;gap:18px;justify-content:space-between;border-top:1px solid var(--line);padding:16px 30px;background:#fff}.article-body .te-review-retail small{color:var(--muted);font-size:11.5px;line-height:1.45;max-width:500px}.article-body .te-review-retail-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.article-body .te-review-cta{display:inline-flex;align-items:center;border:0;background:var(--red);color:#fff!important;border-radius:5px;padding:10px 14px;font-size:12px;font-weight:800;white-space:nowrap;text-decoration:none}.article-body .te-review-cta.secondary{background:#fff;color:var(--ink)!important;border:1px solid var(--line)}.article-body .te-review-cta.is-disabled{opacity:.55;pointer-events:none}

.article-body .inline-related.te-related-post-block{margin:34px 0 40px;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;overflow:hidden;transition:border-color .18s ease,background .18s ease}.article-body .inline-related.te-related-post-block>a{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:24px;align-items:center;padding:22px 22px 22px 24px;text-decoration:none;color:inherit}.article-body .inline-related.te-related-post-block .inline-related-copy{min-width:0}.article-body .inline-related.te-related-post-block .inline-related-label{display:block;font-size:10.5px;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:var(--red);font-weight:900;margin:0 0 8px}.article-body .inline-related.te-related-post-block h3{margin:0;font-size:19px;line-height:1.25;letter-spacing:-.03em;font-weight:800;transition:color .18s ease}.article-body .inline-related.te-related-post-block p{margin:8px 0 12px;font-size:13.5px;line-height:1.5;color:var(--muted)}.article-body .inline-related.te-related-post-block .inline-related-media{aspect-ratio:16/9;border-radius:7px;overflow:hidden;background:var(--surface)}.article-body .inline-related.te-related-post-block .inline-related-media img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.article-body .inline-related.te-related-post-block:hover h3{color:var(--red)}.article-body .inline-related.te-related-post-block:hover .inline-related-media img{transform:scale(1.018)}

/* Banner Tag legacy hard-coded presentation removed in v2.9.2. Core owns its configured presentation. */
@media(max-width:640px){.article-body .te-review{margin:32px 0}.article-body .te-review-top{grid-template-columns:1fr;padding:20px 18px;gap:18px}.article-body .te-review-score{border-right:0;border-bottom:1px solid var(--line);padding:0 0 18px}.article-body .te-review-score .score-value strong{font-size:52px}.article-body .te-review-copy h3{font-size:22px}.article-body .te-review-grid{grid-template-columns:1fr}.article-body .te-review-col+.te-review-col{border-left:0;border-top:1px solid #ddd}.article-body .te-review-col{padding:18px}.article-body .te-review-retail{padding:17px 18px;align-items:flex-start;flex-direction:column}.article-body .te-review-retail-actions{width:100%;justify-content:stretch}.article-body .te-review-cta{width:100%;justify-content:center}.article-body .inline-related.te-related-post-block>a{grid-template-columns:1fr;padding:18px}.article-body .inline-related.te-related-post-block .inline-related-media{grid-row:1;margin-bottom:2px}}


/* v2.1.2 advertising inventory contract */
.te-ad-render{width:100%;min-height:inherit;display:grid;place-items:center}.te-ad-render[hidden]{display:none!important}.te-ad-render iframe,.te-ad-render img{max-width:100%}.te-ad-slot[data-desktop-size="970x250"] .te-ad-render{width:970px;max-width:100%;min-height:250px}.te-ad-slot[data-desktop-size="300x250"] .te-ad-render{width:300px;max-width:100%;min-height:250px}@media(max-width:640px){.te-ad-slot .te-ad-render{width:300px!important;max-width:100%!important;min-height:250px!important}}


/* v2.1.3 author-image contract: one local/canonical image path across article, cards and author archive. */
.author-portrait>.author-avatar{display:block;width:100%;height:100%;border-radius:50%;overflow:hidden}
.author-avatar-fallback{display:grid!important;place-items:center;background:#111;color:#fff;font-weight:800;letter-spacing:-.02em}
.author-avatar-fallback>span{display:block;line-height:1}

/* =========================================================
   Homepage parity patch v2.1.4
   Keep the approved standalone geometry stable inside WordPress.
   ========================================================= */

/* Editor's Choice: explicitly restore the golden-master internal rhythm so
   older cached/cascading rules cannot stretch the heading-to-card spacing. */
.home .te-choice-section .section-head{margin-bottom:40px!important}
.home .te-choice-section .choice-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:30px!important;align-items:start}
.home .te-choice-section .choice-card{min-width:0;margin:0!important}
.home .te-choice-section .choice-card .media{margin:0 0 17px!important}
.home .te-choice-section .choice-card .kicker{margin:0 0 8px!important}
.home .te-choice-section .choice-card h3{margin:0!important}
.home .te-choice-section .choice-card p{margin:12px 0 0!important}

/* Event cards use the standalone article/card structure, not a full-card button. */
.home #upcoming .tracker-list{align-items:stretch}
.home #upcoming .tracker-item{height:100%;margin:0!important;text-align:left;color:inherit;font:inherit}
.home #upcoming .tracker-main{width:100%}
.home #upcoming .tracker-place span{min-width:0;overflow-wrap:anywhere}
.home #upcoming .tracker-view,.home #upcoming .tracker-cal,.home #upcoming .tracker-title-btn{font-family:inherit}

@media(max-width:900px){
  .home .te-choice-section .section-head{margin-bottom:30px!important}
  .home .te-choice-section .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important}
}
@media(max-width:640px){
  .home .te-choice-section .section-head{margin-bottom:26px!important}
  .home .te-choice-section .choice-grid{grid-template-columns:1fr!important;gap:28px!important}
}


/* =========================================================
   Editor's Choice card rhythm v2.1.6
   Keep image geometry unchanged while creating a reliable
   image-to-category gap outside the linked media wrapper.
   ========================================================= */
.home .te-choice-section .choice-card > a:first-child{
  display:block!important;
  margin:0 0 12px!important;
}
.home .te-choice-section .choice-card > a:first-child .media{
  margin-bottom:0!important;
}
.home .te-choice-section .choice-card > .kicker{
  margin:0 0 8px!important;
}

/* v2.1.7 Event popup parity and category presentation */
.te-event-dialog[hidden]{display:none!important}
.te-event-dialog{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.58);display:grid;place-items:center;padding:28px}
.te-event-dialog-card{position:relative;width:min(940px,100%);max-height:min(84vh,760px);overflow:auto;background:#fff;border-radius:9px;display:grid;grid-template-columns:minmax(0,1fr) 390px;padding:0}
.te-event-dialog-copy{padding:42px 40px 38px;min-width:0}
.te-event-dialog-kicker{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--red);margin-bottom:12px}
.te-event-dialog h2{margin:0 48px 14px 0;font-size:clamp(30px,4vw,44px);line-height:1.05;font-weight:900;letter-spacing:-.045em;color:var(--ink)}
.te-event-dialog-meta{display:flex;flex-wrap:wrap;gap:8px 18px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--line);font-size:13px;font-weight:700;color:var(--muted)}
.te-event-dialog-meta span{display:inline-flex;align-items:center;gap:6px}.te-event-dialog-meta svg{width:14px;height:14px;flex:none}
.te-event-dialog-meta strong{font:inherit;color:inherit}
.te-event-dialog #te-event-description{margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.te-event-dialog-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:28px}
.te-event-dialog-action{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:42px;padding:0 10px;border:1px solid var(--ink);border-radius:5px;background:#fff;color:var(--ink);font:inherit;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease}
.te-event-dialog-action.primary{background:var(--ink);color:#fff}
.te-event-dialog-action:is(:hover,:focus-visible){background:var(--red);border-color:var(--red);color:#fff}
.te-event-dialog-map{min-height:480px;background:#f4f4f4;border-left:1px solid var(--line)}
.te-event-dialog-map iframe{width:100%;height:100%;min-height:480px;border:0;display:block}
.te-event-close{position:absolute;top:14px;right:14px;z-index:2;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;padding:0;font-size:22px;line-height:1;cursor:pointer}
.te-event-close:is(:hover,:focus-visible){border-color:var(--ink)}
.tracker-meta>span:first-child{color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:900px){.te-event-dialog-card{grid-template-columns:1fr}.te-event-dialog-map{min-height:300px;border-left:0;border-top:1px solid var(--line)}.te-event-dialog-map iframe{min-height:300px}}
@media(max-width:640px){.te-event-dialog{padding:12px;align-items:end}.te-event-dialog-card{width:100%;max-height:92vh;border-radius:9px 9px 0 0;display:block}.te-event-dialog-copy{padding:32px 20px 26px}.te-event-dialog h2{margin-right:38px;font-size:31px}.te-event-dialog-map,.te-event-dialog-map iframe{min-height:240px}.te-event-dialog-actions{grid-template-columns:1fr;gap:8px}.te-event-dialog-action{min-height:44px}}
@media(prefers-reduced-motion:reduce){.te-event-dialog,.te-event-dialog-card{animation:none!important;transition:none!important}}

/* =========================================================
   v2.3.3 — canonical editorial image radius contract
   Uses the actual frontend wrappers emitted by front-page.php.
   Uses border-radius + overflow clipping only. clip-path was removed because
   it could suppress images inside inline span.media wrappers. Advertisement
   assets are deliberately excluded.
   ========================================================= */
:root{
  --te-image-radius:7px;
  --editorial-media-radius:var(--te-image-radius);
}

/* Homepage editorial media. The frame clips the image so hover scaling
   cannot reveal square corners. This targets #main directly and does not
   depend on WordPress body classes such as .home. */
#main .lead-story .media,
#main .top-story .media,
#main .asia-lead-media .media,
#main .asia-secondary-card .media,
#main .newsroom-feature .media,
#main .industry-card .media,
#main .review-feature .media,
#main .review-row .media,
#main .choice-card .media,
#main .instagram-card,
#main .feature-media{
  display:block;
  border-radius:var(--te-image-radius)!important;
  overflow:hidden!important;
}

#main .lead-story .media>img,
#main .top-story .media>img,
#main .asia-lead-media .media>img,
#main .asia-secondary-card .media>img,
#main .newsroom-feature .media>img,
#main .industry-card .media>img,
#main .review-feature .media>img,
#main .review-row .media>img,
#main .choice-card .media>img,
#main .instagram-card>img,
#main .feature-media>img{
  display:block;
  border-radius:inherit!important;
}

/* Split Industry Insights lead. It is one unified card, so only the
   external corners should be rounded; the image/copy seam stays square. */
#main .industry-feature{
  border-radius:var(--te-image-radius)!important;
  overflow:hidden!important;
}
#main .industry-feature .industry-lead-media{
  display:block;
  border-radius:0!important;
}
#main .industry-feature .industry-lead-media>img{
  display:block;
  border-radius:0!important;
}

/* Featured Spotlight is itself the image frame on desktop and mobile. */
#main .featured-spotlight{
  border-radius:var(--te-image-radius)!important;
  overflow:hidden!important;
}
#main .featured-spotlight .feature-media{
  border-radius:0!important;
}
#main .featured-spotlight .feature-media>img{
  display:block;
  border-radius:0!important;
}

/* 4 / 7 / 10 lead + secondary layouts. Explore supporting stories wrap
   cleanly as 1 row, 2 rows or 3 rows of three on desktop. */
@media(min-width:901px){
  #main .asia-secondary-grid{row-gap:32px}
  #main .asia-secondary-card{padding-right:24px}
  #main .asia-secondary-card+.asia-secondary-card{border-left:1px solid var(--brand-light);padding-left:24px}
  #main .asia-secondary-card:nth-child(3n+1){border-left:0;padding-left:0}
  #main .asia-secondary-card:nth-child(3n){padding-right:0}
}

/* Archive/search/related editorial media. */
.search-result .media,
.archive-card .media,
.related-card .media,
.te-archive-grid .te-card-image,
.te-archive-grid .media,
.industry-insights-archive .industry-card .media,
.te-related-post-media,
.inline-related-media{
  display:block;
  border-radius:var(--te-image-radius)!important;
  overflow:hidden!important;
}
.search-result .media>img,
.archive-card .media>img,
.related-card .media>img,
.te-archive-grid .te-card-image>img,
.te-archive-grid .media>img,
.industry-insights-archive .industry-card .media>img,
.te-related-post-media>img,
.inline-related-media>img{
  border-radius:inherit!important;
}
.industry-insights-archive .industry-feature{
  border-radius:var(--te-image-radius)!important;
  overflow:hidden!important;
}
.industry-insights-archive .industry-feature .industry-lead-media,
.industry-insights-archive .industry-feature .industry-lead-media>img{
  border-radius:0!important;
}

/* Article and continuous-reading editorial imagery. */
#main .article-featured,
#main .continuous-featured,
#main .article-body>figure .media,
#main .continuous-body>figure .media,
#main .article-body>figure .image-lightbox-trigger,
#main .continuous-body>figure .image-lightbox-trigger,
#main .article-body .wp-block-image img,
#main .continuous-body .wp-block-image img,
#main .youtube-frame,
#main .te-compare-stage{
  border-radius:var(--te-image-radius)!important;
  overflow:hidden!important;
}

/* Intentional exclusions. Radius rules never target ad media. Ads are supplied creative and must retain their
   native geometry; identity/UI assets keep their own shape. */
.author-avatar,
.author-avatar img,
.te-author-avatar-image,
.avatar{
  border-radius:50%!important;
}
.brand-logo,
.site-logo img,
.custom-logo,
.custom-logo-link img,
.te-ad-break,
.te-ad-break-inner,
.te-ad-slot,
.te-ad-slot img,
.te-ad-render,
.te-ad-render img,
.te-ad-placeholder,
.te-popup-ad,
.te-popup-ad img,
.lightbox-stage,
.lightbox-stage img{
  border-radius:0!important;
}

/* v2.4.0 direct-image advertising contract. Advertising creative geometry is deliberately separate from editorial image radius rules. */
.te-ad-render{overflow:hidden;background:transparent}
.te-ad-render>a{display:grid;place-items:center;width:100%;height:100%;text-decoration:none}
.te-ad-render>img,.te-ad-render>a>img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border-radius:0!important}
.te-ad-render.te-ad-size-970x250{width:970px;max-width:100%;height:250px;min-height:250px}
.te-ad-render.te-ad-size-300x250{width:300px;max-width:100%;height:250px;min-height:250px}
.te-ad-render.te-ad-size-300x600{width:300px;max-width:100%;height:600px;min-height:600px}
@media(max-width:640px){.te-ad-render.te-ad-size-970x250,.te-ad-render.te-ad-size-300x600,.te-ad-render.te-ad-size-300x250{width:300px!important;max-width:100%!important;height:250px!important;min-height:250px!important}}

/* v2.5.0 managed global header/footer */
.brand-picture{display:block;line-height:0}.brand-picture .brand-logo{display:block}.te-menu-open{overflow:hidden}.drawer{visibility:hidden}.drawer.open{visibility:visible}.drawer .brand{max-width:calc(100% - 56px)}.drawer-body .drawer-link{display:flex}.footer-main{grid-template-columns:minmax(280px,1.4fr) repeat(3,minmax(0,.7fr))}
@media(max-width:900px){.drawer{visibility:hidden}.drawer.open{visibility:visible}.footer-main{grid-template-columns:1.2fr 1fr 1fr}.footer-col:last-child{grid-column:2/4}}
@media(max-width:640px){.footer-main{grid-template-columns:1fr}.footer-col:last-child{grid-column:auto}}

/* v2.7.0 flexible footer builder */
.footer-main.te-footer-cols-1{grid-template-columns:minmax(280px,1.4fr) minmax(0,.9fr)}
.footer-main.te-footer-cols-2{grid-template-columns:minmax(280px,1.4fr) repeat(2,minmax(0,.8fr))}
.footer-main.te-footer-cols-3{grid-template-columns:minmax(280px,1.4fr) repeat(3,minmax(0,.7fr))}
.footer-col-html{display:grid;gap:9px;color:var(--brand-light);font-size:var(--te-text-meta);line-height:1.55}
.footer-col-html p,.footer-col-html ul,.footer-col-html ol{margin:0}
.footer-col-html ul,.footer-col-html ol{padding-left:18px}
.footer-col-html a{color:var(--brand-light);font-size:inherit;font-weight:500}
.footer-col-html a:hover{text-decoration:underline}
.footer-bottom>div{min-width:0}
.footer-bottom a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.footer-bottom a:hover{color:#fff}
@media(max-width:900px){
  .footer-main.te-footer-cols-1{grid-template-columns:1.2fr 1fr}
  .footer-main.te-footer-cols-2,.footer-main.te-footer-cols-3{grid-template-columns:1.2fr 1fr 1fr}
  .footer-main.te-footer-cols-3 .footer-col:last-child{grid-column:2/4}
}
@media(max-width:640px){
  .footer-main.te-footer-cols-1,.footer-main.te-footer-cols-2,.footer-main.te-footer-cols-3{grid-template-columns:1fr}
  .footer-main.te-footer-cols-3 .footer-col:last-child{grid-column:auto}
}


/* v2.7.1 footer bottom-bar width refinement */
.footer-bottom{
  display:grid!important;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)!important;
  gap:48px!important;
  align-items:start!important;
  justify-content:stretch!important;
}
.footer-bottom>div:first-child{text-align:left}
.footer-bottom>div:last-child{text-align:right;justify-self:stretch}
@media(max-width:900px){
  .footer-bottom{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;gap:32px!important}
}
@media(max-width:640px){
  .footer-bottom{display:block!important}
  .footer-bottom>div:last-child{text-align:left;margin-top:10px}
}

/* v2.7.3 footer bottom-bar containment and width contract */
.footer-bottom{
  grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr)!important;
  gap:40px!important;
}
.footer-bottom>div{min-width:0;overflow-wrap:anywhere}
.footer-bottom>div:last-child{max-width:none;width:100%}
.footer-bottom p{margin:0}
.footer-bottom img,
.footer-bottom picture,
.footer-bottom svg{
  display:inline-block!important;
  width:auto!important;
  height:auto!important;
  max-width:140px!important;
  max-height:24px!important;
  margin:0 0 0 7px!important;
  vertical-align:middle!important;
  object-fit:contain!important;
}
.footer-bottom picture img{margin:0!important}
@media(max-width:900px){
  .footer-bottom{grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr)!important;gap:28px!important}
}
@media(max-width:640px){
  .footer-bottom{display:block!important}
  .footer-bottom>div:last-child{text-align:left;margin-top:10px}
  .footer-bottom img,.footer-bottom picture,.footer-bottom svg{max-width:120px!important;max-height:22px!important}
}


/* Footer description HTML contract — v2.7.4 */
.footer-brand .footer-description{color:var(--brand-light);max-width:430px;font-size:var(--te-text-ui);line-height:1.55;font-weight:400}
.footer-brand .footer-description p{margin:0 0:.8em;color:inherit;font-size:inherit;line-height:inherit;font-weight:inherit;max-width:none}
.footer-brand .footer-description p:last-child{margin-bottom:0}
.footer-brand .footer-description a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.footer-brand .footer-description br{display:block}

/* v2.7.5 footer bottom bar equal 500px desktop columns */
@media (min-width:1080px){
  .footer-bottom{
    display:grid!important;
    grid-template-columns:500px 500px!important;
    justify-content:space-between!important;
    column-gap:0!important;
    align-items:start!important;
  }
  .footer-bottom>div:first-child{
    width:500px!important;
    max-width:500px!important;
    justify-self:start!important;
    text-align:left!important;
  }
  .footer-bottom>div:last-child{
    width:500px!important;
    max-width:500px!important;
    justify-self:end!important;
    text-align:right!important;
  }
}
@media (min-width:641px) and (max-width:1079px){
  .footer-bottom{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:32px!important;
  }
  .footer-bottom>div:first-child,
  .footer-bottom>div:last-child{
    width:auto!important;
    max-width:none!important;
  }
}


/* Full-screen live search parity with the approved standalone reference. */
.search-layer[hidden]{display:none!important}
.search-layer .search-head .kicker{color:var(--red)}
.search-close{flex:none}
.search-status{min-height:22px;margin-top:12px;color:var(--muted);font-size:13px}
.search-result-media{display:block;background:#f4f4f4;overflow:hidden}
.search-result-media.is-empty{background:linear-gradient(135deg,#ececec,#f7f7f7)}
.search-result-date{font-size:12px;color:var(--muted);margin-top:3px}
body.te-search-open{overflow:hidden}
@media(max-width:640px){
  .search-layer{padding:18px}
  .search-head{margin-bottom:30px}
  .search-input{font-size:44px}
  .search-result{grid-template-columns:112px minmax(0,1fr);gap:15px;padding:16px 0}
  .search-result h3{font-size:17px}
}

/* Search overlay top spacing parity with the approved standalone reference. */
.search-layer{
  padding:48px 28px 56px;
}
@media(max-width:640px){
  .search-layer{
    padding:30px 18px 40px;
  }
}

/* =========================================================
   v2.9.0 article parity contract
   Approved standalone article architecture is authoritative.
   ========================================================= */
.article-body,.continuous-body{--te-article-line:#EDEDED}

/* Native Quick Read. Remove all legacy purple/pink plugin presentation. */
.article-body .quick-read,.continuous-body .quick-read{
  margin:30px 0 34px!important;
  border:1px solid var(--line)!important;
  border-top:3px solid var(--red)!important;
  border-radius:0 0 var(--radius) var(--radius)!important;
  background:#fff!important;
  color:var(--ink)!important;
  font-family:"Montserrat",sans-serif!important;
  overflow:hidden!important;
}
.article-body .quick-read-toggle,.continuous-body .quick-read-toggle{background:#fff!important;padding:18px 20px!important}
.article-body .quick-read-toggle:hover,.continuous-body .quick-read-toggle:hover{background:#fafafa!important}
.article-body .quick-read-heading strong,.continuous-body .quick-read-heading strong{
  background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;color:var(--ink)!important;
  font-size:15px!important;font-weight:800!important;
}
.article-body .quick-read-heading span,.continuous-body .quick-read-heading span{color:var(--muted)!important;font-weight:500!important}
.article-body .quick-read-icon,.continuous-body .quick-read-icon{color:var(--red)!important;border:1px solid var(--line)!important;background:#fff!important}
.article-body .quick-read-list,.continuous-body .quick-read-list{padding:0 20px 18px 52px!important}
.article-body .quick-read-content.open .quick-read-list,.continuous-body .quick-read-content.open .quick-read-list{padding-top:0!important}
.article-body .quick-read-list li,.continuous-body .quick-read-list li{color:#333!important;font-size:14px!important;line-height:1.55!important;opacity:1!important;transform:none!important}
.article-body .quick-read-list li:before,.continuous-body .quick-read-list li:before{width:6px!important;height:6px!important;border-radius:0!important;background:var(--red)!important;left:-18px!important;top:.6em!important}

/* Google discovery buttons use icon + two-line copy. */
.google-action-icon{display:block;width:24px;height:24px;object-fit:contain;flex:none}
.google-action{min-height:44px;height:auto;padding:7px 12px}
.google-action span{line-height:1.18}
.google-action strong{font-size:inherit;font-weight:700}

/* Article-end hierarchy. */
.article-tags{margin-top:38px}
.article-tags a{transition:border-color .16s ease,color .16s ease,background .16s ease}
.article-tags a:hover,.article-tags a:focus-visible{border-color:var(--red);color:var(--red);background:#fff}
.article-share-mobile,.continuous-share-row{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:9px!important;margin:40px 0 0!important;padding:24px 0 0!important;border-top:1px solid var(--te-article-line)!important}
.article-share-mobile>a,.continuous-share-row>a{width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;display:grid!important;place-items:center!important}
.article-share-mobile>a:hover,.article-share-mobile>a:focus-visible,.continuous-share-row>a:hover,.continuous-share-row>a:focus-visible{border-color:var(--red)!important;color:var(--red)!important;background:#fff!important}
.article-share-mobile .share-icon,.continuous-share-row .share-icon{width:17px;height:17px}
.author-box{margin-top:36px!important;border-top:0!important;padding-top:0!important}
.article-body>.changelog,.continuous-body>.changelog{margin:44px 0 0!important;padding:26px 28px!important;background:var(--surface-2)!important;border:0!important;border-radius:var(--radius)!important}

/* Inline images only are expandable. Featured images remain presentation media. */
.article-featured,.continuous-featured{cursor:default!important}
.article-featured .expand-indicator,.continuous-featured .expand-indicator{display:none!important}
.article-body>figure .image-lightbox-trigger,.continuous-body>figure .image-lightbox-trigger{display:block;width:100%;height:100%;position:relative;border:0;padding:0;background:transparent;cursor:zoom-in;overflow:hidden;border-radius:0!important}
.article-body>figure .image-lightbox-trigger img,.continuous-body>figure .image-lightbox-trigger img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.lightbox-overlay{position:fixed!important;inset:0!important;z-index:2600!important;background:#000!important;display:flex!important;flex-direction:column!important;padding:0!important;gap:0!important}
.lightbox-overlay[hidden]{display:none!important}
.lightbox-top{position:fixed!important;top:0!important;left:0!important;right:0!important;height:54px!important;z-index:3!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;padding:5px 10px!important;background:linear-gradient(180deg,rgba(0,0,0,.75),transparent)!important}
.lightbox-close{width:42px!important;height:42px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#fff!important;font-size:30px!important;box-shadow:none!important}
.lightbox-stage{width:100vw!important;flex:1!important;min-height:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#000!important}
.lightbox-stage img{max-width:100vw!important;max-height:100dvh!important;width:auto!important;height:auto!important;object-fit:contain!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.lightbox-caption{position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:9px 48px 11px!important;background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,0))!important;color:#fff!important;font-size:12px!important;line-height:1.45!important;font-weight:500!important;text-align:center!important}

/* Related Reading and post-end advertising follow the article, then continuous reading. */
.te-post-end-ad{display:block!important;width:min(calc(100% - 48px),1100px);margin:52px auto 0;padding:0;clear:both}
.te-post-end-ad .te-ad-slot{margin-inline:auto}
.related-reading{margin-top:58px!important}
.continuous-wrap{background:#fff;padding-bottom:96px}
.continuous-separator{margin-top:20px}
.continuous-article{padding-bottom:96px!important}
.continuous-limit{margin-bottom:0!important}

@media(max-width:640px){
  .article-body .quick-read,.continuous-body .quick-read{margin:24px 0 28px!important}
  .article-body .quick-read-toggle,.continuous-body .quick-read-toggle{padding:14px!important}
  .article-body .quick-read-list,.continuous-body .quick-read-list{padding:0 14px 14px 46px!important}
  .article-share-mobile,.continuous-share-row{margin-top:34px!important;padding-top:22px!important;gap:10px!important}
  .article-share-mobile>a,.continuous-share-row>a{width:40px!important;height:40px!important;min-width:40px!important}
  .article-body>.changelog,.continuous-body>.changelog{margin-top:38px!important;padding:22px 20px!important}
  .lightbox-caption{padding:9px 18px 11px!important}
  .te-post-end-ad{width:calc(100% - 28px);margin-top:42px}
  .te-post-end-ad .te-ad-placeholder{width:300px!important;height:250px!important}
  .continuous-wrap{padding-bottom:72px}
  .continuous-article{padding-bottom:72px!important}
}

/* =========================================================
   v2.9.1 editorial workflow patch
   Related Post presentation is Theme-owned. Legacy Shortlist
   colour/spacing attributes are intentionally ignored once a
   post relationship can be resolved by Core.
   ========================================================= */
.article-body .te-related-post-block,.continuous-body .te-related-post-block{border-left:0!important}
.article-body .te-related-post-block>a,.continuous-body .te-related-post-block>a{color:inherit!important;text-decoration:none!important}
.article-body .te-related-post-block:focus-within,.continuous-body .te-related-post-block:focus-within{border-color:#d9d9d9;background:#f7f7f7}
.article-body .te-related-post-block:focus-within h3,.continuous-body .te-related-post-block:focus-within h3{color:var(--red)}

/* =========================================================
   v2.9.2 regression correction
   Review, Editorial Blocks, Quick Read and Seen this week.
   ========================================================= */

/* Review must allow the ratings guide to escape the card boundary. */
.article-body .te-review,.continuous-body .te-review{
  overflow:visible!important;
  position:relative;
  background:#fff;
  color:var(--ink);
  border:1px solid var(--line);
  border-top:4px solid var(--red);
  border-radius:var(--radius-lg);
}
.article-body .te-review-top,.continuous-body .te-review-top{background:#fff;border-radius:0}
.article-body .te-review-grid,.continuous-body .te-review-grid{background:var(--surface-2)}
.article-body .te-review-retail,.continuous-body .te-review-retail{background:#fff;border-radius:0 0 var(--radius-lg) var(--radius-lg)}
.article-body .te-review-rating-info,.continuous-body .te-review-rating-info{position:relative;z-index:20}
.article-body .te-review-rating-tooltip,.continuous-body .te-review-rating-tooltip{
  z-index:120!important;
  max-height:min(72vh,620px);
  overflow:auto;
  box-shadow:0 20px 60px rgba(0,0,0,.18)!important;
}

/* Retailer controls receive the same restrained interaction treatment as other TE actions. */
.article-body .te-review-cta,.continuous-body .te-review-cta{
  transition:transform .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
}
.article-body .te-review-cta:not(.is-disabled):hover,.article-body .te-review-cta:not(.is-disabled):focus-visible,
.continuous-body .te-review-cta:not(.is-disabled):hover,.continuous-body .te-review-cta:not(.is-disabled):focus-visible{
  transform:translateY(-1px);
  background:#cf1f25;
  box-shadow:0 5px 14px rgba(236,53,53,.16);
}
.article-body .te-review-cta.secondary:hover,.article-body .te-review-cta.secondary:focus-visible,
.continuous-body .te-review-cta.secondary:hover,.continuous-body .te-review-cta.secondary:focus-visible{
  background:#fff;color:var(--red)!important;border-color:var(--red);box-shadow:none;
}

/* Banner Tag presentation is controlled by Core. Theme supplies structure only. */
.article-body .wp-block-shortlist-banner-tag,.continuous-body .wp-block-shortlist-banner-tag{margin:0!important}
.article-body .teeb-banner-tag-wrapper,.continuous-body .teeb-banner-tag-wrapper{display:block;line-height:normal}
.article-body .teeb-banner-tag,.continuous-body .teeb-banner-tag{
  position:relative;
  display:inline-block;
  font-family:Montserrat,Arial,sans-serif;
  line-height:1.2;
  box-sizing:border-box;
}
.article-body .teeb-banner-tag__pointer,.continuous-body .teeb-banner-tag__pointer{
  position:absolute;display:block;width:0;height:0;border-left-style:solid;border-right-style:solid;border-top-style:solid;border-left-color:transparent;border-right-color:transparent;
}

/* Quick Read honours Core settings through CSS variables instead of overriding them. */
.article-body .quick-read,.continuous-body .quick-read{
  border-top-color:var(--qr-primary,var(--red))!important;
  font-family:var(--qr-font,"Montserrat",sans-serif)!important;
}
.article-body .quick-read-heading strong,.continuous-body .quick-read-heading strong{color:var(--qr-primary,var(--ink))!important}
.article-body .quick-read-icon,.continuous-body .quick-read-icon{color:var(--qr-primary,var(--red))!important}
.article-body .quick-read-list li,.continuous-body .quick-read-list li{font-size:var(--qr-size,14px)!important;color:var(--qr-text,#333)!important}
.article-body .quick-read-list li:before,.continuous-body .quick-read-list li:before{background:var(--qr-primary,var(--red))!important}

/* Seen this week embeds. Flow-Flow keeps ownership of data and JS; this layer only skins its output. */
.te-seen-section .te-seen-embed{width:100%;min-width:0}
.te-seen-section.te-seen-skin-tech-edition .ff-stream-wrapper,
.te-seen-section.te-seen-skin-tech-edition .ff-stream{font-family:Montserrat,Arial,sans-serif!important}
.te-seen-section.te-seen-skin-tech-edition .ff-item{
  border:1px solid var(--line)!important;
  border-radius:var(--te-seen-radius,6px)!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:none!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.te-seen-section.te-seen-skin-tech-edition .ff-item:hover,
.te-seen-section.te-seen-skin-tech-edition .ff-item:focus-within{transform:translateY(-2px);border-color:#d7d7d7!important;box-shadow:0 8px 24px rgba(0,0,0,.055)!important}
.te-seen-section.te-seen-skin-tech-edition .ff-item-cont{border:0!important;background:#fff!important}
.te-seen-section.te-seen-skin-tech-edition .ff-img-holder,
.te-seen-section.te-seen-skin-tech-edition .ff-img-holder img{border-radius:0!important}
.te-seen-section.te-seen-skin-tech-edition .ff-img-holder img{width:100%!important;display:block!important;object-fit:cover!important}
.te-seen-section.te-seen-skin-tech-edition .ff-img-holder{aspect-ratio:var(--te-seen-aspect,4 / 5);overflow:hidden}
.te-seen-section.te-seen-skin-tech-edition .ff-content{font-size:13px!important;line-height:1.5!important;color:var(--ink)!important}
.te-seen-section.te-seen-skin-tech-edition .ff-nickname{font-weight:700!important;color:var(--ink)!important}
.te-seen-section.te-seen-skin-tech-edition .ff-timestamp,.te-seen-section.te-seen-skin-tech-edition .ff-item-meta{color:var(--muted)!important}
.te-seen-section.te-seen-hide-header .ff-header,
.te-seen-section.te-seen-hide-header .ff-filter-holder{display:none!important}
.te-seen-section.te-seen-hide-text .ff-content{display:none!important}
.te-seen-section.te-seen-hide-meta .ff-userpic,
.te-seen-section.te-seen-hide-meta .ff-nickname,
.te-seen-section.te-seen-hide-meta .ff-timestamp,
.te-seen-section.te-seen-hide-meta .ff-item-meta{display:none!important}
.te-seen-section.te-seen-hide-actions .ff-item-bar{display:none!important}

/* For non-Masonry/simple embed output, expose the section column variables as a useful grid contract. */
.te-seen-section .te-seen-native-grid{display:grid;grid-template-columns:repeat(var(--te-seen-cols-d,4),minmax(0,1fr));gap:var(--te-seen-gap,16px)}
@media(max-width:900px){.te-seen-section .te-seen-native-grid{grid-template-columns:repeat(var(--te-seen-cols-t,3),minmax(0,1fr))}}
@media(max-width:640px){
  .te-seen-section .te-seen-native-grid{grid-template-columns:repeat(var(--te-seen-cols-m,2),minmax(0,1fr))}
  .article-body .te-review-rating-tooltip,.continuous-body .te-review-rating-tooltip{position:fixed!important;left:14px!important;right:14px!important;top:50%!important;bottom:auto!important;width:auto!important;max-height:76vh!important;transform:translateY(-50%)!important;z-index:10002!important}
}

/* Flow-Flow grid width follows Seen this week column settings before its layout engine measures items. */
.te-seen-section.te-seen-skin-tech-edition .ff-layout-grid .ff-item{width:var(--te-seen-width-d,25%)!important}
@media(max-width:900px){.te-seen-section.te-seen-skin-tech-edition .ff-layout-grid .ff-item{width:var(--te-seen-width-t,33.3333%)!important}}
@media(max-width:640px){.te-seen-section.te-seen-skin-tech-edition .ff-layout-grid .ff-item{width:var(--te-seen-width-m,50%)!important}}

/* =========================================================
   v2.9.3 Staging UAT correction
   Review, Related Article, Quick Read, Changelog, continuous
   reading, event modal and Flow-Flow skin.
   ========================================================= */

/* Review list semantics. Positive points are green, drawbacks remain neutral grey. */
.article-body .te-review-pros .te-review-list-icon,
.continuous-body .te-review-pros .te-review-list-icon{
  background:rgba(24,134,83,.10)!important;
  color:#188653!important;
}
.article-body .te-review-cons .te-review-list-icon,
.continuous-body .te-review-cons .te-review-list-icon{
  background:#e9e9e9!important;
  color:#555!important;
}
.article-body .te-review-cta,.continuous-body .te-review-cta{gap:7px!important}
.article-body .te-lucide-external-link,.continuous-body .te-lucide-external-link{
  width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;
  transition:transform .16s ease;
}
.article-body .te-review-cta:not(.is-disabled):hover .te-lucide-external-link,
.article-body .te-review-cta:not(.is-disabled):focus-visible .te-lucide-external-link,
.continuous-body .te-review-cta:not(.is-disabled):hover .te-lucide-external-link,
.continuous-body .te-review-cta:not(.is-disabled):focus-visible .te-lucide-external-link{transform:translate(1px,-1px)}

/* Related Article follows the approved editorial card: copy left, media right. */
.article-body .inline-related.te-related-post-block,
.continuous-body .inline-related.te-related-post-block{
  margin:34px 0 40px!important;
  background:#f8f8f8!important;
  border:1px solid #dedede!important;
  border-radius:9px!important;
  overflow:hidden!important;
  box-shadow:none!important;
  transition:border-color .18s ease,background-color .18s ease!important;
}
.article-body .inline-related.te-related-post-block>a,
.continuous-body .inline-related.te-related-post-block>a{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
  align-items:stretch!important;
  min-height:128px;
  padding:0!important;
}
.article-body .inline-related.te-related-post-block.has-media>a,
.continuous-body .inline-related.te-related-post-block.has-media>a{grid-template-columns:minmax(0,1fr) 180px!important}
.article-body .inline-related-copy,.continuous-body .inline-related-copy{padding:21px 24px!important;align-self:center;min-width:0}
.article-body .inline-related-label,.continuous-body .inline-related-label{
  display:block!important;margin:0 0 8px!important;color:var(--red)!important;font-size:10.5px!important;line-height:1!important;
  font-weight:900!important;letter-spacing:.075em!important;text-transform:uppercase!important;
}
.article-body .inline-related.te-related-post-block h3,
.continuous-body .inline-related.te-related-post-block h3{
  margin:0!important;color:var(--red)!important;font-size:18px!important;line-height:1.28!important;letter-spacing:-.025em!important;font-weight:800!important;
}
.article-body .inline-related.te-related-post-block p,
.continuous-body .inline-related.te-related-post-block p{margin:8px 0 12px!important;color:var(--muted)!important;font-size:13.5px!important;line-height:1.5!important}
.article-body .inline-related.te-related-post-block .meta,
.continuous-body .inline-related.te-related-post-block .meta{display:block!important;color:#59606a!important;font-size:11.5px!important;line-height:1.4!important;font-weight:600!important}
.article-body .inline-related-media,.continuous-body .inline-related-media{height:100%!important;min-height:128px!important;aspect-ratio:auto!important;border-radius:0!important;background:#eee!important;overflow:hidden!important}
.article-body .inline-related-media img,.continuous-body .inline-related-media img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;transition:transform .2s ease!important}
.article-body .inline-related.te-related-post-block:is(:hover,:focus-within),
.continuous-body .inline-related.te-related-post-block:is(:hover,:focus-within){border-color:#cfcfcf!important;background:#f5f5f5!important}
.article-body .inline-related.te-related-post-block:is(:hover,:focus-within) .inline-related-media img,
.continuous-body .inline-related.te-related-post-block:is(:hover,:focus-within) .inline-related-media img{transform:scale(1.018)}
@media(max-width:640px){
  .article-body .inline-related.te-related-post-block.has-media>a,.continuous-body .inline-related.te-related-post-block.has-media>a{grid-template-columns:1fr!important}
  .article-body .inline-related-media,.continuous-body .inline-related-media{grid-row:1;min-height:0!important;aspect-ratio:16/9!important}
  .article-body .inline-related-copy,.continuous-body .inline-related-copy{padding:18px!important}
}

/* Quick Read presentation matches the established LIVE component. */
.article-body .quick-read,.continuous-body .quick-read{
  --qr-primary:#8b5cf6;--qr-secondary:#ec4899;
  margin:24px 0 32px!important;padding:1px!important;border:0!important;border-radius:8px!important;
  background:linear-gradient(110deg,var(--qr-primary),var(--qr-secondary),var(--qr-primary))!important;
  box-shadow:none!important;font-family:Montserrat,Arial,sans-serif!important;overflow:hidden!important;
}
.article-body .quick-read-inner,.continuous-body .quick-read-inner{background:#fff!important;border-radius:7px!important;overflow:hidden!important}
.article-body .quick-read-toggle,.continuous-body .quick-read-toggle{padding:14px 16px!important;background:#fff!important;grid-template-columns:22px minmax(0,1fr) 20px!important;gap:9px!important}
.article-body .quick-read-toggle:hover,.continuous-body .quick-read-toggle:hover{background:#fff!important}
.article-body .quick-read-icon,.continuous-body .quick-read-icon{width:20px!important;height:20px!important;border:0!important;background:transparent!important;color:var(--qr-primary)!important;margin:0!important;display:grid!important;place-items:center!important}
.article-body .quick-read-icon svg,.continuous-body .quick-read-icon svg{width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.article-body .quick-read-heading strong,.continuous-body .quick-read-heading strong{display:block!important;color:var(--qr-primary)!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;font-size:14px!important;line-height:1.2!important;font-weight:700!important;letter-spacing:0!important}
.article-body .quick-read-heading span,.continuous-body .quick-read-heading span{display:block!important;margin-top:3px!important;color:#666!important;font-size:11.5px!important;line-height:1.3!important;font-weight:400!important}
.article-body .quick-read-chevron,.continuous-body .quick-read-chevron{width:18px!important;height:18px!important;display:grid!important;place-items:center!important;color:#25292f!important;transition:transform .18s ease!important}
.article-body .quick-read-chevron svg,.continuous-body .quick-read-chevron svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.article-body .quick-read:not(.open) .quick-read-chevron,.continuous-body .quick-read:not(.open) .quick-read-chevron{transform:rotate(180deg)!important}
.article-body .quick-read-list,.continuous-body .quick-read-list{padding:7px 24px 13px 33px!important;margin:0!important;display:grid!important;gap:12px!important}
.article-body .quick-read-list li,.continuous-body .quick-read-list li{position:relative!important;margin:0!important;padding-left:0!important;color:#3b3f45!important;font-size:13px!important;line-height:1.55!important;font-weight:400!important;opacity:1!important;transform:none!important}
.article-body .quick-read-list li:before,.continuous-body .quick-read-list li:before{content:""!important;position:absolute!important;left:-18px!important;top:.62em!important;width:6px!important;height:6px!important;border-radius:50%!important;background:linear-gradient(135deg,var(--qr-primary),var(--qr-secondary))!important}
.article-body .quick-read-footer,.continuous-body .quick-read-footer{padding:0 16px 13px!important;text-align:right!important;color:#9a9a9a!important;font-size:10.5px!important;line-height:1.3!important;font-style:italic!important}
.article-body .te-quick-read-pending,.continuous-body .te-quick-read-pending{background:linear-gradient(110deg,var(--qr-primary),var(--qr-secondary),var(--qr-primary))!important}
.quick-read-loading{display:flex;align-items:center;gap:10px;padding:15px 16px;color:#555}.quick-read-loading strong,.quick-read-loading small{display:block}.quick-read-loading strong{color:var(--qr-primary);font-size:14px}.quick-read-loading small{font-size:11.5px;margin-top:3px}.quick-read-loading-dot{width:8px;height:8px;border-radius:50%;background:var(--qr-primary);animation:teQrPulse 1s ease-in-out infinite alternate}
.te-quick-read-reveal{animation:teQrReveal .28s ease both}@keyframes teQrReveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes teQrPulse{to{opacity:.35;transform:scale(.82)}}

/* Changelog is compact reader-facing metadata, not a generic grey content panel. */
.article-body>.changelog,.continuous-body>.changelog{
  margin:40px 0 0!important;padding:24px 26px!important;background:#f6f6f6!important;border:0!important;border-radius:7px!important;
}
.changelog-title{display:flex!important;align-items:center!important;gap:10px!important;margin:0 0 16px!important}.changelog-title:before{width:7px!important;height:7px!important;background:var(--red)!important}.changelog-title h3{font-size:20px!important;line-height:1.15!important;letter-spacing:-.025em!important}
.changelog-list{display:grid!important;gap:13px!important}.changelog-entry{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;gap:16px!important;align-items:start!important}.changelog-date{padding-top:2px!important;color:var(--red)!important;font-size:11px!important;line-height:1.4!important;font-weight:800!important}.changelog-copy{min-width:0}.changelog-reason{display:block;margin:0 0 3px;color:#626872;font-size:10px;line-height:1.3;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.changelog-entry p{margin:0!important;color:#444a53!important;font-size:13px!important;line-height:1.5!important}
@media(max-width:640px){.article-body>.changelog,.continuous-body>.changelog{padding:20px!important}.changelog-entry{grid-template-columns:1fr!important;gap:4px!important}}

/* Continuous reading prefetches before the viewport and reveals each story smoothly. */
.te-continuous-enter{opacity:0;transform:translateY(18px);transition:opacity .38s ease,transform .38s cubic-bezier(.2,.75,.25,1)}
.te-continuous-enter.is-visible{opacity:1;transform:none}
#continuousSentinel{min-height:80px;position:relative}
#continuousSentinel.is-loading:before{content:"Loading next story";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}

/* Event detail modal enters and leaves without changing its approved geometry. */
.te-event-dialog{opacity:0;transition:opacity .18s ease!important}
.te-event-dialog .te-event-dialog-card{opacity:0;transform:translateY(12px) scale(.985);transition:opacity .2s ease,transform .2s cubic-bezier(.2,.75,.25,1)!important}
.te-event-dialog.is-open{opacity:1}.te-event-dialog.is-open .te-event-dialog-card{opacity:1;transform:none}
@media(max-width:640px){.te-event-dialog .te-event-dialog-card{transform:translateY(22px) scale(1)}.te-event-dialog.is-open .te-event-dialog-card{transform:none}}

/* Seen this week / Flow-Flow skin. Flow-Flow keeps its masonry/Shuffle transforms. */
.te-seen-section.te-seen-skin-tech-edition .ff-stream{background:transparent!important;margin:0!important;max-width:none!important}
.te-seen-section.te-seen-skin-tech-edition .ff-header{margin:0 0 18px!important;background:transparent!important;border:0!important;padding:0!important}
.te-seen-section.te-seen-skin-tech-edition .ff-search input{height:38px!important;border:1px solid var(--line)!important;border-radius:5px!important;background:#fff!important;color:var(--ink)!important;font-size:12px!important;padding:0 34px 0 12px!important;box-shadow:none!important}
.te-seen-section.te-seen-skin-tech-edition .ff-stream-wrapper{margin:calc(var(--te-seen-gap,16px) / -2)!important;width:calc(100% + var(--te-seen-gap,16px))!important;background:transparent!important}
.te-seen-section.te-seen-skin-tech-edition .ff-layout-masonry .ff-item,
.te-seen-section.te-seen-skin-tech-edition .ff-layout-grid .ff-item{
  width:var(--te-seen-width-d,25%)!important;padding:calc(var(--te-seen-gap,16px) / 2)!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;box-sizing:border-box!important;
}
.te-seen-section.te-seen-skin-tech-edition .ff-item:hover,
.te-seen-section.te-seen-skin-tech-edition .ff-item:focus-within{box-shadow:none!important;border:0!important}
.te-seen-section.te-seen-skin-tech-edition .picture-item__inner{height:100%;background:#fff!important;border:1px solid var(--line)!important;border-radius:var(--te-seen-radius,7px)!important;overflow:hidden!important;box-shadow:none!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important}
.te-seen-section.te-seen-skin-tech-edition .ff-item:is(:hover,:focus-within) .picture-item__inner{transform:translateY(-3px);border-color:#d5d5d5!important;box-shadow:0 9px 24px rgba(0,0,0,.055)!important}
.te-seen-section.te-seen-skin-tech-edition .ff-item-cont{padding:0!important;border:0!important;background:#fff!important}
.te-seen-section.te-seen-skin-tech-edition .ff-img-holder{display:block!important;aspect-ratio:var(--te-seen-aspect,4 / 5)!important;min-height:0!important;height:auto!important;background:#eee!important;overflow:hidden!important}
.te-seen-section.te-seen-skin-tech-edition .ff-img-holder img{width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important;display:block!important;transition:transform .22s ease!important}
.te-seen-section.te-seen-skin-tech-edition .ff-item:is(:hover,:focus-within) .ff-img-holder img{transform:scale(1.018)}
.te-seen-section.te-seen-skin-tech-edition .ff-label-wrapper{position:absolute!important;top:10px!important;left:10px!important;margin:0!important;z-index:2!important}
.te-seen-section.te-seen-skin-tech-edition .ff-label-wrapper .ff-label-text{display:inline-flex!important;align-items:center!important;min-height:20px!important;padding:0 7px!important;background:var(--red)!important;color:#fff!important;border-radius:3px!important;font-size:8.5px!important;line-height:1!important;font-weight:800!important;letter-spacing:.055em!important;text-transform:uppercase!important}
.te-seen-section.te-seen-skin-tech-edition .ff-carousel-icon{top:10px!important;right:10px!important}
.te-seen-section.te-seen-skin-tech-edition .ff-content{padding:14px 14px 12px!important;margin:0!important;color:#34383e!important;font-size:12px!important;line-height:1.48!important;background:#fff!important;display:-webkit-box!important;-webkit-line-clamp:4!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.te-seen-section.te-seen-skin-tech-edition .ff-item-meta{display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;grid-template-areas:"pic name" "pic time"!important;column-gap:9px!important;align-items:center!important;padding:11px 14px!important;margin:0!important;border-top:1px solid #eee!important;background:#fff!important;min-height:54px!important}
.te-seen-section.te-seen-skin-tech-edition .ff-userpic{grid-area:pic!important;width:30px!important;height:30px!important;margin:0!important;border-radius:50%!important;background-size:cover!important}
.te-seen-section.te-seen-skin-tech-edition .ff-item-meta h6{grid-area:name!important;margin:0!important;line-height:1.2!important}.te-seen-section.te-seen-skin-tech-edition .ff-name{color:var(--ink)!important;font-size:10.5px!important;font-weight:800!important;text-decoration:none!important}.te-seen-section.te-seen-skin-tech-edition .ff-nickname{display:none!important}.te-seen-section.te-seen-skin-tech-edition .ff-timestamp{grid-area:time!important;margin:2px 0 0!important;color:var(--muted)!important;font-size:9.5px!important;text-decoration:none!important}
.te-seen-section.te-seen-skin-tech-edition .ff-item-bar{display:flex!important;align-items:center!important;gap:12px!important;margin:0!important;padding:9px 14px!important;border-top:1px solid #eee!important;background:#fff!important;color:#777!important;min-height:36px!important}.te-seen-section.te-seen-skin-tech-edition .ff-item-bar>a{color:#777!important;font-size:10px!important;text-decoration:none!important;transition:color .16s ease!important}.te-seen-section.te-seen-skin-tech-edition .ff-item-bar>a:is(:hover,:focus-visible){color:var(--red)!important}.te-seen-section.te-seen-skin-tech-edition .ff-share-wrapper{margin-left:auto!important}
.te-seen-section.te-seen-skin-tech-edition .ff-share-popup{border:1px solid var(--line)!important;border-radius:5px!important;background:#fff!important;box-shadow:0 10px 30px rgba(0,0,0,.10)!important}
@media(max-width:900px){.te-seen-section.te-seen-skin-tech-edition .ff-layout-masonry .ff-item,.te-seen-section.te-seen-skin-tech-edition .ff-layout-grid .ff-item{width:var(--te-seen-width-t,33.3333%)!important}}
@media(max-width:640px){.te-seen-section.te-seen-skin-tech-edition .ff-layout-masonry .ff-item,.te-seen-section.te-seen-skin-tech-edition .ff-layout-grid .ff-item{width:var(--te-seen-width-m,50%)!important}.te-seen-section.te-seen-skin-tech-edition .ff-content{font-size:11.5px!important;padding:12px!important}.te-seen-section.te-seen-skin-tech-edition .ff-item-meta,.te-seen-section.te-seen-skin-tech-edition .ff-item-bar{padding-left:12px!important;padding-right:12px!important}}

@media(prefers-reduced-motion:reduce){.te-continuous-enter,.te-event-dialog,.te-event-dialog-card,.picture-item__inner,.ff-img-holder img,.te-quick-read-reveal{animation:none!important;transition:none!important;transform:none!important}}


/* =========================================================
   v2.9.4 approved editorial/frontend contract
   ========================================================= */
.article-body .inline-related.te-related-post-block,.continuous-body .inline-related.te-related-post-block{margin:34px 0 40px!important;background:var(--surface-2)!important;border:1px solid var(--line)!important;border-radius:9px!important;overflow:hidden!important;transition:border-color .18s ease,background .18s ease!important}
.article-body .inline-related.te-related-post-block>a,.continuous-body .inline-related.te-related-post-block>a{display:grid!important;grid-template-columns:minmax(0,1fr) 180px!important;gap:24px!important;align-items:center!important;padding:22px 22px 22px 24px!important;color:inherit!important;text-decoration:none!important}
.article-body .inline-related.te-related-post-block .inline-related-copy,.continuous-body .inline-related.te-related-post-block .inline-related-copy{min-width:0!important}.article-body .inline-related.te-related-post-block .inline-related-label,.continuous-body .inline-related.te-related-post-block .inline-related-label{display:block!important;font-size:10.5px!important;line-height:1!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:var(--red)!important;font-weight:900!important;margin:0 0 8px!important}
.article-body .inline-related.te-related-post-block h3,.continuous-body .inline-related.te-related-post-block h3{margin:0!important;font-size:19px!important;line-height:1.25!important;letter-spacing:-.03em!important;font-weight:800!important;color:var(--ink)!important;transition:color .18s ease!important}.article-body .inline-related.te-related-post-block p,.continuous-body .inline-related.te-related-post-block p{margin:8px 0 12px!important;font-size:13.5px!important;line-height:1.5!important;color:var(--muted)!important}.article-body .inline-related.te-related-post-block .meta,.continuous-body .inline-related.te-related-post-block .meta{font-size:11.5px!important;color:var(--muted)!important}
.article-body .inline-related.te-related-post-block .inline-related-media,.continuous-body .inline-related.te-related-post-block .inline-related-media{width:180px!important;height:auto!important;aspect-ratio:16/9!important;border-radius:7px!important;overflow:hidden!important;background:var(--surface)!important;align-self:center!important}.article-body .inline-related.te-related-post-block .inline-related-media img,.continuous-body .inline-related.te-related-post-block .inline-related-media img{width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .2s ease!important}
.article-body .inline-related.te-related-post-block:hover,.continuous-body .inline-related.te-related-post-block:hover{border-color:#d9d9d9!important;background:#f7f7f7!important}.article-body .inline-related.te-related-post-block:hover h3,.continuous-body .inline-related.te-related-post-block:hover h3{color:var(--red)!important}.article-body .inline-related.te-related-post-block:hover .inline-related-media img,.continuous-body .inline-related.te-related-post-block:hover .inline-related-media img{transform:scale(1.018)}
.article-body>.author-box,.continuous-body>.author-box,.article-body>.changelog,.continuous-body>.changelog{width:min(1100px,calc(100vw - 48px))!important;max-width:none!important;margin-left:50%!important;margin-right:0!important;transform:translateX(-50%)!important}
.article-body>.author-box,.continuous-body>.author-box{margin-top:44px!important;padding:28px 0!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}.article-body>.changelog,.continuous-body>.changelog{margin-top:38px!important;padding:26px 28px!important;background:var(--surface-2)!important;border:0!important;border-radius:9px!important}
.article-body>.changelog .changelog-title,.continuous-body>.changelog .changelog-title{display:flex!important;align-items:baseline!important;gap:10px!important;margin:0 0 18px!important}.article-body>.changelog .changelog-title:before,.continuous-body>.changelog .changelog-title:before{content:""!important;width:8px!important;height:8px!important;background:var(--red)!important;flex:none!important}.article-body>.changelog .changelog-title h3,.continuous-body>.changelog .changelog-title h3{margin:0!important;font-size:24px!important;line-height:1.15!important;letter-spacing:-.035em!important}.article-body>.changelog .changelog-list,.continuous-body>.changelog .changelog-list{display:grid!important;gap:14px!important}.article-body>.changelog .changelog-entry,.continuous-body>.changelog .changelog-entry{display:grid!important;grid-template-columns:110px minmax(0,1fr)!important;gap:16px!important;align-items:start!important}.article-body>.changelog .changelog-date,.continuous-body>.changelog .changelog-date{font-size:12px!important;font-weight:800!important;color:var(--red)!important;padding-top:2px!important;line-height:1.45!important}.article-body>.changelog .changelog-entry p,.continuous-body>.changelog .changelog-entry p{font-size:14.5px!important;line-height:1.55!important;margin:0!important;color:#444a53!important;font-weight:400!important}.article-body>.changelog .changelog-reason,.continuous-body>.changelog .changelog-reason{display:none!important}
.article-body .wp-block-separator,.continuous-body .wp-block-separator{border:0!important;border-top:1px solid var(--line)!important;height:0!important;margin:34px 0 28px!important;background:transparent!important}.article-body .wp-block-separator+.wp-block-shortlist-banner-tag,.continuous-body .wp-block-separator+.wp-block-shortlist-banner-tag,.article-body .wp-block-separator+.teeb-banner-tag-wrapper,.continuous-body .wp-block-separator+.teeb-banner-tag-wrapper{margin-top:18px!important}
.continuous-article{border-top:0!important}.continuous-separator{border-top:1px solid var(--line)!important;margin-top:28px!important;padding:24px 0!important}.related-reading+.continuous-wrap .continuous-separator,.continuous-wrap .related-reading+.continuous-separator{border-top:1px solid var(--line)!important}
.image-lightbox-trigger:focus-visible{outline:none!important;box-shadow:none!important}.image-lightbox-trigger:focus-visible .expand-indicator{box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(236,53,53,.46)!important}
.te-archive-section .archive-grid,.author-hero+section .archive-grid,body.author .archive-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:38px 26px!important}.archive-card{display:flex!important;flex-direction:column!important;min-width:0!important;margin:0!important}.archive-card .te-card-image{display:block!important;aspect-ratio:auto!important;margin:0 0 16px!important;border-radius:7px!important;overflow:hidden!important}.archive-card .media,.archive-card .media-16x9{display:block!important;width:100%!important;aspect-ratio:16/9!important;overflow:hidden!important;background:var(--surface)!important}.archive-card .media img,.archive-card .media-16x9 img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}.archive-card h2{font-size:22px!important;line-height:1.22!important;letter-spacing:-.035em!important;margin:7px 0 10px!important}.archive-card h2 a{color:var(--ink)!important}.archive-card h2 a:hover{color:var(--red)!important}.archive-card .deck{font-size:14px!important;line-height:1.55!important;margin:0 0 13px!important;color:var(--muted)!important}.archive-card .meta{margin-top:auto!important;font-size:12px!important}
.te-pagination{display:block!important;margin:46px 0 0!important}.te-pagination .nav-links{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;flex-wrap:wrap!important}.te-pagination .page-numbers{display:grid!important;place-items:center!important;min-width:34px!important;height:34px!important;padding:0 8px!important;border:1px solid var(--line)!important;border-radius:4px!important;background:#fff!important;color:var(--ink)!important;line-height:1!important}.te-pagination .page-numbers.current{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}.te-pagination a.page-numbers:hover{border-color:var(--red)!important;color:var(--red)!important}
.te-seen-section.te-seen-skin-tech-edition .ff-stream{margin:0!important;background:transparent!important;max-width:none!important;font-family:Montserrat,Arial,sans-serif!important}.te-seen-section.te-seen-skin-tech-edition .ff-header,.te-seen-section.te-seen-skin-tech-edition .ff-item-meta,.te-seen-section.te-seen-skin-tech-edition .ff-item-bar,.te-seen-section.te-seen-skin-tech-edition .ff-label-wrapper,.te-seen-section.te-seen-skin-tech-edition .ff-loadmore-wrapper,.te-seen-section.te-seen-skin-tech-edition .ff-live-editor-trigger{display:none!important}
.te-seen-section.te-seen-skin-tech-edition .ff-stream-wrapper{display:grid!important;grid-template-columns:repeat(var(--te-seen-cols-d,4),minmax(0,1fr))!important;gap:var(--te-seen-gap,18px)!important;width:100%!important;height:auto!important;margin:0!important;background:transparent!important;overflow:visible!important}.te-seen-section.te-seen-skin-tech-edition .ff-stream-wrapper>.ff-item{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:auto!important;max-width:none!important;height:100%!important;margin:0!important;padding:0!important;opacity:1!important;visibility:visible!important}.te-seen-section.te-seen-skin-tech-edition .ff-stream-wrapper>.shuffle__sizer{display:none!important}.te-seen-section.te-seen-skin-tech-edition .picture-item__inner{height:100%!important;display:flex!important;flex-direction:column!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:var(--te-seen-radius,8px)!important;overflow:hidden!important;box-shadow:none!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important}.te-seen-section.te-seen-skin-tech-edition .ff-item:is(:hover,:focus-within) .picture-item__inner{transform:translateY(-3px)!important;border-color:#d5d5d5!important;box-shadow:0 9px 24px rgba(0,0,0,.055)!important}.te-seen-section.te-seen-skin-tech-edition .ff-item-cont{display:flex!important;flex-direction:column!important;height:100%!important;padding:0!important;border:0!important;background:#fff!important}.te-seen-section.te-seen-skin-tech-edition .ff-img-holder{display:block!important;position:relative!important;width:100%!important;aspect-ratio:4/5!important;height:auto!important;min-height:0!important;overflow:hidden!important;background:#eee!important;flex:none!important}.te-seen-section.te-seen-skin-tech-edition .ff-img-holder img{display:block!important;width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important;object-position:center!important;transition:transform .22s ease!important}.te-seen-section.te-seen-skin-tech-edition .ff-item:is(:hover,:focus-within) .ff-img-holder img{transform:scale(1.018)!important}.te-seen-section.te-seen-skin-tech-edition .ff-content{box-sizing:border-box!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:4!important;overflow:hidden!important;height:88px!important;min-height:88px!important;margin:0!important;padding:13px 14px!important;background:#fff!important;color:#34383e!important;font-family:Montserrat,Arial,sans-serif!important;font-size:12.5px!important;line-height:1.48!important;font-weight:400!important}.te-seen-section.te-seen-skin-tech-edition .ff-carousel-icon{top:10px!important;right:10px!important}
@media(max-width:900px){.te-archive-section .archive-grid,.author-hero+section .archive-grid,body.author .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.te-seen-section.te-seen-skin-tech-edition .ff-stream-wrapper{grid-template-columns:repeat(var(--te-seen-cols-t,3),minmax(0,1fr))!important}}
@media(max-width:640px){.article-body .inline-related.te-related-post-block>a,.continuous-body .inline-related.te-related-post-block>a{grid-template-columns:minmax(0,1fr) 118px!important;gap:16px!important;padding:18px!important}.article-body .inline-related.te-related-post-block h3,.continuous-body .inline-related.te-related-post-block h3{font-size:16px!important;line-height:1.28!important}.article-body .inline-related.te-related-post-block p,.continuous-body .inline-related.te-related-post-block p{display:none!important}.article-body .inline-related.te-related-post-block .meta,.continuous-body .inline-related.te-related-post-block .meta{font-size:10.5px!important}.article-body .inline-related.te-related-post-block .inline-related-media,.continuous-body .inline-related.te-related-post-block .inline-related-media{width:118px!important;border-radius:6px!important}.article-body>.author-box,.continuous-body>.author-box,.article-body>.changelog,.continuous-body>.changelog{width:calc(100vw - 28px)!important}.article-body>.changelog,.continuous-body>.changelog{padding:22px 20px!important}.article-body>.changelog .changelog-entry,.continuous-body>.changelog .changelog-entry{grid-template-columns:1fr!important;gap:4px!important}.te-archive-section .archive-grid,.author-hero+section .archive-grid,body.author .archive-grid{grid-template-columns:1fr!important;gap:30px!important}.te-seen-section.te-seen-skin-tech-edition .ff-stream-wrapper{grid-template-columns:repeat(var(--te-seen-cols-m,2),minmax(0,1fr))!important;gap:12px!important}.te-seen-section.te-seen-skin-tech-edition .ff-content{height:82px!important;min-height:82px!important;font-size:11.5px!important;padding:11px 12px!important}}


/* =========================================================
   v2.9.5 Staging correction contract
   ========================================================= */
/* Consistent article geometry, including REST-loaded stories. */
.article-head,.continuous-article>.article-head{width:min(calc(100% - 48px),1100px)!important;max-width:1100px!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
.article-featured-wrap,.continuous-article>.article-featured-wrap{width:min(calc(100% - 48px),1200px)!important;max-width:1200px!important;margin-left:auto!important;margin-right:auto!important}
.article-layout,.continuous-article>.article-layout{width:min(calc(100% - 48px),var(--article))!important;max-width:var(--article)!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
.article-layout>.article-body,.continuous-article>.article-layout>.continuous-body{width:100%!important;max-width:none!important;margin:0!important;padding-left:0!important;padding-right:0!important}
.article-footer-wide{width:min(calc(100% - 48px),1100px);max-width:1100px;margin:0 auto;box-sizing:border-box}
.article-footer-wide>.author-box{width:100%!important;max-width:none!important;margin:44px 0 0!important;transform:none!important;padding:28px 0!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}
.article-footer-wide>.author-box .author-box-inner{width:100%!important;max-width:none!important}.article-footer-wide>.author-box p{max-width:none!important}
.article-footer-wide>.changelog{width:100%!important;max-width:none!important;margin:38px 0 0!important;transform:none!important;padding:26px 28px!important;background:var(--surface-2)!important;border:0!important;border-radius:9px!important}
.article-footer-wide>.changelog .changelog-title{margin-bottom:18px!important}.article-footer-wide>.changelog .changelog-entry{display:grid!important;grid-template-columns:110px minmax(0,1fr)!important;gap:16px!important;align-items:start!important}
.article-footer-wide>.changelog .changelog-date{font-size:12px!important;font-weight:800!important;color:var(--red)!important;padding-top:2px!important}.article-footer-wide>.changelog p{font-size:14.5px!important;line-height:1.55!important;margin:0!important;color:#444a53!important}
/* Related Reading boundary before every next story. */
.continuous-separator{max-width:1100px!important;width:min(calc(100% - 48px),1100px)!important;margin:34px auto 0!important;padding:25px 0!important;border-top:1px solid #777!important}
.continuous-article{border-top:0!important}
/* Video embeds occupy the article measure and use the same corner treatment as media. */
.article-body .wp-block-embed-youtube,.continuous-body .wp-block-embed-youtube,.article-body .wp-block-video,.continuous-body .wp-block-video{width:100%!important;max-width:none!important;margin:36px 0!important}
.article-body .wp-block-embed-youtube .wp-block-embed__wrapper,.continuous-body .wp-block-embed-youtube .wp-block-embed__wrapper,.article-body .wp-block-video,.continuous-body .wp-block-video{position:relative!important;aspect-ratio:16/9!important;overflow:hidden!important;border-radius:9px!important;background:#000!important}
.article-body .wp-block-embed-youtube iframe,.continuous-body .wp-block-embed-youtube iframe,.article-body iframe[src*="youtube.com"],.article-body iframe[src*="youtu.be"],.continuous-body iframe[src*="youtube.com"],.continuous-body iframe[src*="youtu.be"]{display:block!important;width:100%!important;height:100%!important;max-width:none!important;position:absolute!important;inset:0!important;border:0!important;border-radius:9px!important}
/* Archive and author cards share one layout and pagination contract. */
.te-archive-section .archive-grid,body.author .archive-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:38px 26px!important;width:100%!important}
.te-archive-grid .te-card-image,body.author .archive-grid .te-card-image{display:block!important;width:100%!important;margin:0 0 16px!important;border-radius:7px!important;overflow:hidden!important}
.te-archive-grid .te-card-image>.media,body.author .archive-grid .te-card-image>.media{display:block!important;width:100%!important;aspect-ratio:16/9!important;overflow:hidden!important}
.te-pagination>nav,.te-pagination .navigation{margin:0!important}.te-pagination ul.page-numbers{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;flex-wrap:wrap!important;list-style:none!important;margin:0!important;padding:0!important}.te-pagination ul.page-numbers>li{display:block!important;margin:0!important;padding:0!important}.te-pagination ul.page-numbers>li>.page-numbers,.te-pagination .nav-links>.page-numbers{display:grid!important;place-items:center!important;min-width:34px!important;height:34px!important;padding:0 8px!important;border:1px solid var(--line)!important;border-radius:4px!important;background:#fff!important;color:var(--ink)!important;line-height:1!important}.te-pagination ul.page-numbers>li>.current,.te-pagination .nav-links>.current{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}
.author-hero-grid{grid-template-columns:150px minmax(0,1fr)!important;width:100%!important;max-width:none!important}.author-hero-bio{max-width:none!important}.author-hero .shell{max-width:var(--max)!important}
/* Quick Read pending state. */
.quick-read.is-pending .quick-read-content:not(.open){max-height:0!important;overflow:hidden!important}.quick-read-status{padding:4px 16px 18px;color:var(--muted);font-size:13px;line-height:1.5}.quick-read.is-loading .quick-read-status:before{content:"";display:inline-block;width:12px;height:12px;margin-right:8px;border:2px solid #ddd;border-top-color:#8b5cf6;border-radius:50%;vertical-align:-2px;animation:teQrSpin .75s linear infinite}@keyframes teQrSpin{to{transform:rotate(360deg)}}.quick-read.is-error .quick-read-status{color:#a32222}.quick-read .quick-read-list:empty{display:none}
/* Flow-Flow: eight equal 4:5 cards, no vendor chrome or engagement metadata. */
.te-seen-section.te-seen-skin-tech-edition .ff-header,.te-seen-section.te-seen-skin-tech-edition .ff-search,.te-seen-section.te-seen-skin-tech-edition .ff-filter-holder,.te-seen-section.te-seen-skin-tech-edition .ff-item-meta,.te-seen-section.te-seen-skin-tech-edition .ff-item-bar,.te-seen-section.te-seen-skin-tech-edition .ff-label-wrapper,.te-seen-section.te-seen-skin-tech-edition .ff-loadmore-wrapper,.te-seen-section.te-seen-skin-tech-edition .ff-loadmore,.te-seen-section.te-seen-skin-tech-edition .ff-btn.ff-loadmore,.te-seen-section.te-seen-skin-tech-edition .ff-live-editor-trigger{display:none!important}
.te-seen-section.te-seen-skin-tech-edition .ff-stream-wrapper{display:grid!important;grid-template-columns:repeat(var(--te-seen-cols-d,4),minmax(0,1fr))!important;gap:var(--te-seen-gap,18px)!important;width:100%!important;height:auto!important;margin:0!important;overflow:visible!important}
.te-seen-section.te-seen-skin-tech-edition .ff-stream-wrapper>.ff-item{position:relative!important;inset:auto!important;transform:none!important;width:auto!important;height:100%!important;margin:0!important;padding:0!important}.te-seen-section.te-seen-skin-tech-edition .ff-item.te-seen-over-limit{display:none!important}
.te-seen-section.te-seen-skin-tech-edition .picture-item__inner{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;border:1px solid var(--line)!important;border-radius:10px!important;overflow:hidden!important;background:#fff!important}.te-seen-section.te-seen-skin-tech-edition .ff-item-cont{display:flex!important;flex-direction:column!important;height:100%!important}.te-seen-section.te-seen-skin-tech-edition .ff-img-holder{width:100%!important;aspect-ratio:4/5!important;height:auto!important;min-height:0!important;overflow:hidden!important;flex:none!important}.te-seen-section.te-seen-skin-tech-edition .ff-img-holder img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}.te-seen-section.te-seen-skin-tech-edition .ff-content{height:96px!important;min-height:96px!important;box-sizing:border-box!important;padding:14px!important;font-family:Montserrat,Arial,sans-serif!important;font-size:12.5px!important;line-height:1.48!important;color:#34383e!important;background:#fff!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:4!important;overflow:hidden!important}
/* Mobile Latest ticker. Desktop/tablet remain the normal strip. */
@media(max-width:640px){
  .article-head,.continuous-article>.article-head,.article-layout,.continuous-article>.article-layout,.article-footer-wide,.continuous-separator{width:calc(100% - 28px)!important}
  .article-featured-wrap,.continuous-article>.article-featured-wrap{width:100%!important}
  .article-footer-wide>.changelog{padding:22px 20px!important}.article-footer-wide>.changelog .changelog-entry{grid-template-columns:1fr!important;gap:4px!important}
  .te-archive-section .archive-grid,body.author .archive-grid{grid-template-columns:1fr!important;gap:30px!important}
  .author-hero-grid{grid-template-columns:78px minmax(0,1fr)!important}.author-hero-bio{grid-column:1/-1!important}
  .te-seen-section.te-seen-skin-tech-edition .ff-stream-wrapper{grid-template-columns:repeat(var(--te-seen-cols-m,2),minmax(0,1fr))!important;gap:12px!important}.te-seen-section.te-seen-skin-tech-edition .ff-content{height:82px!important;min-height:82px!important;font-size:11.5px!important;padding:11px!important}
  .latest-strip.is-mobile-ticker .latest-inner{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;min-height:68px!important;overflow:hidden!important;align-items:stretch!important}.latest-strip.is-mobile-ticker .latest-label{width:auto!important;min-width:0!important;flex:none!important;padding:0 12px 0 0!important;align-self:stretch!important;display:flex!important;align-items:center!important}.latest-strip.is-mobile-ticker .latest-item{grid-column:2!important;grid-row:1!important;display:none!important;position:relative!important;width:100%!important;min-width:0!important;flex:none!important;padding:12px 4px 12px 14px!important;align-items:center!important}.latest-strip.is-mobile-ticker .latest-item.is-active{display:flex!important}.latest-strip.is-mobile-ticker .latest-time{flex:none!important;margin-right:8px!important}
}
@media(min-width:641px) and (max-width:900px){.te-archive-section .archive-grid,body.author .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.te-seen-section.te-seen-skin-tech-edition .ff-stream-wrapper{grid-template-columns:repeat(var(--te-seen-cols-t,2),minmax(0,1fr))!important}}


/* =========================================================
   v2.9.6 runtime correction contract
   ========================================================= */
#main>article>.article-head,#main .continuous-article>.article-head{width:min(calc(100% - 48px),1100px)!important;max-width:1100px!important;box-sizing:border-box!important;margin-left:auto!important;margin-right:auto!important}
#main>article>.article-layout,#main .continuous-article>.article-layout{width:min(calc(100% - 48px),var(--article))!important;max-width:var(--article)!important;box-sizing:border-box!important;margin-left:auto!important;margin-right:auto!important}
#main>article>.article-layout>.article-body,#main .continuous-article>.article-layout>.continuous-body{width:100%!important;max-width:none!important;box-sizing:border-box!important;margin:0!important}
#main>article>.article-footer-wide,#main .continuous-article>.article-footer-wide{width:min(calc(100% - 48px),1100px)!important;max-width:1100px!important;box-sizing:border-box!important;margin-left:auto!important;margin-right:auto!important}
.continuous-separator{display:block!important;width:min(calc(100% - 48px),1100px)!important;height:0!important;min-height:0!important;margin:44px auto 0!important;padding:0!important;border:0!important;border-top:1px solid #777!important;background:transparent!important}.continuous-separator strong,.continuous-separator span{display:none!important}
.te-archive-section .te-pagination,body.author .te-pagination{display:none!important}.te-load-more-wrap{display:flex;justify-content:center;margin:54px 0 8px}.te-load-more{min-width:150px;height:44px;padding:0 22px;border:1px solid var(--ink);border-radius:5px;background:var(--ink);color:#fff;font:800 12.5px/1 Montserrat,Arial,sans-serif;cursor:pointer;transition:transform .16s ease,background .16s ease,color .16s ease}.te-load-more:hover,.te-load-more:focus-visible{background:#fff;color:var(--ink);transform:translateY(-1px)}.te-load-more:disabled{opacity:.65;cursor:wait;transform:none}.te-load-more-enter{opacity:0;transform:translateY(12px);transition:opacity .28s ease,transform .28s ease}.te-load-more-enter.is-visible{opacity:1;transform:none}
@media(max-width:900px){.latest-strip{display:block!important;visibility:visible!important;min-height:68px!important}.latest-strip .latest-inner{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;width:100%!important;min-width:0!important}.latest-strip .latest-label{display:flex!important;visibility:visible!important;opacity:1!important}.latest-strip.is-mobile-ticker .latest-item{grid-column:2!important;grid-row:1!important;display:none!important}.latest-strip.is-mobile-ticker .latest-item.is-active{display:flex!important}}
@media(max-width:640px){#main>article>.article-head,#main .continuous-article>.article-head,#main>article>.article-layout,#main .continuous-article>.article-layout,#main>article>.article-footer-wide,#main .continuous-article>.article-footer-wide,.continuous-separator{width:calc(100% - 28px)!important}}


/* =========================================================
   v2.9.7 targeted runtime correction
   Continuous reading, article geometry, Latest gutters and YouTube.
   ========================================================= */
:root{--te-article-copy:760px;--te-article-wide:1100px;--te-article-media:1200px}
/* Primary and continuous stories share one geometry contract. */
#main>article>.article-head,#main .continuous-article>.article-head{width:min(calc(100% - 48px),var(--te-article-wide))!important;max-width:var(--te-article-wide)!important;margin:0 auto 34px!important;box-sizing:border-box!important}
#main>article>.article-featured-wrap,#main .continuous-article>.article-featured-wrap{width:min(calc(100% - 48px),var(--te-article-media))!important;max-width:var(--te-article-media)!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}
#main>article>.article-featured-wrap>.article-featured,#main .continuous-article>.article-featured-wrap>.article-featured{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
#main>article>.article-layout,#main .continuous-article>.article-layout{width:min(calc(100% - 48px),var(--te-article-copy))!important;max-width:var(--te-article-copy)!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important;box-sizing:border-box!important;display:block!important}
#main>article>.article-layout>.article-body,#main .continuous-article>.article-layout>.continuous-body{width:100%!important;max-width:none!important;margin:0!important;padding-left:0!important;padding-right:0!important;box-sizing:border-box!important}
#main>article>.article-footer-wide,#main .continuous-article>.article-footer-wide{width:min(calc(100% - 48px),var(--te-article-wide))!important;max-width:var(--te-article-wide)!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}
#main .continuous-article{width:100%!important;margin:0!important;border-top:0!important;box-sizing:border-box!important}
/* A visible boundary is retained only between two stories. */
#main .continuous-wrap>.continuous-separator{display:block!important;width:min(calc(100% - 48px),var(--te-article-wide))!important;max-width:var(--te-article-wide)!important;height:0!important;min-height:0!important;margin:48px auto 0!important;padding:0!important;border:0!important;border-top:1px solid #777!important;background:transparent!important;opacity:1!important}
#main .continuous-wrap>.continuous-separator+ .continuous-article{margin-top:0!important}
/* Raw YouTube iframes and Gutenberg YouTube blocks both fill the article copy measure. */
#main .article-body>.wp-block-embed-youtube,#main .continuous-body>.wp-block-embed-youtube{display:block!important;width:100%!important;max-width:none!important;margin:36px 0!important}
#main .article-body>.wp-block-embed-youtube .wp-block-embed__wrapper,#main .continuous-body>.wp-block-embed-youtube .wp-block-embed__wrapper{position:relative!important;width:100%!important;aspect-ratio:16/9!important;height:auto!important;overflow:hidden!important;border-radius:10px!important;background:#000!important}
#main .article-body>.wp-block-embed-youtube iframe,#main .continuous-body>.wp-block-embed-youtube iframe{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;border:0!important;border-radius:10px!important}
#main .article-body>iframe[src*="youtube.com"],#main .article-body>iframe[src*="youtu.be"],#main .continuous-body>iframe[src*="youtube.com"],#main .continuous-body>iframe[src*="youtu.be"]{position:relative!important;inset:auto!important;display:block!important;width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:16/9!important;margin:36px 0!important;border:0!important;border-radius:10px!important;overflow:hidden!important;background:#000!important}
/* The Latest shell keeps the same horizontal page gutter at tablet/ticker widths. */
@media(max-width:900px){
  .latest-strip .latest-inner{width:min(calc(100% - 36px),var(--max))!important;max-width:var(--max)!important;margin-left:auto!important;margin-right:auto!important}
}
@media(max-width:640px){
  #main>article>.article-head,#main .continuous-article>.article-head,#main>article>.article-featured-wrap,#main .continuous-article>.article-featured-wrap,#main>article>.article-layout,#main .continuous-article>.article-layout,#main>article>.article-footer-wide,#main .continuous-article>.article-footer-wide,#main .continuous-wrap>.continuous-separator{width:calc(100% - 28px)!important}
  .latest-strip .latest-inner{width:calc(100% - 28px)!important}
}


/* v2.9.8 targeted runtime corrections */
.taxonomy-hero .taxonomy-hero-inner{max-width:var(--max)!important;width:min(calc(100% - 48px),var(--max))!important}
.taxonomy-hero .taxonomy-hero-inner>p{max-width:none!important;width:100%!important}
@media(max-width:640px){.taxonomy-hero .taxonomy-hero-inner{width:calc(100% - 28px)!important}}

/* v2.9.9 Popup Ad targeting/frequency runtime */
@media(max-width:640px){.te-popup-ad{padding:12px}.te-popup-ad-inner{width:min(94vw,82vh)}}
body.te-popup-open{overflow:hidden}.te-popup-ad.is-open{animation:tePopupFadeIn .18s ease-out both}.te-popup-ad.is-open .te-popup-ad-inner{animation:tePopupCardIn .22s ease-out both}@keyframes tePopupFadeIn{from{opacity:0}to{opacity:1}}@keyframes tePopupCardIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.te-popup-ad.is-open,.te-popup-ad.is-open .te-popup-ad-inner{animation:none!important}}

/* =========================================================
   v2.9.10 focused runtime correction
   Embedded media measure, Image Compare and 1080px archives.
   ========================================================= */

/* Every in-content media object uses the 760px article-copy measure inherited
   from its article body. Featured images remain outside this contract. */
#main .article-body>figure,
#main .continuous-body>figure,
#main .article-body>.wp-block-image,
#main .continuous-body>.wp-block-image,
#main .article-body>.wp-block-gallery,
#main .continuous-body>.wp-block-gallery,
#main .article-body>.wp-block-embed,
#main .continuous-body>.wp-block-embed,
#main .article-body>.wp-block-video,
#main .continuous-body>.wp-block-video,
#main .article-body>.vcs-shortcode,
#main .continuous-body>.vcs-shortcode,
#main .article-body>figure.te-visual-compare,
#main .continuous-body>figure.te-visual-compare{
  width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;
}
#main .article-body>.alignwide,#main .article-body>.alignfull,
#main .continuous-body>.alignwide,#main .continuous-body>.alignfull{
  width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;transform:none!important;
}
#main .article-body>figure img,#main .continuous-body>figure img,
#main .article-body>.wp-block-image img,#main .continuous-body>.wp-block-image img,
#main .article-body>.wp-block-video video,#main .continuous-body>.wp-block-video video{
  display:block;max-width:100%!important;height:auto;
}
#main .article-body>.wp-block-image img,#main .continuous-body>.wp-block-image img{width:100%!important}
#main .article-body>.vcs-shortcode .shortcode-container,#main .continuous-body>.vcs-shortcode .shortcode-container,
#main .article-body .te-visual-compare .shortcode-container,#main .continuous-body .te-visual-compare .shortcode-container,
#main .article-body>.vcs-shortcode .vcs-container,#main .continuous-body>.vcs-shortcode .vcs-container{
  width:100%!important;max-width:100%!important;box-sizing:border-box!important;
}

/* Category, Tag and Author archive shells share the approved 1080px measure. */
body.category .taxonomy-hero>.shell,body.tag .taxonomy-hero>.shell,
body.category .te-archive-section>.shell,body.tag .te-archive-section>.shell,
body.author .author-hero>.shell,body.author main>section.section>.shell{
  width:min(calc(100% - 48px),1080px)!important;max-width:1080px!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important;
}
body.category .taxonomy-hero-inner,body.tag .taxonomy-hero-inner{max-width:1080px!important}
body.category .taxonomy-hero p,body.tag .taxonomy-hero p,body.author .author-hero-bio{max-width:none!important;width:100%!important}
@media(max-width:640px){
  body.category .taxonomy-hero>.shell,body.tag .taxonomy-hero>.shell,
  body.category .te-archive-section>.shell,body.tag .te-archive-section>.shell,
  body.author .author-hero>.shell,body.author main>section.section>.shell{width:calc(100% - 28px)!important}
}


/* v2.9.11 Configurable header/footer logo widths. These final rules own logo geometry. */
.site-header .brand .te-logo-header{width:var(--te-logo-desktop-width,158px)!important;max-width:none!important;max-height:none!important;height:auto!important}
.drawer .brand .te-logo-mobile{width:var(--te-logo-mobile-width,132px)!important;max-width:none!important;max-height:none!important;height:auto!important}
.footer .footer-brand .te-logo-footer{width:var(--te-logo-desktop-width,168px)!important;max-width:none!important;max-height:none!important;height:auto!important}
@media(max-width:900px){
  .site-header .brand .te-logo-header{width:var(--te-logo-mobile-width,132px)!important}
  .footer .footer-brand .te-logo-footer{width:var(--te-logo-mobile-width,142px)!important}
}

/* Header logo container must not override the configured image width. */
.site-header .masthead>.brand{width:max-content!important;height:auto!important;overflow:visible!important}
.site-header .masthead>.brand .te-logo-header{clip-path:none!important}
@media(max-width:900px){.site-header .masthead>.brand{width:max-content!important;height:auto!important;overflow:visible!important}}
.drawer .brand{width:max-content!important;height:auto!important;overflow:visible!important}

/* v2.9.14 — runtime-safe article lightbox treatment for REST-loaded/classic images. */
#main .article-body .image-lightbox-trigger,
#main .continuous-body .image-lightbox-trigger{
  display:block;
  position:relative;
  width:100%;
  max-width:100%;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  cursor:zoom-in;
  overflow:hidden;
}
#main .article-body .image-lightbox-trigger>img,
#main .continuous-body .image-lightbox-trigger>img,
#main .article-body .image-lightbox-trigger>picture,
#main .continuous-body .image-lightbox-trigger>picture{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
}


/* =========================================================
   v2.9.16 focused article compatibility
   Author measure, dynamic lightbox and native Image Compare.
   ========================================================= */
/* Post author module follows the 760px article-copy measure. */
#main .article-footer-wide>.author-box,
#main .article-body>.author-box,
#main .continuous-body>.author-box{
  width:min(100%,var(--te-article-copy,760px))!important;
  max-width:var(--te-article-copy,760px)!important;
  margin-left:auto!important;margin-right:auto!important;
  transform:none!important;box-sizing:border-box!important;
}
#main .article-footer-wide>.author-box .author-box-inner,
#main .article-body>.author-box .author-box-inner,
#main .continuous-body>.author-box .author-box-inner{width:100%!important;max-width:none!important}
#main .article-footer-wide>.author-box p,
#main .article-body>.author-box p,
#main .continuous-body>.author-box p{width:100%!important;max-width:none!important}

/* The server-rendered lightbox trigger is authoritative for standard block images. */
#main .article-body figure>.image-lightbox-trigger,
#main .continuous-body figure>.image-lightbox-trigger{display:block!important;position:relative!important;width:100%!important;max-width:100%!important}

/* =========================================================
   v2.9.29 — ad-space-style editorial no-image placeholder
   Keeps card/hero geometry stable when a post genuinely has no featured image.
   The visual treatment deliberately mirrors the neutral Tech Edition ad-space
   placeholder while remaining editorial: centred TECH EDITION text only.
   ========================================================= */
.te-story-placeholder{background:#F4F4F4!important;border:1px solid #EDEDED!important;box-shadow:none!important}
.te-story-placeholder-inner{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:#F4F4F4;color:#777;text-align:center}
.te-story-placeholder-inner:before{display:none!important;content:none!important}
.te-story-placeholder-mark{position:relative;z-index:1;padding:14px;font-size:12px;line-height:1.4;font-weight:400;letter-spacing:0;text-transform:uppercase;color:#777;text-align:center}
.media>.te-story-placeholder-inner,.feature-media>.te-story-placeholder-inner,.industry-lead-media>.te-story-placeholder-inner{width:100%;height:100%}
#main .feature-media.te-story-placeholder{border:1px solid #EDEDED!important}
#main .feature-media.te-story-placeholder>.te-story-placeholder-inner{position:absolute;inset:0}
#main .industry-feature .industry-lead-media>.te-story-placeholder-inner{position:absolute;inset:0}
@media(max-width:640px){.te-story-placeholder-mark{font-size:12px}}


/* =========================================================
   v2.9.31 — filled author designation / role badge
   Uses the Tech Edition brand red with white text in both the
   article author box and author archive hero. The value remains
   editorial text, but presents visually as a compact pill/button.
   ========================================================= */
.author-role,
.author-hero-role{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:34px!important;
  padding:7px 14px!important;
  margin-top:2px!important;
  margin-bottom:10px!important;
  border:1px solid var(--red)!important;
  border-radius:999px!important;
  background:var(--red)!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
  text-decoration:none!important;
  box-sizing:border-box!important;
  white-space:normal!important;
}
.author-hero-role{margin-top:3px!important;margin-bottom:17px!important}
@media(max-width:640px){
  .author-role,.author-hero-role{min-height:32px!important;padding:6px 12px!important;font-size:11.5px!important}
}

/* =========================================================
   v2.9.32 — article readability corrections
   1) Quick Read points no longer depend on the retired typing animation.
   2) Changelog follows the 760px article-copy measure and keeps dates on one line.
   3) Normal editorial hyperlinks are visibly red and underlined without restyling
      purpose-built article UI such as Quick Read, Review, Related Post or Share.
   ========================================================= */
/* Quick Read: canonical/migrated points are immediately visible after the reader opens the accordion. */
#main .article-body .quick-read-list li,
#main .continuous-body .quick-read-list li{
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
  opacity:1!important;
  transform:none!important;
}
#main .article-body .quick-read-list li:before,
#main .continuous-body .quick-read-list li:before{opacity:1!important}

/* Changelog uses the same 760px copy measure as the article/author module. */
#main .article-footer-wide>.changelog{
  width:min(100%,var(--te-article-copy,760px))!important;
  max-width:var(--te-article-copy,760px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  transform:none!important;
  box-sizing:border-box!important;
}
#main .article-footer-wide>.changelog .changelog-entry{
  grid-template-columns:132px minmax(0,1fr)!important;
}
#main .article-footer-wide>.changelog .changelog-date{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
@media(max-width:640px){
  #main .article-footer-wide>.changelog .changelog-entry{grid-template-columns:1fr!important}
}

/* Reader-facing hyperlinks in article copy. Direct article UI modules are excluded.
   Reference interaction: red text with a visible red underline at rest; the underline
   retracts smoothly on hover/focus and returns when interaction ends. */
#main .article-body>
  :not(.quick-read):not(.te-quick-read):not(.inline-related):not(.te-related-post-block):not(.te-related-post-legacy):not(.te-review):not(.article-tags):not(.article-share-mobile):not(.continuous-share-row):not(.toc):not(.table-of-contents):not(.article-toc):not(.te-article-ad-break):not(figure):not(.wp-block-image):not(.wp-block-gallery):not(.wp-block-embed):not(.wp-block-video):not(.vcs-shortcode):not(.te-visual-compare) a,
#main .continuous-body>
  :not(.quick-read):not(.te-quick-read):not(.inline-related):not(.te-related-post-block):not(.te-related-post-legacy):not(.te-review):not(.article-tags):not(.article-share-mobile):not(.continuous-share-row):not(.toc):not(.table-of-contents):not(.article-toc):not(.te-article-ad-break):not(figure):not(.wp-block-image):not(.wp-block-gallery):not(.wp-block-embed):not(.wp-block-video):not(.vcs-shortcode):not(.te-visual-compare) a{
  color:var(--red)!important;
  text-decoration:none!important;
  background-image:linear-gradient(var(--red),var(--red));
  background-repeat:no-repeat;
  background-position:right calc(100% - 1px);
  background-size:100% 1px;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
  transition:background-size .24s cubic-bezier(.4,0,.2,1);
}
#main .article-body>
  :not(.quick-read):not(.te-quick-read):not(.inline-related):not(.te-related-post-block):not(.te-related-post-legacy):not(.te-review):not(.article-tags):not(.article-share-mobile):not(.continuous-share-row):not(.toc):not(.table-of-contents):not(.article-toc):not(.te-article-ad-break):not(figure):not(.wp-block-image):not(.wp-block-gallery):not(.wp-block-embed):not(.wp-block-video):not(.vcs-shortcode):not(.te-visual-compare) a:is(:hover,:focus-visible),
#main .continuous-body>
  :not(.quick-read):not(.te-quick-read):not(.inline-related):not(.te-related-post-block):not(.te-related-post-legacy):not(.te-review):not(.article-tags):not(.article-share-mobile):not(.continuous-share-row):not(.toc):not(.table-of-contents):not(.article-toc):not(.te-article-ad-break):not(figure):not(.wp-block-image):not(.wp-block-gallery):not(.wp-block-embed):not(.wp-block-video):not(.vcs-shortcode):not(.te-visual-compare) a:is(:hover,:focus-visible){
  background-size:0 1px;
}
@media(prefers-reduced-motion:reduce){
  #main .article-body>
    :not(.quick-read):not(.te-quick-read):not(.inline-related):not(.te-related-post-block):not(.te-related-post-legacy):not(.te-review):not(.article-tags):not(.article-share-mobile):not(.continuous-share-row):not(.toc):not(.table-of-contents):not(.article-toc):not(.te-article-ad-break):not(figure):not(.wp-block-image):not(.wp-block-gallery):not(.wp-block-embed):not(.wp-block-video):not(.vcs-shortcode):not(.te-visual-compare) a,
  #main .continuous-body>
    :not(.quick-read):not(.te-quick-read):not(.inline-related):not(.te-related-post-block):not(.te-related-post-legacy):not(.te-review):not(.article-tags):not(.article-share-mobile):not(.continuous-share-row):not(.toc):not(.table-of-contents):not(.article-toc):not(.te-article-ad-break):not(figure):not(.wp-block-image):not(.wp-block-gallery):not(.wp-block-embed):not(.wp-block-video):not(.vcs-shortcode):not(.te-visual-compare) a{
    transition:none;
  }
}



/* =========================================================
   v2.9.33 — regression correction for v2.9.32
   - Keep Table of Contents on its dedicated navigation styling.
   - Use one shared fixed Changelog date column so rows align while dates stay on one line.
   ========================================================= */
#main .article-body>.article-toc a,
#main .continuous-body>.article-toc a{
  color:var(--brand-grey)!important;
  text-decoration:none!important;
}
#main .article-body>.article-toc a:is(:hover,:focus-visible),
#main .continuous-body>.article-toc a:is(:hover,:focus-visible){
  color:var(--brand-black)!important;
  text-decoration:none!important;
}
#main .article-footer-wide>.changelog .changelog-entry{
  grid-template-columns:132px minmax(0,1fr)!important;
}
@media(max-width:640px){
  #main .article-footer-wide>.changelog .changelog-entry{grid-template-columns:1fr!important}
}

/* v2.9.35 standalone page production integration */
.brand-hero-shot>.te-story-placeholder,
.brand-photo-large>.te-story-placeholder,
.brand-photo-small>div>.te-story-placeholder,
.careers-hero-media figure>.te-story-placeholder,
.commercial-hero-collage article>.te-story-placeholder,
.case-study-visual-media>.te-story-placeholder,
.video-work-card>.te-story-placeholder{position:absolute;inset:0;width:100%;height:100%}
.video-work-card{display:block;text-decoration:none}
.te-form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.commercial-form-notice{grid-column:1/-1;margin:0 0 20px;padding:12px 14px;border-radius:6px;font-size:13px;line-height:1.5;font-weight:600}
.commercial-form-notice.is-success{background:#edf8f0;color:#176b35;border:1px solid #bfe1c9}
.commercial-form-notice.is-error{background:#fff1f1;color:#9d2323;border:1px solid #efc4c4}
@media(prefers-reduced-motion:reduce){.logo-marquee-track{animation:none!important}.reveal-on-scroll,.stagger-children>*{opacity:1!important;transform:none!important}}

/* v2.9.38 managed standalone pages: media-native commercial cards and form skin */
.logo-chip-link{display:block;text-decoration:none;color:inherit}.logo-chip-link .logo-chip{display:grid}.logo-chip-link:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:7px}
.video-work-card>.te-work-media{position:absolute;inset:0;display:block;overflow:hidden;border-radius:inherit;background:#111}.video-work-card>.te-work-media>img,.video-work-card>.te-work-media>video,.video-work-card>.te-work-media>iframe{display:block;width:100%;height:100%;border:0;object-fit:cover}.video-work-card .te-work-video{transition:transform .25s ease,filter .25s ease}.video-work-card:hover .te-work-video{transform:scale(1.018);filter:brightness(.88)}.video-work-card.has-autoplay .video-work-play{opacity:0;transform:scale(.9);transition:opacity .18s ease,transform .18s ease}.video-work-card.has-autoplay:hover .video-work-play{opacity:.92;transform:scale(1)}
.te-google-form-skin{position:relative;border-radius:8px;border:1px solid #ddd;box-shadow:0 12px 34px rgba(0,0,0,.045);overflow:visible}.te-google-form-skin:before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:4px;border-radius:8px 8px 0 0;background:var(--red)}.te-google-form-skin .field{padding:0}.te-google-form-skin .field label{letter-spacing:0}.te-google-form-skin .form-submit{border-radius:6px}.te-google-form-skin .commercial-form-notice{margin-top:4px}
.video-work-play:is(button){border:0;cursor:pointer;font-family:inherit}.video-work-play-passive{pointer-events:none}.video-work-title-link{display:block;color:#fff;text-decoration:none}.video-work-title-link h3{color:#fff}.video-work-title-link:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:2px}

/* v2.9.38 final About page alignment, hero-card parity and team rhythm */
.brand-page .section-title-wrap{align-items:center;gap:13px}.brand-page .section-title-wrap>.section-anchor{margin:0;align-self:center}.brand-page .section-title-wrap>h2{margin:0}
.brand-hero-shot{display:block;color:#fff;text-decoration:none}.brand-hero-shot:after{inset:48% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.82))}.brand-hero-shot img{transition:transform .45s ease}.brand-hero-shot:hover img{transform:scale(1.018)}
.brand-hero-overlay{position:absolute;z-index:2;left:18px;right:18px;bottom:17px;display:block;transition:transform .22s ease}.brand-hero-overlay small{display:block;color:#fff;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;margin-bottom:6px}.brand-hero-overlay strong{display:block;color:#fff;font-size:16px;line-height:1.2;font-weight:800}.brand-hero-shot-main .brand-hero-overlay strong{font-size:22px}.brand-hero-shot:hover .brand-hero-overlay{transform:translateY(-2px)}
.brand-team-section .section-head{margin-bottom:30px}.brand-team-section .brand-team{gap:26px 18px}.brand-team-section .brand-person{display:block;color:inherit;text-decoration:none}.brand-team-section .brand-person .person-image{margin-bottom:15px}.brand-team-section .brand-person h3{margin:0 0 5px}.brand-team-section .brand-person p{line-height:1.45}
.case-study-visual:is(a){color:inherit;text-decoration:none}.case-study-visual:is(a):focus-visible{outline:2px solid var(--red);outline-offset:4px}
@media(max-width:1100px) and (min-width:701px){.brand-team-section .brand-team{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 18px}}
@media(max-width:700px){.brand-hero-overlay{left:12px;right:12px;bottom:11px}.brand-hero-overlay strong,.brand-hero-shot-main .brand-hero-overlay strong{font-size:14px}.brand-hero-overlay small{font-size:8.5px}.brand-team-section .section-head{margin-bottom:24px}}
@media(max-width:430px){.brand-team-section .brand-team{grid-template-columns:1fr;gap:24px}.brand-team-section .brand-person .person-image{margin-bottom:11px}.brand-team-section .brand-person h3{font-size:16px}.brand-team-section .brand-person p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.brand-hero-shot img,.brand-hero-overlay{transition:none!important}.brand-hero-shot:hover img{transform:none}.brand-hero-shot:hover .brand-hero-overlay{transform:none}}


/* v2.9.39 managed-page hero alignment and 60/40 image contract */
:root{--te-managed-hero-top:80px}
.brand-hero,.commercial-hero-v82,.careers-hero{padding-top:var(--te-managed-hero-top)}
.brand-hero-grid,.careers-hero-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:52px;align-items:center}
.brand-hero-visual{aspect-ratio:1/1;min-height:0;height:auto}
.careers-hero-media{position:relative;aspect-ratio:1/1;min-height:0;border-radius:7px;overflow:hidden;background:#111}
.careers-hero-media figure{position:absolute;inset:0;margin:0;width:100%;height:100%}
.careers-hero-media figure>img,.careers-hero-media figure>.te-story-placeholder{width:100%;height:100%;object-fit:cover}
.careers-hero-media:after{content:"";position:absolute;z-index:1;inset:48% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.82));pointer-events:none}
.careers-hero-media img{transition:transform .45s ease}
.careers-hero-media:hover img{transform:scale(1.018)}
.careers-hero-overlay{position:absolute;z-index:2;left:18px;right:18px;bottom:17px;color:#fff;transition:transform .22s ease}
.careers-hero-overlay small{display:block;color:#fff;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;margin-bottom:6px}
.careers-hero-overlay strong{display:block;color:#fff;font-size:20px;line-height:1.2;font-weight:800;max-width:28ch}
.careers-hero-media:hover .careers-hero-overlay{transform:translateY(-2px)}
@media(max-width:1024px) and (min-width:821px){
  :root{--te-managed-hero-top:64px}
  .brand-hero-grid,.careers-hero-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:40px}
}
@media(max-width:820px){
  :root{--te-managed-hero-top:38px}
  .brand-hero-grid,.careers-hero-grid{grid-template-columns:1fr!important;gap:30px}
  .brand-hero-visual,.careers-hero-media{width:100%;max-width:620px}
}
@media(max-width:700px){
  .careers-hero-overlay{left:12px;right:12px;bottom:11px}
  .careers-hero-overlay strong{font-size:15px}
  .careers-hero-overlay small{font-size:8.5px}
}
@media(prefers-reduced-motion:reduce){
  .careers-hero-media img,.careers-hero-overlay{transition:none!important}
  .careers-hero-media:hover img{transform:none}
  .careers-hero-media:hover .careers-hero-overlay{transform:none}
}

/* =========================================================
   v2.9.40 — managed-page visual refinement
   - Advertise hero uses a true 50/50 desktop split.
   - About section markers return to the shared Homepage baseline.
   - About team profiles use consistent card spacing.
   - About closing CTA uses the homepage light grey surface.
   - Careers section title and supporting line match the shared type system.
   ========================================================= */

/* Advertise: equal desktop columns while preserving the existing hero treatment. */
@media(min-width:821px){
  .commercial-hero-v82-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:52px;
  }
}

/* About: use the same lower section-marker alignment as Homepage section headings. */
.brand-page .section-title-wrap{
  align-items:flex-end;
}
.brand-page .section-title-wrap>.section-anchor{
  align-self:auto;
  margin:0 0 9px;
}

/* About: cleaner, equally sized team cards with stronger separation. */
.brand-team-section .brand-team{
  gap:32px 22px;
}
.brand-team-section .brand-person{
  display:block;
  overflow:hidden;
  padding:0 0 18px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:inherit;
  text-decoration:none;
}
.brand-team-section .brand-person .person-image{
  aspect-ratio:1/1;
  margin:0 0 16px;
  border-radius:0;
  background:var(--surface);
}
.brand-team-section .brand-person .person-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.brand-team-section .brand-person h3{
  margin:0 16px 5px;
  font-size:17px;
  line-height:1.2;
}
.brand-team-section .brand-person p{
  margin:0 16px;
  font-size:12px;
  line-height:1.45;
}
@media(max-width:1100px) and (min-width:701px){
  .brand-team-section .brand-team{gap:28px 18px}
}
@media(max-width:700px){
  .brand-team-section .brand-team{gap:24px 14px}
}
@media(max-width:430px){
  .brand-team-section .brand-team{gap:22px}
}

/* About: closing CTA moves from black to the homepage light-grey surface. */
.brand-cta{
  background:#F4F4F4;
  color:var(--ink);
}
.brand-cta .kicker{color:var(--red)}
.brand-cta h2{color:var(--ink)}
.brand-cta p{color:var(--muted)}
.brand-cta-btn{
  border-color:var(--ink);
  color:var(--ink);
}
.brand-cta-btn.primary{
  background:var(--red);
  border-color:var(--red);
  color:#fff;
}

/* Careers: apply the shared section-title token exactly as specified. */
.careers-intro h2{
  font-size:var(--te-title-section) !important;
  line-height:1 !important;
  font-weight:var(--te-fw-display) !important;
  letter-spacing:var(--te-track-display) !important;
}

/* Careers: remove the leading red square and use the Advertise proof-line treatment. */
.careers-hero-note{
  display:block;
  margin-top:32px;
  padding-top:22px;
  border-top:1px solid var(--line);
  font-size:11px;
  line-height:1.4;
  font-weight:var(--te-fw-bold) !important;
  text-transform:none;
  letter-spacing:0;
  color:var(--ink);
}
.careers-hero-note:before{content:none}



/* =========================================================
   v2.9.41 — held Careers and About team corrections
   - Shared section-heading H2 margins are normalised so the red square sits
     beside the lower part of the heading, matching the Homepage component.
   - Careers supporting proof line mirrors the Advertise hero proof row.
   - About team profiles use the approved 4:5 card reference and role-first copy.
   ========================================================= */

/* Shared section heading contract: prevent browser H2 margins from pushing the marker below the title. */
.section-title-wrap>h2{margin:0}

/* Careers: same section-marker relationship as the shared Homepage heading component. */
.careers-page .section-title-wrap{
  display:flex;
  align-items:flex-end;
  gap:14px;
}
.careers-page .section-title-wrap>.section-anchor{
  width:10px;
  height:10px;
  flex:0 0 10px;
  align-self:auto;
  margin:0 0 9px;
  background:var(--red);
}

/* Careers: mirror Advertise proof-row spacing, typography and red separators. */
.careers-hero-note{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:32px;
  padding-top:22px;
  border-top:1px solid var(--line);
  color:var(--ink);
  text-transform:none;
  letter-spacing:0;
}
.careers-hero-note span{
  font-size:11px;
  line-height:1.4;
  font-weight:var(--te-fw-bold) !important;
  color:var(--ink);
}
.careers-hero-note span+span:before{
  content:"•";
  color:var(--red);
  margin-right:18px;
}
.careers-hero-note:before{content:none}

/* About: approved People behind the coverage card treatment. */
.brand-team-section .brand-team{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:22px;
}
.brand-team-section .brand-person{
  min-width:0;
  display:block;
  overflow:hidden;
  padding:0;
  border:1px solid #ddd;
  border-radius:6px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:transform 180ms ease,border-color 180ms ease;
}
.brand-team-section .brand-person:hover{
  transform:translateY(-3px);
  border-color:#bdbdbd;
}
.brand-team-section .brand-person .person-image{
  display:block;
  position:relative;
  aspect-ratio:4/5;
  margin:0;
  overflow:hidden;
  border-radius:0;
  background:#d5d5d5;
}
.brand-team-section .brand-person .person-image img,
.brand-team-section .brand-person .person-image .avatar{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  transition:transform 220ms ease;
}
.brand-team-section .brand-person:hover .person-image img{
  transform:scale(1.015);
}
.brand-team-section .brand-person .person-body{
  display:block;
  min-height:102px;
  padding:18px 18px 20px;
  border-top:1px solid #ddd;
}
.brand-team-section .brand-person .person-role{
  display:block;
  margin:0 0 8px;
  color:var(--red);
  font-size:10px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.brand-team-section .brand-person .person-name{
  display:block;
  margin:0;
  color:var(--ink);
  font-size:19px;
  line-height:1.15;
  font-weight:850;
  letter-spacing:-.025em;
}

@media(max-width:1180px){
  .brand-team-section .brand-team{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .careers-page .section-title-wrap{gap:11px}
  .careers-page .section-title-wrap>.section-anchor{
    width:8px;
    height:8px;
    flex-basis:8px;
    margin-bottom:7px;
  }
  .brand-team-section .brand-team{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }
  .brand-team-section .brand-person .person-body{
    min-height:90px;
    padding:14px;
  }
  .brand-team-section .brand-person .person-name{font-size:17px}
}
@media(max-width:560px){
  .careers-hero-note{
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
    margin-top:24px;
    padding-top:17px;
  }
  .careers-hero-note span{font-size:10.5px}
  .careers-hero-note span+span:before{display:none}
}
@media(max-width:470px){
  .brand-team-section .brand-team{grid-template-columns:1fr}
  .brand-team-section .brand-person .person-image{aspect-ratio:16/12}
}
@media(prefers-reduced-motion:reduce){
  .brand-team-section .brand-person,
  .brand-team-section .brand-person .person-image img{transition:none!important}
  .brand-team-section .brand-person:hover{transform:none}
  .brand-team-section .brand-person:hover .person-image img{transform:none}
}

/* Managed page-builder section visibility */
[data-te-pb-section][hidden]{display:none!important}


/* v2.9.45 — managed-page hero backgrounds use solid fills only.
   Preserve the image-card overlay gradients used for text legibility. */
.brand-hero::before,
.commercial-hero::after{
  content:none!important;
  display:none!important;
  background:none!important;
}
.brand-hero{background:#fff}
.commercial-hero,
.commercial-hero-v82{background:#0f1115}

/* v2.9.51 — Visual storytelling cards can disable the readability gradient per item. */
.video-work-card.no-gradient-overlay:after{content:none!important;display:none!important;background:none!important}


/* v2.9.58 article side-rail advertising.
   Two independent 300x600 slots occupy the desktop margins without changing
   the approved article text measure. JavaScript moves each rail vertically as
   the reader scrolls, constrained to its own article body and around any wide
   inline media that would otherwise collide with the creative. Continuous
   articles receive this markup only when enabled in Advertising. */
.te-primary-article-body,.continuous-body{position:relative}
.te-article-side-ad{display:none}
@media(min-width:1500px){
  .te-primary-article-body>.te-article-side-ad,.continuous-body>.te-article-side-ad{display:block;position:absolute;top:0;width:300px;min-width:300px;max-width:300px;margin:0;padding:0;z-index:1;will-change:transform;transition:transform 110ms linear;transform:translateZ(0);backface-visibility:hidden}
  .te-primary-article-body>.te-article-side-ad.te-side-ad-no-motion,.continuous-body>.te-article-side-ad.te-side-ad-no-motion{transition:none}
  .te-primary-article-body>.te-article-side-ad-left,.continuous-body>.te-article-side-ad-left{right:calc(100% + 48px)}
  .te-primary-article-body>.te-article-side-ad-right,.continuous-body>.te-article-side-ad-right{left:calc(100% + 48px)}
  .te-article-side-ad .te-ad-slot,.te-article-side-ad .te-ad-placeholder,.te-article-side-ad .te-ad-render{width:300px;max-width:300px}
  .te-article-side-ad .te-ad-placeholder,.te-article-side-ad .te-ad-render.te-ad-size-300x600{height:600px;min-height:600px}
  .te-article-side-ad .te-ad-mobile-label{display:none!important}
  .te-article-side-ad .te-ad-desktop-label{display:block!important}
}


/* v2.9.60 side-rail motion refinement.
   Routine scroll updates interpolate on the compositor for smoother following.
   Protected wide-media crossings deliberately bypass interpolation so a 300x600
   creative can never animate through editorial imagery. */
@media (prefers-reduced-motion:reduce){
  .te-primary-article-body>.te-article-side-ad,.continuous-body>.te-article-side-ad{transition:none!important}
}

/* v2.9.59 dedicated mobile article 300x600 inventory.
   This is normal-flow inventory after Related Reading, before the continuous
   separator. It is independent of the sticky desktop Left/Right rails. */
.te-post-mobile-side-ad{display:none}
@media(max-width:640px){
  .te-post-mobile-side-ad{display:block;width:100%;margin:40px auto 48px;padding:0 14px;box-sizing:border-box;clear:both}
  .te-post-mobile-side-ad>.te-ad-slot{width:300px;max-width:100%;margin-inline:auto}
  .te-post-mobile-side-ad .te-ad-placeholder,
  .te-post-mobile-side-ad .te-ad-render.te-ad-size-300x600{width:300px!important;max-width:100%!important;height:600px!important;min-height:600px!important}
  .te-post-mobile-side-ad .te-ad-desktop-label{display:none!important}
  .te-post-mobile-side-ad .te-ad-mobile-label{display:block!important}
}
