/* Gridcog technology pages (/technologies/*). Extends th-hub-v2.css (the /technologies hub) on the [Marketing] Gridcog Design System. Scoped to .th */
.th dl,.th dt,.th dd{margin:0;padding:0}
.th .ts-sec{padding:clamp(64px,7vw,104px) 0;background:#FFFFFF}
.th .ts-grey{background:#F1F0F4}
.th .ts-stack{display:flex;flex-direction:column;gap:clamp(32px,3.4vw,48px)}
.th .ts-row{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:20px clamp(32px,5vw,80px);align-items:start}
.th .ts-rowh{display:flex;flex-direction:column;gap:24px;min-width:0}
.th .ts-prose{display:flex;flex-direction:column;gap:16px;min-width:0;max-width:760px;font-size:17px;line-height:1.65}
.th .ts-prose .ts-lede{font-size:19px;line-height:1.6}
.th .ts-prose a,.th .ts-cardt a,.th .ts-tbl a,.th .ts-kpt a,.th .th-faqa a,.th .ts-kv a{color:#8D2EFF;font-weight:700;text-decoration:none}
.th .ts-prose a:hover,.th .ts-cardt a:hover,.th .ts-tbl a:hover,.th .ts-kpt a:hover,.th .th-faqa a:hover{text-decoration:underline}
.th .ts-more{padding-top:4px;font-size:16px}
.th .ts-mores{display:flex;flex-direction:column;gap:10px}
.th .ts-list{display:flex;flex-direction:column;gap:10px}
.th .ts-list li{position:relative;padding-left:24px}
.th .ts-list li::before{content:"";position:absolute;left:3px;top:.6em;width:8px;height:8px;border-radius:50%;background:#8D2EFF}
.th .ts-tblblock{display:flex;flex-direction:column;gap:20px}
.th .ts-after{margin-top:-12px}
/* hero */
.th .ts-herocopy{display:flex;flex-direction:column;gap:24px;min-width:0}
.th .ts-crumbs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:#FFFFFF}
.th .ts-crumbs li[aria-current]{font-weight:700}
.th .ts-stand{max-width:660px;font-size:clamp(17px,1.3vw,19px);line-height:1.6;color:#FFFFFF}
.th .ts-btns{display:flex;flex-wrap:wrap;gap:12px;padding-top:4px}
.th .th-find .th-findrow{min-height:48px}
/* key points */
.th .ts-kpsec{padding:clamp(48px,6vw,88px) 0;background:#FFFFFF}
.th .ts-kp{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.th .ts-kpi{display:flex;flex-direction:column;gap:22px;padding-left:28px;border-left:4px solid #8D2EFF}
.th .ts-kpt{font-size:18px;line-height:1.55;font-weight:500;color:#1F1F23}
.th .ts-src{display:flex;align-items:center;gap:12px;margin-top:auto;font-size:14px;line-height:1.4;color:#6C6C75}
.th .ts-src img{flex:0 0 auto;width:40px;height:40px;border-radius:50%;object-fit:cover;background:#F1F0F4}
.th .ts-src a{color:#1F1F23;font-weight:600;text-decoration:none;border-bottom:1px solid #B9A2FF}
.th .ts-src a:hover{border-bottom-color:#8D2EFF;color:#8D2EFF}
/* section bar */
.th .ts-barin{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.th .ts-barcta{display:inline-flex;flex:0 0 auto}
/* tables */
.th .ts-tbl{border:1px solid #E5E6E8;border-radius:24px;overflow:hidden;overflow-x:auto;background:#FFFFFF}
.th .ts-tbl table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5;color:#1F1F23}
.th .ts-tbl th{background:#F1F0F4;text-align:left;font-size:14px;font-weight:700;line-height:1.4;padding:16px 22px;vertical-align:bottom}
.th .ts-grey .ts-tbl th{background:#E9E7EE}
.th .ts-tbl td{padding:16px 22px;border-top:1px solid #E5E6E8;vertical-align:top}
.th .ts-tbl td:first-child{font-weight:700}
.th .ts-tbl .ts-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.th .ts-tbl th.ts-num{white-space:normal}
.th .ts-tbl-sm table{font-size:15px}
.th .ts-tbl-sm th,.th .ts-tbl-sm td{padding:12px 16px}
/* cards */
.th .ts-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.th .ts-cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.th .ts-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:28px 28px 30px;border:1px solid #E5E6E8;border-radius:32px;background:#FFFFFF}
.th .ts-card h3{font-size:20px;line-height:1.35;font-weight:600;letter-spacing:-.01em;color:#1F1F23}
.th .ts-cardt{font-size:16px;line-height:1.6;color:#1F1F23}
.th .ts-cardfoot{margin-top:auto;padding-top:8px;display:flex;flex-direction:column;gap:16px;width:100%}
.th .ts-cardlinks{display:flex;flex-direction:column;gap:8px;font-size:16px}
/* people */
.th .ts-person{display:flex;align-items:center;gap:14px}
.th .ts-person img{flex:0 0 auto;width:56px;height:56px;border-radius:50%;object-fit:cover;background:#F1F0F4}
.th .ts-person-sm img{width:44px;height:44px}
.th .ts-pn{font-size:16px;font-weight:700;line-height:1.3;color:#1F1F23}
.th .ts-pr{font-size:14px;line-height:1.4;color:#6C6C75}
/* worked example */
.th .ts-wx{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);border:1px solid #E5E6E8;border-radius:32px;overflow:hidden;background:#FFFFFF}
.th .ts-wx-solo{grid-template-columns:minmax(0,1fr)}
.th .ts-wxb{display:flex;flex-direction:column;gap:22px;padding:clamp(28px,3.4vw,52px);min-width:0}
.th .ts-wxfoot{margin-top:auto;padding-top:8px;display:flex;flex-direction:column;gap:18px}
.th .ts-wxp{background:#1F1F23;color:#FFFFFF;padding:clamp(28px,3.4vw,52px);display:flex;flex-direction:column;gap:12px;min-width:0}
.th .ts-wxcap{font-size:20px;font-weight:600;line-height:1.35;color:#FFFFFF}
.th .ts-wxsub{font-size:14px;line-height:1.4;color:#E5E6E8}
.th .ts-kv{display:flex;flex-direction:column;margin-top:10px}
.th .ts-kv>div{padding:16px 0;border-top:1px solid #4E4E58}
.th .ts-kv dt{margin-bottom:6px;font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:#76F5D8}
.th .ts-kv dd{font-size:16px;line-height:1.55;color:#FFFFFF}
.th .ts-kv .ts-kvn{display:flex;align-items:baseline;justify-content:space-between;gap:20px}
.th .ts-kv .ts-kvn dt{margin:0;font-size:15px;font-weight:500;letter-spacing:0;text-transform:none;line-height:1.45;color:#FFFFFF}
.th .ts-kv .ts-kvn dd{flex:0 0 auto;font-size:26px;font-weight:600;line-height:1.1;color:#76F5D8;font-variant-numeric:tabular-nums}
.th .ts-kv a{color:#76F5D8}
.th .ts-helpt{flex:1 1 520px;font-size:clamp(18px,1.6vw,22px);font-weight:600;line-height:1.45;color:#FFFFFF}
/* case studies */
.th .ts-cardin{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:26px 28px 30px;flex:1 1 auto}
.th .ts-cardlink{margin-top:auto;padding-top:6px;font-size:16px}
.th .th-cases .th-card>img{height:auto}
.th .ts-cases-1{grid-template-columns:minmax(0,1fr)}
.th .ts-cases-1 .th-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.th .ts-cases-1 .th-card>img{height:100%;aspect-ratio:auto;min-height:320px}
.th .ts-cases-1 .ts-cardin{padding:clamp(28px,3.4vw,48px)}
.th .ts-cases-2{grid-template-columns:repeat(2,minmax(0,1fr))}
/* videos */
.th .ts-vids{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.th .ts-vid{display:flex;flex-direction:column;gap:12px;min-width:0}
.th .ts-vfr{border-radius:24px;overflow:hidden;background:#1F1F23;margin-bottom:6px}
.th .ts-vh{font-size:20px;line-height:1.35;font-weight:600;letter-spacing:-.01em;color:#1F1F23}
/* industries */
.th .ts-pills{display:flex;flex-wrap:wrap;gap:12px}
.th .ts-pill{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;border:1px solid #1F1F23;background:#FFFFFF;color:#1F1F23;font-size:16px;font-weight:600;line-height:1.3;text-decoration:none}
.th a.ts-pill:hover{background:#1F1F23;color:#FFFFFF;text-decoration:none}
.th a.ts-pill:hover .th-arr{transform:translateX(3px)}
.th .ts-pill-off{border-color:#D5D4DA;color:#6C6C75}
/* FAQs */
.th .ts-sec .th-faqgrid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:20px clamp(32px,5vw,80px)}
.th .ts-faql{display:flex;flex-direction:column}
.th .ts-faqi{border-bottom:1px solid #E5E6E8}
.th .ts-faqh{margin:0}
.th .ts-grey .ts-faqi{border-bottom-color:#D5D4DA}
.th .ts-grey .th-faqic{background:#FFFFFF}
/* related */
.th .ts-relsec{border-top:1px solid #E5E6E8}
.th .ts-relblock{display:flex;flex-direction:column;gap:24px}
.th .ts-rt{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:16px}
.th .ts-rtc{display:flex;align-items:center;gap:14px;height:100%;min-height:80px;padding:18px 22px;border-radius:24px;background:#F1F0F4;color:#1F1F23;font-size:17px;font-weight:600;line-height:1.35;text-decoration:none}
.th .ts-rtc:hover{background:#E5E6E8;color:#1F1F23;text-decoration:none}
.th .ts-rtc .th-sw{flex:0 0 auto}
.th .ts-rtc .th-arr{margin-left:auto;padding-left:8px}
.th .ts-rtc:hover .th-arr{transform:translateX(3px)}
.th .ts-rtc-all{background:#1F1F23;color:#FFFFFF}
.th .ts-rtc-all:hover{background:#4E4E58;color:#FFFFFF}
@media (max-width:1180px){
.th .ts-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.th .ts-wx{grid-template-columns:minmax(0,1fr)}
.th .ts-kp{gap:24px}
.th .ts-kpi{padding-left:22px}
}
@media (max-width:980px){
.th .ts-row,.th .ts-sec .th-faqgrid{grid-template-columns:minmax(0,1fr)}
.th .ts-row>div:empty{display:none}
.th .ts-cases-1 .th-card{grid-template-columns:minmax(0,1fr)}
.th .ts-cases-1 .th-card>img{height:auto;aspect-ratio:16/10;min-height:0}
.th .ts-vids{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(280px,78%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.th .ts-vid{scroll-snap-align:start}
}
@media (max-width:760px){
.th .ts-kp{grid-template-columns:minmax(0,1fr)}
.th .ts-cards,.th .ts-cards-2,.th .ts-cases-2{grid-template-columns:minmax(0,1fr)}
.th .ts-prose{font-size:16px}
.th .ts-prose .ts-lede{font-size:18px}
.th .ts-kpt{font-size:17px}
.th .ts-tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.th .ts-tbl table,.th .ts-tbl tbody,.th .ts-tbl tr,.th .ts-tbl td{display:block;width:100%}
.th .ts-tbl tr{padding:16px 18px;border-top:1px solid #E5E6E8}
.th .ts-tbl tr:first-child{border-top:0}
.th .ts-tbl td{border:0;padding:3px 0}
.th .ts-tbl td:first-child{padding-bottom:6px;font-size:17px}
.th .ts-tbl td+td::before{content:attr(data-label);display:block;font-size:13px;font-weight:700;line-height:1.4;color:#6C6C75}
.th .ts-tbl .ts-num{text-align:left;white-space:normal}
.th .ts-kv .ts-kvn{flex-direction:column;gap:6px}
.th .th-help .th-btn{white-space:normal;text-align:left}
.th .ts-card{padding:24px 22px 26px;border-radius:24px}
.th .ts-wx{border-radius:24px}
}
