/*pro css*/
.thp__top{color:white;height:100vh; background-color:black; width:100%;}
.thp__top--first{height:calc(100vh - 115px);min-height:800px;}
.thp__top--second{min-height:800px;}
.thp__topInner{height:100%;position:relative;}
.thp__topVideo{position:absolute; left:0px; top:0px; width:100%; height:100%;z-index:1;}
.thp{font-size:0px; }
.thp__topH1{font-size:55px ; line-height:1;margin-bottom:20px;}
.thp__topDesc{font-size:16px;font-weight:300;background:rgba(0,0,0,0.6);}
.thp__topText{color:white;z-index:2;position:relative; }
.thp__topH2{font-size:55px; line-height:1; margin-bottom:20px;}
.thp__top--first .thp__topInner{display:flex; align-items:center;}
.thp__topTextLeft,.thp__topTextRight{display:inline-block; vertical-align:top;width:50%;}
.thp__topTextRight{text-align:right;}
.thp__top .tha__btn{display:inline-flex;}
.thp__topDesc{max-width:400px;margin-bottom:20px;line-height:1.7;}
.tha__btn--top{color:white; border:1px solid white; font-size:14px; padding:10px 25px;}
.thp__topTextLeft .tha__btn{margin-right:10px;}
.thp__content{padding-top:35px; }
.tha__btn--thpem{background:white; color:black;}
.thpa{background-color:white; width:100%; margin-bottom:35px; margin-bottom:var(--aspace);padding:30px; padding-bottom:0px; }
.thpa__rel{display:flex; flex-flow:row wrap; width:calc(100% + 35px);width:calc(100% + var(--aspace));}
.thpa__t1{font-size:23px;line-height:1; position:relative; width:100%;position:relative;margin-bottom:15px; display:block; color:inherit; text-decoration:none;}
.thpa__rel .thar{background:black; color:white;}
.thpa__t1:after{content:'';width:100%;height:2px; background-color:black;position:absolute; left:0px; top:50%;z-index:1;}
.thpa__t1Inner{z-index:2; background-color:white; position:relative; padding-right:20px;display:inline-block;}
.thpa__left{display:inline-block; vertical-align:top;width:calc(100% - 530px);}
.thpa__right{display:inline-block; vertical-align:top;width:530px; }
.thpa__t2{font-size:16px;font-weight:300;margin-bottom:15px;}
.thpa__body{font-size:14px;font-weight:400; margin-bottom:30px;line-height:1.5;}
.thpa__content{margin-bottom:35px;}
.thpa__references{font-weight:400; text-align:left; font-size: 14px; margin-bottom: 15px; line-height:1.5;}


.pattern{display:inline-block; width:55px;height:50px;background-image:url('https://cdn.trendhunterstatic.com/sprites/megatrends-patterns-sprite.png'); background-color:#C0C0C0;vertical-align:bottom; }
.pattern.pattern--active{}
.pattern__convergence{background-color:#6FD04A;background-position-x:-158px;background-position-y:-52px;} 
.pattern__divergence{background-color:#E7005C;background-position-x:-158px;background-position-y:-156px;}
.pattern__cyclicality{background-color:#6C46D6;background-position-x:-158px;background-position-y:-104px;}
.pattern__redirection{background-color:#00A2A5;background-position-x:-158px;background-position-y:-208px;}
.pattern__reduction{background-color:#FF6914;background-position-x:-158px;background-position-y:-260px;}
.pattern__acceleration{background-color:#00A2F6;background-position-x:-158px;background-position-y:0px;}
.pattern__title{text-transform:uppercase; color:#000000; font-size:12px;font-weight:500; }
.pattern:not(.pattern--active){background-color:#000;}

.mt{display:inline-block;vertical-align:bottom; width:50px; height:50px;background-size:cover; background-repeat:no-repeat;}
.mt__title{text-transform:uppercase; color:#000000; font-size:12px;font-weight:500; }
.mt__cont{vertical-align:middle; display:inline-block; }


.mt__artificial-intelligence{background-image:url('https://cdn.trendhunterstatic.com/trendreport/webreport/m50/artificial-intelligence-50.png');}
.mt__prosumerism{background-image:url('https://cdn.trendhunterstatic.com/trendreport/webreport/m50/prosumerism-50.png');}
.mt__catalyzation{background-image:url('https://cdn.trendhunterstatic.com/trendreport/webreport/m50/catalyzation-50.png');}

.mt__nostalgia{background-image:url('https://cdn.trendhunterstatic.com/trendreport/webreport/m50/nostalgia-50.png');}
.mt__naturality{background-image:url('https://cdn.trendhunterstatic.com/trendreport/webreport/m50/naturality-50.png');}
.mt__youthfulness{background-image:url('https://cdn.trendhunterstatic.com/trendreport/webreport/m50/youthfulness-50.png');}

.mt__instant-entrepreneurship{background-image:url('https://cdn.trendhunterstatic.com/trendreport/webreport/m50/instant-entrepreneurship-50.png');}
.mt__simplicity{background-image:url('https://cdn.trendhunterstatic.com/trendreport/webreport/m50/simplicity-50.png');}
.mt__curation{background-image:url('https://cdn.trendhunterstatic.com/trendreport/webreport/m50/curation-50.png');}

.mt__tribalism{background-image:url('https://cdn.trendhunterstatic.com/trendreport/webreport/m50/tribalism-50.png');}
.mt__experience{background-image:url('https://cdn.trendhunterstatic.com/trendreport/webreport/m50/experience-50.png');}
.mt__gamification{background-image:url('https://cdn.trendhunterstatic.com/trendreport/webreport/m50/gamification-50.png');}

.mt__multisensation{background-image:url('https://cdn.trendhunterstatic.com/trendreport/webreport/m50/multisensation-50.png');}
.mt__hybridization{background-image:url('https://cdn.trendhunterstatic.com/trendreport/webreport/m50/hybridization-50.png');}
.mt__co-creation{background-image:url('https://cdn.trendhunterstatic.com/trendreport/webreport/m50/co-creation-50.png');}


.mt__authenticity{background-image:url('https://cdn.trendhunterstatic.com/trendreport/webreport/m50/authenticity-50.png');}
.mt__many-to-many{background-image:url('https://cdn.trendhunterstatic.com/trendreport/webreport/m50/many-to-many-50.png');}
.mt__personalization{background-image:url('https://cdn.trendhunterstatic.com/trendreport/webreport/m50/personalization-50.png');}

.thp__demos{padding:0px 0px 20px 30px;}
.thp__demos .tha__scoreBox{width:55px;height:55px;line-height:1; }
.thp__demos .tha__scoreNum{font-size:20px;}
.thp__demos .tha__scoreLbl{font-size:13px; }
.thp__demos .tha__scoreBars{vertical-align:middle;height:60px;width:calc(100% - 300px);padding-left:20px; padding-right:20px;}
.thp__demos .tha__scoreBarLbl{font-size:14px;width:70px;}
.thp__demos .tha__scoreBar{width:calc(100% - 70px);}
.thp__demos .mapAge__cont{display:inline-block; vertical-align:middle;width:245px;}
.thp__demos .demo__ageGender{width:125px;margin-right:0px;}
.thp__demos .mt__cont{display:inline-block; vertical-align:top; width:auto;}
.thp__demos .pattern__cont{display:inline-block; vertical-align:top; width:auto; }
.thp__demos .pmt__cont{display:flex; justify-content:space-between;margin-top:10px;}

.thpa__hq{font-size:14px; display:inline-block; vertical-align:top; width:100%; margin-bottom:35px;}
.thpa__hqLbl{font-weight:700;}
.thpa__mid .tha__articleBtn{width:200px;float:left;}
.thp__topLink{text-decoration:none; color:inherit;}

.thp__catH1{font-size:35px; color:black;}
.thp__topCat{margin-top:35px;}

.thpa__buttons{display:flex; flex-flow:row; justify-content:space-between;}
.thpa__buttons > *{width:32%; display:inline-block; text-decoration:none;}
.thpa__buttons button{width:100%; height:100%; align-items:center;justify-content:center; }

/*pattertTop*/
.videoCont{height:0px; margin:0px; padding:0px; position:relative; padding-bottom:30%; width:calc(75% - 200px); box-sizing:border-box;border:1px solid #e0e0e0; display:inline-block; vertical-align:middle;  height:450px; margin-top:8px; }
.videoCont iframe{position:absolute; top:0px; left:0px; width:100%; height:100%; border:none; }
.pat__top,.mega__top{padding:20px 0px;position:relative; }
.pat__icon{background-color:var(--btn-hover);}
.pat__icon,.pat__mtIcon{width:25px; height:auto; display:inline-block; vertical-align:middle; margin-bottom:10px; margin-right:5px; }
.pat__icon--mt{background-color:transparent;}
.pat__mtIcon{margin-bottom:5px;width:20px;margin-right:5px;  }
.pat__h1{display:inline-block; width:calc(100% - 30px);font-weight:400; vertical-align:middle;font-size:30px;margin-bottom:10px; }
.pat__mtTitle{display:inline-block;width:calc(100% - 25px); font-weight:300; color:#000000;color:var(--btn-hover); vertical-align:middle; font-size:18px;margin-bottom:5px; }
.pat__info{display:inline-block; vertical-align:top; width:calc(25% - 40px);}
.pat__desc,.pat__mtDesc{color:#000000; font-weight:300; line-height:1.3;font-size:16px;}
.pat__subtitle{font-weight:400;font-size:19px;margin:10px 0px;color:var(--btn-hover);}
.pat__mt{margin-bottom:15px; }
.videoCont.pat__video{margin-right:20px;margin-left:20px; }

.pat__nav{display:inline-block; vertical-align:middle;color:#999;width:200px;}
.pat__link{display:block; text-decoration:none; margin-bottom:25px; }

.pat__link > span{display:inline-block; vertical-align:middle;margin-right:5px; }
.pat__link > label{display:inline-block; vertical-align:middle;color:#000000;font-size:22px; font-weight:300;   }
.pat__link:hover label{color:var(--btn-hover);cursor:pointer;}
.pat__mt a:hover *{color:var(--btn-hover);cursor:pointer;}
.pat__link:hover .pattern{background-color:var(--btn-hover);}
.pat__link:last-child{margin-bottom:0px; }
.pat__top,.mega__top{background-color:white; padding:30px;margin-top:35px;}
.pat__link.pat__link--current .pattern{background-color:var(--btn-hover);}
.pat__link.pat__link--current label{color:var(--btn-hover);}
.pat__h1{color:var(--btn-hover);}
.tha__btn--subscribeBottom{font-size: 25px;text-align: center;width: 100%;display: block;font-weight: 300;padding: 15px 0px;height: 65px;}
.tha__subscribeLink{text-decoration:none; color:inherit;button{margin-bottom:10px;} }

.tpt{font-size:0px;padding-top:35px; padding-top:var(--aspace);position:relative;}
.tpt--blur{filter:blur(5px);}
.tpt__right{display:inline-block; vertical-align:top;width:300px;}
.tpt__left{display:inline-block; vertical-align:top; width:calc(100% - 300px);padding-right:35px; padding-right:var(--aspace);}
.tpt__h1{font-size:35px;font-weight:700;margin-bottom:20px;}
.tpt__h2{font-size:23px;font-weight:400;margin-bottom:30px;}
.tpt__cont{padding:35px 70px;background-color:white;height:100%;}
.tpt__body{font-size:17px; font-weight:400;}
.tpt__wq{font-size:17px;margin-top:15px;}
.tpt__wqLbl{font-weight:700;}
.tpt__rel{width:calc(100% + 35px);display:flex;flex-flow:row wrap;}
.tpt__demos{width:520px;padding-right:20px;  display:inline-block;vertical-align:middle;}
.tpt__data{margin-top:25px;margin-bottom:25px; }
.tpt__demos .thp__demos{padding-left:0px;width:100%;}
.tpt__rel .thar__summary{font-size:13px;padding:0px 25px;margin-bottom:35px;}
.tpt__rel .thar__title2{margin-bottom:15px;}
.tpt__iframeCont{height:600px; width:100%; }
.tpt__iframe{width:100%;height:100%; border:0px;}
.tpt__h3{font-size:23px; margin-bottom:20px;}
.tpt__treport{width:200px;display:inline-block; vertical-align:top;text-decoration:none; color:inherit; text-align:center;background:white; margin-right:35px; margin-bottom:35px;transition:all 0.3s ease-in-out;}
.tpt__treport:hover{background:black; color:white;}
.tpt__reportLbl{font-size:16px;padding:25px;font-weight:500;}
.tpt__reportsInner{display:flex; flex-flow:row wrap;width:calc(100% + 35px); width:calc(100% + var(--aspace));}
.tpt__ciLink{font-size:16px; color:inherit;text-decoration:none;display:block; padding:8px; transition:all 0.2s ease-in-out;}
.tpt__ciLink:hover{color:white; background:black;}
.tpt__pl{padding:15px;background-color:white; }
.tpt__ciLink--selected{font-weight:700;}
.tpt__inner{display:flex;margin-bottom:35px; }
.tpt__h4{margin-bottom:10px; font-size:18px; padding:8px; }
.tpt__rrInner{width:calc(100% + 35px);display:flex; flex-flow:row wrap; }
.tpt__statsLabel{font-size:15px;font-weight:500;}
.tpt__statsVal{font-size:15px;word-break:break-all; }
.tpt__stats{width:calc(100% - 520px);display:inline-block;vertical-align:middle; }
.tpt__statsLine{margin-bottom:20px;padding-right:10px;}
.tpt__cat{color:inherit; margin-right:5px;white-space:nowrap; }
.tpt__statsRight,.tpt__statsLeft{display:inline-block; vertical-align:top; width:50%;max-width:250px;}
.tpt__relCont,.tpt__reports,.tpt__rr{overflow-x:hidden;}
.tpt__treport img{width:100%;height:auto;}
.tpt__subscribe{font-size:14px; color:inherit; display:none; margin-bottom:20px;}
.tpt__paywall{position:fixed; top:0px; left:0px; width:100vw; height:100vh; background:rgba(0,0,0,0.5);z-index:12; }
.tpt__paywallInner{background-color:black; width:750px;margin:0 auto; margin-top:200px;}
.tpt__paywallImg{width:100%; height:auto;}
.tpt__paywallMsg{font-weight:300; font-size:20px; color:white; text-align:center; margin:20px 0px; }
.tpt__paywallText{padding-bottom:50px;text-align:center; }
.tpt__paywallLink:first-child{margin-right:10px;}
.tpt__paywallLink:last-child{margin-left:10px; }
.tpt__references{font-weight:500; text-align:left; font-size: 14px; margin-bottom: 25px; line-height:1.5;}

.thp__index{margin-bottom:35px;}
.thp__indexBtn{display:inline-block; vertical-align:top; font-size:14px;height:55px; width:130px;font-weight:300; margin-right:5px; color:black; background-color:white; border:1px solid black;  }
.thp__indexBtn--selected{background-color:black; color:white; }

.thp__indexPage{margin-top:35px;background:white; padding:30px;display:none;width:auto;}
.thp__indexPage--new{display:none!important; margin:0px; }
.thp__indexPage--visible{display:block; }
.thp__indexCatParent{font-size:20px; text-decoration:none; color:inherit;display:block; margin-bottom:10px;}
.thp__indexCatParent:hover{text-decoration:underline ;}
.thp__indexCatChildren{font-size:16px;}
.thp__indexCatChild{color:inherit; text-decoration:none;}
.thp__indexCatChild:hover{text-decoration:underline;}
.thp__indexCat{width:300px; margin:0px 20px 20px 0px; display:inline-block; vertical-align:top;}
.thp__indexItem{font-size:15px;display:block;text-decoration:none; color:inherit; margin-bottom:10px;  }
.thp__indexCatLbl{font-weight:500;}
.thp__indexCount{font-size:14px; }
.thp__indexItem--category{font-size:17px; }
.thp__indexItem:hover{text-decoration:underline;}
.thp__indexSec{margin:0px 20px 20px 0px; width:200px;}
.thp__indexPageInner{display:flex; flex-flow:row wrap; }
.thp__indexBtn--freereport{width:230px; margin-right:0px; }
.thp__reportCont{ float:right; }
.thp__reportCont a{text-decoration:none; }
.pat__topInner{width:100%;}

@media(min-width:1350px){
	.mega__top,.pat__top{display:flex; flex-flow:row;  padding:0px; }
	.pat__nav{width:250px; padding:30px; }
	.pat__video.videoCont{padding:0px; width:auto; flex-grow:1;height:100%;margin:0px;}
	.mega__topInner,.pat__topInner{display:flex; flex-flow:row; }
	.pat__info{padding:30px; }
}

@media(max-width:1350px) {
	.tpt__stats{display:block; width:100%;}
	.tpt__cont{padding:35px; }
	.tpt__demos{padding-right:0px;}
	
	.thpa__hq{display:block; padding-left:0px; width:100%;margin-bottom:15px;}
	.thpa__body{margin-bottom:15px;}
	
	.pat__info{width:100%;}
	.videoCont.pat__video{margin-right:0px; width:calc(100% - 220px); }
	.pat__topInner{position:relative;padding-top:100px;}
	.mega__topInner{position:relative; padding-top:135px;}
	.pat__infoInner{position:absolute; top:0px;}
}

@media(max-width:1100px) {
	.tpt__left{width:100%;padding-right:0px;}
	.tpt__right{display:none; }
	.thpa__left{display:block; width:100%;}
	.thpa__right{display:block;margin-top:20px;}
	.thpa__mid .tha__articleBtn{float:none;}
	.thp .thp__demos{padding-left:0px;}
}

@media(max-width:767px) {
	
	.thp__top--first{min-height:auto;height:auto; padding-top:20px;}
	.thpa__mid .tha__articleBtn{width:100%;}
	.tpt__iframeCont{display:none;}
	.tpt__treport{width:calc(100% / 3 - 35px);width:calc(100% / 3 - var(--aspace));}
	.thpa__t1:after{background-color:white;}
	.thpa__t1{text-align:center; }
	.thpa__t2{text-align:center; }
	.thpa__right{width:100%;}
	.thpa__references{text-align:center;}
	
	.thp__topTextRight{display:block; width:100%; text-align:left;}
	.thp__topTextLeft{display:block; width:100%;margin-bottom:10px;}
	.videoCont.pat__video{width:100%;margin-left:0px;}
	.pat__link > label{display:none;}
	.pat__link {display:inline-block;vertical-align:top;}
	.pat__nav{width:100%;}
	.pat__topInner{padding-top:115px; }
	.pat__desc, .pat__mtDesc{font-size:14px;}
	.mega__topInner{padding-top:150px; }
	.tpt__h1{font-size:28px; text-align:center;}
	.tpt__h2{text-align:center; }
	.tpt__h3{text-align:center; }
	.thp__catH1{text-align:center; font-size:28px; }
	.tpt__subscribe{text-align:center; }
	
	.thp__reportCont{display:block; float:none; margin-bottom:35px; text-align:right; }
	
	/*.thp__indexBtns{text-align:center; }*/
	.thp__indexBtn{display:block; width:100%; margin-bottom:10px;}
}
@media(max-width:650px) {
	.tpt__demos{max-width:100%;text-align:center;}
	.thp__demos .tha__scoreBars{width:calc(100% - 80px);padding-right:0px;}
	.mapAge__cont{margin-top:15px;margin-bottom:15px;}
	.thp__demos .pattern__cont{display:block; width:100%;margin-bottom:20px;}
	.thp__demos .mt__cont{display:block; width:100%;}
	.thp__demos .pmt__cont{display:block;}
	.tpt__treport{width:calc(50% - 35px); width:calc(50% - var(--aspace));}
	
	.thpa__content{margin-bottom:15px; }
	.thp__demos{text-align:center;padding-left:0px; }
	.pat__video.videoCont{height:0px; padding-bottom:60%;}
}
@media(max-width:600px){
	.tpt__rel,.tpt__rrInner{width:100%;}
	
	.thpa__rel{width:100%;}
	.mega__topInner{padding-top:175px; }
	.thpa__buttons{flex-flow:column;}
	.thpa__buttons > *{width:100%;margin-bottom:15px;}
	
}
@media(max-width:450px){
	.pat__topInner{padding-top:55px;}
	.tpt__reportsInner{width:100%;}
	.tpt__treport{margin-right:0px; width:100%;}
	.tpt__cont{padding:20px;}
	.mega__topInner{padding-top:90px;}
	.pat__desc{display:none;}
	.thp__indexCat{width:100%; margin-right:0px; }
	.thp__indexBtn{display:block; width:100%; margin-bottom:10px;}
}

@media(max-width:400px){
	.thp__demos .tha__scoreBox{width:100%;}
	.thp__demos .tha__scoreBars{width:100%;padding-left:0px;}
	.thp__demos .demo__map {display:block;margin:10px auto;  }
	.tpt__h1{font-size:25px;}
	.thp__demos .mapAge__cont{width:100%; text-align:center; }
	.tpt__h2,.tpt__h3{font-size:18px;}
	.tpt__body,.tpt__wq{font-size:15px;}

	.thp__catH1{font-size:25px;}

	.pat__desc, .pat__mtDesc{display:none;}
	.pat__topInner{padding-top:60px; }
}

/* TXL redesign — /pro, /pro/category, /pattern, /megatrend (kpro.php). Scoped to .thpx so dash/athena keep the legacy rules above. Values from the Pro Page design handoff. */
.thpx{overflow-x:clip;background:var(--tx-light);--tx-ink:#16181C;--tx-ink-2:#23262B;--tx-muted:#6B7178;--tx-surface-dark:#312D2D;--tx-gray-3:#F6F7F4;--tx-line:#ECECEC;--tx-line-strong:#D8D8DA;--cr-hl:var(--tx-highlight);--cr-gray:var(--tx-gray);}
/* Shared type: section H2, small caps label. */
.thpx__h2{margin:0;font-family:'Barlow Display',sans-serif;font-weight:900;font-stretch:condensed;font-size:clamp(2.25rem,4vw,3.25rem);line-height:.9;letter-spacing:-.01em;text-transform:uppercase;}
.thpx__lbl{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-muted);}
/* Hero — copy left, bordered stats row under both. The canvas bleeds out of the right column (the motion's stage) to
   the screen edges and from the section top down to the stats row, masked down to 15% behind the copy and soft at
   top and bottom. */
.thpx__hero{padding:56px 0 0;overflow:hidden;}
.thpx__heroInner{position:relative;display:flex;flex-wrap:wrap;gap:40px;align-items:center;justify-content:space-between;}
.thpx__heroLeft{position:relative;z-index:1;flex:1 1 440px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:20px;}
.thpx__heroRight{flex:1 1 480px;height:clamp(360px,44vw,600px);}
.thpx__heroCanvas{position:absolute;top:-56px;left:calc(50% - 50vw);width:100vw;height:calc(100% + 104px);display:block;pointer-events:none;mask-image:linear-gradient(to bottom,transparent,#000 56px,#000 calc(100% - 48px),transparent),linear-gradient(to right,rgba(0,0,0,.15) 40%,#000 55%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 56px,#000 calc(100% - 48px),transparent),linear-gradient(to right,rgba(0,0,0,.15) 40%,#000 55%);mask-composite:intersect;-webkit-mask-composite:source-in;}
.thpx__crumbs{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);}
.thpx__crumbList{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 0;margin:0;padding:0;list-style:none;}
.thpx__crumbItem{display:inline-flex;align-items:baseline;min-width:0;}
.thpx__crumbSep{margin:0 .6em;}
.thpx__crumbHere{color:rgba(255,255,255,.62);}
.thpx__crumbs a{color:inherit;text-decoration:none;}
.thpx__crumbs a:hover{color:var(--tx-highlight);}
.thpx__heroTitle{margin:0;font-family:'Barlow Display',sans-serif;font-weight:900;font-size:clamp(3.5rem,8vw,7rem);line-height:.88;letter-spacing:-.05em;text-transform:uppercase;}
.thpx__heroSub{max-width:480px;margin:8px 0 0;font-size:1.125rem;line-height:1.6;color:rgba(255,255,255,.85);}
.thpx__heroCta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:8px;}
.thpx__textLink{padding-bottom:3px;border-bottom:2px solid var(--tx-highlight);font-size:.8125rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:inherit;text-decoration:none;}
.thpx__textLink:hover{opacity:.85;}
/* pattern / megatrend names run longer than "Trend Clusters", so their H1 caps smaller and may hyphenate. */
.thpx__hero--top .thpx__heroTitle{font-size:clamp(2.75rem,5.4vw,4.75rem);hyphens:auto;}
.thpx__statsRow{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:48px;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);}
.thpx__stat{display:flex;flex-direction:column;gap:10px;padding:24px 24px 28px;border-left:1px solid rgba(255,255,255,.12);color:inherit;text-decoration:none;}
.thpx__stat:first-child{padding-left:0;border-left:0;}
.thpx__statLbl{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6);transition:color .2s ease;}
a.thpx__stat:hover .thpx__statLbl{color:#fff;}
.thpx__statNum{font-family:'Barlow Display',sans-serif;font-weight:900;font-size:3rem;line-height:.9;letter-spacing:-.02em;color:#fff;}
.thpx__stat:first-child .thpx__statNum{color:var(--tx-highlight);}
/* Sibling nav under the pattern / megatrend hero, in the stats row's place (getPatternNav / getMegatrendNav). The current
   page's link is barred in its pattern colour, --thpx-accent, set inline on the link (patterns) or the nav (megatrends). */
.thpx__subNav{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:48px;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);}
.thpx__subNavLink{display:flex;align-items:center;gap:10px;padding:16px 14px 13px;border-bottom:3px solid transparent;font-family:'Barlow Display',sans-serif;font-weight:800;font-stretch:condensed;font-size:1.125rem;line-height:1;text-transform:uppercase;color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s ease;}
.thpx__subNavLink img{width:24px;height:24px;display:block;opacity:.6;}
.thpx__subNavLink:hover{color:#fff;}
.thpx__subNavLink[aria-current]{border-bottom-color:var(--thpx-accent);color:#fff;}
.thpx__subNavLink[aria-current] img{opacity:1;}
.thpx__subNavParent{display:flex;align-items:center;gap:10px;margin-right:10px;padding:16px 18px 16px 0;border-right:1px solid rgba(255,255,255,.12);font-size:.72rem;font-weight:700;letter-spacing:.16em;line-height:1;text-transform:uppercase;color:rgba(255,255,255,.6);text-decoration:none;}
.thpx__subNavParent img{width:22px;height:22px;display:block;}
.thpx__subNavParent:hover,
.thpx__subNavAll:hover{color:#fff;}
.thpx__subNavAll{margin-left:auto;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.75);text-decoration:none;}
/* pattern page: the six patterns share the bar's width, each centred in its slot, wrapping when they no longer fit. */
.thpx__subNav--patterns .thpx__subNavLink{flex:1 1 0;justify-content:center;}
.thpx__video{position:relative;width:100%;padding-bottom:56.25%;border-radius:4px;overflow:hidden;background:#000;box-shadow:0 0 0 1px rgba(255,255,255,0.08);}
.thpx__video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.thpx__catHero{padding-bottom:64px;}
.thpx__catSub{margin-bottom:0;}
.thpx__catHero .thpx__heroCta{margin-top:32px;}
/* Quick answer + facts list (/pro) or video (pattern / megatrend) — the extractable answer the Speakable schema points at. */
.thpx__qa{padding:88px 0 96px;}
.thpx__qaInner{display:flex;flex-wrap:wrap;gap:40px 72px;align-items:flex-start;}
.thpx__qaMain{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:18px;}
.thpx__qaMedia{flex:1 1 400px;max-width:560px;}
.thpx__qaAnswer{max-width:640px;margin:0;padding-left:20px;border-left:4px solid var(--tx-highlight);font-size:1.125rem;line-height:1.6;}
.thpx__facts{flex:1 1 360px;max-width:460px;margin:0;border-top:2px solid #fff;}
.thpx__facts > div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);}
.thpx__facts dt{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);}
.thpx__facts dd{margin:0;font-size:.875rem;font-weight:700;text-align:right;}
.thpx__facts a{color:inherit;text-decoration:underline;text-underline-offset:3px;}
.thpx__facts a:hover{color:var(--tx-highlight);}
/* Patterns explorer (getTaxonomySection) — tab list left, one panel right; all six panels are in the HTML, stacked in
   one grid cell and hidden by attribute (visibility, not display), so the stack holds the tallest panel's height and
   switching tabs never moves the page. --thpx-accent is the pattern colour, set inline on each tab and panel. */
.thpx__explore{padding:96px 0;}
.thpx__qa + .thpx__explore{padding-top:0;}
.thpx__secHead{display:flex;flex-wrap:wrap;gap:24px 64px;align-items:flex-end;justify-content:space-between;margin-bottom:40px;}
.thpx__secHeadMain{display:flex;flex-direction:column;gap:14px;}
.thpx__secHeadSub{flex:0 1 460px;margin:0;font-size:.875rem;line-height:1.6;color:rgba(255,255,255,.7);}
.thpx__patBody{display:flex;flex-wrap:wrap;border-top:2px solid #fff;}
.thpx__patTabs{flex:1 1 240px;min-width:220px;max-width:320px;display:flex;flex-direction:column;padding-top:8px;}
.thpx__patTab{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px 16px 16px;border:0;border-left:3px solid transparent;border-bottom:1px solid rgba(255,255,255,.08);background:none;color:#fff;text-align:left;cursor:pointer;transition:background .2s ease;}
.thpx__patTab:hover,
.thpx__patTab[aria-selected='true']{background:rgba(255,255,255,.06);}
.thpx__patTab[aria-selected='true']{border-left-color:var(--thpx-accent);}
.thpx__patTab img{width:30px;height:30px;flex-shrink:0;display:block;}
.thpx__patTabName{flex:1;font-family:'Barlow Display',sans-serif;font-weight:800;font-stretch:condensed;font-size:1.375rem;line-height:1;letter-spacing:.01em;text-transform:uppercase;color:rgba(255,255,255,.72);}
.thpx__patTab[aria-selected='true'] .thpx__patTabName{color:#fff;}
.thpx__patTabCnt{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);}
.thpx__patPanels{flex:999 1 380px;min-width:0;display:grid;padding:36px 0 0 clamp(24px,4vw,56px);}
.thpx__patPanel{grid-area:1/1;min-width:0;display:flex;flex-direction:column;gap:24px;}
.thpx__patPanel[hidden]{display:flex;visibility:hidden;}
.thpx__patHead{display:flex;align-items:center;gap:18px;}
.thpx__patHead img{width:56px;height:56px;flex-shrink:0;display:block;}
.thpx__patHeadText{display:flex;flex-direction:column;gap:8px;}
.thpx__patName{margin:0;font-family:'Barlow Display',sans-serif;font-weight:900;font-size:clamp(2.25rem,4vw,3.25rem);line-height:.88;letter-spacing:-.02em;text-transform:uppercase;}
.thpx__patMeta{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);}
.thpx__patDef{max-width:680px;margin:0;padding-left:18px;border-left:4px solid var(--thpx-accent);font-size:1.125rem;line-height:1.6;color:rgba(255,255,255,.88);}
.thpx__mtCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(calc((100% - 24px) / 3),(684px - 100%) * 999,100%),1fr));gap:12px;margin:0;}
.thpx__mtCard{position:relative;display:flex;flex-direction:column;gap:12px;padding:20px;border-top:3px solid var(--thpx-accent);border-radius:4px;background:var(--tx-surface-dark);transition:background .2s ease;}
.thpx__mtCard:hover{background:#3C3737;}
.thpx__mtCard dt a{display:flex;align-items:center;gap:12px;font-family:'Barlow Display',sans-serif;font-weight:900;font-stretch:condensed;font-size:1.25rem;line-height:1;text-transform:uppercase;color:#fff;text-decoration:none;}
.thpx__mtCard dt a::after{content:'';position:absolute;inset:0;}
.thpx__mtCard dt img{width:36px;height:36px;flex-shrink:0;display:block;}
.thpx__mtCard dd{flex:1;display:flex;flex-direction:column;gap:12px;margin:0;font-size:.875rem;line-height:1.55;color:rgba(255,255,255,.75);}
.thpx__mtCardMore{margin-top:auto;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-highlight);}
.thpx__patCta{align-self:flex-start;}
/* Pattern page megatrends (getPatternMegatrends): a column per megatrend under the pattern's accent rule; the Explore
   link covers the whole column. */
.thpx__pmtGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:48px 40px;}
.thpx__pmtItem{position:relative;display:flex;flex-direction:column;gap:16px;padding-top:28px;border-top:3px solid var(--thpx-accent);}
.thpx__pmtItem img{width:40px;height:40px;display:block;}
.thpx__pmtDesc{flex:1;margin:0;font-size:.9375rem;line-height:1.6;color:rgba(255,255,255,.75);}
.thpx__pmtFoot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);}
.thpx__pmtFoot .tx__comboBtn::after{content:'';position:absolute;inset:0;}
.thpx__pmtFoot .tx__comboBtn:hover .tx__btn--primary{background:#AEE648;}
/* Index toolbar (getFullIndex). #thpx-insights[data-tab] mirrors the ksite.js tab: the list, load-more and view
   switch show on Newly Added only; the other two tabs swap in their count line. */
.thpx__content{padding:0;color:var(--tx-ink);}
.thpx__bar{padding:40px 0 24px;border-bottom:1px solid var(--tx-line);}
.thpx__barInner{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end;justify-content:space-between;}
.thpx__barLeft{display:flex;flex-direction:column;gap:14px;}
.thpx .thp__indexBtns{display:flex;flex-wrap:wrap;gap:8px;}
.thpx .thp__indexBtn{width:auto;height:auto;margin:0;padding:10px 16px;border:0;border-radius:2px;background:#fff;color:var(--tx-ink);box-shadow:inset 0 0 0 1px var(--tx-line-strong);font-size:.8125rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;}
.thpx .thp__indexBtn:hover{box-shadow:inset 0 0 0 1px var(--tx-ink);}
.thpx .thp__indexBtn--selected,
.thpx .thp__indexBtn--selected:hover{background:var(--tx-ink);color:var(--tx-highlight);box-shadow:none;}
.thpx__barRight{display:flex;flex-wrap:wrap;align-items:center;gap:16px;}
.thpx__view{display:flex;align-items:center;gap:12px;}
.thpx__seg{display:flex;padding:3px;border-radius:2px;box-shadow:inset 0 0 0 1px var(--tx-line-strong);}
.thpx__segBtn{display:flex;align-items:center;gap:6px;padding:7px 12px;border:0;border-radius:2px;background:transparent;color:var(--tx-ink);font-size:.8125rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;}
.thpx__segBtn svg{flex-shrink:0;fill:currentColor;}
.thpx__segBtn[aria-pressed='true']{background:var(--tx-ink);color:var(--tx-highlight);}
.thpx__barNote{display:none;font-size:.8125rem;color:var(--tx-muted);}
.thpx__content:not([data-tab='new']) .thpx__view,
.thpx__content:not([data-tab='new']) .thpx__list,
.thpx__content:not([data-tab='new']) .thpx__more{display:none;}
.thpx__content[data-tab='categories'] .thpx__barNote--categories,
.thpx__content[data-tab='index'] .thpx__barNote--index{display:inline;}
/* Cluster list — one structure per .thpx__cl (getProTrendHtml) that data-view lays out as a compact table row (+ open
   detail) or an expanded card. In compact the strip's cells and the patterns group fill the row's columns; in expanded
   the row and detail wrappers step aside (display:contents) so their parts place straight onto the card's grid. */
.thpx__content[data-view='compact'] .thpx__list{overflow-x:auto;}
.thpx__content[data-view='compact'] .thpx__listInner{min-width:980px;}
.thpx__listHead,
.thpx__row{display:grid;grid-template-columns:minmax(0,3fr) 64px 110px 100px 80px 30px;gap:24px;align-items:center;}
.thpx__listHead{position:relative;padding:12px 0;border-bottom:2px solid var(--tx-ink);}
.thpx__content[data-view='expanded'] .thpx__listHead,
.thpx__rowDetail{display:none;}
.thpx__content[data-view='compact'] .thpx__cl--open .thpx__rowDetail{display:grid;}
.thpx__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.thpx__sort{padding:0;border:0;background:none;text-align:left;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-muted);cursor:pointer;}
.thpx__sort:hover,
.thpx__sort[data-dir]{color:var(--tx-ink);}
.thpx__sort[data-dir='desc']::after{content:' \2193';}
.thpx__sort[data-dir='asc']::after{content:' \2191';}
.thpx__row{padding:14px 0;border-bottom:1px solid var(--tx-line);cursor:pointer;transition:background .15s ease;}
.thpx__row:hover,
.thpx__cl--open .thpx__row{background:var(--tx-gray-3);}
.thpx__rowMain{display:flex;align-items:center;gap:18px;min-width:0;}
.thpx__rowImg{width:72px;height:72px;flex-shrink:0;border-radius:4px;overflow:hidden;background:var(--tx-gray);}
.thpx__rowImg img{width:100%;height:100%;object-fit:cover;display:block;}
.thpx__rowText{display:flex;flex-direction:column;gap:6px;min-width:0;}
.thpx__meta{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-muted);}
.thpx__cardTop{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;}
.thpx__rowTitle{margin:0;font-family:'Barlow Display',sans-serif;font-weight:900;font-stretch:condensed;font-size:1.625rem;line-height:.95;text-transform:uppercase;}
.thpx__rowTitle a{color:inherit;text-decoration:none;}
.thpx__rowTitle a:hover{opacity:.85;}
.thpx__rowHook{margin:0;font-size:.8125rem;line-height:1.4;color:var(--tx-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.thpx__score{justify-self:start;padding:8px 11px 6px;border-radius:2px;background:var(--tx-highlight);color:#000;font-family:'Barlow Display',sans-serif;font-weight:900;font-size:1.5rem;line-height:.9;}
/* Momentum sparkline — the area fades out of lime (#thpx-spark-fill, defined once in getHtml so load-more rows share it). */
.thpx__spark{display:block;width:100%;height:40px;overflow:visible;}
.thpx__sparkArea{fill:url(#thpx-spark-fill);}
.thpx__sparkLine{fill:none;stroke:#000;stroke-width:2.5;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
.thpx__sparkEnd{fill:none;stroke:#000;stroke-width:7;stroke-linecap:round;vector-effect:non-scaling-stroke;}
.thpx__na{color:var(--tx-muted);}
.thpx__sig{display:block;height:5px;background:var(--tx-gray);}
.thpx__sig > span{display:block;height:100%;background:#000;}
/* compact: the label reads as a "Category · date" meta line, the strip's cells drop their labels, axes and signal
   names into bare bars, and the patterns are icon links (names kept for screen readers). */
.thpx__content[data-view='compact'] .thpx__cardTop{justify-content:flex-start;gap:0;}
.thpx__content[data-view='compact'] .thpx__cardTop .txl__label{margin:0;}
.thpx__content[data-view='compact'] .txl__labelPart--sq,
.thpx__content[data-view='compact'] .thpx__metaLbl,
.thpx__content[data-view='compact'] .thpx__stripCell > .thpx__lbl,
.thpx__content[data-view='compact'] .thpx__axis,
.thpx__content[data-view='compact'] .thpx__sigHead,
.thpx__content[data-view='compact'] .thpx__taxGroup > .thpx__lbl{display:none;}
.thpx__content[data-view='compact'] .txl__labelPart--pill{padding:0;border-radius:0;background:none;font-size:.66rem;font-weight:700;letter-spacing:.14em;color:var(--tx-muted);}
.thpx__content[data-view='compact'] .thpx__cardTop .thpx__meta::before{content:'\00b7';margin:0 .5em;}
.thpx__content[data-view='compact'] .thpx__strip{display:contents;}
.thpx__content[data-view='compact'] .thpx__stripCell--sigs{gap:5px;}
.thpx__content[data-view='compact'] .thpx__sigRow .thpx__sig{height:5px;}
.thpx__content[data-view='compact'] .thpx__pats .thpx__taxList{gap:4px;}
.thpx__content[data-view='compact'] .thpx__pats .thpx__taxItem span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.thpx__content[data-view='compact'] .thpx__pats img{width:26px;height:26px;border-radius:var(--tx-sqradius);}
.thpx__rowToggle{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:var(--tx-gray);color:#000;font-size:14px;cursor:pointer;}
.thpx__rowToggle::after{content:'\2193';}
.thpx__cl--open .thpx__rowToggle{background:var(--tx-highlight);}
.thpx__cl--open .thpx__rowToggle::after{content:'\2191';}
.thpx__rowDetail{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:40px;padding:6px 16px 32px 90px;background:var(--tx-gray-3);border-bottom:1px solid var(--tx-line);}
.thpx__rowDetailText{display:flex;flex-direction:column;align-items:flex-start;gap:16px;}
.thpx__summary{margin:0;font-size:1rem;line-height:1.6;color:var(--tx-ink-2);}
.thpx__metrics{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tx-ink-2);}
.thpx__examples{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
/* Evidence tile — square image over a condensed title; the expanded view makes --lead a 4:3 tile, title over a scrim.
   Hover lights the image with the lime gradient from the trend cluster page (.tcm__evMedia) and the homepage cards. */
.thpx__ev{display:flex;flex-direction:column;gap:8px;min-width:0;color:var(--tx-ink);text-decoration:none;}
.thpx__evImg{position:relative;display:block;aspect-ratio:1/1;border-radius:4px;overflow:hidden;background:var(--tx-gray);}
.thpx__evImg img{width:100%;height:100%;object-fit:cover;display:block;}
.thpx__evImg::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(192,251,80,0.85) 0%,rgba(192,251,80,0.45) 25%,transparent 55%);opacity:0;transition:opacity .3s ease;pointer-events:none;}
.thpx__ev:hover .thpx__evImg::before,
.thpx__ev:focus-visible .thpx__evImg::before{opacity:1;}
.thpx__evTitle{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-family:'Barlow Display',sans-serif;font-weight:800;font-stretch:condensed;font-size:13px;line-height:1.05;text-transform:uppercase;}
/* Strip — Score / Momentum / Signals; the expanded card's labelled band (compact spreads its cells over the row). */
.thpx__strip{display:grid;grid-template-columns:auto repeat(2,minmax(0,1fr));gap:28px;padding:18px 0;border-top:2px solid var(--tx-ink);border-bottom:1px solid var(--tx-line-strong);}
.thpx__stripCell{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;}
.thpx__stripCell--sigs{align-items:stretch;gap:8px;}
.thpx__axis{display:flex;justify-content:space-between;width:100%;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-muted);}
.thpx__sigRow{display:flex;flex-direction:column;gap:4px;}
.thpx__sigHead{display:flex;justify-content:space-between;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.thpx__sigRow .thpx__sig{height:4px;}
.thpx__taxGroup{display:flex;flex-direction:column;gap:10px;}
.thpx__taxList{display:flex;flex-wrap:wrap;gap:6px 14px;}
.thpx__taxItem{display:inline-flex;align-items:center;gap:7px;font-size:.875rem;font-weight:700;color:var(--tx-ink);text-decoration:none;white-space:nowrap;}
.thpx__taxItem img{display:block;flex-shrink:0;}
.thpx__taxItem:hover span{text-decoration:underline;text-underline-offset:3px;}
/* expanded: a two-column card, tiles down the left (1 : 1.4, capped at the tiles' 520px so the text takes the rest)
   and the text stacked on the right in reading order (order), Read Cluster pinned to the last row. grid-column:-2 is the last column, so the one column at ≤767px stacks them all. */
.thpx__content[data-view='expanded'] .thpx__cl{position:relative;display:grid;grid-template-columns:min(520px,calc((100% - 56px) / 2.4)) minmax(0,1fr);grid-template-rows:repeat(6,auto) 1fr;column-gap:56px;row-gap:16px;padding:56px 0;border-bottom:1px solid var(--tx-line-strong);}
.thpx__content[data-view='expanded'] .thpx__row,
.thpx__content[data-view='expanded'] .thpx__rowMain,
.thpx__content[data-view='expanded'] .thpx__rowDetail,
.thpx__content[data-view='expanded'] .thpx__rowDetailText{display:contents;}
.thpx__content[data-view='expanded'] .thpx__rowImg,
.thpx__content[data-view='expanded'] .thpx__rowToggle{display:none;}
.thpx__content[data-view='expanded'] .thpx__rowText,
.thpx__content[data-view='expanded'] .thpx__summary,
.thpx__content[data-view='expanded'] .thpx__strip,
.thpx__content[data-view='expanded'] .thpx__metrics,
.thpx__content[data-view='expanded'] .thpx__pats,
.thpx__content[data-view='expanded'] .thpx__mts{grid-column:-2;}
.thpx__content[data-view='expanded'] .thpx__rowText{order:1;gap:16px;}
.thpx__content[data-view='expanded'] .thpx__summary{order:2;max-width:640px;}
.thpx__content[data-view='expanded'] .thpx__strip{order:3;}
.thpx__content[data-view='expanded'] .thpx__metrics{order:4;}
.thpx__content[data-view='expanded'] .thpx__pats{order:5;}
.thpx__content[data-view='expanded'] .thpx__mts{order:6;}
.thpx__content[data-view='expanded'] .thpx__read{order:7;grid-column:-2;grid-row:-2 / -1;justify-self:end;align-self:end;}
.thpx__content[data-view='expanded'] .thpx__examples{grid-column:1;grid-row:1 / -1;align-self:start;max-width:520px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.thpx__content[data-view='expanded'] .thpx__evTitle{font-size:12px;}
.thpx__content[data-view='expanded'] .thpx__ev--lead{grid-column:1 / -1;}
.thpx__content[data-view='expanded'] .thpx__ev--lead .thpx__evImg{aspect-ratio:4/3;}
.thpx__content[data-view='expanded'] .thpx__ev--lead .thpx__evImg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.78));}
.thpx__content[data-view='expanded'] .thpx__ev--lead .thpx__evTitle{position:absolute;left:16px;right:16px;bottom:14px;z-index:1;font-size:17px;color:#fff;}
.thpx__content[data-view='expanded'] .thpx__rowTitle{font-stretch:normal;font-size:clamp(2.25rem,4vw,3.5rem);line-height:.9;letter-spacing:-.02em;text-wrap:balance;}
/* The title link covers the whole card, so anywhere on it opens the cluster; the tiles (same link, kept for their
   hover), the pattern / megatrend links and Read Cluster sit above it. */
.thpx__content[data-view='expanded'] .thpx__rowTitle a::after{content:'';position:absolute;inset:0;}
.thpx__content[data-view='expanded'] .thpx__ev,
.thpx__content[data-view='expanded'] .thpx__taxItem,
.thpx__content[data-view='expanded'] .thpx__read{position:relative;z-index:1;}
.thpx__content[data-view='expanded'] .thpx__rowHook{font-family:'Barlow Display',sans-serif;font-weight:800;font-stretch:condensed;font-size:1.3rem;line-height:1.15;text-transform:uppercase;color:inherit;white-space:normal;overflow:visible;}
.thpx__content[data-view='expanded'] .thpx__score{flex:1;display:flex;align-items:center;padding:14px 16px 10px;font-size:2.75rem;line-height:.82;}
.thpx__content[data-view='expanded'] .thpx__stripCell--sigs{justify-content:space-between;}
.thpx__content[data-view='expanded'] .thpx__spark{height:64px;}
/* Load more — "Showing N of X" (kept current by the inline script) over ksite.js's more / subscribe buttons. */
.thpx__more{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 0 96px;border-top:2px solid var(--tx-ink);}
.thpx__moreCount{font-size:.8125rem;color:var(--tx-muted);}
.thpx .tha__btn--more{width:auto;height:auto;margin:0;padding:0;}
.thpx .tha__btn--subscribeBottom{display:block;width:auto;height:auto;margin:0;padding:12px 24px;border:0;border-radius:2px;background:var(--tx-highlight);color:#000;font-size:.8125rem;font-weight:700;letter-spacing:.05em;text-align:center;text-decoration:none;text-transform:uppercase;cursor:pointer;}
.thpx .tha__btn--subscribeBottom:hover{background:#AEE648;}
/* Category List + Full Index tabs (loadIndexPages, loaded into .thp__indexPages by ksite.js). */
.thpx .thp__indexPage{margin:0;padding:40px 0 96px;background:none;color:var(--tx-ink);}
.thpx .thp__indexPage[data-page='categories']{display:none;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:48px 40px;}
.thpx .thp__indexPage--visible[data-page='categories']{display:grid;}
.thpx .thp__indexCat{width:auto;margin:0;display:flex;flex-direction:column;gap:14px;padding-top:18px;border-top:2px solid var(--tx-ink);}
.thpx__mtCount,
.thpx .thp__indexCount,
.thpx .thp__indexCatChildCnt{flex-shrink:0;margin:0;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-muted);}
.thpx__mtTitle,
.thpx .thp__indexCatLbl{margin:0;font-family:'Barlow Display',sans-serif;font-weight:900;font-stretch:condensed;font-size:2rem;line-height:.95;text-transform:uppercase;}
.thpx .thp__indexCatParent,
.thpx .thp__indexCatLbl a{display:inline;margin:0;font-size:inherit;color:inherit;text-decoration:none;}
.thpx .thp__indexCatParent:hover,
.thpx .thp__indexCatLbl a:hover,
.thpx .thp__indexSecItems .thp__indexItem:hover{color:#000;text-decoration:underline;text-decoration-color:var(--tx-highlight);text-decoration-thickness:2px;text-underline-offset:3px;}
.thpx .thp__indexCatChildren{flex:1;display:flex;flex-direction:column;font-size:.875rem;}
.thpx .thp__indexCatChild{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--tx-line);color:inherit;text-decoration:none;transition:padding .2s ease,background .2s ease;}
.thpx .thp__indexCatChild:hover{padding-left:6px;background:var(--tx-gray-3);text-decoration:none;}
.thpx__mtFoot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px;}
.thpx__mtFoot .tx__btn--round{width:34px;height:34px;}
.thpx__jump{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:56px;}
.thpx__jump .thpx__lbl{align-self:center;margin-right:8px;}
.thpx__jumpChip{padding:6px 12px;border-radius:var(--tx-pillradius);box-shadow:inset 0 0 0 1px var(--tx-line-strong);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:inherit;text-decoration:none;}
.thpx__jumpChip:hover{background:var(--tx-highlight);box-shadow:none;}
.thpx .thp__indexPageInner{display:flex;flex-flow:column nowrap;gap:56px;}
.thpx .thp__indexSec{position:relative;width:auto;min-width:0;margin:0;display:flex;flex-direction:column;gap:20px;padding-top:20px;border-top:2px solid var(--tx-ink);scroll-margin-top:140px;}
.thpx .thp__indexSecHead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;}
.thpx .thp__indexSecItems{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px 32px;}
.thpx .thp__indexSecItems--more{display:none;margin-top:-8px;}
.thpx .thp__indexSecChk{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.thpx .thp__indexSecChk:checked ~ .thp__indexSecItems--more{display:grid;}
.thpx .thp__indexSecItems .thp__indexItem{margin:0;font-size:.875rem;line-height:1.35;color:var(--tx-ink-2);text-decoration:none;}
.thpx .thp__indexSecMore{align-self:flex-start;display:flex;align-items:center;gap:8px;padding-bottom:3px;border-bottom:2px solid var(--tx-highlight);font-size:.8125rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;}
.thpx .thp__indexSecMoreLbl::after{content:'Show all ' attr(data-cnt);}
.thpx .thp__indexSecMoreIcon::after{content:'\2193';}
.thpx .thp__indexSecChk:checked ~ .thp__indexSecMore .thp__indexSecMoreLbl::after{content:'Show less';}
.thpx .thp__indexSecChk:checked ~ .thp__indexSecMore .thp__indexSecMoreIcon::after{content:'\2191';}
/* FAQ (/pro) — the visible copy of the FAQPage schema. */
.thpx__faq{padding:0 0 96px;color:var(--tx-ink);}
.thpx__faq .thpx__secHeadMain{margin-bottom:40px;}
.thpx__faqGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(440px,calc(50% - 28px))),1fr));gap:0 56px;}
.thpx__faqItem{padding:24px 0 28px;border-top:2px solid var(--tx-ink);}
.thpx__faqQ{margin:0 0 10px;font-family:'Barlow Display',sans-serif;font-weight:800;font-stretch:condensed;font-size:1.5rem;line-height:1.1;text-transform:uppercase;}
.thpx__faqA{max-width:60ch;margin:0;font-size:1rem;line-height:1.65;color:var(--tx-ink-2);}
/* Report band (getTrendReportCta), copied from the trend cluster page's .tcm__cta; closes the page in both views. */
.thpx__banner{padding:clamp(56px,7vw,88px) 0;background:var(--tx-dark);color:#fff;}
.thpx__bannerGrid{display:grid;grid-template-columns:minmax(0,1fr) 40%;gap:40px;align-items:center;}
.thpx__bannerText{min-width:0;}
.thpx__bannerHead{margin:0 0 18px;font-family:'Barlow Display',sans-serif;font-weight:900;font-stretch:condensed;font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1;letter-spacing:-.01em;text-transform:uppercase;color:#fff;}
.thpx__bannerCopy{max-width:52ch;margin:0;font-size:clamp(1.06rem,1.5vw,1.25rem);line-height:1.55;color:rgba(255,255,255,.86);text-wrap:pretty;}
.thpx__bannerAct{margin:28px 0 0;}
.thpx__bannerMedia{display:flex;justify-content:center;margin:-40px 0;}
.thpx__bannerImg{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;}
.thpx__articleSec{padding:96px 0;border-bottom:1px solid var(--tx-line);}
/* Megatrend report (getMegatrendTop / getReportParts): a sticky contents list beside the report column, which holds
   the editorial header (kicker, title, dek, byline), the lead image, then the body, collapsed to a teaser until the
   toggle is checked. --thpx-accent (the pattern colour) dots the contents; --thpx-num numbers the section heads. Both
   are set inline on the section. */
.thpx__reportInner{display:flex;flex-wrap:wrap;gap:40px 72px;align-items:flex-start;}
.thpx__toc{flex:1 1 240px;max-width:300px;position:sticky;top:120px;display:flex;flex-direction:column;gap:14px;}
.thpx__tocList{list-style:none;margin:0;padding:0;border-top:2px solid var(--tx-ink);}
.thpx__tocList li{border-bottom:1px solid var(--tx-line);}
.thpx__tocList a{display:flex;gap:12px;padding:12px 0;font-size:.875rem;font-weight:700;line-height:1.3;color:var(--tx-ink);text-decoration:none;}
.thpx__tocList a::before{content:'';flex:0 0 6px;height:6px;margin-top:6px;border-radius:50%;background:var(--thpx-accent);}
.thpx__report{flex:999 1 520px;min-width:0;max-width:780px;}
.thpx__articleSec .txl__label{margin-bottom:20px;}
.thpx__articleSec .txl__labelPart--pill,
.thpx__content[data-view='expanded'] .txl__labelPart--pill{background:var(--tx-ink);color:#fff;}
.thpx__reportHead{margin-bottom:40px;}
.thpx__reportTitle{font-family:'Barlow Display',sans-serif;font-weight:900;font-stretch:condensed;text-transform:uppercase;font-size:clamp(2.6rem,5vw,4.25rem);line-height:0.92;letter-spacing:-0.01em;text-wrap:balance;margin:0 0 18px;}
.thpx__reportDek{font-size:1.375rem;line-height:1.45;color:var(--tx-ink-2);margin:0 0 28px;}
.thpx__reportHero{margin:0 0 48px;}
.thpx__reportHero img{display:block;width:100%;height:auto;max-height:460px;object-fit:cover;border-radius:4px;background:var(--tx-gray);}
.thpx__reportHero figcaption{margin-top:10px;font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--tx-muted);}
.thpx__articleChk{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.thpx__article{counter-reset:thpxSec;position:relative;max-height:560px;overflow:hidden;font-size:1.125rem;line-height:1.75;color:#16181c;}
.thpx__article::after{content:'';position:absolute;left:0;right:0;bottom:0;height:220px;background:linear-gradient(to bottom,rgba(255,255,255,0),var(--tx-light));pointer-events:none;}
.thpx__articleChk:checked ~ .thpx__article{max-height:none;}
.thpx__articleChk:checked ~ .thpx__article::after{content:none;}
.thpx__articleMore{display:flex;width:fit-content;margin:28px 0 0;cursor:pointer;}
.thpx__articleMoreLbl::after{content:'Read the Full Report';}
.thpx__articleMoreIcon::after{content:'\2193';}
.thpx__articleChk:checked ~ .thpx__articleMore .thpx__articleMoreLbl::after{content:'Collapse Report';}
.thpx__articleChk:checked ~ .thpx__articleMore .thpx__articleMoreIcon::after{content:'\2191';}
.thpx__article p{margin:0 0 22px;}
.thpx__article > p:first-of-type{font-size:1.3125rem;line-height:1.6;color:#0B0B0B;margin:0 0 8px;}
.thpx__article img{display:block;width:100%;height:auto;margin:40px 0 0;border-radius:4px;background:var(--tx-gray);}
.thpx__article small{display:block;margin:10px 0 36px;font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--tx-muted);}
.thpx__article h2{font-family:'Barlow Display',sans-serif;font-weight:900;font-stretch:condensed;text-transform:uppercase;font-size:2rem;line-height:1;margin:48px 0 16px;}
.thpx__article h3{counter-increment:thpxSec;font-family:'Barlow Display',sans-serif;font-weight:800;font-stretch:condensed;font-size:1.875rem;line-height:1.05;margin:44px 0 16px;padding-top:24px;border-top:1px solid var(--tx-line-strong);scroll-margin-top:120px;}
.thpx__article > h3:first-child{margin-top:0;padding-top:0;border-top:0;}
.thpx__article h3::before{content:counter(thpxSec,decimal-leading-zero);display:block;font-weight:900;font-size:15px;letter-spacing:0.06em;color:var(--thpx-num);margin-bottom:8px;}
.thpx__article a{color:inherit;text-decoration-color:var(--thpx-accent);text-underline-offset:3px;}
.thpx__article .thpx__takeaway{margin:40px 0 0;padding:24px 28px;background:var(--tx-gray-3);border-left:4px solid var(--thpx-accent);border-radius:0 4px 4px 0;font-size:1.0625rem;line-height:1.65;}
/* Megatrend report byline (getArticleByline). Ported from the .tha--rd copy in macrotrend-article.php
   and rescoped to this section. --tx-hl/--tx-muted are declared here because common/txl.css doesn't
   define them — the article pages set them on their own .tha--rd root. */
.thpx__articleSec{--tx-hl:#C0FB50;--tx-muted:#6b7178;}
.thpx__articleSec .tha__byline{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid #d8d8da;border-bottom:1px solid #d8d8da;padding:14px 0;margin:0;}
.thpx__articleSec .tha__bylineAv{width:46px;height:46px;border-radius:50%;background:var(--tx-dark);color:var(--tx-hl);font-family:'Barlow Display',sans-serif;font-weight:900;display:flex;align-items:center;justify-content:center;font-size:0.9rem;flex:0 0 auto;overflow:hidden;}
.thpx__articleSec .tha__bylineAv--photo{background:var(--tx-gray);}
.thpx__articleSec .tha__bylineAvImg{width:100%;height:100%;object-fit:cover;display:block;object-position:top;}
.thpx__articleSec .tha__bylineAvs{display:flex;align-items:center;flex:0 0 auto;}
.thpx__articleSec .tha__bylineAvs .tha__bylineAv{box-shadow:0 0 0 2px var(--tx-light);}
.thpx__articleSec .tha__bylineAvs .tha__bylineAv + .tha__bylineAv{margin-left:-12px;}
.thpx__articleSec .tha__bylineWho{flex:1;min-width:150px;}
.thpx__articleSec .tha__bylineBy{font-weight:700;font-size:0.92rem;color:#16181c;}
.thpx__articleSec .tha__bylineBy a{color:#000;border-bottom:2px solid var(--tx-hl);text-decoration:none;}
.thpx__articleSec .tha__bylineRole{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--tx-muted);margin-top:3px;}
.thpx__articleSec .tha__bylineRole a{color:inherit;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;}
.thpx__articleSec .tha__bylineMeta{display:flex;gap:26px;flex-wrap:wrap;}
.thpx__articleSec .tha__bylineCol{display:flex;flex-direction:column;gap:3px;}
.thpx__articleSec .tha__bylineK{font-size:0.62rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--tx-muted);}
.thpx__articleSec .tha__bylineV{font-size:0.82rem;font-weight:700;color:#16181c;}
.thpx__articleSec .tha__bylineV a{color:#000;border-bottom:2px solid var(--tx-hl);text-decoration:none;}

/* the hero columns (440 + 480 + 40 gap) wrap once secInner's 80px of gutters no longer clear them: the stage drops
   under the copy, so the mask fades from top to bottom instead, full from 3/4 of the way up the stage. */
@media(max-width:1040px){
	.thpx__heroCanvas{mask-image:linear-gradient(to bottom,transparent,#000 56px,#000 calc(100% - 48px),transparent),linear-gradient(to top,#000 calc(48px + clamp(360px,44vw,600px) * .75),rgba(0,0,0,.15) calc(88px + clamp(360px,44vw,600px)));-webkit-mask-image:linear-gradient(to bottom,transparent,#000 56px,#000 calc(100% - 48px),transparent),linear-gradient(to top,#000 calc(48px + clamp(360px,44vw,600px) * .75),rgba(0,0,0,.15) calc(88px + clamp(360px,44vw,600px)));}
}

/* the report's contents (240) and body (520) columns plus their 72px gap wrap once secInner's 80px of gutters no longer
   clear them: the contents sit above the report, full width, and stop sticking so they can't ride over it. */
@media(max-width:911px){
	.thpx__toc{position:static;flex-basis:100%;max-width:none;}
}

@media(max-width:900px){
	.thpx__bannerGrid{grid-template-columns:minmax(0,1fr);}
	.thpx__bannerMedia{display:none;}
}

/* the report column caps at 760px, so the byline only gets cramped once the viewport stops clearing
   that plus the secInner gutters. */
@media(max-width:820px){
	.thpx__articleSec .tha__bylineMeta{gap:18px;}
}

@media(max-width:767px){
	.thpx__hero{padding-top:32px;}
	.thpx__heroCanvas{top:-32px;height:calc(100% + 64px);mask-image:linear-gradient(to bottom,transparent,#000 32px,#000 calc(100% - 32px),transparent),linear-gradient(to top,#000 calc(32px + clamp(360px,44vw,600px) * .75),rgba(0,0,0,.15) calc(72px + clamp(360px,44vw,600px)));-webkit-mask-image:linear-gradient(to bottom,transparent,#000 32px,#000 calc(100% - 32px),transparent),linear-gradient(to top,#000 calc(32px + clamp(360px,44vw,600px) * .75),rgba(0,0,0,.15) calc(72px + clamp(360px,44vw,600px)));}
	.thpx__statsRow{grid-template-columns:minmax(0,1fr);margin-top:32px;}
	.thpx__subNav{margin-top:32px;}
	.thpx__stat{padding:18px 0;border-left:0;border-top:1px solid rgba(255,255,255,.12);}
	.thpx__stat:first-child{border-top:0;}
	.thpx__statNum{font-size:2.5rem;}
	.thpx__qa{padding:56px 0 64px;}
	.thpx__explore{padding:64px 0;}
	.thpx__patTabs{flex-basis:100%;max-width:none;flex-direction:row;overflow-x:auto;padding-top:0;}
	.thpx__patTab{width:auto;flex-shrink:0;border-left:0;border-bottom:3px solid transparent;}
	.thpx__patTab[aria-selected='true']{border-bottom-color:var(--thpx-accent);}
	.thpx__patTabCnt{display:none;}
	.thpx__patPanels{padding:28px 0 0;}
	.thpx__bar{padding:32px 0 20px;}
	.thpx__content[data-view='expanded'] .thpx__cl{grid-template-columns:minmax(0,1fr);grid-template-rows:none;padding:40px 0;}
	.thpx__content[data-view='expanded'] .thpx__examples,
	.thpx__content[data-view='expanded'] .thpx__read{grid-row:auto;}
	.thpx__strip{grid-template-columns:repeat(2,minmax(0,1fr));}
	.thpx__content[data-view='expanded'] .thpx__stripCell--sigs{grid-column:1 / -1;}
	.thpx__more{padding-bottom:64px;}
	.thpx .thp__indexPage{padding:32px 0 64px;}
	.thpx__jump{margin-bottom:40px;}
	.thpx .thp__indexPageInner{gap:40px;}
	.thpx__faq{padding-bottom:64px;}
	.thpx__articleSec{padding:64px 0;}
	.thpx__article{max-height:600px;}
	.thpx__reportDek{font-size:1.125rem;margin-bottom:24px;}
	.thpx__reportHead{margin-bottom:32px;}
	.thpx__reportHero{margin-bottom:40px;}
	.thpx__article{font-size:1.0625rem;}
	.thpx__article > p:first-of-type{font-size:1.1875rem;}
	.thpx__article h3{font-size:1.5rem;}
	/* byline: avatar + author on row 1; the meta drops to a compact line below with the labels hidden
	   and values dot-separated. */
	.thpx__articleSec .tha__byline{align-items:center;column-gap:10px;row-gap:10px;}
	.thpx__articleSec .tha__bylineAv{order:0;align-self:center;width:40px;height:40px;}
	.thpx__articleSec .tha__bylineAvs{order:0;align-self:center;}
	.thpx__articleSec .tha__bylineAvs .tha__bylineAv + .tha__bylineAv{margin-left:-10px;}
	.thpx__articleSec .tha__bylineWho{order:1;flex:0 1 auto;min-width:0;}
	.thpx__articleSec .tha__bylineBy{white-space:nowrap;}
	.thpx__articleSec .tha__bylineBy--multi{white-space:normal;}
	.thpx__articleSec .tha__bylineMeta{order:3;flex-basis:100%;display:block;font-size:0.78rem;}
	.thpx__articleSec .tha__bylineK{display:none;}
	.thpx__articleSec .tha__bylineCol{display:inline;}
	.thpx__articleSec .tha__bylineCol + .tha__bylineCol::before{content:'\00b7';margin:0 8px;color:#9aa0a6;}
}

@media(max-width:600px){
	.thpx__banner{padding:clamp(36px,9vw,56px) 0;}
	.thpx__bannerHead{font-size:clamp(1.7rem,7.5vw,2.2rem);}
}
