/* Main homepage: content-led sizing, original feature artwork and visible sections. */
.tx-main{--home-width:1320px;--home-gutter:clamp(18px,3.5vw,56px)}
.tx-main main{overflow:clip}.tx-main main>section{scroll-margin-top:82px}
.tx-main>.tx-site-header+main>.tx-master-hero{width:min(calc(100% - 2 * var(--home-gutter)),var(--home-width));height:auto;min-height:0;margin:0 auto;padding:32px 0;display:grid;grid-template-rows:none;gap:22px;overflow:visible}
.tx-main .tx-master-hero .tx-hero-intro{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(24px,4vw,56px);height:auto;min-height:0;align-items:center;overflow:visible}
.tx-main .tx-hero-title-wrap{min-width:0}.tx-main .tx-hero-title-wrap .tx-overline{margin:0 0 20px}
.tx-main .tx-master-hero .tx-hero-title-wrap h1{font-size:clamp(48px,5.3vw,82px);line-height:.98;letter-spacing:-.045em;margin:0}
.tx-main .tx-home-lede{max-width:460px;font-size:clamp(16px,1.3vw,18px);line-height:1.65;color:var(--muted);margin:22px 0 0}
.tx-main .tx-main-hero-visual{display:block;position:relative;align-self:center;width:100%;height:auto;aspect-ratio:3 / 2;min-width:0;margin:0;overflow:hidden}
.tx-main .tx-main-hero-visual img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}
.tx-main .tx-main-hero-visual:before{inset:12px}.tx-main .tx-main-hero-visual figcaption{padding:24px 18px 14px;background:linear-gradient(transparent,rgba(9,20,16,.75))}
.tx-main .tx-master-hero>.tx-word-stage{display:grid;grid-template-columns:1fr 1fr;height:auto;min-height:0;overflow:visible}
.tx-main .tx-word-stage>.tx-division-link{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto;align-items:center;gap:18px;min-width:0;min-height:96px;padding:18px 22px;text-decoration:none}
.tx-main .tx-word-stage strong{font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-.03em;align-self:center}.tx-main .tx-word-stage small{font-size:12px;letter-spacing:.04em}.tx-main .tx-word-stage span{font-size:11px}
.tx-main .tx-word-stage>.tx-division-link:hover,.tx-main .tx-word-stage>.tx-division-link:focus-visible{background:var(--acid);color:var(--ink)}
.tx-main .tx-master-statement{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0;padding:18px 0 0;border-top:1px solid var(--line);border-bottom:0}
.tx-main .tx-master-statement>p{margin:0;font-size:15px;color:var(--muted)}.tx-main .tx-master-statement>div{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.tx-main .tx-button{min-height:48px}
.tx-main :is(.tx-manifesto,.tx-division,.tx-foundation,.tx-evidence,.tx-principles,.tx-contact-band){padding:64px max(var(--home-gutter),calc((100% - var(--home-width))/2));min-height:0;gap:36px}
.tx-main .tx-manifesto{grid-template-columns:.45fr 1.5fr 1fr;align-items:center}.tx-main .tx-manifesto h2{font-size:clamp(34px,3.5vw,50px);line-height:1.08}.tx-main .tx-manifesto>p:last-child{font-size:16px;line-height:1.7;margin:0}
.tx-main .tx-division{grid-template-columns:.3fr 1.3fr 1fr;align-items:center}.tx-main .tx-division-copy h2,.tx-main .tx-foundation h2,.tx-main .tx-evidence h2,.tx-main .tx-principles h2{font-size:clamp(32px,3.3vw,48px);line-height:1.08;margin:12px 0 20px}
.tx-main .tx-division-copy>p:not(.tx-overline){font-size:16px;line-height:1.7;margin-bottom:24px}.tx-main .tx-system-visual{min-height:300px}.tx-main .tx-ranking-visual{padding:42px 20px 30px}.tx-main .tx-ranking-visual li{grid-template-columns:24px 1fr .8fr 28px;gap:8px;padding:22px 0;font-size:12px}
.tx-main .tx-foundation{grid-template-columns:1fr 1.2fr;align-items:center}.tx-main .tx-foundation>p{grid-column:1/-1;max-width:760px;margin:0;font-size:16px;line-height:1.7}.tx-main .tx-foundation-diagram{padding:24px}
.tx-main .tx-evidence{grid-template-columns:1fr 1.2fr}.tx-main .tx-evidence-copy>p:not(.tx-section-no){font-size:16px;line-height:1.7}.tx-main .tx-fragment-body{grid-template-columns:42px 1fr 100px;min-height:300px}.tx-main .tx-fragment-body section{padding:24px}.tx-main .tx-fragment-body h3{font-size:30px}.tx-main .tx-fragment-body>aside{padding:14px 10px}.tx-main .tx-fragment-body>aside:last-child b{font-size:34px}.tx-main .tx-bars{height:100px;margin-top:28px}.tx-main .tx-product-fragment{box-shadow:8px 8px 0 var(--moss);min-width:0}
.tx-main .tx-principles{grid-template-columns:.4fr 1fr 1.2fr}.tx-main .tx-principles li p{font-size:15px;line-height:1.65}.tx-main .tx-contact-band h2{font-size:clamp(36px,4.5vw,64px);line-height:1.08;margin:18px 0 26px}
.tx-main .tx-reveal{opacity:1;transform:none}
@media(max-width:1024px){.tx-main .tx-master-hero .tx-hero-intro{grid-template-columns:1fr 1fr;gap:28px}.tx-main .tx-master-hero .tx-hero-title-wrap h1{font-size:clamp(42px,5.4vw,64px)}.tx-main .tx-word-stage>.tx-division-link{gap:12px;padding:16px}.tx-main .tx-manifesto{grid-template-columns:1.2fr 1fr}.tx-main .tx-manifesto>.tx-section-no{grid-column:1/-1;margin:0}.tx-main .tx-division{grid-template-columns:1fr 1fr}.tx-main .tx-division-label{grid-column:1/-1}.tx-main .tx-principles{grid-template-columns:1fr 1fr}.tx-main .tx-principles>.tx-section-no{grid-column:1/-1;margin:0}.tx-main .tx-master-statement{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.tx-main>.tx-site-header+main>.tx-master-hero{width:calc(100% - 36px);padding:26px 0 30px;gap:20px}.tx-main .tx-master-hero .tx-hero-intro{grid-template-columns:1fr;gap:24px}.tx-main .tx-master-hero .tx-hero-title-wrap h1{font-size:clamp(43px,10vw,64px);line-height:1.02}.tx-main .tx-hero-title-wrap .tx-overline{margin-bottom:16px}.tx-main .tx-home-lede{margin-top:18px;max-width:100%}.tx-main .tx-main-hero-visual{height:auto;aspect-ratio:3 / 2}.tx-main .tx-master-hero>.tx-word-stage{height:auto;min-height:0}.tx-main .tx-word-stage>.tx-division-link{grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:8px 10px;min-height:104px;padding:14px 12px}.tx-main .tx-word-stage strong{font-size:clamp(26px,8vw,34px)}.tx-main .tx-word-stage small{grid-column:2;font-size:11px}.tx-main .tx-master-statement{padding-top:18px;gap:16px}.tx-main .tx-master-statement>div{gap:18px;width:100%}.tx-main .tx-button{min-width:0;padding:13px 16px}.tx-main :is(.tx-manifesto,.tx-division,.tx-foundation,.tx-evidence,.tx-principles,.tx-contact-band){padding:44px 18px;grid-template-columns:1fr;gap:24px}.tx-main .tx-section-no,.tx-main .tx-overline{margin-top:0}.tx-main .tx-manifesto h2,.tx-main .tx-division-copy h2,.tx-main .tx-foundation h2,.tx-main .tx-evidence h2,.tx-main .tx-principles h2{font-size:clamp(32px,8vw,44px)}.tx-main .tx-division-label{grid-column:auto}.tx-main .tx-system-visual{min-height:280px}.tx-main .tx-foundation>p{grid-column:auto}.tx-main .tx-foundation-diagram{padding:20px 12px}.tx-main .tx-foundation-diagram b{font-size:11px;padding:16px 5px}.tx-main .tx-fragment-body{grid-template-columns:32px 1fr 74px;min-height:260px}.tx-main .tx-fragment-body section{padding:18px 12px}.tx-main .tx-fragment-body h3{font-size:26px}.tx-main .tx-fragment-body>aside{padding:12px 6px}.tx-main .tx-fragment-body>aside:last-child b{font-size:26px}.tx-main .tx-fragment-body>aside:last-child span{font-size:8px;letter-spacing:0}.tx-main .tx-bars{gap:5px;height:84px;margin-top:22px}.tx-main .tx-fragment-top{padding:0 10px;font-size:8px;letter-spacing:.04em}.tx-main .tx-contact-band h2{font-size:clamp(36px,9vw,50px)}.tx-main .tx-principles li{padding:18px 0}}
@media(prefers-reduced-motion:reduce){.tx-main{scroll-behavior:auto}.tx-main *{animation:none!important;transition:none!important}}

/* Feature-led homepage hero. */
.tx-main>.tx-site-header+main>.tx-master-hero{padding:40px 0 28px;gap:30px}
.tx-main .tx-master-hero .tx-hero-intro{grid-template-columns:1fr 1.05fr;gap:32px}
.tx-main .tx-master-hero .tx-hero-title-wrap h1{font-size:clamp(44px,4.8vw,68px);line-height:1.04;letter-spacing:-.04em}
.tx-main .tx-home-lede{max-width:490px;margin-top:24px;font-size:17px;line-height:1.7}
.tx-main .tx-home-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.tx-main .tx-home-actions .tx-button{min-height:50px;padding:14px 18px;font-size:14px;gap:20px}
.tx-main .tx-home-talent{background:transparent;border:1px solid var(--ink);color:var(--ink)}
.tx-main .tx-home-talent:hover{background:var(--ink);color:var(--paper)}
.tx-main .tx-home-actions a:focus-visible{outline:3px solid #527866;outline-offset:5px}
.tx-main .tx-home-art{min-width:0;width:100%;align-self:center}
.tx-main .tx-home-art svg{display:block;width:100%;height:auto}
.tx-main .tx-home-summaries{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tx-main .tx-home-summaries>div{display:flex;align-items:flex-start;gap:18px;padding:22px 0;min-width:0}
.tx-main .tx-home-summaries>div+div{border-left:1px solid var(--line);padding-left:28px}
.tx-main .tx-home-number{font-size:11px;color:var(--muted);padding-top:5px}
.tx-main .tx-home-summaries h2{font:600 17px/1.4 'DM Sans',sans-serif;margin:0 0 7px;letter-spacing:0}
.tx-main .tx-home-summaries p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
@media(max-width:899px){.tx-main .tx-master-hero .tx-hero-intro{grid-template-columns:1fr;gap:14px}.tx-main .tx-hero-title-wrap{max-width:650px}.tx-main .tx-master-hero .tx-hero-title-wrap h1{font-size:clamp(44px,7vw,64px)}.tx-main .tx-home-art{max-width:580px;justify-self:center}.tx-main .tx-home-lede{max-width:600px}.tx-main>.tx-site-header+main>.tx-master-hero{padding-top:30px;gap:22px}}
@media(max-width:599px){.tx-main .tx-master-hero .tx-hero-title-wrap h1{font-size:clamp(39px,10vw,56px)}.tx-main .tx-home-lede{font-size:16px;margin-top:18px}.tx-main .tx-home-actions{flex-direction:column;margin-top:22px;gap:10px}.tx-main .tx-home-actions .tx-button{display:flex;justify-content:space-between;width:100%;box-sizing:border-box}.tx-main .tx-home-art svg{margin:0 auto;max-width:420px}.tx-main .tx-art-flourishes{display:none}.tx-main .tx-home-summaries{grid-template-columns:1fr}.tx-main .tx-home-summaries>div{padding:16px 0;gap:14px}.tx-main .tx-home-summaries>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.tx-main .tx-home-summaries p{font-size:12px}.tx-main>.tx-site-header+main>.tx-master-hero{gap:16px}}

/* Product links follow the artwork in both visual and document order. */
.tx-main .tx-hero-intro>.tx-home-actions{grid-column:1/-1;margin-top:0}

/* Keep both platform choices and their features together in the opening view. */
.tx-main .tx-hero-intro>.tx-home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);padding-top:20px}
.tx-main .tx-home-platform{min-width:0}.tx-main .tx-home-platform .tx-button{display:flex;justify-content:space-between;width:100%;box-sizing:border-box}
.tx-main .tx-home-platform p{margin:10px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
@media(max-width:599px){.tx-main>.tx-site-header+main>.tx-master-hero{padding:18px 0 20px}.tx-main .tx-master-hero .tx-hero-intro{gap:10px}.tx-main .tx-master-hero .tx-hero-title-wrap h1{font-size:clamp(32px,9vw,40px);line-height:1.04}.tx-main .tx-home-lede{margin-top:12px;font-size:14px;line-height:1.5}.tx-main .tx-home-art{width:100%}.tx-main .tx-hero-intro>.tx-home-actions{gap:10px;padding-top:12px}.tx-main .tx-home-actions .tx-button{padding:11px 10px;font-size:12px;gap:6px;min-height:46px;white-space:nowrap}.tx-main .tx-home-platform p{margin-top:8px;font-size:11px;line-height:1.5}}

@media(max-width:359px){.tx-main .tx-home-actions .tx-button{font-size:11px;padding-inline:8px;gap:4px}}

.tx-main .tx-home-summaries{display:none}
@media(min-width:900px){.tx-main .tx-home-summaries{display:grid}.tx-main .tx-home-platform p{display:none}.tx-main .tx-hero-intro>.tx-home-actions{display:flex;border-top:0;padding-top:0}.tx-main .tx-home-platform .tx-button{width:auto}}

/* Bring platform links and summaries into the opening desktop view. */
.tx-main .tx-hero-title-wrap .tx-overline{font-size:11px;line-height:1.5;margin-bottom:14px}
@media(min-width:900px){.tx-main>.tx-site-header+main>.tx-master-hero{padding:24px 0 18px;gap:18px}.tx-main .tx-master-hero .tx-hero-intro{gap:18px 32px}.tx-main .tx-home-art svg{max-height:min(390px,44svh)}.tx-main .tx-home-summaries>div{padding-top:18px;padding-bottom:18px}.tx-main .tx-home-lede{margin-top:18px}}
@media(max-width:599px){.tx-main .tx-hero-title-wrap .tx-overline{font-size:9px;letter-spacing:.08em;margin-bottom:10px}}

/* Platform links belong to the introductory copy, before the artwork. */
.tx-main .tx-hero-title-wrap>.tx-home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}
@media(min-width:900px){.tx-main .tx-hero-title-wrap>.tx-home-actions{display:flex;gap:14px}.tx-main .tx-home-platform .tx-button{width:auto}}
@media(max-width:599px){.tx-main .tx-hero-title-wrap>.tx-home-actions{margin-top:16px}}

/* The opening viewport contains the hero; the next chapter starts after scrolling. */
.tx-main{--home-header-height:62px}
.tx-main>.tx-site-header+main>.tx-master-hero{box-sizing:border-box;min-height:calc(100svh - var(--home-header-height));grid-template-rows:minmax(auto,1fr) auto}
.tx-main .tx-master-hero .tx-hero-intro{align-content:center}
@media(max-width:980px){.tx-main{--home-header-height:60px}}
@media(max-width:899px){.tx-main>.tx-site-header+main>.tx-master-hero{grid-template-rows:1fr}}
@media(max-width:650px){.tx-main{--home-header-height:58px}}

/* Scale the opening composition to the space available on larger displays. */
@media(min-width:1200px){
  .tx-main>.tx-site-header+main>.tx-master-hero{--home-width:1760px;padding-top:28px;padding-bottom:20px;gap:20px}
  .tx-main .tx-master-hero .tx-hero-intro{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:clamp(32px,3vw,64px)}
  .tx-main .tx-master-hero .tx-hero-title-wrap h1{font-size:clamp(68px,min(5vw,12svh),104px);line-height:1.03}
  .tx-main .tx-home-lede{max-width:640px;font-size:clamp(18px,1.15vw,23px);line-height:1.6;margin-top:24px}
  .tx-main .tx-hero-title-wrap .tx-overline{font-size:clamp(11px,.75vw,14px);margin-bottom:18px}
  .tx-main .tx-home-art svg{max-height:min(680px,calc(109svh - 246px))}
  .tx-main .tx-hero-title-wrap>.tx-home-actions{margin-top:26px;gap:18px}
  .tx-main .tx-home-actions .tx-button{min-height:56px;padding:16px 22px;font-size:clamp(14px,.9vw,17px)}
  .tx-main .tx-home-summaries h2{font-size:clamp(17px,1.1vw,21px)}
  .tx-main .tx-home-summaries p{font-size:clamp(13px,.85vw,16px)}
}

@media(min-width:2000px){.tx-main>.tx-site-header+main>.tx-master-hero{--home-width:2160px}.tx-main .tx-master-hero .tx-hero-title-wrap h1{font-size:clamp(96px,min(5vw,12svh),128px)}.tx-main .tx-home-art svg{max-height:min(860px,calc(100svh - 240px))}.tx-main .tx-home-lede{max-width:760px;font-size:clamp(23px,1.05vw,27px)}}
