/* ds.css · Get Thrivin design system components (generated from the handover prototype site.css, 5 Nov 2026).
   Every value comes from tokens.css. Every selector is scoped under .th so the components cannot leak into pages that
   still run the previous theme CSS; the shared chrome (nav, menu sheet, closing, footer) and every rebuilt page sit inside a .th wrapper.
   Component names match Figma. Load order: tokens.css, legacy-aliases.css, style.css, ds.css. */

/* ---------- WordPress integration ---------- */
html{scroll-padding-top:80px}
.th{isolation:auto}
.th-chrome{position:relative;z-index:50}
/* nav text: ink over light heroes, paper over photo heroes and once solid */
.th .nav[data-surface="light"]:not(.is-solid){color:var(--th-color-text-primary)}
.th .nav.is-solid{--th-color-text-accent:var(--th-accent-300);--th-color-text-primary:var(--th-neutral-25);--th-color-text-secondary:var(--th-paper-alpha-80);--th-color-bg-hover:var(--th-paper-alpha-8);--th-color-border-subtle:var(--th-paper-alpha-12);color:var(--th-neutral-25)}
/* pages without a photo hero (every page not yet rebuilt): the bar starts solid and the page starts under it */
body.th-no-hero main{padding-top:var(--th-layout-nav-height)}
body.th-no-hero .th .nav{height:var(--th-layout-nav-height)}
/* rebuilt page content lives in one group block */
.th-page{display:block}
.th-page>.wp-block-group__inner-container,.th-page .wp-block-html{display:contents}
.th .photo figcaption,.th .wp-element-caption{margin:0}
.th .video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.th .photo video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.th .video__msg{display:none!important}
/* the outsourcing form is a WPForms form rendered on the dark ground */
.th .form .wpforms-container{margin:0}
.th .form .wpforms-field{padding:0 0 20px}
.th .form .wpforms-field-label{font-size:var(--th-type-nav-size);line-height:20px;font-weight:500;margin:0 0 8px;color:var(--th-color-text-primary)}
.th .form input[type="text"],.th .form input[type="email"],.th .form input[type="tel"],.th .form textarea,.th .form select{width:100%!important;max-width:none!important;height:var(--th-size-control);padding:0 16px;border-radius:var(--th-radius-md);border:1px solid var(--th-color-border-control)!important;background:var(--th-color-bg-surface)!important;color:var(--th-color-text-primary)!important;font:inherit;font-size:var(--th-type-body-size);box-shadow:none}
.th .form textarea{height:120px;padding:12px 16px}
.th .form input::placeholder,.th .form textarea::placeholder{color:var(--th-color-text-muted)}
.th .form input:focus,.th .form textarea:focus{outline:none;border-color:var(--th-color-border-focus)!important;box-shadow:0 0 0 1px var(--th-color-border-focus)}
.th .form .wpforms-submit,.th .form button[type="submit"]{display:inline-flex;align-items:center;justify-content:center;width:100%;height:var(--th-size-control);padding:0 24px;border-radius:var(--th-radius-md);border:1px solid transparent;background:var(--th-color-bg-accent)!important;color:var(--th-color-text-on-accent)!important;font-size:var(--th-type-button-size);line-height:var(--th-type-button-line-height);font-weight:600;cursor:pointer;transition:background var(--th-motion-duration-fast) var(--th-motion-ease-standard),box-shadow var(--th-motion-duration-fast) var(--th-motion-ease-standard)}
.th .form .wpforms-submit:hover{background:var(--th-color-bg-accent-hover)!important;box-shadow:var(--th-glow-button-hover)}
.th .form .wpforms-sublabel-hide{display:none}
.th .form .wpforms-field-sublabel{color:var(--th-color-text-muted);font-size:var(--th-type-caption-size)}
.th .form .wpforms-error{color:var(--th-color-text-error)}
.th .form .wpforms-confirmation-container-full{background:transparent;border:0;padding:0;color:var(--th-color-text-primary)}
/* one hairline between the closing band and the footer, both on the same ground (Figma Closing CTA + Footer) */
.th .footer{background:var(--th-color-bg-page)}

/* ---------- Components (scoped prototype rules) ---------- */
.th *,.th *::before,.th *::after{box-sizing:border-box}
.th{color:var(--th-color-text-primary);font-family:var(--th-type-family);font-size:var(--th-type-body-size);line-height:var(--th-type-body-line-height);-webkit-font-smoothing:antialiased}
.th img{display:block;max-width:100%}
.th a{color:inherit}
.th p,.th h1,.th h2,.th h3,.th h4,.th ul,.th ol,.th figure,.th blockquote,.th dl,.th dd{margin:0}
.th ul,.th ol{padding:0;list-style:none}
.th button{font:inherit;color:inherit}
.th :focus-visible{outline:2px solid var(--th-color-border-focus);outline-offset:3px}
.th .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.th .nb{white-space:nowrap}
.th [data-ground="dark"]{background:var(--th-color-bg-page);color:var(--th-color-text-primary)}
.th .nav[data-ground],.th .menu[data-ground]{background:transparent}
.th .wrap{width:min(100% - 2*var(--th-layout-page-gutter), var(--th-layout-content-max));margin-inline:auto;position:relative}
.th .section{padding-block:var(--th-layout-section-y);position:relative}
.th .section--recessed{background:var(--th-color-bg-recessed)}
.th .band{padding-block:var(--th-layout-band-y);position:relative;overflow:clip}
.th .stack>*+*{margin-top:var(--th-stack-body-to-content)}
.th .measure{max-width:var(--th-layout-measure)}
.th .cols{display:grid;gap:var(--th-layout-card-gap)}
.th .cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.th .cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.th .cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.th .split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--th-space-56);align-items:center}
@media (max-width:1279px){.th .split{gap:var(--th-layout-grid-gutter)}}
@media (max-width:1023px){.th .cols-3,.th .cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.th .split{grid-template-columns:1fr}}
@media (max-width:599px){.th .cols-2,.th .cols-3,.th .cols-4{grid-template-columns:1fr}}
.th .t-display{font-size:var(--th-type-display-size);line-height:var(--th-type-display-line-height);letter-spacing:var(--th-type-display-tracking);font-weight:400}
.th .t-h1{font-size:var(--th-type-h1-size);line-height:var(--th-type-h1-line-height);letter-spacing:var(--th-type-h1-tracking);font-weight:400}
.th .t-h2{font-size:var(--th-type-h2-size);line-height:var(--th-type-h2-line-height);letter-spacing:var(--th-type-h2-tracking);font-weight:400;max-width:var(--th-layout-measure-wide)}
.th .t-h2c{font-size:var(--th-type-h2-compact-size);line-height:var(--th-type-h2-compact-line-height);letter-spacing:var(--th-type-h2-compact-tracking);font-weight:400}
.th .t-h3{font-size:var(--th-type-h3-size);line-height:var(--th-type-h3-line-height);font-weight:400}
.th .t-stat{font-size:var(--th-type-stat-size);line-height:var(--th-type-stat-line-height);letter-spacing:var(--th-type-stat-tracking);font-weight:400}
.th .t-num-l{font-size:var(--th-type-numeral-l-size);line-height:var(--th-type-numeral-l-line-height);letter-spacing:var(--th-type-numeral-l-tracking);font-weight:400}
.th .t-num-s{font-size:var(--th-type-numeral-s-size);line-height:var(--th-type-numeral-s-line-height);font-weight:600}
.th .t-title-l{font-size:var(--th-type-title-l-size);line-height:var(--th-type-title-l-line-height);font-weight:600}
.th .t-title-m{font-size:var(--th-type-title-m-size);line-height:var(--th-type-title-m-line-height);font-weight:600}
.th .t-title-s{font-size:var(--th-type-title-s-size);line-height:var(--th-type-title-s-line-height);font-weight:600}
.th .t-lead{font-size:var(--th-type-lead-size);line-height:var(--th-type-lead-line-height);color:var(--th-color-text-secondary)}
.th .t-body{font-size:var(--th-type-body-size);line-height:var(--th-type-body-line-height);color:var(--th-color-text-secondary)}
.th .t-compact{font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);color:var(--th-color-text-secondary)}
.th .t-ui{font-size:var(--th-type-ui-size);line-height:var(--th-type-ui-line-height)}
.th .t-pull{font-size:var(--th-type-prose-h3-size);line-height:var(--th-type-prose-h3-line-height);font-weight:600;max-width:var(--th-layout-measure-wide)}
.th .t-btn{font-size:var(--th-type-button-size);line-height:var(--th-type-button-line-height);font-weight:600}
.th .t-caption{font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);letter-spacing:var(--th-type-caption-tracking);font-weight:500;color:var(--th-color-text-muted)}
.th .t-legal{font-size:var(--th-type-legal-size);line-height:var(--th-type-legal-line-height);color:var(--th-color-text-muted)}
.th .t-label{font-size:var(--th-type-label-size);line-height:var(--th-type-label-line-height);letter-spacing:var(--th-type-label-tracking);font-weight:600;text-transform:uppercase;color:var(--th-color-text-tertiary)}
.th .ac{color:var(--th-color-text-accent-display);font-weight:600}
.th .t-lead .ac,.th .t-body .ac,.th .t-compact .ac{color:var(--th-color-text-accent)}
.th [data-ground="dark"] .t-lead .ac,.th [data-ground="dark"] .t-body .ac{color:var(--th-color-text-accent-display)}
.th b,.th strong{font-weight:600;color:var(--th-color-text-primary)}
.th .ink{color:var(--th-color-text-primary)}
.th .eyebrow{display:flex;align-items:center;gap:12px;font-size:var(--th-type-eyebrow-size);line-height:var(--th-type-eyebrow-line-height);
  letter-spacing:var(--th-type-eyebrow-tracking);font-weight:600;text-transform:uppercase;color:var(--th-color-text-tertiary)}
.th .dots{display:inline-flex;gap:4px;flex:none}
.th .dots i{width:var(--th-size-dot);height:var(--th-size-dot);border-radius:50%;background:var(--th-color-bg-see)}
.th .dots i:nth-child(2){background:var(--th-color-bg-build)}
.th .dots i:nth-child(3){background:var(--th-color-bg-grow)}
.th [data-ground="dark"] .dots i{background:var(--th-color-bg-see-mark)}
.th [data-ground="dark"] .dots i:nth-child(2){background:var(--th-color-bg-build-mark)}
.th [data-ground="dark"] .dots i:nth-child(3){background:var(--th-color-bg-grow-mark)}
.th .sh{border-top:var(--th-stroke-hairline) solid var(--th-color-border-subtle);padding-top:var(--th-stack-rule-to-eyebrow)}
.th .sh--bare{border-top:0;padding-top:0}
.th .sh .eyebrow+*{margin-top:var(--th-stack-eyebrow-to-heading)}
.th .sh .sh__body{margin-top:var(--th-stack-heading-to-body);max-width:var(--th-layout-measure)}
.th .sh .sh__body+.sh__body{margin-top:var(--th-stack-paragraph)}
.th .sh+*{margin-top:var(--th-stack-body-to-content)}
.th .sh .t-h2{max-width:1040px}
.th .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--th-size-control);padding:0 24px;border-radius:var(--th-radius-md);
  border:1px solid transparent;text-decoration:none;font-size:var(--th-type-button-size);line-height:var(--th-type-button-line-height);font-weight:600;cursor:pointer;
  transition:background var(--th-motion-duration-fast) var(--th-motion-ease-standard),border-color var(--th-motion-duration-fast) var(--th-motion-ease-standard),color var(--th-motion-duration-fast) var(--th-motion-ease-standard),box-shadow var(--th-motion-duration-fast) var(--th-motion-ease-standard),transform var(--th-motion-duration-instant) var(--th-motion-ease-standard);white-space:nowrap}
.th .btn svg{width:18px;height:18px;transition:transform 200ms var(--th-motion-ease-out)}
.th .btn:hover svg{transform:translateX(var(--th-motion-distance-nudge))}
.th .btn:active{transform:scale(var(--th-motion-scale-press))}
.th .btn--primary{background:var(--th-color-bg-accent);color:var(--th-color-text-on-accent)}
.th .btn--primary:hover{background:var(--th-color-bg-accent-hover);box-shadow:var(--th-glow-button-hover)}
.th .btn--primary:active{background:var(--th-color-bg-accent-pressed);box-shadow:none}
.th .btn--secondary{background:transparent;border-color:var(--th-color-border-control);color:var(--th-color-text-primary)}
.th .btn--secondary:hover{background:var(--th-color-bg-hover)}
.th .btn--block{width:100%}
.th .btn--sm{height:var(--th-size-control-sm);padding:0 16px}
.th .actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--th-stack-cta-gap) 24px}
.th .link{display:inline-flex;align-items:center;gap:8px;font-size:var(--th-type-button-size);line-height:var(--th-type-button-line-height);font-weight:600;text-decoration:none;color:var(--th-color-text-primary);
  text-decoration-color:transparent;transition:color var(--th-motion-duration-fast) var(--th-motion-ease-standard),text-decoration-color var(--th-motion-duration-fast) var(--th-motion-ease-standard)}
.th .link--accent{color:var(--th-color-text-accent)}
.th [data-ground="dark"] .link--accent{color:var(--th-color-text-accent-display)}
.th .link svg{width:18px;height:18px;transition:transform 200ms var(--th-motion-ease-out)}
.th .link:hover svg{transform:translateX(var(--th-motion-distance-nudge))}
.th .link__t{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:2px;transition:background-size var(--th-motion-duration-base) var(--th-motion-ease-out)}
.th .link:hover .link__t{background-size:100% 1px}
.th .icon{width:var(--th-size-icon-md);height:var(--th-size-icon-md);flex:none}
.th svg.i{fill:none;stroke:currentColor;stroke-width:var(--th-stroke-icon);stroke-linecap:round;stroke-linejoin:round}
.th .nav{position:fixed;inset:0 0 auto;z-index:50;height:var(--th-layout-nav-height-top);color:var(--th-color-text-primary);
  transition:height var(--th-motion-duration-base) var(--th-motion-ease-standard),background var(--th-motion-duration-base) var(--th-motion-ease-standard),border-color var(--th-motion-duration-base)}
.th .nav__in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.th .nav__left{display:flex;align-items:center;gap:clamp(16px,calc(100vw - 1168px),112px);min-width:0}
.th .nav__right{display:flex;align-items:center;gap:16px}
.th .nav__links{display:flex;align-items:center;gap:4px}
.th .nav__links>a,.th .nav__dd{position:relative;display:inline-flex;align-items:center;height:40px;padding:0 12px}
.th .nav__links a{font-size:var(--th-type-nav-size);line-height:var(--th-type-nav-line-height);font-weight:var(--th-type-weight-medium);text-decoration:none;color:var(--th-color-text-secondary);white-space:nowrap}
.th .nav__links a:hover{color:var(--th-color-text-accent)}
.th .nav__links>a[aria-current="page"],.th .nav__dd[aria-current="page"]{color:var(--th-color-text-accent)}
.th .logo{display:block;width:107px;height:33px;color:var(--th-color-text-primary)}
.th .logo svg{width:100%;height:100%}
.th .lang{display:inline-flex;align-items:center;gap:4px;height:40px;padding:0 6px;border:0;background:none;cursor:pointer;color:var(--th-color-text-secondary);font-size:var(--th-type-nav-size);font-weight:var(--th-type-weight-medium)}
.th .lang svg{width:16px;height:16px}
.th .iconbtn{display:inline-grid;place-items:center;width:var(--th-size-touch-min);height:var(--th-size-touch-min);border:0;border-radius:var(--th-radius-md);background:none;cursor:pointer;color:var(--th-color-text-primary)}
.th .iconbtn:hover{background:var(--th-color-bg-hover)}
.th .iconbtn svg{width:24px;height:24px}
.th .nav__menu{display:none}
.th .nav__pulse-m{display:none}
.th .nav.is-solid{height:var(--th-layout-nav-height);background:var(--th-color-bg-nav-glass);-webkit-backdrop-filter:var(--th-blur-nav-glass);backdrop-filter:var(--th-blur-nav-glass);
  border-bottom:var(--th-stroke-hairline) solid var(--th-color-border-subtle)}
@media (max-width:1180px){.th .nav__links,.th .nav .lang{display:none}
.th .nav__menu{display:inline-grid}}
@media (max-width:899px){.th .nav__pulse{display:none}
.th .nav__pulse-m{display:inline-flex;opacity:0;pointer-events:none;transition:opacity var(--th-motion-duration-base) var(--th-motion-ease-standard)}
.th .nav.show-pulse .nav__pulse-m{opacity:1;pointer-events:auto}}
@media (max-width:599px){.th .nav__pulse-m{height:36px;padding:0 12px}
.th .logo{width:88px;height:27px}}
.th .menu{position:fixed;inset:0;z-index:80;visibility:hidden;transition:visibility 0s linear var(--th-motion-duration-base)}
.th .menu.is-open{visibility:visible;transition:none}
.th .menu__bd{position:absolute;inset:0;background:var(--th-ink-alpha-25);-webkit-backdrop-filter:var(--th-blur-backdrop);backdrop-filter:var(--th-blur-backdrop);opacity:0;transition:opacity var(--th-motion-duration-base) var(--th-motion-ease-standard)}
.th .menu.is-open .menu__bd{opacity:1}
.th .menu__sheet{position:absolute;inset:0 0 0 auto;width:min(360px,calc(100% - 56px));display:flex;flex-direction:column;overflow-y:auto;
  background:var(--th-color-bg-nav);box-shadow:var(--th-elevation-3-sheet);transform:translateX(100%);transition:transform var(--th-motion-duration-base) var(--th-motion-ease-in);touch-action:pan-y}
.th .menu.is-open .menu__sheet{transform:none;transition:transform var(--th-motion-duration-slow) var(--th-motion-ease-out)}
.th .menu__top{display:flex;justify-content:space-between;align-items:center;flex:none;height:56px;padding:0 var(--th-space-12) 0 var(--th-space-20)}
.th .menu__lang{display:flex;gap:8px;align-items:center;font-size:var(--th-type-nav-size);line-height:var(--th-type-nav-line-height);font-weight:var(--th-type-weight-regular);color:var(--th-color-text-tertiary)}
.th .menu__lang a{text-decoration:none;color:var(--th-color-text-tertiary);transition:color var(--th-motion-duration-fast) var(--th-motion-ease-standard)}
.th .menu__lang a[aria-current]{color:var(--th-color-text-primary)}
.th .menu__links{display:flex;flex-direction:column;padding:var(--th-space-24) 28px 0}
.th .menu__item{display:block;padding:16px 0;border-bottom:1px solid var(--th-color-border-subtle);text-decoration:none;color:var(--th-color-text-primary)}
.th .menu__subs{display:flex;flex-direction:column;gap:var(--th-space-16);padding:var(--th-space-16) 0 var(--th-space-8) var(--th-space-16)}
.th .menu__subs a{text-decoration:none;color:var(--th-color-text-secondary);transition:color var(--th-motion-duration-fast) var(--th-motion-ease-standard)}
.th .menu__lang a:hover{color:var(--th-color-text-primary)}
.th .menu__item--head{color:var(--th-color-text-primary);cursor:default}
.th .menu__cap{display:flex;align-items:center;gap:8px}
.th .menu__cap svg{width:16px;height:16px;flex:none;color:var(--th-color-icon-secondary)}
.th .menu__item{transition:color var(--th-motion-duration-fast) var(--th-motion-ease-standard)}
.th a.menu__item:hover,.th .menu__subs a:hover{color:var(--th-color-text-accent)}
.th .menu__item[aria-current="page"],.th .menu__subs a[aria-current="page"]{color:var(--th-color-text-accent)}
.th .menu__foot{margin-top:auto;padding:var(--th-space-32) 28px 32px}
.th .menu__foot .btn{width:100%}
.js .th .menu .menu__links>*,.js .th .menu .menu__foot{opacity:0;translate:16px 0;transition:opacity var(--th-motion-duration-fast) var(--th-motion-ease-in),translate var(--th-motion-duration-fast) var(--th-motion-ease-in)}
.js .th .menu.is-open .menu__links>*,.js .th .menu.is-open .menu__foot{opacity:1;translate:none;transition:opacity var(--th-motion-duration-slow) var(--th-motion-ease-out),translate var(--th-motion-duration-slow) var(--th-motion-ease-out);transition-delay:calc(120ms + var(--i,0) * var(--th-motion-stagger-tight))}
@media (prefers-reduced-motion:reduce){.th .menu__sheet,.th .menu.is-open .menu__sheet{transform:none;opacity:0;transition:opacity var(--th-motion-duration-fast) linear}
.th .menu.is-open .menu__sheet{opacity:1}
.js .th .menu .menu__links>*,.js .th .menu .menu__foot{opacity:1;translate:none;transition:none}}
.th .dd{position:relative;display:flex;align-items:center}
.th .nav__dd{display:inline-flex;align-items:center;gap:4px;height:40px;padding:0 12px;border:0;background:none;cursor:pointer;font:inherit;font-size:var(--th-type-nav-size);line-height:var(--th-type-nav-line-height);font-weight:var(--th-type-weight-medium);color:var(--th-color-text-secondary);transition:color var(--th-motion-duration-fast) var(--th-motion-ease-standard)}
.th .nav__dd svg,.th .lang svg:last-child{width:18px;height:18px;transition:rotate var(--th-motion-duration-base) var(--th-motion-ease-standard)}
.th .dd.is-open>.nav__dd{color:var(--th-color-text-accent)}
.th .dd.is-open>.lang{color:var(--th-color-text-primary)}
.th .dd.is-open>button svg:last-child{rotate:180deg}
.th .ddm{position:absolute;top:calc(100% + 8px);left:-12px;z-index:60;width:360px;padding:8px;display:flex;flex-direction:column;border-radius:var(--th-radius-md);
  background:var(--th-color-bg-surface);border:1px solid var(--th-color-border-subtle);box-shadow:var(--th-elevation-1-menu);color:var(--th-color-text-primary);
  visibility:hidden;opacity:0;translate:0 -4px;transition:opacity var(--th-motion-duration-fast) var(--th-motion-ease-in),translate var(--th-motion-duration-fast) var(--th-motion-ease-in),visibility 0s linear var(--th-motion-duration-fast)}
.th .dd.is-open>.ddm{visibility:visible;opacity:1;translate:none;transition:opacity var(--th-motion-duration-base) var(--th-motion-ease-out),translate var(--th-motion-duration-base) var(--th-motion-ease-out),visibility 0s}
.th .dd--end>.ddm{left:auto;right:0;width:200px}
.th .ddm__item{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:var(--th-radius-md);text-decoration:none;color:var(--th-color-text-primary);transition:background var(--th-motion-duration-fast) var(--th-motion-ease-standard)}
.th .nav .ddm__item{color:var(--th-color-text-primary);white-space:normal}
.th .ddm__item .t-compact{color:var(--th-color-text-tertiary)}
.th .ddm__item:hover,.th .ddm__item:focus-visible,.th .ddm__item.is-current{background:var(--th-color-bg-hover);outline:none}
.th .ddm__item:focus-visible{box-shadow:inset 0 0 0 2px var(--th-color-border-focus)}
.th .ddm--lang .ddm__item{flex-direction:row;align-items:center;justify-content:space-between}
.th .ddm--lang .ddm__item svg{width:18px;height:18px;color:var(--th-color-icon-accent)}
.th .ddm__item--parent{margin-top:4px}
.th .t-label-c{font-size:var(--th-type-nav-size);line-height:var(--th-type-nav-line-height);font-weight:var(--th-type-weight-medium)}
.th .ddm__item--child{flex-direction:row;align-items:center;gap:10px;padding:8px 16px}
.th .ddm__item--child svg{width:18px;height:18px;flex:none;color:var(--th-color-icon-secondary);transition:color var(--th-motion-duration-fast) var(--th-motion-ease-standard)}
.th .ddm__item--child:hover svg,.th .ddm__item--child:focus-visible svg{color:var(--th-color-icon-primary)}
.th .ddm__item--child .t-compact{color:var(--th-color-text-secondary);transition:color var(--th-motion-duration-fast) var(--th-motion-ease-standard)}
.th .ddm__item--child:hover .t-compact,.th .ddm__item--child:focus-visible .t-compact{color:var(--th-color-text-primary)}
.th .nav__links a,.th .lang{transition:color var(--th-motion-duration-fast) var(--th-motion-ease-standard)}
.th .nav__dd:hover{color:var(--th-color-text-accent)}
.th .lang:hover{color:var(--th-color-text-primary)}
@media (prefers-reduced-motion:reduce){.th .ddm,.th .dd.is-open>.ddm{translate:none}
.th .nav__dd svg,.th .lang svg{transition:none}}
.th .hh{position:relative;height:clamp(860px,100svh,960px);overflow:clip;background:var(--th-color-bg-page)}
.th .hh__photo{position:absolute;top:0;left:50%;height:142.9%;aspect-ratio:3200/1312;translate:-50% 0;margin:0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--fade,0px),#000 calc(100% - var(--fade,0px)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--fade,0px),#000 calc(100% - var(--fade,0px)),transparent 100%)}
.th .hh__photo img{width:100%;height:100%;object-fit:cover}
.th .hh__haze{display:none;position:absolute;inset:0 0 auto;height:42%;pointer-events:none;
  background:linear-gradient(180deg,rgb(247 247 245/100%) 0,rgb(247 247 245/86%) 18%,rgb(247 247 245/62%) 36%,rgb(247 247 245/36%) 54%,rgb(247 247 245/15%) 72%,rgb(247 247 245/4%) 88%,rgb(247 247 245/0) 100%)}
.th .hh__in{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:40px;padding-top:calc(var(--th-layout-nav-height-top) + var(--th-space-32))}
.th .hh__copy{max-width:900px;min-width:0}
.th .hh__copy .t-display{margin-top:var(--th-space-24)}
.th .hh__copy .t-lead{margin-top:var(--th-space-24);max-width:740px;color:var(--th-color-text-secondary)}
.th .hh__copy .actions{margin-top:var(--th-space-32)}
.th .hh__cardslot{flex:none;width:360px;margin-top:var(--th-space-8)}
.th .hh__rail{display:none}
.th .hh__phonecard{display:none}
.th .only-phone{display:none!important}
@media (max-width:1365px){.th .hh__cardslot{display:none}
.th .hh__rail{display:flex;position:absolute;inset:0 auto 0 50%;translate:-50% 0;width:min(100% - 2*var(--th-layout-page-gutter),var(--th-layout-content-max));z-index:3;flex-direction:column;justify-content:flex-end;padding-bottom:28px;pointer-events:none}
.th .hh__rail .pcs{position:sticky;bottom:28px;pointer-events:auto}}
@media (max-width:899px){.th .hh{height:auto;overflow:visible;display:flex;flex-direction:column}
.th .hh__in{order:1;display:block;padding-bottom:var(--th-space-56)}
.th .hh__photo{order:2;position:relative;left:auto;translate:none;height:auto;width:100%;aspect-ratio:16/9;-webkit-mask-image:none;mask-image:none}
.th .hh__photo img{object-position:51% 50%}
.th .hh__haze{display:block}
.th .hh__rail{display:none}
.th .hh__phonecard{order:3;display:block;position:relative;z-index:2;margin:-32px var(--th-layout-page-gutter) var(--th-space-32);max-width:520px}}
@media (max-width:599px){.th .hh__photo{aspect-ratio:390/293}
.th .hh .actions{flex-direction:column;align-items:stretch}
.th .hh .actions .btn{width:100%}
.th .only-phone{display:inline-flex!important}
.th .not-phone{display:none!important}
.th .hh__phonecard{max-width:none}}
.th .pc{position:relative;display:block;text-decoration:none;color:var(--th-color-text-primary)}
.th .pc__tab{position:relative;z-index:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px 12px;margin-bottom:-8px;border-radius:var(--th-radius-lg) var(--th-radius-lg) 0 0;
  background:var(--th-ground-800);color:var(--th-paper-alpha-80);font-size:var(--th-type-caption-size);line-height:16px;font-weight:500;transition:transform var(--th-motion-duration-base) var(--th-motion-ease-standard)}
.th .pc__tab>.ln:first-child{min-width:0}
.th .pc__tab>.ln:first-child>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.th .pc__free{display:inline-flex;align-items:center;gap:6px;flex:none;font-size:var(--th-type-label-size);letter-spacing:var(--th-type-label-tracking);font-weight:600;text-transform:uppercase;color:var(--th-accent-300)}
.th .pc__free i{position:relative;width:6px;height:6px;border-radius:50%;background:var(--th-accent-300)}
.th .pc__free i::after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:ping 3.4s var(--th-motion-ease-out) infinite}
@keyframes ping{0%{transform:scale(1);opacity:.7}40%,100%{transform:scale(3.2);opacity:0}}
.th .pc__face{position:relative;z-index:1;display:grid;gap:16px;padding:20px;border-radius:var(--th-radius-lg);background:var(--th-color-bg-surface);box-shadow:var(--th-elevation-2-lifted);
  transition:transform var(--th-motion-duration-base) var(--th-motion-ease-standard),box-shadow var(--th-motion-duration-base) var(--th-motion-ease-standard)}
.th .pc:hover .pc__face,.th .pcs:hover .pcs__face{transform:translateY(-2px);box-shadow:0 0 0 1px rgb(25 26 28/6%),0 1px 2px rgb(25 26 28/5%),0 18px 40px -8px rgb(16 17 19/20%)}
.th .pc:hover .pc__tab,.th .pcs:hover .pc__tab{transform:translateY(-2px)}
.th .pc__head{display:flex;align-items:center;gap:16px}
.th .ring{position:relative;width:56px;height:56px;flex:none}
.th .ring svg{width:100%;height:100%;rotate:-90deg}
.th .ring circle{fill:none;stroke-width:5}
.th .ring .tr{stroke:var(--th-color-bg-recessed)}
.th .ring .arc{stroke:var(--th-color-bg-partial);stroke-linecap:round;stroke-dasharray:var(--c) var(--c);stroke-dashoffset:calc(var(--c) * (1 - var(--p)));transition:stroke-dashoffset 800ms var(--th-motion-ease-out)}
.th .ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:var(--th-type-title-m-size);font-weight:600;font-variant-numeric:tabular-nums}
.th .pc__band{display:block;font-size:var(--th-type-title-m-size);line-height:24px;font-weight:600;color:var(--th-color-text-primary)}
.th .pc__sub{display:block;margin-top:2px;font-size:var(--th-type-caption-size);line-height:16px;color:var(--th-color-text-muted)}
.th .pc__dims{display:grid;gap:12px}
.th .dim{display:grid;grid-template-columns:minmax(0,1fr) minmax(72px,144px) 28px;align-items:center;gap:12px;font-size:var(--th-type-ui-size);line-height:20px;color:var(--th-color-text-secondary)}
.th .dim>.ln:first-child{white-space:nowrap}
.th .dim b{text-align:right;color:var(--th-color-text-primary);font-variant-numeric:tabular-nums}
.th .bar{display:block;height:4px;border-radius:2px;background:var(--th-color-bg-recessed);overflow:hidden}
.th .bar i{display:block;height:100%;width:calc(var(--v) * 1%);border-radius:inherit;background:var(--b);transform-origin:left;transition:transform 800ms var(--th-motion-ease-out);transition-delay:calc(var(--bi,0) * var(--th-motion-stagger-loose))}
.th .pc__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px}
.th .pc__proc{display:grid;font-size:var(--th-type-caption-size);line-height:16px;color:var(--th-color-text-muted)}
.th .pc__proc b{font-weight:600;color:var(--th-color-text-primary)}
.th .pc__go{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:var(--th-radius-md);background:var(--th-color-bg-recessed);color:var(--th-color-text-primary);transition:background var(--th-motion-duration-fast),color var(--th-motion-duration-fast)}
.th .pc__go svg{width:16px;height:16px}
.th .pc:hover .pc__go,.th .pcs:hover .pc__go{background:var(--th-color-bg-accent);color:var(--th-color-text-on-accent)}
.th .pc__go svg{transition:transform 200ms var(--th-motion-ease-out)}
.th .pc:hover .pc__go svg,.th .pcs:hover .pc__go svg{transform:translateX(2px)}
.th .ln{display:block;overflow:hidden}
.th .ln>span{display:block}
.th b.ln,.th .dim .ln{display:block}
.th .pcs{position:relative;display:block;text-decoration:none;color:var(--th-color-text-primary)}
.th .pcs .pc__tab{display:inline-flex;justify-content:flex-start;max-width:100%}
.th .pcs__face{position:relative;z-index:1;display:flex;align-items:center;gap:24px;padding:14px 16px 14px 20px;border-radius:0 var(--th-radius-lg) var(--th-radius-lg) var(--th-radius-lg);background:var(--th-color-bg-surface);box-shadow:var(--th-elevation-2-lifted);
  transition:transform var(--th-motion-duration-base) var(--th-motion-ease-standard),box-shadow var(--th-motion-duration-base) var(--th-motion-ease-standard)}
.th .pcs .ring{width:48px;height:48px}
.th .pcs .ring b{font-size:var(--th-type-title-s-size)}
.th .pcs__head{display:flex;align-items:center;gap:12px;flex:none;padding-right:24px;border-right:1px solid var(--th-color-border-subtle)}
.th .pcs__dims{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;flex:1;min-width:0}
.th .pcs .dim{grid-template-columns:minmax(0,1fr) 24px;row-gap:6px;column-gap:10px}
.th .pcs .dim .ln:first-child{grid-column:1/-1;white-space:nowrap}
.th .pcs .dim .bar{grid-column:1}
.th .pcs .pc__go{margin-left:auto}
.th .tabproc{color:var(--th-paper-alpha-64)}
.th .hs{--g:max(80px,(100vw - 1280px)/2);position:relative;overflow:clip;min-height:560px;display:flex;align-items:center;padding-block:var(--th-space-128)}
.th .hs__photo{position:absolute;top:0;height:100%;width:auto;aspect-ratio:1400/690;left:var(--px)}
.th .hs__photo img{width:100%;height:100%;object-fit:cover}
.th .hs__photo{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - var(--fade,0px)),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - var(--fade,0px)),transparent)}
.th .hs__scrim{position:absolute;inset:0;background:linear-gradient(90deg,var(--th-ground-800) calc(var(--g) + 520px),rgb(25 28 27/86%) calc(var(--g) + 688px),rgb(25 28 27/10%) calc(var(--g) + 876px),rgb(25 28 27/10%))}
.th .hs__shade{position:absolute;inset:0 0 auto;height:150px;background:linear-gradient(180deg,rgb(25 28 27/62%),rgb(25 28 27/28%) 50%,rgb(25 28 27/0))}
.th .hs__in{position:relative;z-index:2;width:min(100% - 2*var(--th-layout-page-gutter),var(--th-layout-content-max));margin-inline:auto}
.th .hs__copy{max-width:620px}
.th .hs__copy .t-h1{margin-top:var(--th-space-24)}
.th .hs__copy .t-lead{margin-top:var(--th-space-24)}
.th .hs__copy .t-lead+.t-lead{margin-top:var(--th-space-16)}
.th .hs__copy .actions{margin-top:var(--th-space-40)}
.th .hs .btn--secondary{border-color:var(--th-paper-alpha-52)}
.th .proof{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:var(--th-space-32);font-size:var(--th-type-caption-size);line-height:16px;color:var(--th-color-text-tertiary)}
.th .proof span+span::before{content:"·";margin-right:16px;color:var(--th-color-text-muted)}
@media (max-width:1279px){.th .hs{display:block;min-height:0;padding:calc(var(--th-layout-nav-height-top) + var(--th-space-56)) 0 0}
.th .hs__photo{position:relative;top:auto;left:auto;translate:none;width:100%;aspect-ratio:16/9;margin-top:var(--th-space-56);-webkit-mask-image:none;mask-image:none}
.th .hs__photo img{object-position:var(--pos-t,0 50%)}
.th .hs__photo::before{content:"";position:absolute;inset:0 0 auto;height:50%;z-index:1;background:linear-gradient(180deg,rgb(25 28 27/100%) 0,rgb(25 28 27/86%) 18%,rgb(25 28 27/62%) 36%,rgb(25 28 27/36%) 54%,rgb(25 28 27/15%) 72%,rgb(25 28 27/4%) 88%,rgb(25 28 27/0))}
.th .hs__scrim,.th .hs__shade{display:none}}
@media (max-width:599px){.th .hs__photo{aspect-ratio:4/3}
.th .hs__photo img{object-position:var(--pos-p,50% 50%)}}
.th .closing{--g:max(80px,(100vw - 1280px)/2);position:relative;overflow:clip;padding-block:var(--th-layout-band-y);min-height:574px;display:flex;align-items:center}
.th .closing__photo{position:absolute;top:0;height:var(--ch);width:calc(var(--ch) * 2.8421);left:var(--cx);
  -webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 240px),transparent),linear-gradient(90deg,#000 calc(100% - var(--fade,0px)),transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(180deg,#000 calc(100% - 240px),transparent),linear-gradient(90deg,#000 calc(100% - var(--fade,0px)),transparent);mask-composite:intersect}
.th .closing__photo img{width:100%;height:100%;object-fit:cover}
.th .closing__scrim{position:absolute;inset:0;background:linear-gradient(90deg,var(--th-ground-800) calc(var(--cx) + 26px),rgb(25 28 27/10%) calc(var(--cx) + 404px),rgb(25 28 27/10%))}
.th .closing__in{position:relative;z-index:2}
.th .closing__copy{max-width:600px}
.th .closing__copy .t-lead{margin-top:var(--th-space-24)}
.th .closing__copy .actions{margin-top:var(--th-space-40);flex-direction:column;align-items:flex-start}
.th .closing__alt{font-size:var(--th-type-body-size);color:var(--th-color-text-secondary)}
.th .closing__alt a{color:var(--th-color-text-primary);text-underline-offset:4px}
@media (max-width:1279px){.th .closing{display:block;min-height:0;padding-top:0}
.th .closing__photo{position:relative;left:auto;bottom:auto;width:100%;height:auto;aspect-ratio:16/9;-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent);mask-image:linear-gradient(180deg,#000 60%,transparent)}
.th .closing__photo img{object-position:13.8% 50%}
.th .closing__scrim{display:none}
.th .closing__in{margin-top:calc(-1 * var(--th-space-56))}}
@media (max-width:599px){.th .closing__photo{aspect-ratio:4/3}
.th .closing__photo img{object-position:22% 50%}}
.th .footer{padding:var(--th-space-64) 0 var(--th-space-32);border-top:1px solid var(--th-color-border-subtle)}
.th .footer__top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--th-layout-grid-gutter)}
.th .footer__brand .t-compact{margin-top:var(--th-space-20);max-width:380px;color:var(--th-color-text-tertiary)}
.th .footer__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--th-layout-grid-gutter)}
.th .footer__cols ul{margin-top:var(--th-space-16);display:grid;gap:10px}
.th .footer__cols a{font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);text-decoration:none;color:var(--th-color-text-secondary)}
.th .footer__cols a:hover{color:var(--th-color-text-primary)}
.th .footer__bar{display:flex;justify-content:space-between;gap:16px;margin-top:var(--th-space-64);padding-top:var(--th-space-24);border-top:1px solid var(--th-color-border-subtle)}
@media (max-width:1023px){.th .footer__top{grid-template-columns:1fr}}
@media (max-width:599px){.th .footer__cols{grid-template-columns:1fr 1fr}
.th .footer__bar{flex-direction:column}}
.th .atmo{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.th .atmo::before,.th .atmo::after{content:"";position:absolute;border-radius:50%}
.th .atmo::before{width:1062px;height:759px;right:-20%;top:-35%;background:radial-gradient(closest-side,rgb(247 247 245/7%),rgb(247 247 245/0));animation:drift 26s var(--th-motion-ease-standard) infinite alternate}
.th .atmo::after{width:720px;height:514px;left:-8%;bottom:-30%;background:radial-gradient(closest-side,rgb(247 247 245/4%),rgb(247 247 245/0));animation:drift 32s var(--th-motion-ease-standard) infinite alternate-reverse}
.th .atmo i{position:absolute;inset:-64px;background-image:linear-gradient(rgb(247 247 245/3.5%) 1px,transparent 1px),linear-gradient(90deg,rgb(247 247 245/3.5%) 1px,transparent 1px);background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 70% 30%,#000,transparent 75%);mask-image:radial-gradient(ellipse 70% 80% at 70% 30%,#000,transparent 75%);animation:grid 64s linear infinite}
@keyframes drift{to{transform:translate(-40px,24px)}}
@keyframes grid{to{transform:translate(64px,64px)}}
.th .band>.wrap,.th .closing>.closing__in,.th .hs>.hs__in{z-index:2}
.th .photo{position:relative;margin:0;border-radius:var(--th-radius-lg);overflow:hidden;background:var(--th-color-bg-recessed)}
.th .photo img{width:100%;height:100%;object-fit:cover}
.th .photo--43{aspect-ratio:4/3}
.th .photo--169{aspect-ratio:16/9}
.th .photo--wide{aspect-ratio:1280/480}
.th .photo figcaption{position:absolute;inset:auto 0 0;padding:40px 16px 14px;color:var(--th-neutral-25);font-size:var(--th-type-caption-size);line-height:16px;font-weight:500;
  background:linear-gradient(180deg,rgb(16 17 19/0),rgb(16 17 19/72%))}
@media (max-width:599px){.th .photo--wide{aspect-ratio:4/3}}
.th .card{background:var(--th-color-bg-surface);border:1px solid var(--th-color-border-subtle);border-radius:var(--th-radius-lg);padding:var(--th-layout-card-padding);display:flex;flex-direction:column}
.th .card .tile{margin-bottom:var(--th-stack-tile-to-title)}
.th .card .t-compact{margin-top:var(--th-stack-title-to-body);color:var(--th-color-text-tertiary)}
.th .step .t-compact{color:var(--th-color-text-tertiary)}
.th .tile{display:grid;place-items:center;width:var(--th-size-tile-sm);height:var(--th-size-tile-sm);border-radius:var(--th-radius-md);flex:none;background:var(--th-color-bg-accent-subtle);color:var(--th-color-icon-accent)}
.th [data-ground="dark"] .tile{color:var(--th-color-text-accent-display)}
.th .tile svg{width:var(--th-size-icon-md);height:var(--th-size-icon-md)}
.th .tile.tile--see{background:var(--th-color-bg-see);color:var(--th-neutral-0)}
.th .tile.tile--build{background:var(--th-color-bg-build);color:var(--th-neutral-0)}
.th .tile.tile--grow{background:var(--th-color-bg-grow);color:var(--th-neutral-0)}
.th .rule-card{border-top:1px solid var(--th-color-border-strong);padding-top:var(--th-space-24)}
.th .rule-card .t-btn{color:var(--th-color-text-accent)}
.th .rule-card .t-body{margin-top:var(--th-space-12)}
.th .pull{margin-top:var(--th-stack-body-to-content)}
.th .pull--tail{border-top:1px solid var(--th-color-border-subtle);padding-top:var(--th-space-32)}
.th .pull--tail .t-pull{max-width:none}
.th .quote{background:var(--th-color-bg-surface);border:1px solid var(--th-color-border-subtle);border-radius:var(--th-radius-lg);padding:var(--th-space-32);display:flex;flex-direction:column;gap:var(--th-space-16)}
.th .quote__mark{width:32px;height:24px;color:var(--th-color-text-accent)}
.th .quote .t-lead{color:var(--th-color-text-primary)}
.th .quote__by{margin-top:auto;padding-top:var(--th-space-8)}
.th .quote__head{width:48px;height:48px;border-radius:50%;object-fit:cover}
.th .quote__foot{display:flex;align-items:center;gap:16px;margin-top:auto}
.th .quote__logo{height:28px;width:auto;max-width:72px;object-fit:contain}
.th .quote__name{display:flex;align-items:center;gap:8px}
.th .quote__name a{display:inline-grid;color:var(--th-color-text-tertiary)}
.th .quote__name svg{width:14px;height:14px}
.th .qmark{color:var(--th-color-text-accent);font-weight:600}
.th .fig .t-num-l,.th .fig .t-stat{color:var(--th-color-text-accent-display)}
.th .fig .t-compact{margin-top:var(--th-space-12)}
.th .results{display:flex;align-items:flex-end;gap:var(--th-space-40);flex-wrap:wrap;border-top:1px solid var(--th-color-border-subtle);padding-top:var(--th-space-32)}
.th .results .fig .t-caption{margin-top:var(--th-space-4)}
.th .results .link{margin-left:auto}
.th .stat .t-stat{color:var(--th-color-text-primary)}
.th .stat .t-compact{margin-top:var(--th-space-16)}
.th .stat .t-caption{margin-top:var(--th-space-16);text-transform:none}
.th .logos{display:flex;align-items:center;gap:var(--th-space-40);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.th .logos .eyebrow{flex:none}
.th .logos__track{display:flex;gap:var(--th-space-48);flex:none;animation:marquee 34s linear infinite;padding-right:var(--th-space-48)}
.th .logos__track span{font-size:var(--th-type-title-m-size);font-weight:600;color:var(--th-color-text-tertiary);white-space:nowrap;letter-spacing:-.2px}
@keyframes marquee{to{transform:translateX(-100%)}}
.th .logos-row{display:flex;align-items:center;gap:var(--th-space-40)}
.th .logos-row .logos{flex:1}
.th .benefit{display:flex;gap:12px;align-items:flex-start;padding:var(--th-space-24) 0;border-top:1px solid var(--th-color-border-subtle)}
.th .benefit svg{width:20px;height:20px;flex:none;margin-top:3px;color:var(--th-color-text-accent-display)}
.th .phase{border-top:1px solid var(--th-color-border-subtle);padding-top:28px}
.th .phase .tile{margin-bottom:var(--th-space-24)}
.th .phase .t-compact{margin-top:var(--th-space-8)}
.th .pcard__head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--th-space-24)}
.th .pcard__head .t-title-m{color:var(--th-color-text-muted)}
.th .pcard .t-btn{margin-top:var(--th-space-4);color:var(--th-color-text-primary)}
.th .pcard .t-compact{margin-top:var(--th-space-8)}
.th .rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--th-space-24)}
.th .step__rail{position:relative;height:8px;margin-bottom:var(--th-space-16)}
.th .step__rail::before{content:"";position:absolute;left:0;right:calc(-1 * var(--th-space-24));top:3px;height:1px;background:var(--th-color-border-subtle)}
.th .step:last-child .step__rail::before{right:0}
.th .step__rail i{position:absolute;left:0;top:0;width:8px;height:8px;border-radius:50%;background:var(--ph)}
.th .step .t-num-s{color:var(--phtx)}
.th .step .t-title-s{margin-top:var(--th-space-12)}
.th .step .t-compact{margin-top:var(--th-space-8)}
@media (max-width:1023px){.th .rail{grid-template-columns:1fr}
.th .step__rail{display:none}
.th .step{border-left:2px solid var(--ph);padding-left:var(--th-space-20)}}
.th .lens{display:grid;grid-template-columns:1fr 1fr;gap:var(--th-layout-card-gap)}
.th .lens .card .t-title-l{margin-top:var(--th-space-16)}
.th .lens .card .t-compact{margin-top:var(--th-space-16);color:var(--th-color-text-muted)}
.th .lens ul{margin-top:var(--th-space-12)}
.th .lens li{padding:10px 0;border-top:1px solid var(--th-color-border-subtle);font-size:var(--th-type-body-compact-size);line-height:22px;color:var(--th-color-text-secondary)}
@media (max-width:767px){.th .lens{grid-template-columns:1fr}}
.th .acc{max-width:848px;border-top:1px solid var(--th-color-border-subtle)}
.th .acc details{border-bottom:1px solid var(--th-color-border-subtle)}
.th .acc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;cursor:pointer;font-size:var(--th-type-title-m-size);line-height:28px;font-weight:600}
.th .acc summary::-webkit-details-marker{display:none}
.th .acc summary svg{width:20px;height:20px;flex:none;transition:transform var(--th-motion-duration-base) var(--th-motion-ease-standard)}
.th .acc details[open] summary svg{transform:rotate(45deg)}
.th .acc .acc__a{overflow:hidden}
.th .acc .acc__a p{padding-bottom:24px;max-width:var(--th-layout-measure-prose)}
.th .video{position:relative;aspect-ratio:16/9;border-radius:var(--th-radius-lg);overflow:hidden;background:#000}
.th .video img{width:100%;height:100%;object-fit:cover}
.th .video__play{position:absolute;inset:0;display:grid;place-items:center;border:0;background:none;cursor:pointer}
.th .video__btn{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--th-color-bg-accent);color:#fff;transition:transform var(--th-motion-duration-base) var(--th-motion-ease-spring)}
.th .video__play:hover .video__btn{transform:scale(1.06)}
.th .video__btn svg{width:28px;height:28px;margin-left:3px}
.th .video__dur{position:absolute;left:16px;bottom:16px;padding:4px 8px;border-radius:var(--th-radius-sm);background:rgb(16 17 19/64%);color:var(--th-neutral-25);font-size:var(--th-type-caption-size);line-height:16px;font-weight:500}
.th .video.is-playing .video__play,.th .video.is-playing .video__dur{display:none}
.th .list{display:grid;gap:12px}
.th .list li{display:flex;gap:12px;align-items:flex-start;font-size:var(--th-type-body-size);line-height:var(--th-type-body-line-height);color:var(--th-color-text-secondary)}
.th .list li::before{content:"";flex:none;width:6px;height:6px;margin-top:10px;border-radius:50%;background:var(--th-color-text-accent)}
.th .list--check li::before{display:none}
.th .list--check svg{width:18px;height:18px;flex:none;margin-top:4px;color:var(--th-color-text-accent)}
.th .chips{display:flex;flex-wrap:wrap;gap:8px}
.th .chip{display:inline-flex;align-items:center;padding:8px 16px;border-radius:var(--th-radius-pill);background:var(--th-color-bg-surface);border:1px solid var(--th-color-border-subtle);
  font-size:var(--th-type-caption-size);line-height:16px;font-weight:600;color:var(--th-color-text-primary)}
.th [data-ground="dark"] .chip{background:var(--th-neutral-0);border-color:var(--th-neutral-100);color:var(--th-neutral-950)}
.th .stat-rows{border-top:0}
.th .stat-row{display:flex;align-items:center;gap:var(--th-space-24);padding:16px 0;border-bottom:1px solid var(--th-color-border-subtle)}
.th .stat-row .t-title-l{width:220px;flex:none}
.th .stat-row .t-compact{color:var(--th-color-text-muted)}
.th .trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--th-color-bg-surface);border:1px solid var(--th-color-border-subtle);border-radius:var(--th-radius-md);overflow:hidden}
.th .trio .card{background:none;border:0;border-radius:0}
.th .trio .card+.card{border-left:1px solid var(--th-color-border-subtle)}
@media (max-width:1023px){.th .trio{grid-template-columns:1fr}
.th .trio .card+.card{border-left:0;border-top:1px solid var(--th-color-border-subtle)}}
.th .mosaic{display:grid;grid-template-columns:1fr 1fr;gap:var(--th-space-64)}
.th .mosaic>div{display:flex;flex-direction:column;gap:var(--th-space-40)}
.th .mosaic .photo{aspect-ratio:608/440}
@media (max-width:1023px){.th .mosaic{grid-template-columns:1fr}
.th .mosaic>div:last-child .photo{order:-1}}
.th .attached{display:flex;flex-direction:column;gap:var(--th-space-8)}
.th .dash-cols{display:grid;grid-template-columns:repeat(2,minmax(0,512px));gap:12px var(--th-space-40)}
@media (max-width:767px){.th .dash-cols{grid-template-columns:1fr}}
.th .cmp{display:flex;align-items:center}
.th .cmp__base{flex:1;min-width:0;background:var(--th-color-bg-surface);border:1px solid var(--th-color-border-subtle);border-right:0;border-radius:var(--th-radius-md) 0 0 var(--th-radius-md)}
.th .cmp__row{display:grid;grid-template-columns:1.1fr 1fr 1fr;align-items:center;min-height:57px;border-top:1px solid var(--th-color-border-subtle)}
.th .cmp__row:first-child{border-top:0;min-height:49px}
.th .cmp__row>*{padding:0 16px}
.th .cmp__row .t-ui{color:var(--th-color-text-primary)}
.th .cmp__row .t-compact{color:var(--th-color-text-secondary)}
.th .cmp__lift{width:320px;flex:none;border-radius:var(--th-radius-lg);overflow:hidden;box-shadow:var(--th-elevation-0-raised);background:var(--th-color-bg-surface);position:relative;z-index:1}
.th .cmp__lift>div{display:flex;align-items:center;min-height:57px;padding:0 16px;background:var(--th-color-bg-accent-subtle);border-top:1px solid var(--th-color-border-subtle)}
.th .cmp__lift>div:first-child{min-height:calc(49px + 32px);padding-top:32px;background:var(--th-color-bg-accent);color:var(--th-color-text-on-accent);border-top:0}
.th .cmp__lift>div:first-child .t-label{color:var(--th-color-text-on-accent)}
.th .cmp__lift>div:last-child{min-height:calc(57px + 32px);padding-bottom:32px}
.th .cmp__mobile{display:none}
@media (max-width:1023px){.th .cmp{display:none}
.th .cmp__mobile{display:grid;gap:var(--th-space-16)}
.th .cmp__mobile .card{gap:8px}
.th .cmp__mobile dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin-top:8px;font-size:var(--th-type-body-compact-size);line-height:22px}
.th .cmp__mobile dt{color:var(--th-color-text-muted)}
.th .cmp__mobile .is-thrivin{background:var(--th-color-bg-accent-subtle);border-color:transparent;box-shadow:var(--th-elevation-0-raised)}}
.th .form{display:grid;gap:20px;padding:var(--th-space-40);border-radius:var(--th-radius-md);background:var(--th-color-bg-surface);border:1px solid var(--th-color-border-subtle)}
.th .form__two{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}
.th .field{display:grid;gap:8px}
.th .field label{font-size:var(--th-type-nav-size);line-height:20px;font-weight:500}
.th .field input,.th .field textarea{width:100%;height:var(--th-size-control);padding:0 16px;border-radius:var(--th-radius-md);border:1px solid var(--th-color-border-control);background:var(--th-color-bg-surface);
  color:var(--th-color-text-primary);font:inherit;font-size:var(--th-type-body-size);transition:border-color var(--th-motion-duration-fast)}
.th .field textarea{height:120px;padding:12px 16px;resize:vertical}
.th .field input::placeholder,.th .field textarea::placeholder{color:var(--th-color-text-muted)}
.th .field input:focus,.th .field textarea:focus{outline:none;border-color:var(--th-color-border-focus);box-shadow:0 0 0 1px var(--th-color-border-focus)}
.th .form .btn{width:100%}
.th .form.is-sent .btn{pointer-events:none}
.th .contact{display:grid;gap:8px;padding-top:var(--th-space-24);border-top:1px solid var(--th-color-border-subtle)}
.th .startgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--th-space-64);align-items:start}
@media (max-width:1023px){.th .startgrid{grid-template-columns:1fr}}
@media (max-width:599px){.th .form{padding:var(--th-space-24)}
.th .form__two{grid-template-columns:1fr}}
.th .media-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--th-space-56);align-items:stretch}
.th .media-split>.media-col{container-type:inline-size;display:flex;align-items:center}
.th .media-split>.media-col>.photo{flex:1;height:100%;min-height:56.25cqw;max-height:100cqw;width:100%}
.th .media-split>.media-col>.photo>img{position:absolute;inset:0}
.th .media-split>.text-col{align-self:center;min-width:0}
.th .media-split>.media-col{align-self:stretch}
@media (max-width:1279px){.th .media-split{gap:var(--th-layout-grid-gutter);align-items:center}
.th .media-split>.media-col{align-self:center}
.th .media-split>.media-col>.photo{flex:none;height:auto;min-height:0;max-height:none;aspect-ratio:4/3}}
@media (max-width:1023px){.th .media-split{grid-template-columns:1fr}
.th .media-split>.media-col{order:2}
.th .media-split>.text-col{order:1}
.th .media-split>.media-col>.photo{height:auto;min-height:0;max-height:none;aspect-ratio:16/9}}
@media (max-width:599px){.th .media-split>.media-col>.photo{aspect-ratio:4/3}}
.th .stack-cards{display:flex;flex-direction:column;gap:var(--th-space-16)}
.th .card--row{flex-direction:row;align-items:flex-start;gap:var(--th-space-20)}
.th .card--row .tile{margin-bottom:0}
.th .card--row>div{min-width:0}
.th [data-ground="dark"] .card--row,.th [data-ground="dark"] .cols .card{background:var(--th-color-bg-surface);border-color:var(--th-color-border-subtle)}
.th .twosplits{display:grid;gap:var(--th-space-96)}
.th .fig--rule,.th .stat{border-top:1px solid var(--th-color-border-strong);padding-top:var(--th-space-24)}
.th .list-cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px var(--th-space-40)}
.th .list-cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px var(--th-space-40)}
@media (max-width:1023px){.th .list-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.th .list-cols-2,.th .list-cols-3{grid-template-columns:1fr}}
.th .list li b{color:var(--th-color-text-primary)}
.th .badges{display:flex;flex-wrap:wrap;gap:8px}
.th .badge{display:inline-flex;align-items:center;padding:8px 16px;border-radius:var(--th-radius-pill);background:var(--th-color-bg-surface);border:1px solid var(--th-color-border-subtle);
  font-size:var(--th-type-caption-size);line-height:16px;font-weight:500;color:var(--th-color-text-primary);cursor:default}
.th .lens{display:grid;grid-template-columns:1fr 1fr;gap:var(--th-space-56);align-items:stretch}
.th .lens .card.is-quiet{background:transparent}
.th .lens .is-next{padding:0;border:0;overflow:hidden;box-shadow:var(--th-elevation-0-raised);border-radius:var(--th-radius-lg)}
.th .lens__head{padding:var(--th-space-16) 32px;background:var(--th-color-bg-accent)}
.th .lens__head .t-label{color:var(--th-color-text-on-accent)}
.th .lens__body{flex:1;padding:var(--th-space-24) 32px 32px;background:linear-gradient(var(--th-color-bg-accent-subtle),var(--th-color-bg-accent-subtle)),var(--th-color-bg-surface)}
.th .lens .is-quiet{padding:32px}
@media (max-width:1279px){.th .lens{gap:var(--th-layout-grid-gutter)}}
@media (max-width:599px){.th .logos-row{flex-direction:column;align-items:flex-start;gap:var(--th-space-20)}
.th .logos-row .logos{width:100%}
.th .results{flex-direction:column;align-items:flex-start;gap:var(--th-space-32)}
.th .results .link{margin-left:0}}
.js .th .rv>*{opacity:0;transform:translateY(var(--th-motion-distance-reveal))}
.js .th .rv.in>*{opacity:1;transform:none;transition:opacity var(--th-motion-duration-reveal) var(--th-motion-ease-standard),transform var(--th-motion-duration-reveal-rise) var(--th-motion-ease-out);transition-delay:calc(var(--i,0) * var(--th-motion-stagger-reveal))}
.js .th .rv-grid>*{opacity:0;transform:translateY(var(--th-motion-distance-rise))}
.js .th .rv-grid.in>*{opacity:1;transform:none;transition:opacity var(--th-motion-duration-reveal-grid) var(--th-motion-ease-standard),transform var(--th-motion-duration-reveal-grid) var(--th-motion-ease-out);transition-delay:calc(var(--i,0) * var(--th-motion-stagger-grid) + 60ms)}
.js .th .rail .step__rail i{opacity:0;transform:scale(.4);transition:opacity 500ms var(--th-motion-ease-standard),transform 500ms var(--th-motion-ease-out);transition-delay:calc(var(--i,0) * 130ms + 300ms)}
.js .th .rail.in .step__rail i{opacity:1;transform:none}
.js .th .hl .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.js .th .hl .w>span{display:inline-block;transform:translateY(105%);transition:transform 650ms var(--th-motion-ease-out);transition-delay:calc(90ms + var(--wi) * 42ms)}
.js .th .loaded .hl .w>span{transform:none}
.js .th [data-ld]{opacity:0;transform:translateY(var(--th-motion-distance-rise));transition:opacity 700ms var(--th-motion-ease-out),transform 700ms var(--th-motion-ease-out);transition-delay:var(--d,0ms)}
.js .th .loaded [data-ld]{opacity:1;transform:none}
.js .th .settle img{opacity:0;transform:scale(var(--th-motion-scale-settle));transition:opacity var(--th-motion-duration-long) var(--th-motion-ease-out),transform var(--th-motion-duration-ambient) var(--th-motion-ease-out)}
.js .th .loaded .settle img{opacity:1;transform:none}
.js .th [data-pulse].is-pre .pc__face,.js .th [data-pulse].is-pre .pcs__face{opacity:0;transform:translateY(14px)}
.js .th [data-pulse] .pc__face,.js .th [data-pulse] .pcs__face{transition:opacity 600ms var(--th-motion-ease-out),transform 600ms var(--th-motion-ease-out),box-shadow var(--th-motion-duration-base) var(--th-motion-ease-standard)}
.js .th [data-pulse] .ln>span{transition:transform 600ms var(--th-motion-ease-out);transition-delay:calc(var(--k,0) * 40ms)}
.js .th [data-pulse].is-pre-text .pc__face .ln>span,.js .th [data-pulse].is-pre-text .pcs__face .ln>span{transform:translateY(105%)}
.js .th [data-pulse].is-pre-fill .bar i{transform:scaleX(0)}
.js .th [data-pulse].is-pre-fill .ring .arc{stroke-dashoffset:var(--c)}
.js .th [data-pulse].is-pre-brief .pc__tab{opacity:0;transform:translateY(100%)}
.js .th [data-pulse].is-pre-brief .pc__go{opacity:0;transform:translateX(-8px)}
.js .th [data-pulse].is-pre-brief .pc__tab .ln>span{transform:translateY(105%)}
.js .th [data-pulse] .pc__tab{transition:transform 500ms var(--th-motion-ease-out),opacity 400ms var(--th-motion-ease-out)}
.js .th [data-pulse] .pc__go{transition:background var(--th-motion-duration-fast),color var(--th-motion-duration-fast),transform 500ms var(--th-motion-ease-out),opacity 400ms var(--th-motion-ease-out)}
@media (prefers-reduced-motion:reduce){.js .th .rv>*,.js .th .rv-grid>*,.js .th [data-ld],.js .th .hl .w>span,.js .th .settle img,.js .th .rail .step__rail i{opacity:1!important;transform:none!important;transition:none!important}
.js .th [data-pulse] *{transition:none!important}
.th .btn svg,.th .link svg,.th .pc__go svg{transition:none!important;transform:none!important}
.th .atmo::before,.th .atmo::after,.th .atmo i,.th .logos__track,.th .pc__free i::after{animation:none}}
@media (max-width:1279px){.th .hs{display:flex;flex-direction:column}
.th .hs__in{order:1}
.th .hs__photo{order:2}}
@media (max-width:599px){.th .nav__links-o{display:none}
.th .stat-row{gap:16px}
.th .stat-row .t-title-l{width:132px;font-size:var(--th-type-title-m-size)}
.th .proof{flex-direction:column;gap:6px}
.th .proof span+span::before{content:none}}
.th .ws-grid{display:grid;grid-template-columns:minmax(0,480fr) minmax(0,776fr);gap:var(--th-layout-card-gap);align-items:stretch}
.th .ws-grid__photo{display:flex}
.th .ws-grid__photo .photo{flex:1;min-height:100%}
@media (max-width:1023px){.th .ws-grid{grid-template-columns:1fr}
.th .ws-grid__photo .photo{aspect-ratio:16/9}}
@media (max-width:767px){.th .lens{grid-template-columns:1fr;gap:var(--th-layout-card-gap)}}
@media (max-width:599px){.th .pc .dim{grid-template-columns:132px minmax(48px,1fr) 24px}}
.th .card,.th .quote,.th .cmp__lift,.th .cmp__mobile .card{--tr:translate var(--th-motion-duration-base) var(--th-motion-ease-out),box-shadow var(--th-motion-duration-base) var(--th-motion-ease-out),border-color var(--th-motion-duration-fast) var(--th-motion-ease-standard);transition:var(--tr)}
.js .th .rv.in.settled>*,.js .th .rv-grid.in.settled>*{transition:var(--tr,none)}
.th .card .tile{transition:scale var(--th-motion-duration-base) var(--th-motion-ease-spring)}
@media (hover:hover){.th .card:hover,.th .quote:hover,.th .cmp__mobile .card:hover{translate:0 calc(-1 * var(--th-motion-distance-lift));box-shadow:var(--th-elevation-hover)}
.th .card:hover .tile{scale:1.06}
.th .lens .card.is-next:hover,.th .cmp__lift:hover,.th .cmp__mobile .card.is-thrivin:hover{translate:0 calc(-1 * var(--th-motion-distance-lift));box-shadow:var(--th-glow-card-hover)}
.th .lens .card.is-quiet:hover{box-shadow:var(--th-elevation-hover);background:var(--th-color-bg-surface)}
.th .trio .card:hover{translate:none;box-shadow:none}
.th .logos:hover .logos__track{animation-play-state:paused}}
.th .lens .card.is-quiet{--tr:translate var(--th-motion-duration-base) var(--th-motion-ease-out),box-shadow var(--th-motion-duration-base) var(--th-motion-ease-out),background var(--th-motion-duration-base) var(--th-motion-ease-standard)}
.js .th .media-col.rv .photo img{scale:var(--th-motion-scale-settle);transition:scale var(--th-motion-duration-ambient) var(--th-motion-ease-out)}
.js .th .media-col.rv.in .photo img{scale:1}
@media (prefers-reduced-motion:reduce){.th .card,.th .quote,.th .cmp__lift,.th .cmp__mobile .card,.th .card .tile{translate:none!important;scale:none!important}
.js .th .media-col.rv .photo img{scale:none;transition:none}
.th .link__t{transition:none}
.th .btn:active{transform:none}}

/* ds-legacy-reset.css · append to the END of assets/css/ds.css (after every other rule).
   Old theme rules in style.css that still reach design-system components inside .th.
   Each block names the old rule it undoes. Delete a block once style.css no longer ships that rule;
   delete the file once style.css stops loading on .th pages. */

/* 1. Phone and tablet menu. style.css:998 hides .menu below 1180px and :994 styles it as the old
      desktop dropdown (padding, radius, shadow), :1206 adds a border in light theme. */
@media (max-width:1180px){.th .menu{display:block}}
.th .menu.menu{min-width:0;padding:0;border:0;border-radius:0;box-shadow:none}

/* 2. Hamburger. style.css:227 gives .nav__menu 11px 16px padding and a border; the icon was squashed to 12px wide. */
.th .nav__menu{padding:0;gap:0;border:0;font:inherit}

/* 3. Buttons. style.css:232-241 gives every .btn an orange drop shadow at rest, a bigger orange glow and
      a 2px lift on hover. The system has no shadow at rest; only primary glows on hover; nothing lifts. */
.th .btn{box-shadow:none}
.th .btn:not(.btn--primary):hover{box-shadow:none}
.th .btn:hover{transform:none}
.th .btn:active{transform:scale(var(--th-motion-scale-press))}
@media (prefers-reduced-motion:reduce){.th .btn:active{transform:none}}

/* 4. Buttons with no modifier. ds.css resets .th button{color:inherit}, which outranks the old .btn{color:#fff},
      so <button class="btn"> shows dark text on orange (Insights "Apply", StrengthsMultiplier "Buy" buttons).
      Treat a bare .btn as primary. Better long term: add btn--primary to those buttons in the markup. */
.th .btn:not(.btn--primary):not(.btn--secondary):not(.btn--inert){background:var(--th-color-bg-accent);color:var(--th-color-text-on-accent)}
.th .btn:not(.btn--primary):not(.btn--secondary):not(.btn--inert):hover{background:var(--th-color-bg-accent-hover);box-shadow:var(--th-glow-button-hover)}

/* 5. Cards. style.css:408 .card:hover adds translateY(-4px) and its own shadow on top of the system's 4px lift,
      so cards jump 8px, and cards meant to stay still (trio) lift too. */
@media (hover:hover){.th .card:hover,.th .quote:hover{transform:none}}

/* 6. Pull statement. style.css:399 adds a 40px bottom margin and -1.2px tracking. */
.th .pull{margin-bottom:0;letter-spacing:0}
.th .pull .t-pull,.th .pull .ac{letter-spacing:0}

/* 7. Two plain sections in a row keep their full top padding, as in Figma. style.css:1957 cut the second to 48px. */
.th .section:not(.section--dark):not(.section--recessed):not(.section--photo):not(.section--statement)+.section:not(.section--dark):not(.section--recessed):not(.section--photo):not(.section--statement){padding-top:var(--th-layout-section-y)}

/* 8. Ruled figures in a two-column grid stretch to match. style.css:378 sets .cols-2{align-items:start}. */
.th .cols-2{align-items:stretch}

/* 9. Closing band. style.css:1415 sets "Prefer a conversation?" to a 24px line-height. */
.th .closing__alt,.th .closing__alt a{line-height:var(--th-type-body-line-height)}

/* 10. Old components that now sit inside rebuilt pages lose their spacing to ds.css's own reset
       (.th p, .th h3, .th ul {margin:0}), so text and buttons crowd together: the call-request and subscribe
       gate forms (Contact, Insights), the StrengthsMultiplier price tiers, the Insights resource cards.
       These restore the old margins inside .th until those components are rebuilt on ds.css. */
.th .gate h3{margin:0 0 6px}
.th .gate>p{margin:0 0 22px}
.th .gate .btn+.gate__fine,.th .gate .btn~.gate__fine{margin:14px 0 0}
.th .tier__l{margin:0 0 12px}
.th .tier__t{margin:0 0 8px}
.th .tier__p{margin:0 0 24px}
.th .tier ul{margin:0 0 32px}
.th .tier .card__b{margin:0 0 24px}
.th .allcount{margin:0 0 6px}
.th .rcard__labels{margin:0 0 10px}
.th .rcard__t{margin:0 0 8px}
.th .rcard__s,.th .rcard__meta{margin:0 0 14px}

/* 11. WPForms placeholders. WPForms colours input placeholders with --wpforms-field-text-color (rgba(0,0,0,.7) at 50%),
       and its selector outranks ds.css, so "John", "Doe", "email@example.com" are near-black on the dark band.
       Point the WPForms variables at the system tokens and restate the placeholder colour. */
.th .form .wpforms-container{--wpforms-field-text-color:var(--th-color-text-primary);--wpforms-label-color:var(--th-color-text-primary);--wpforms-label-sublabel-color:var(--th-color-text-muted)}
.th .form .wpforms-container input::placeholder,.th .form .wpforms-container textarea::placeholder{color:var(--th-color-text-muted);opacity:1}

/* 12. Step rails on tablets and phones. Some pages set the column count inline
       (style="grid-template-columns:repeat(4|6,…)" on .rail: How It Works, Human Capabilities and their French versions),
       which beats ds.css's one-column rule below 1024, so 4 or 6 columns of 38-70px squeeze onto a phone.
       Better long term: drop the inline style and use a modifier class for 4 and 6 steps. */
@media (max-width:1023px){.th .rail{grid-template-columns:1fr!important}}

/* 13. Long button labels. .btn never wraps, so "Download a sample WorkSystem Executive Intelligence Brief™"
       (/pulse/ and its French version) runs off the screen on phones, and the French one at 1024 too.
       Below 1280, let labels wrap; buttons whose label fits keep their 48px (40px small) height. */
@media (max-width:1279px){.th .btn{white-space:normal;height:auto;min-height:var(--th-size-control);padding-block:12px;text-align:center}
  .th .btn--sm{min-height:var(--th-size-control-sm);padding-block:8px}}

/* sm-pricing · Pricing card (Figma) applied to the thrivin-commerce sm-pricing block inside .th.
   Append after ds-legacy-reset.css in assets/css/ds.css. Price in Numeral L, featured card gets the plan name
   in an orange header band, orange ticks, one hairline under the description only, full-width button,
   secondary (outlined) button on the non-featured card. */
.th .sm-pricing .cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--th-layout-card-gap);align-items:stretch}
@media (max-width:767px){.th .sm-pricing .cols-2{grid-template-columns:1fr}}
.th .sm-pricing .tier{display:flex;flex-direction:column;background:var(--th-color-bg-surface);border:1px solid var(--th-color-border-subtle);border-top:1px solid var(--th-color-border-subtle);border-radius:var(--th-radius-lg);padding:var(--th-layout-card-padding);overflow:hidden;box-shadow:none;transform:none}
.th .sm-pricing .tier--lead{border-color:var(--th-color-border-accent)}
.th .sm-pricing .tier__l{order:1;margin:0 0 var(--th-space-8);font-size:var(--th-type-label-size);line-height:var(--th-type-label-line-height);letter-spacing:var(--th-type-label-tracking);text-transform:uppercase;color:var(--th-color-text-muted)}
.th .sm-pricing .tier__t{order:0;margin:0 0 var(--th-space-16);font-size:var(--th-type-title-m-size);line-height:var(--th-type-title-m-line-height);font-weight:600;color:var(--th-color-text-primary)}
.th .sm-pricing .tier--lead .tier__t{margin:calc(-1 * var(--th-layout-card-padding)) calc(-1 * var(--th-layout-card-padding)) var(--th-space-24);padding:var(--th-space-16) var(--th-layout-card-padding);background:var(--th-color-bg-accent);color:var(--th-color-text-on-accent)}
.th .sm-pricing .tier__p{order:2;margin:0 0 var(--th-space-16);font-size:var(--th-type-numeral-l-size);line-height:var(--th-type-numeral-l-line-height);letter-spacing:var(--th-type-numeral-l-tracking);font-weight:400;color:var(--th-color-text-accent-display)}
.th .sm-pricing .tier__p small{display:block;margin-top:var(--th-space-4);font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);letter-spacing:0;color:var(--th-color-text-muted)}
.th .sm-pricing .tier .card__b{order:3;margin:0 0 var(--th-space-24);padding-bottom:var(--th-space-24);border-bottom:1px solid var(--th-color-border-subtle);font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);color:var(--th-color-text-secondary)}
.th .sm-pricing .tier ul{order:4;margin:0 0 var(--th-space-32);padding:0;list-style:none;display:grid;gap:var(--th-space-12)}
.th .sm-pricing .tier li{display:flex;gap:var(--th-space-12);align-items:flex-start;margin:0;padding:0;border:0;font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);color:var(--th-color-text-secondary)}
.th .sm-pricing .tier li svg{width:20px;height:20px;flex:none;color:var(--th-color-text-accent);stroke:var(--th-color-text-accent)}
.th .sm-pricing .tier__cta{order:5;margin-top:auto}
.th .sm-pricing .tier__cta form{margin:0}
.th .sm-pricing .tier__cta .btn{width:100%;display:flex;justify-content:center}
.th .sm-pricing .tier:not(.tier--lead) .tier__cta .btn{background:transparent;color:var(--th-color-text-primary);border:1px solid var(--th-color-border-control);box-shadow:none}
.th .sm-pricing .tier:not(.tier--lead) .tier__cta .btn:hover{background:var(--th-color-bg-hover);box-shadow:none}
.th .sm-pricing .tier--lead .tier__cta .btn{background:var(--th-color-bg-accent);color:var(--th-color-text-on-accent)}
.th .sm-pricing .sm-switch{margin:0 0 var(--th-space-32);padding:0;border:0}
.th .sm-pricing .sm-switch__legend{font-size:var(--th-type-label-size);line-height:var(--th-type-label-line-height);letter-spacing:var(--th-type-label-tracking);text-transform:uppercase;color:var(--th-color-text-muted);margin-bottom:var(--th-space-12)}
.th .sm-pricing .sm-help{color:var(--th-color-text-muted);font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height)}

/* gate · Field + surface card (Figma) applied to the old .gate forms inside .th (Contact call request,
   Insights subscribe, Pulse email step). Markup and ids stay as forms.js / pulse.js expect them.
   Label 14/20 Medium, 48px box, white, 1px border/control, radius 8; the form sits on a plain surface card. */
.th .gate{display:block;margin:0;padding:var(--th-space-40);border:1px solid var(--th-color-border-subtle);border-top:1px solid var(--th-color-border-subtle);border-radius:var(--th-radius-md);background:var(--th-color-bg-surface);box-shadow:none}
.th .gate h3{margin:0 0 var(--th-space-8);font-size:var(--th-type-title-m-size);line-height:var(--th-type-title-m-line-height);font-weight:600;color:var(--th-color-text-primary)}
.th .gate>p{margin:0 0 var(--th-space-24);font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);color:var(--th-color-text-secondary)}
.th .gate>p.gate__fine{margin:0 0 var(--th-space-20);font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);color:var(--th-color-text-muted)}
.th .gate label{display:block;margin:var(--th-space-20) 0 var(--th-space-8);font-size:var(--th-type-nav-size);line-height:20px;font-weight:500;color:var(--th-color-text-primary)}
.th .gate p.gate__fine+label,.th .gate h3+label,.th .gate>p+label{margin-top:0}
.th .gate input:not([type=checkbox]):not([type=radio]),.th .gate select,.th .gate textarea{display:block;width:100%;height:var(--th-size-control);margin:0;padding:0 16px;border-radius:var(--th-radius-md);border:1px solid var(--th-color-border-control);background:var(--th-color-bg-surface);color:var(--th-color-text-primary);font:inherit;font-size:var(--th-type-body-size);line-height:normal;box-shadow:none;transition:border-color var(--th-motion-duration-fast)}
.th .gate textarea{height:120px;padding:12px 16px;resize:vertical}
.th .gate select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23191A1C' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 14px center;background-size:18px}
.th .gate input::placeholder,.th .gate textarea::placeholder{color:var(--th-color-text-muted);opacity:1}
.th .gate input:focus,.th .gate select:focus,.th .gate textarea:focus{outline:none;border-color:var(--th-color-border-focus);box-shadow:0 0 0 1px var(--th-color-border-focus)}
.th .gate input[aria-invalid="true"]{border-color:var(--th-color-border-error)}
.th .gate .gate__err{margin:var(--th-space-8) 0 0;font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);color:var(--th-color-text-error)}
.th .gate .gate__err:empty{display:none}
.th .gate .btn{display:flex;width:100%;justify-content:center;margin:var(--th-space-24) 0 0}
.th .gate .btn+.gate__fine,.th .gate .btn~.gate__fine{margin:var(--th-space-16) 0 0;font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);color:var(--th-color-text-muted)}
.th .gate .gate__fine a{color:inherit;text-decoration:underline;text-underline-offset:.15em}
.th .gate.is-sent .btn{pointer-events:none}

/* insights · Filter bar, Resource card, Topic card (Figma) layered on the thrivin/insights-results block inside .th.
   Form, ids and insights.js stay as they are; the topic chips are added by the small glue script in the page
   (theme/insights-glue.html) and drive the hidden #insTopic select. */
.th .allhead{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--th-space-24);flex-wrap:wrap;margin:0}
.th .allhead .h2{margin:var(--th-stack-eyebrow-to-heading) 0 0;font-size:var(--th-type-h2-size);line-height:var(--th-type-h2-line-height);letter-spacing:var(--th-type-h2-tracking);font-weight:400;max-width:var(--th-layout-measure-wide)}
.th .allhead .h2 em{font-style:normal;color:var(--th-color-text-accent-display)}
.th .allcount{margin:0;font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);color:var(--th-color-text-muted)}
/* bar: search + sort (+ format) in one row, no toggle, no Apply */
.th .insbar__toggle,html.has-insfilter .th .insbar__toggle{display:none}
.th .insbar,html.has-insfilter .th .insbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--th-space-16);align-items:end;margin:var(--th-space-32) 0 0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
html.has-insfilter .th .insbar:not(.is-open) .insbar__sel{display:flex}
html.has-insfilter .th .insbar:not(.is-open) .insbar__clear{display:inline}
.th .insbar [type="submit"]{display:none!important}
.th .insbar__sel--topic,.th .insbar__sel:has(#insTopic){display:none!important}
.th .insbar__field{position:relative}
.th .insbar__field input{width:100%;height:var(--th-size-control);padding:0 16px 0 44px;border-radius:var(--th-radius-md);border:1px solid var(--th-color-border-control);background:var(--th-color-bg-surface) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23191A1C' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><circle cx='10.8' cy='10.8' r='5.8'/><path d='M15.2 15.2l4.4 4.4'/></svg>") no-repeat 14px center/18px;color:var(--th-color-text-primary);font:inherit;font-size:var(--th-type-body-size);line-height:normal;outline:none;box-shadow:none}
.th .insbar__field input::placeholder{color:var(--th-color-text-muted);opacity:1}
.th .insbar__field input:focus{border-color:var(--th-color-border-focus);box-shadow:0 0 0 1px var(--th-color-border-focus)}
.th .insbar__sel{display:flex;flex-direction:column;gap:0;min-width:180px}
.th .insbar__sel label{margin:0 0 var(--th-space-8);font-size:var(--th-type-nav-size);line-height:20px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--th-color-text-primary)}
.th .insbar__sel select{height:var(--th-size-control);padding:0 44px 0 16px;border-radius:var(--th-radius-md);border:1px solid var(--th-color-border-control);background:var(--th-color-bg-surface) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23191A1C' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 14px center/18px;color:var(--th-color-text-primary);font:inherit;font-size:var(--th-type-body-size);appearance:none;-webkit-appearance:none}
.th .insbar__sel select:focus{outline:none;border-color:var(--th-color-border-focus);box-shadow:0 0 0 1px var(--th-color-border-focus)}
.th .insbar__clear{grid-column:1 / -1;justify-self:start;height:auto;margin:0;padding:0;background:none;border:0;font:inherit;font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);font-weight:500;color:var(--th-color-text-accent);text-decoration:underline;text-underline-offset:.15em;cursor:pointer}
@media (max-width:767px){.th .insbar,html.has-insfilter .th .insbar{grid-template-columns:1fr}.th .insbar__sel{min-width:0}}
/* topic chips (single-select) */
.th .ins-topics{display:flex;flex-wrap:wrap;gap:var(--th-space-8);margin-top:var(--th-space-16)}
.th .ins-topic{display:inline-flex;align-items:center;height:36px;padding:0 var(--th-space-16);border-radius:var(--th-radius-pill);border:1px solid var(--th-color-border-control);background:var(--th-color-bg-surface);color:var(--th-color-text-primary);font:inherit;font-size:var(--th-type-ui-size);line-height:var(--th-type-ui-line-height);font-weight:500;cursor:pointer;transition:background var(--th-motion-duration-fast),border-color var(--th-motion-duration-fast)}
.th .ins-topic:hover{background:var(--th-color-bg-hover)}
.th .ins-topic[aria-pressed="true"]{background:var(--th-color-bg-inverse);border-color:var(--th-color-bg-inverse);color:var(--th-color-bg-surface)}
/* active-filter chips drawn by insights.js */
.th .inschips{display:flex;flex-wrap:wrap;gap:var(--th-space-8);margin-top:var(--th-space-16)}
.th .inschips[hidden]{display:none}
.th .inschip{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 12px;border-radius:var(--th-radius-pill);border:1px solid var(--th-color-border-subtle);background:var(--th-color-bg-recessed);color:var(--th-color-text-secondary);font:inherit;font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);cursor:pointer}
.th .inschip b{font-weight:600;color:var(--th-color-text-primary)}
/* grid + resource card */
.th .rgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--th-layout-card-gap);margin-top:var(--th-space-40)}
.th .rgrid[hidden]{display:none}
@media (max-width:1023px){.th .rgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.th .rgrid{grid-template-columns:1fr}}
.th .rcard{position:relative;display:flex;flex-direction:column;margin:0;background:var(--th-color-bg-surface);border:1px solid var(--th-color-border-subtle);border-radius:var(--th-radius-lg);overflow:hidden;box-shadow:none;transition:transform var(--th-motion-duration-base) var(--th-motion-ease-standard)}
@media (hover:hover){.th .rcard:hover{transform:translateY(-4px);box-shadow:none}}
.th .rcard[hidden]{display:none}
.th .rcard__img{display:none}
.th .rcard__body{display:flex;flex-direction:column;flex:1;padding:var(--th-layout-card-padding)}
.th .rcard__labels{display:flex;flex-wrap:wrap;gap:var(--th-space-8);margin:0 0 var(--th-space-12);font-size:var(--th-type-label-size);line-height:var(--th-type-label-line-height);letter-spacing:var(--th-type-label-tracking);font-weight:500;text-transform:uppercase}
.th .rcard__fmt{color:var(--th-color-text-accent)}
.th .rcard__topic{color:var(--th-color-text-muted)}
.th .rcard__t{margin:0 0 var(--th-space-12);font-size:var(--th-type-title-l-size);line-height:var(--th-type-title-l-line-height);font-weight:600;color:var(--th-color-text-primary)}
.th .rcard__t a{color:inherit;text-decoration:none}
.th .rcard__t a::after{content:"";position:absolute;inset:0}
.th .rcard__s{margin:0 0 var(--th-space-16);font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);color:var(--th-color-text-secondary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.th .rcard__meta{margin:0 0 var(--th-space-20);font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);color:var(--th-color-text-muted)}
.th .rcard__reg{display:block;margin-top:var(--th-space-4);font-size:var(--th-type-caption-size);color:var(--th-color-text-accent)}
.th .rcard__cta{margin-top:auto;display:inline-flex;align-items:center;gap:var(--th-space-8);font-size:var(--th-type-button-size);line-height:var(--th-type-button-line-height);font-weight:600;color:var(--th-color-text-accent)}
.th .rcard__cta svg{width:20px;height:20px}
.th .insempty{margin-top:var(--th-space-40);padding:var(--th-space-64) var(--th-space-24);border:1px dashed var(--th-color-border-subtle);border-radius:var(--th-radius-lg);text-align:center}
.th .insempty h3{margin:0 0 var(--th-space-8);font-size:var(--th-type-title-m-size);line-height:var(--th-type-title-m-line-height);font-weight:600}
.th .insempty p{margin:0 0 var(--th-space-20);color:var(--th-color-text-secondary)}
/* topic tiles: Card / Topic */
.th button.card[data-topic-jump]{background:var(--th-color-bg-recessed);border:0;box-shadow:none}

/* dlgate · Modal (Figma) for the gated-download pop-up. It lives outside .th (appended to body), so these
   selectors are unscoped. 560 wide, radius 12, Elevation/3, 64% scrim, full-screen sheet below 600.
   Markup, ids and gated-download.js untouched. */
.dlgate{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:var(--th-space-24);background:rgba(15,16,17,.64);backdrop-filter:blur(3px)}
.dlgate[hidden]{display:none}
.dlgate__card{position:relative;width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;background:var(--th-color-bg-surface);border-radius:12px;padding:var(--th-space-40);box-shadow:var(--th-elevation-3-sheet)}
.dlgate__x{position:absolute;top:16px;right:16px;width:40px;height:40px;border:0;border-radius:var(--th-radius-md);background:transparent;color:var(--th-color-text-secondary);font:400 24px/1 var(--th-type-family);cursor:pointer}
.dlgate__x:hover{background:var(--th-color-bg-hover);color:var(--th-color-text-primary)}
.dlgate__l{margin:0 0 var(--th-space-12);font-size:var(--th-type-label-size);line-height:var(--th-type-label-line-height);letter-spacing:var(--th-type-label-tracking);text-transform:uppercase;font-weight:500;color:var(--th-color-text-accent)}
.dlgate .gate{display:block;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.dlgate .gate h3{margin:0 0 var(--th-space-8);font:600 var(--th-type-title-m-size)/var(--th-type-title-m-line-height) var(--th-type-family);color:var(--th-color-text-primary)}
.dlgate .gate>p{margin:0 0 var(--th-space-24);font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);color:var(--th-color-text-secondary)}
.dlgate .gate label{display:block;margin:var(--th-space-20) 0 var(--th-space-8);font:500 var(--th-type-nav-size)/20px var(--th-type-family);color:var(--th-color-text-primary)}
.dlgate .gate>p+label{margin-top:0}
.dlgate .gate input:not([type=checkbox]):not([type=radio]){display:block;width:100%;height:var(--th-size-control);margin:0;padding:0 16px;border-radius:var(--th-radius-md);border:1px solid var(--th-color-border-control);background:var(--th-color-bg-surface);color:var(--th-color-text-primary);font:400 var(--th-type-body-size)/normal var(--th-type-family);box-shadow:none;transition:border-color var(--th-motion-duration-fast)}
.dlgate .gate input::placeholder{color:var(--th-color-text-muted);opacity:1}
.dlgate .gate input:focus{outline:none;border-color:var(--th-color-border-focus);box-shadow:0 0 0 1px var(--th-color-border-focus)}
.dlgate .gate input[aria-invalid="true"]{border-color:var(--th-color-border-error)}
.dlgate .gate .gate__err{margin:var(--th-space-8) 0 0;font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);color:var(--th-color-text-error)}
.dlgate .gate .gate__err:empty{display:none}
.dlgate .gate .btn{display:flex;width:100%;justify-content:center;align-items:center;margin:var(--th-space-24) 0 0;height:var(--th-size-control);padding:0 24px;border-radius:var(--th-radius-md);border:1px solid transparent;background:var(--th-color-bg-accent);color:var(--th-color-text-on-accent);font:600 var(--th-type-button-size)/var(--th-type-button-line-height) var(--th-type-family);box-shadow:none;transform:none;cursor:pointer;transition:background var(--th-motion-duration-fast) var(--th-motion-ease-standard),box-shadow var(--th-motion-duration-fast) var(--th-motion-ease-standard)}
.dlgate .gate .btn:hover{background:var(--th-color-bg-accent-hover);box-shadow:var(--th-glow-button-hover);transform:none}
.dlgate .gate .btn:active{transform:scale(var(--th-motion-scale-press))}
.dlgate .gate .btn+.gate__fine,.dlgate .gate .btn~.gate__fine{margin:var(--th-space-16) 0 0;font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);color:var(--th-color-text-muted)}
.dlgate .gate .gate__fine a{color:inherit;text-decoration:underline;text-underline-offset:.15em}
@media (max-width:599px){.dlgate{padding:0;align-items:stretch;justify-content:stretch}.dlgate__card{width:100%;max-height:none;border-radius:0;padding:var(--th-space-24);padding-top:var(--th-space-64)}}

/* pulse-quiz · Question step, Slider, Progress bar, Result summary and Booking dialog on the tokens.
   Layered on the markup pulse.js / pulse-booking.js generate (.quiz, .qslider, .score, .resultkit, .bk*).
   Ids, classes and behaviour untouched. Replace with the Figma components once ds.css ships them. */
/* question step */
.th .quiz{max-width:848px;margin:0 auto;padding:var(--th-space-40);background:var(--th-color-bg-surface);border:1px solid var(--th-color-border-subtle);border-radius:var(--th-radius-lg)}
.th .quiz__bar{height:4px;margin:0 0 var(--th-space-24);border-radius:var(--th-radius-pill);background:var(--th-color-border-subtle);overflow:hidden}
.th .quiz__fill{height:100%;border-radius:var(--th-radius-pill);background:var(--th-color-bg-accent);transition:width var(--th-motion-duration-slow) var(--th-motion-ease-standard)}
.th .quiz__meta{display:flex;justify-content:space-between;gap:var(--th-space-20);margin:0 0 var(--th-space-32);font-size:var(--th-type-label-size);line-height:var(--th-type-label-line-height);letter-spacing:var(--th-type-label-tracking);font-weight:500;text-transform:uppercase;color:var(--th-color-text-muted)}
.th .quiz__dim{color:var(--th-color-text-accent)}
.th .quiz__q{margin:0 0 var(--th-space-32);font-size:var(--th-type-h2-compact-size);line-height:var(--th-type-h2-compact-line-height);letter-spacing:var(--th-type-h2-compact-tracking);font-weight:400;color:var(--th-color-text-primary);min-height:0}
.th .quiz__skip{display:flex;align-items:center;gap:var(--th-space-20);margin-top:var(--th-space-24)}
.th .quiz__back{padding:8px 0;background:none;border:0;font:500 var(--th-type-ui-size)/var(--th-type-ui-line-height) var(--th-type-family);color:var(--th-color-text-secondary);cursor:pointer}
.th .quiz__back:hover{color:var(--th-color-text-primary)}
.th .quiz__back[disabled]{opacity:.35;cursor:default}
/* slider */
.th .qslider{margin-top:0}
.th .qslider__val{display:flex;align-items:baseline;gap:var(--th-space-12);margin:0 0 var(--th-space-16)}
.th .qslider__val b{font-size:var(--th-type-numeral-l-size);line-height:var(--th-type-numeral-l-line-height);letter-spacing:var(--th-type-numeral-l-tracking);font-weight:400;font-variant-numeric:tabular-nums;color:var(--th-color-text-accent-display)}
.th .qslider__val b.is-unset{color:var(--th-color-text-muted);font-weight:400}
.th .qslider__val span{font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);color:var(--th-color-text-secondary)}
.th .qslider__in{width:100%;height:40px;margin:0;background:transparent;accent-color:var(--th-color-bg-accent);cursor:pointer;-webkit-appearance:none;appearance:none}
.th .qslider__in::-webkit-slider-runnable-track{height:4px;border-radius:var(--th-radius-pill);background:var(--th-color-border-strong)}
.th .qslider__in::-moz-range-track{height:4px;border-radius:var(--th-radius-pill);background:var(--th-color-border-strong)}
.th .qslider__in::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;margin-top:-10px;border-radius:50%;background:var(--th-color-bg-accent);border:3px solid var(--th-color-bg-surface);box-shadow:0 0 0 1px var(--th-color-border-accent)}
.th .qslider__in::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--th-color-bg-accent);border:3px solid var(--th-color-bg-surface);box-shadow:0 0 0 1px var(--th-color-border-accent)}
.th .qslider__in:focus-visible{outline:none}
.th .qslider__in:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--th-color-border-focus)}
.th .qslider:not(.is-set) .qslider__in{opacity:.6}
.th .qslider__ends{display:flex;justify-content:space-between;margin:var(--th-space-4) 0 0;font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);color:var(--th-color-text-muted)}
.th .qslider__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--th-space-12);margin-top:var(--th-space-32)}
.th .qslider__row .btn,.th .qslider__row .quiz__idk{flex:1 1 200px;justify-content:center;margin:0}
.th .qslider__go[disabled]{opacity:.4;pointer-events:none}
.th .quiz__idk{display:inline-flex;align-items:center;justify-content:center;height:var(--th-size-control);padding:0 24px;border-radius:var(--th-radius-md);border:1px solid var(--th-color-border-control);background:var(--th-color-bg-surface);font:600 var(--th-type-button-size)/var(--th-type-button-line-height) var(--th-type-family);color:var(--th-color-text-primary);cursor:pointer;transition:background var(--th-motion-duration-fast)}
.th .quiz__idk:hover{background:var(--th-color-bg-hover);color:var(--th-color-text-primary);border-color:var(--th-color-border-control)}
/* result summary */
.th .snap--card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--th-layout-card-gap);align-items:start}
@media (max-width:1023px){.th .snap--card{grid-template-columns:1fr}}
.th .score{padding:var(--th-space-40);background:var(--th-color-bg-surface);border:1px solid var(--th-color-border-subtle);border-radius:var(--th-radius-lg)}
.th .score__top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--th-space-24);padding-bottom:var(--th-space-24);border-bottom:1px solid var(--th-color-border-subtle)}
.th .score__l{margin:0 0 var(--th-space-8);font-size:var(--th-type-label-size);line-height:var(--th-type-label-line-height);letter-spacing:var(--th-type-label-tracking);font-weight:500;text-transform:uppercase;color:var(--th-color-text-muted)}
.th .score__t{margin:0;font-size:var(--th-type-title-m-size);line-height:var(--th-type-title-m-line-height);font-weight:600;color:var(--th-color-text-primary)}
.th .score__fig{display:flex;align-items:baseline;gap:var(--th-space-8)}
.th .score__v{font-size:var(--th-type-stat-size);line-height:var(--th-type-stat-line-height);letter-spacing:var(--th-type-stat-tracking);font-weight:400;color:var(--th-color-text-accent-display)}
.th .score__band{font-size:var(--th-type-ui-size);line-height:var(--th-type-ui-line-height);font-weight:500;color:var(--th-color-text-primary)}
.th .score__max{font-size:var(--th-type-caption-size);color:var(--th-color-text-muted)}
.th .score__rows{display:grid;gap:var(--th-space-20);margin-top:var(--th-space-24)}
.th .score__row{margin:0}
.th .score__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--th-space-16);margin:0 0 var(--th-space-8)}
.th .score__name{font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);font-weight:600;color:var(--th-color-text-primary)}
.th .score__right{display:flex;align-items:baseline;gap:var(--th-space-12)}
.th .score__rb{font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);color:var(--th-color-text-muted)}
.th .score__rv{font-size:var(--th-type-numeral-s-size);line-height:var(--th-type-numeral-s-line-height);font-weight:400;font-variant-numeric:tabular-nums;color:var(--th-color-text-primary)}
.th .track{position:relative;width:100%;height:6px;margin:0;border-radius:var(--th-radius-pill);background:var(--th-color-border-subtle);overflow:hidden}
.th .track__fill{height:100%;border-radius:var(--th-radius-pill);background:var(--th-color-bg-accent);transition:width var(--th-motion-duration-slow) var(--th-motion-ease-standard)}
.th .score__note{margin:var(--th-space-8) 0 0;font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);color:var(--th-color-text-secondary)}
.th .score__flags{display:flex;flex-wrap:wrap;gap:var(--th-space-8);margin-top:var(--th-space-24)}
.th .flagpill{display:inline-flex;align-items:center;gap:var(--th-space-8);height:32px;padding:0 12px;border:1px solid var(--th-color-border-subtle);border-radius:var(--th-radius-pill);background:var(--th-color-bg-recessed);font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);font-weight:500;letter-spacing:0;text-transform:none;color:var(--th-color-text-primary)}
.th .flagpill i{width:6px;height:6px;border-radius:50%;background:var(--th-color-text-limited);display:block;flex:none}
.th .resultkit{padding:var(--th-space-40);background:var(--th-color-bg-surface);border:1px solid var(--th-color-border-subtle);border-top:1px solid var(--th-color-border-subtle);border-radius:var(--th-radius-lg)}
.th .resultkit__l{margin:0 0 var(--th-space-8);font-size:var(--th-type-label-size);line-height:var(--th-type-label-line-height);letter-spacing:var(--th-type-label-tracking);font-weight:500;text-transform:uppercase;color:var(--th-color-text-accent)}
.th .resultkit__t{margin:0 0 var(--th-space-12);font-size:var(--th-type-title-m-size);line-height:var(--th-type-title-m-line-height);font-weight:600;color:var(--th-color-text-primary)}
.th .resultkit__d{margin:0 0 var(--th-space-24);font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);color:var(--th-color-text-secondary)}
.th .resultkit__btn{width:100%;display:flex;justify-content:center;gap:var(--th-space-8)}
.th .resultkit__sub{margin:var(--th-space-12) 0 0;font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);color:var(--th-color-text-muted)}
.th .resultkit__note{margin:var(--th-space-24) 0 0;padding-top:var(--th-space-24);border-top:1px solid var(--th-color-border-subtle);font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);color:var(--th-color-text-secondary)}
.th .resultkit__more{margin:var(--th-space-16) 0 0}
.th .resultkit__more .link{display:inline-flex;align-items:center;gap:var(--th-space-8);font-size:var(--th-type-button-size);line-height:var(--th-type-button-line-height);font-weight:600;color:var(--th-color-text-accent);text-decoration:none}
.th .resultkit__more .link svg{width:20px;height:20px}
/* booking dialog (appended to body by pulse-booking.js, so unscoped) */
.bkg{background:rgba(15,16,17,.64);backdrop-filter:blur(3px);padding:var(--th-space-24)}
.bk{width:min(880px,100%);background:var(--th-color-bg-surface);color:var(--th-color-text-primary);border-radius:12px;padding:var(--th-space-40);box-shadow:var(--th-elevation-3-sheet)}
.bk__x{position:absolute;top:16px;right:16px;width:40px;height:40px;border:0;border-radius:var(--th-radius-md);background:transparent;color:var(--th-color-text-secondary);font:400 24px/1 var(--th-type-family);cursor:pointer}
.bk__x:hover{background:var(--th-color-bg-hover);color:var(--th-color-text-primary)}
.bk__l{margin:0 0 var(--th-space-12);font-size:var(--th-type-label-size);line-height:var(--th-type-label-line-height);letter-spacing:var(--th-type-label-tracking);font-weight:500;text-transform:uppercase;color:var(--th-color-text-accent)}
.bk__t{margin:0 0 var(--th-space-8);font-size:var(--th-type-title-l-size);line-height:var(--th-type-title-l-line-height);font-weight:600;color:var(--th-color-text-primary)}
.bk__d{margin:0 0 var(--th-space-24);font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);color:var(--th-color-text-secondary)}
.bk__calhead,.bk__timeshead{font-size:var(--th-type-nav-size);line-height:20px;font-weight:500;color:var(--th-color-text-primary)}
.bk__nav{width:36px;height:36px;border:1px solid var(--th-color-border-control);border-radius:var(--th-radius-md);background:var(--th-color-bg-surface);color:var(--th-color-text-primary);cursor:pointer}
.bk__nav:hover{background:var(--th-color-bg-hover)}
.bk__dow{font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);color:var(--th-color-text-muted);text-transform:uppercase;letter-spacing:var(--th-type-label-tracking)}
.bk__day{height:40px;border:1px solid transparent;border-radius:var(--th-radius-md);background:transparent;font:500 var(--th-type-ui-size)/var(--th-type-ui-line-height) var(--th-type-family);color:var(--th-color-text-primary);cursor:pointer}
.bk__day:hover{background:var(--th-color-bg-hover)}
.bk__day[disabled]{color:var(--th-color-text-disabled);cursor:default;background:transparent}
.bk__day.is-selected,.bk__day[aria-pressed="true"],.bk__day[aria-selected="true"]{background:var(--th-color-bg-inverse);color:var(--th-color-bg-surface);border-color:var(--th-color-bg-inverse)}
.bk__slot{height:var(--th-size-control-sm);padding:0 var(--th-space-16);border:1px solid var(--th-color-border-control);border-radius:var(--th-radius-pill);background:var(--th-color-bg-surface);font:500 var(--th-type-ui-size)/var(--th-type-ui-line-height) var(--th-type-family);color:var(--th-color-text-primary);cursor:pointer}
.bk__slot:hover{background:var(--th-color-bg-hover)}
.bk__slot.is-selected,.bk__slot[aria-pressed="true"],.bk__slot[aria-selected="true"]{background:var(--th-color-bg-inverse);border-color:var(--th-color-bg-inverse);color:var(--th-color-bg-surface)}
.bk__empty,.bk__tz,.bk__src{font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);color:var(--th-color-text-muted)}
.bk__err{font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);color:var(--th-color-text-error)}
.bk__foot{margin-top:var(--th-space-24);padding-top:var(--th-space-24);border-top:1px solid var(--th-color-border-subtle)}
.bk__done,.bk .btn{display:inline-flex;align-items:center;justify-content:center;height:var(--th-size-control);padding:0 24px;border-radius:var(--th-radius-md);border:1px solid transparent;background:var(--th-color-bg-accent);color:var(--th-color-text-on-accent);font:600 var(--th-type-button-size)/var(--th-type-button-line-height) var(--th-type-family);box-shadow:none;transform:none;cursor:pointer}
.bk__done:hover,.bk .btn:hover{background:var(--th-color-bg-accent-hover);box-shadow:var(--th-glow-button-hover);transform:none}
@media (max-width:599px){.bkg{padding:0;align-items:stretch}.bk{width:100%;max-height:none;border-radius:0;padding:var(--th-space-24);padding-top:var(--th-space-64)}}

/* prose-article · Prose block, Article header pieces, Exhibit and Table on the tokens.
   Covers blog posts (the article template) and the article pages (their body uses the old
   .prose / .exhibit / .extable classes, now wrapped in the .th group). */
.th .prose{max-width:var(--th-layout-measure-prose);margin-inline:auto}
.th .prose>*+*,.th .prose .entry-content>*+*{margin-top:var(--th-stack-paragraph)}
.th .prose p,.th .prose li{font-size:var(--th-type-prose-size);line-height:var(--th-type-prose-line-height);color:var(--th-color-text-secondary)}
.th .prose h2,.th .prose h3,.th .prose h4{color:var(--th-color-text-primary);margin-top:var(--th-space-56)}
.th .prose h2,.th .prose .h2{font-size:var(--th-type-prose-h2-size);line-height:var(--th-type-prose-h2-line-height);letter-spacing:var(--th-type-prose-h2-tracking);font-weight:400;max-width:none}
.th .prose h3,.th .prose h4{font-size:var(--th-type-prose-h3-size);line-height:var(--th-type-prose-h3-line-height);font-weight:600}
.th .prose h2 strong,.th .prose h3 strong,.th .prose h4 strong{font-weight:inherit}
.th .prose h2+*,.th .prose h3+*,.th .prose h4+*{margin-top:var(--th-space-16)}
.th .prose ul{list-style:disc}.th .prose ol{list-style:decimal}.th .prose ul,.th .prose ol{padding-left:1.3em;display:grid;gap:var(--th-space-8)}.th .prose li{display:list-item}
.th .prose ul.checks{list-style:none;padding:0}
.th .prose ul.checks li{display:flex;gap:var(--th-space-12);align-items:flex-start}
.th .prose ul.checks li svg{width:20px;height:20px;flex:none;margin-top:4px;color:var(--th-color-text-accent)}
.th .prose a{color:var(--th-color-text-accent);text-decoration:underline;text-underline-offset:.16em}
.th .prose a.link{display:inline-flex;align-items:center;gap:var(--th-space-8);text-decoration:none;font-size:var(--th-type-button-size);line-height:var(--th-type-button-line-height);font-weight:600}
.th .prose a.link svg{width:20px;height:20px}
.th .prose strong,.th .prose .prose__strong{color:var(--th-color-text-primary);font-weight:600}
.th .prose blockquote{border-left:2px solid var(--th-color-border-accent);padding-left:var(--th-space-24);margin:var(--th-space-40) 0}
.th .prose blockquote p,.th .prose .prose__pull{font-size:var(--th-type-pull-size);line-height:var(--th-type-pull-line-height);color:var(--th-color-text-primary)}
.th .prose .prose__pull{margin:var(--th-space-40) 0;padding-left:var(--th-space-24);border-left:2px solid var(--th-color-border-accent);font-weight:400}
.th .prose .prose__lede{font-size:var(--th-type-lead-size);line-height:var(--th-type-lead-line-height);color:var(--th-color-text-primary)}
.th .prose .eyebrow{margin-top:var(--th-space-64);font-size:var(--th-type-eyebrow-size);line-height:var(--th-type-eyebrow-line-height);letter-spacing:var(--th-type-eyebrow-tracking);text-transform:uppercase;color:var(--th-color-text-muted)}
.th .prose .eyebrow+h2,.th .prose .eyebrow+.h2{margin-top:var(--th-stack-eyebrow-to-heading)}
.th .prose img{max-width:100%;height:auto;border-radius:var(--th-radius-lg)}
.th .prose figure{margin:var(--th-space-40) 0}
.th .prose figure.prose__fig img{width:100%}
.th .prose figcaption{font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);color:var(--th-color-text-tertiary);margin-top:var(--th-space-12);text-align:left}
.th .prose hr{border:0;border-top:1px solid var(--th-color-border-subtle);margin:var(--th-space-56) 0}
/* exhibit */
.th .prose .exhibit{margin:var(--th-space-40) 0;padding:var(--th-space-32);background:var(--th-color-bg-recessed);border-radius:var(--th-radius-lg)}
.th .prose .exhibit>*+*{margin-top:var(--th-space-20)}
.th .prose .exhibit__l{margin:0;font-size:var(--th-type-label-size);line-height:var(--th-type-label-line-height);letter-spacing:var(--th-type-label-tracking);font-weight:500;text-transform:uppercase;color:var(--th-color-text-primary)}
.th .prose .chain{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--th-space-24)}
.th .prose .cost{padding-top:var(--th-space-16);border-top:1px solid var(--th-color-border-strong)}
.th .prose .cost__n{font-size:var(--th-type-numeral-l-size);line-height:var(--th-type-numeral-l-line-height);letter-spacing:var(--th-type-numeral-l-tracking);font-weight:400;color:var(--th-color-text-accent-display)}
.th .prose .cost__t{margin:var(--th-space-8) 0 0;font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);color:var(--th-color-text-secondary)}
.th .prose .exhibit__src{margin:0;font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);color:var(--th-color-text-tertiary)}
/* table */
.th .prose .tscroll{overflow-x:auto;margin:var(--th-space-40) 0}
.th .prose .tscroll>*+*{margin-top:var(--th-space-12)}
.th .prose figure.extable{margin:0}
.th .prose table{width:100%;border-collapse:collapse;font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);color:var(--th-color-text-secondary)}
.th .prose th{text-align:left;padding:var(--th-space-12) var(--th-space-16);font-size:var(--th-type-label-size);line-height:var(--th-type-label-line-height);letter-spacing:var(--th-type-label-tracking);font-weight:500;text-transform:uppercase;color:var(--th-color-text-muted);border-bottom:1px solid var(--th-color-border-strong)}
.th .prose td{text-align:left;padding:var(--th-space-12) var(--th-space-16);border-bottom:1px solid var(--th-color-border-subtle);vertical-align:top}
.th .prose td:first-child,.th .prose th:first-child{padding-left:0}
.th .prose td:last-child,.th .prose th:last-child{padding-right:0}
.th .prose video,.th .prose iframe{max-width:100%}
.th .prose-more{max-width:var(--th-layout-measure-prose);margin:var(--th-space-56) auto 0;padding-top:var(--th-space-32);border-top:1px solid var(--th-color-border-subtle)}

/* legacy-components · the original page components (September markup) restored inside .th and restyled on the
   tokens: stat tiles, deliverables panel + arrow list, lens compare, assure callout, phase/step cards, Pulse brief
   sample, proof quotes, research stats, split-media + shot, small text styles. Layout kept, colours/type/spacing
   from tokens. Overrides style.css wherever both set a property. */
/* text styles the old sections use */
.th .shell{width:min(100% - 2*var(--th-layout-page-gutter),var(--th-layout-content-max));margin-inline:auto;position:relative}
.th .section>.shell>.rule,.th .rule{border:0;border-top:1px solid var(--th-color-border-strong);margin:0 0 var(--th-stack-rule-to-eyebrow)}
.th .eyebrow__text{font-size:var(--th-type-eyebrow-size);line-height:var(--th-type-eyebrow-line-height);letter-spacing:var(--th-type-eyebrow-tracking);text-transform:uppercase;color:var(--th-color-text-muted)}
.th .h2{font-size:var(--th-type-h2-size);line-height:var(--th-type-h2-line-height);letter-spacing:var(--th-type-h2-tracking);font-weight:400;color:var(--th-color-text-primary);max-width:var(--th-layout-measure-wide);margin:var(--th-stack-eyebrow-to-heading) 0 0}
.th .h2 em{font-style:normal;color:var(--th-color-text-accent-display)}
.th .body{font-size:var(--th-type-lead-size);line-height:var(--th-type-lead-line-height);color:var(--th-color-text-secondary);max-width:var(--th-layout-measure);margin:var(--th-stack-heading-to-body) 0 0}
.th .lede{font-size:var(--th-type-lead-size);line-height:var(--th-type-lead-line-height);color:var(--th-color-text-secondary)}
.th .note,.th .fine,.th .microcopy{font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);color:var(--th-color-text-muted);margin:var(--th-space-24) 0 0}
.th .note em{font-style:normal;color:var(--th-color-text-primary)}
.th .lead-in{font-size:var(--th-type-label-size);line-height:var(--th-type-label-line-height);letter-spacing:var(--th-type-label-tracking);text-transform:uppercase;font-weight:500;color:var(--th-color-text-muted)}
.th .cta-row{display:flex;flex-wrap:wrap;gap:var(--th-stack-cta-gap);align-items:center;margin-top:var(--th-space-32)}
.th .linkcta,.th a.inline{color:var(--th-color-text-accent);text-decoration:underline;text-underline-offset:.16em;font-weight:500}
.th .pull{font-size:var(--th-type-pull-size);line-height:var(--th-type-pull-line-height);color:var(--th-color-text-primary);max-width:var(--th-layout-measure-wide);letter-spacing:0}
/* split-media + shot (image beside text) */
.th .split-media{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--th-space-48);align-items:center;margin-top:var(--th-stack-heading-to-body)}
.th .split-media--flip>:first-child{order:2}
.th .split-media--top{align-items:start}
@media (max-width:1023px){.th .split-media{grid-template-columns:1fr;gap:var(--th-space-32)}.th .split-media--flip>:first-child{order:0}}
.th .shot{margin:0;border-radius:var(--th-radius-lg);overflow:hidden;background:var(--th-color-bg-recessed)}
.th .shot img{display:block;width:100%;height:auto}
.th .shot--cover img{aspect-ratio:4/3;object-fit:cover}
.th .shot figcaption{padding:var(--th-space-12) 0 0;font-size:var(--th-type-caption-size);line-height:var(--th-type-caption-line-height);color:var(--th-color-text-tertiary)}
.th .shot--product{margin:0}
/* grids */
.th .grid-3,.th .grid-4,.th .grid-6{display:grid;gap:var(--th-layout-card-gap);margin-top:var(--th-stack-body-to-content);align-items:stretch}
.th .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.th .grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.th .grid-6{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--th-space-32)}
@media (max-width:1023px){.th .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.th .grid-3,.th .grid-6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.th .grid-3,.th .grid-4,.th .grid-6{grid-template-columns:1fr}}
/* numbered stat tiles */
.th .cost{border-top:1px solid var(--th-color-border-strong);padding-top:var(--th-space-20)}
.th .cost__n{font-size:var(--th-type-numeral-l-size);line-height:var(--th-type-numeral-l-line-height);letter-spacing:var(--th-type-numeral-l-tracking);font-weight:400;color:var(--th-color-text-accent-display)}
.th .cost__t{margin:var(--th-space-8) 0 0;font-size:var(--th-type-body-size);line-height:var(--th-type-body-line-height);color:var(--th-color-text-secondary)}
.th .section--dark .cost{border-color:color-mix(in srgb,currentColor 24%,transparent)}
.th .section--dark .cost__t{color:inherit;opacity:.8}
/* old cards (card__top / card__n / card__t / card__b) */
.th .card .card__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--th-stack-tile-to-title)}
.th .card .card__n{font-size:var(--th-type-title-m-size);line-height:var(--th-type-title-m-line-height);color:var(--th-color-text-muted)}
.th .card .card__t{font-size:var(--th-type-title-s-size);line-height:var(--th-type-title-s-line-height);font-weight:600;color:var(--th-color-text-primary)}
.th .card .card__b{margin:var(--th-space-8) 0 0;font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);color:var(--th-color-text-secondary)}
/* phase / step cards */
.th .phase{border-top:1px solid var(--th-color-border-strong);padding-top:var(--th-space-24)}
.th .phase--edge{border-color:var(--th-color-border-strong)}
.th .phase .tile{margin:0}
.th .step__n{margin:var(--th-space-20) 0 0;font-size:var(--th-type-numeral-s-size);line-height:var(--th-type-numeral-s-line-height);font-weight:400;color:var(--th-color-text-accent-display);font-variant-numeric:tabular-nums}
.th .step__t{margin:var(--th-space-12) 0 0;font-size:var(--th-type-title-s-size);line-height:var(--th-type-title-s-line-height);font-weight:600;color:var(--th-color-text-primary)}
.th .step__c{margin:var(--th-space-8) 0 0;font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);color:var(--th-color-text-secondary)}
.th .section--dark .phase{border-color:color-mix(in srgb,currentColor 24%,transparent)}
.th .section--dark .step__t,.th .section--dark .step__n{color:inherit}
.th .section--dark .step__c{color:inherit;opacity:.8}
/* deliverables panel + arrow list */
.th .panel{margin-top:var(--th-stack-body-to-content);padding:var(--th-layout-card-padding);background:var(--th-color-bg-surface);border:1px solid var(--th-color-border-subtle);border-radius:var(--th-radius-lg)}
.th .panel__l{margin:0 0 var(--th-space-12);font-size:var(--th-type-label-size);line-height:var(--th-type-label-line-height);letter-spacing:var(--th-type-label-tracking);text-transform:uppercase;font-weight:500;color:var(--th-color-text-muted)}
.th .panel__t{margin:0 0 var(--th-space-20);font-size:var(--th-type-title-m-size);line-height:var(--th-type-title-m-line-height);font-weight:600;color:var(--th-color-text-primary)}
.th .arrows{margin:0;padding:0;list-style:none}
.th .arrows li{display:flex;gap:var(--th-space-12);padding:var(--th-space-12) 0;border-top:1px solid var(--th-color-border-subtle);font-size:var(--th-type-body-size);line-height:var(--th-type-body-line-height);color:var(--th-color-text-secondary)}
.th .arrows li:first-child{border-top:0;padding-top:0}
.th .arrows li::before{content:"";flex:none;width:20px;height:20px;margin-top:2px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23BC5717' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12H19M13 6L19 12L13 18'/></svg>") center/20px no-repeat}
.th .arrows svg{display:none}
.th .section--dark .panel{background:transparent;border-color:color-mix(in srgb,currentColor 24%,transparent)}
.th .section--dark .arrows li{color:inherit;opacity:.9;border-color:color-mix(in srgb,currentColor 24%,transparent)}
.th .section--dark .panel__t{color:inherit}
/* lens compare */
.th .lens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--th-layout-card-gap);margin-top:var(--th-stack-body-to-content)}
@media (max-width:767px){.th .lens{grid-template-columns:1fr}}
.th .lens__c{background:var(--th-color-bg-surface);border:1px solid var(--th-color-border-subtle);border-top:3px solid var(--th-color-border-strong);border-radius:var(--th-radius-lg);padding:var(--th-layout-card-padding)}
.th .lens__c--next{border-top-color:var(--th-color-border-accent)}
.th .lens__l{margin:0 0 var(--th-space-16);font-size:var(--th-type-label-size);line-height:var(--th-type-label-line-height);letter-spacing:var(--th-type-label-tracking);text-transform:uppercase;font-weight:500;color:var(--th-color-text-muted)}
.th .lens__c--next .lens__l{color:var(--th-color-text-accent)}
.th .lens__q{margin:0 0 var(--th-space-16);font-size:var(--th-type-title-m-size);line-height:var(--th-type-title-m-line-height);font-weight:600;color:var(--th-color-text-primary)}
.th .lens__s{margin:0 0 var(--th-space-12);font-size:var(--th-type-body-compact-size);line-height:var(--th-type-body-compact-line-height);color:var(--th-color-text-muted)}
.th .lens__list{margin:0;padding:0;list-style:none}
.th .lens__list li{padding:var(--th-space-8) 0;border-top:1px solid var(--th-color-border-subtle);font-size:var(--th-type-body-size);line-height:var(--th-type-body-line-height);color:var(--th-color-text-secondary)}
.th .lens__list li:first-child{border-top:0;padding-top:0}
.th .lens__list b{font-weight:600;color:var(--th-color-text-primary)}
/* assure callout */
.th .assure{margin-top:var(--th-stack-body-to-content);padding:var(--th-space-32) var(--th-space-40);background:var(--th-color-bg-surface);border:1px solid var(--th-color-border-subtle);border-left:3px solid var(--th-color-border-accent);border-radius:var(--th-radius-lg)}
.th .assure--mt40{margin-top:var(--th-space-40)}.th .assure--mt56{margin-top:var(--th-space-56)}
.th .assure__l{margin:0 0 var(--th-space-12);font-size:var(--th-type-label-size);line-height:var(--th-type-label-line-height);letter-spacing:var(--th-type-label-tracking);text-transform:uppercase;font-weight:500;color:var(--th-color-text-accent)}
.th .assure__t{margin:0 0 var(--th-space-8);font-size:var(--th-type-title-m-size);line-height:var(--th-type-title-m-line-height);font-weight:600;color:var(--th-color-text-primary)}
.th .assure__d{margin:0;font-size:var(--th-type-body-size);line-height:var(--th-type-body-line-height);color:var(--th-color-text-secondary);max-width:var(--th-layout-measure-wide)}
.th .assure__d a{color:var(--th-color-text-accent);text-decoration:underline;text-underline-offset:.16em}
/* Pulse brief sample */
.th .brief-sample{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--th-space-48);align-items:center;margin-top:var(--th-space-64);padding:var(--th-layout-card-padding);border:1px solid var(--th-color-border-subtle);border-radius:var(--th-radius-lg);background:var(--th-color-bg-surface)}
@media (max-width:767px){.th .brief-sample{grid-template-columns:1fr;gap:var(--th-space-32)}}
.th .brief-sample__thumbs{display:flex;gap:var(--th-space-16)}
.th .brief-sample__thumbs img{width:calc((100% - 2*var(--th-space-16))/3);height:auto;border:1px solid var(--th-color-border-subtle);border-radius:var(--th-radius-sm);box-shadow:var(--th-elevation-0-raised);background:#fff}
/* proof quotes + research stats */
.th .proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--th-layout-card-gap);margin-top:var(--th-stack-body-to-content)}
@media (max-width:1023px){.th .proof{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.th .proof{grid-template-columns:1fr}}
.th .quote{display:flex;flex-direction:column;background:var(--th-color-bg-surface);border:1px solid var(--th-color-border-subtle);border-left:3px solid var(--th-color-border-accent);border-radius:var(--th-radius-lg);padding:var(--th-layout-card-padding)}
.th .stat{border-top:1px solid var(--th-color-border-strong);padding-top:var(--th-space-24)}
/* checks list (old markup with inline svg ticks) */
.th .checks{margin:var(--th-space-24) 0 0;padding:0;list-style:none;display:grid;gap:var(--th-space-12)}
.th .checks li{display:flex;gap:var(--th-space-12);align-items:flex-start;font-size:var(--th-type-body-size);line-height:var(--th-type-body-line-height);color:var(--th-color-text-secondary)}
.th .checks li svg{width:20px;height:20px;flex:none;margin-top:3px;color:var(--th-color-text-accent);stroke:currentColor;fill:none;stroke-width:1.6}
.th .section--dark .checks li{color:inherit;opacity:.9}
.th .checks li b{color:var(--th-color-text-primary);font-weight:600}
