/* Corporate overview only. Other programme decks keep deck.css layouts. */
.td-deck { background: var(--navy); }
.deck-on .th-footer { display: none !important; }
.th-home .deck-hud { bottom: 6px; padding: 4px 8px; box-shadow: none; }
.th-home .deck-hud:focus-within { opacity: 1; }
.td-slide { background: var(--white); color: var(--navy); font: 400 22px/1.45 var(--font-body); }
.td-slide--navy { background: var(--navy); color: var(--white); }
.td-slide--tint { background: var(--navy-05); }
.td-slide * { box-sizing: border-box; }
/* Tech Corridor service deck uses an 8px red baseline, absent on its cover. */
.td-slide:not(.td-cover)::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 8px; background: var(--red); pointer-events: none; z-index: 5; }
.td-slide h1, .td-slide h2, .td-slide h3, .td-slide p, .td-slide figure, .td-slide ol { margin: 0; }
.td-slide .title-red-dot { display: inline-block; width: .17em; height: .17em; margin-left: .055em; background: var(--red); border-radius: 50%; color: transparent; -webkit-text-fill-color: transparent; font-size: 1em; line-height: 0; vertical-align: baseline; overflow: hidden; position: relative; top: .014em; }
.td-eyebrow { color: var(--teal); font: 700 20px/1.4 var(--font-subtitle); margin-bottom: 12px !important; }
.td-eyebrow .td-dot { margin-inline: 9px; }
.td-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--red); vertical-align: middle; }
.td-title { font: 700 56px/1.08 var(--font-display); letter-spacing: -.02em; white-space: pre-line; text-wrap: balance; }
.td-lead { color: var(--teal); font: 400 22px/1.45 var(--font-subtitle); margin-top: 16px !important; }
.td-header { position: absolute; left: 60px; right: 60px; top: 52px; }
.td-body { color: var(--navy-70); }
.td-slide--navy .td-body { color: var(--navy-20); }
.td-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.td-circle { display: block; aspect-ratio: 1; border-radius: 50%; overflow: hidden; }
.td-circle > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.td-circle-group { position: relative; width: 100%; aspect-ratio: 1; padding: 0 28px 28px 0; }
.td-circle-small { position: absolute; width: 42%; right: 0; bottom: 0; }

/* Same original full-resolution photo and display-time navy grade as the website. */
.td-cover .td-bg { filter: var(--th-hero-photo-filter); }
.td-cover-logo { position: absolute; top: 42px; left: 60px; height: 44px; width: auto; }
.td-cover-copy { position: absolute; left: 60px; top: 393px; width: 650px; transform: translateY(-50%); }
.td-cover .td-title { font-size: 64px; line-height: 1.04; }
.td-cover .td-lead { font-size: 24px; line-height: 1.5; max-width: 600px; margin-top: 28px !important; white-space: pre-line; }
.td-cover-visual { position: absolute; width: 430px; right: 58px; top: 178px; }

/* About: photograph left, story and a compact 3-by-2 timeline right. */
.td-about-grid { position: absolute; left: 60px; right: 60px; top: 194px; bottom: 86px; display: grid; grid-template-columns: 350px minmax(0,1fr); gap: 72px; align-items: center; }
.td-about-content { align-self: start; }
.td-about-grid .td-circle-group { width: 340px; }
.td-about-copy { font-size: 26px; line-height: 1.55; }
.td-slide .td-timeline { list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px 20px; padding: 0; margin-top: 34px; }
.td-timeline li { position: relative; padding-top: 15px; border-top: 1px solid var(--navy-20); }
.td-timeline li::before { content: ''; position: absolute; top: -5px; left: 0; width: 8px; height: 8px; background: var(--red); border-radius: 50%; }
.td-timeline-year { display: block; color: var(--teal); font: 700 26px/1.2 var(--font-display); margin-bottom: 8px; }
.td-timeline-label { font: 700 17px/1.35 var(--font-display); min-height: 2.7em; white-space: pre-line; }

/* Slogan and Vision retain their own website photographs. */
.td-slogan-grid { position: absolute; inset: 120px 60px 100px; display: grid; grid-template-columns: minmax(0,1.8fr) minmax(0,1fr); gap: 60px; align-items: center; }
.td-slogan .td-title { font-size: 50px; line-height: 1.12; transform: translateX(24px); }
.td-slogan .td-circle { width: 350px; justify-self: end; }
.td-vision .td-bg { object-position: center 75%; }
.td-vision-copy { position: absolute; top: 185px; left: 100px; right: 100px; text-align: center; }
.td-vision .td-eyebrow { margin-bottom: 30px !important; }
.td-vision .td-title { font-size: 62px; line-height: 1.1; }

/* Three numbered businesses, with the same circular lead images as the site. */
.td-overview-grid { position: absolute; left: 60px; right: 60px; top: 234px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 44px; text-align: center; }
.td-overview-item h3 { min-height: 2.4em; font: 700 26px/1.2 var(--font-display); letter-spacing: -.01em; margin-bottom: 28px; text-wrap: balance; }
.td-overview-item h3 > .td-number { margin-right: 8px; }
.td-number { color: var(--red); }
.td-overview-item .td-circle { width: 258px; margin-inline: auto; }

/* Each network slide shows three cities, keeping partner names readable. */
.td-city-grid { position: absolute; top: 252px; left: 60px; right: 60px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; text-align: center; }
.td-city .td-circle { width: 204px; margin-inline: auto; }
.td-city h3 { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 18px; font: 700 26px/1.3 var(--font-subtitle); }
.td-city-year { color: var(--teal); font-size: 22px; font-weight: 400; }
.td-city p { margin-top: 12px; font-size: 21px; line-height: 1.45; }

/* Acceleration and Education: one large photo opposite a numbered list. */
.td-service-grid { position: absolute; left: 60px; right: 60px; top: 232px; bottom: 68px; display: grid; grid-template-columns: 380px minmax(0,1fr); gap: 64px; align-items: center; }
.td-service-grid > .td-circle { width: 350px; justify-self: start; }
.td-service-grid--reverse { grid-template-columns: minmax(0,1fr) 380px; }
.td-service-grid--reverse > .td-circle { justify-self: end; }
.td-service-list { list-style: none; padding: 0; }
.td-service-list > li { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 16px; border-top: 1px solid var(--navy-20); padding-block: 10px; }
.td-service-list > li:last-child { border-bottom: 1px solid var(--navy-20); }
.td-service-list .td-number { font: 700 24px/1.3 var(--font-subtitle); }
.td-service-list h3 { font: 700 26px/1.2 var(--font-display); letter-spacing: -.01em; }
.td-service-list p { font-size: 22px; line-height: 1.4; margin-top: 6px; }
.td-slide--navy .td-service-list > li { border-color: rgba(255,255,255,.25); }

/* A stationary logo ribbon, with all nine partners visible together. */
.td-partners .td-header .td-lead { color: var(--navy-70); }
.td-partner-grid { position: absolute; left: 60px; right: 60px; top: 224px; bottom: 74px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: repeat(3,minmax(0,1fr)); column-gap: 34px; row-gap: 8px; }
.td-partner { display: grid; grid-template-rows: 66px auto; align-content: start; justify-items: center; gap: 10px; padding: 4px; border-bottom: 1px solid var(--navy-10); }
.td-partner:nth-last-child(-n+3) { border-bottom: none; }
.td-partner img { width: 210px; height: 66px; object-fit: contain; }
.td-partner p { max-width: 330px; font-size: 17px; line-height: 1.4; text-align: center; }

/* Founder portraits and full biographies; no Leadership label or badges. */
.td-founder-grid { position: absolute; top: 176px; left: 60px; right: 60px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 60px; }
.td-founder { padding-top: 24px; border-top: 1px solid var(--navy-20); }
.td-founder-header { display: grid; grid-template-columns: 146px minmax(0,1fr); gap: 26px; align-items: center; }
.td-founder-header .td-circle { width: 146px; }
.td-founder-role { color: var(--teal); font: 400 20px/1.4 var(--font-subtitle); margin-bottom: 12px !important; }
.td-founder h3 { font: 700 30px/1.2 var(--font-subtitle); }
.td-founder-bio { font-size: 22px; line-height: 1.45; margin-top: 24px !important; }

/* Contact closes on the same pale invitation / Fusionopolis composition. */
.td-contact-grid { position: absolute; inset: 100px 60px 90px; display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); gap: 80px; align-items: center; }
.td-contact .td-title { font-size: 64px; }
.td-contact .td-lead { color: var(--navy-70); font-size: 24px; line-height: 1.5; margin-top: 26px !important; }
.td-contact address { font: 400 22px/1.6 var(--font-subtitle); color: var(--navy-70); margin-top: 28px; }
.td-contact-email { display: inline-block; color: var(--teal); font: 700 26px/1.4 var(--font-subtitle); margin-top: 22px; }
.td-contact .td-circle { width: 380px; justify-self: end; }

.td-slide:lang(zh) :is(h1,h2,h3) { letter-spacing: 0; }
.td-slide:lang(zh) .td-title { line-height: 1.25; }
.td-cover:lang(zh) .td-title { font-size: 68px; }
.td-slide:lang(zh) .td-overview-item h3 { min-height: 1.5em; line-height: 1.5; }
.td-slide:lang(zh) .td-about-copy { line-height: 1.65; }
.td-slide:lang(zh) .td-founder-bio { line-height: 1.65; }
.td-slide:lang(zh) .td-service-list p { line-height: 1.55; }
.td-contact:lang(zh) .td-lead { text-wrap: balance; }
@media (prefers-reduced-motion: no-preference) {
 .td-cover .td-circle-group > .td-circle:first-child img { animation: tdCoverDrift 16s ease-in-out infinite alternate; }
 @keyframes tdCoverDrift { to { transform: scale(1.05) translate(-1%,1%); } }
}
@media print { .td-slide * { animation: none !important; } }
