/* TYN-e Global — additions for the WordPress version (text pages, articles, careers, downloads, 404). */

/* Panels are toggled with the hidden attribute. */
.t-site [hidden] { display: none !important; }

/* WordPress admin bar should not cover the fixed header. */
.admin-bar .t-header { top: calc(18px + 32px); }
@media (max-width: 782px) { .admin-bar .t-header { top: calc(18px + 46px); } }

/* Text content edited in WordPress */
.t-proseSection { padding: clamp(80px,8vw,130px) var(--shell); background: #0b1012; color: #fff; }
.t-lightTheme .t-proseSection { background: linear-gradient(90deg,rgba(104,147,197,.06),rgba(127,92,163,.05)),#f4f5f1; color: #101719; }
.t-prose { max-width: 820px; margin: 0 auto; font-size: 17px; line-height: 1.75; }
.t-proseEyebrow { margin: 0 0 26px !important; color: #79d4c8; font-size: 11px !important; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.t-lightTheme .t-proseEyebrow { color: #087f70; }
.t-prose h2, .t-prose h3 { margin: 1.8em 0 .55em; font-weight: 760; line-height: 1.12; letter-spacing: -.03em; }
.t-prose h2 { font-size: clamp(26px,2.6vw,38px); }
.t-prose h3 { font-size: clamp(20px,1.8vw,26px); }
.t-prose > *:first-child, .t-prose > .t-proseEyebrow + * { margin-top: 0; }
.t-prose p, .t-prose ul, .t-prose ol { margin: 0 0 1.1em; opacity: .86; }
.t-prose ul, .t-prose ol { padding-left: 1.2em; }
.t-prose a { border-bottom: 1px solid currentColor; color: inherit; }
.t-prose a:hover { color: var(--turquoise); }
.t-prose img, .t-prose figure { max-width: 100%; height: auto; margin: 2em 0; border-radius: 12px; }
.t-prose blockquote { margin: 2em 0; padding-left: 22px; border-left: 3px solid var(--turquoise); font-size: 1.15em; }

/* Article / text / error intro */
.t-articleTitle { font-size: clamp(34px,4.4vw,64px) !important; }
.t-textIntro { height: 46svh; min-height: 360px; }
.t-introLinks { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px !important; }
.t-introLinks a { display: inline-flex; align-items: center; gap: 10px; padding: 12px 16px; border: 1px solid rgba(255,255,255,.4); border-radius: 10px; background: rgba(255,255,255,.12); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; backdrop-filter: blur(10px); transition: background .3s; }
.t-introLinks a:hover { background: rgba(255,255,255,.25); }
.t-introLinks .t-icon { width: 14px; height: 14px; }

/* Headquarters block on the Global page uses the vision layout without the "Built for" row. */
.t-hq { padding-top: clamp(70px,7vw,110px); }
.t-hq .t-visionText a { border-bottom: 1px solid currentColor; }

/* ---------- Company subpages ---------- */
.t-placeholderNote { display: inline-flex; align-items: center; gap: 10px; margin: 34px 0 0 !important; padding: 11px 16px; border: 1px dashed currentColor; border-radius: 10px; font-size: 13px !important; line-height: 1.5 !important; opacity: .72; }
.t-placeholderNote::before { content: "Placeholder"; padding: 3px 8px; border-radius: 6px; background: var(--yellow); color: #101719; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.t-textBlock .t-visionText .t-placeholderNote { margin-top: 10px !important; }

/* Card grids with 4 columns and cards without images */
.t-commitmentGrid.t-cols4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.t-cards .t-commitmentGrid article > small:first-child { display: block; margin-top: 18px; }
.t-cardPortrait { display: grid; place-items: center; aspect-ratio: .86 !important; background: linear-gradient(135deg, rgba(104,147,197,.28), rgba(127,92,163,.24)) !important; }
.t-cardPortrait b { font-size: clamp(38px, 3.6vw, 56px); font-weight: 700; letter-spacing: -.03em; opacity: .85; }
.t-cardPortrait em { position: absolute; left: 16px; bottom: 14px; z-index: 2; font-size: 11px; font-style: normal; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .75; }
.t-cardPortrait::after { display: none; }
.t-cards .t-commitmentGrid figure:has(img) { aspect-ratio: .86; }
.t-cards .t-commitmentGrid figure img { object-position: center 30%; }
.t-cardPlaceholder { opacity: .62; }
.t-cardPlaceholder.t-revealed { opacity: .62 !important; }
.t-cardPlaceholder figure { border: 1px dashed currentColor; background: transparent !important; }
@media (max-width: 1100px) { .t-commitmentGrid.t-cols4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .t-commitmentGrid.t-cols4 { grid-template-columns: 1fr; gap: 46px; } }

/* Milestones */
.t-timeline { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.27); }
.t-lightTheme .t-timeline { border-color: rgba(16,25,27,.16); }
.t-timeline li { display: grid; grid-template-columns: minmax(150px, .32fr) 1fr; gap: 5vw; padding: 30px 0; border-bottom: 1px solid rgba(255,255,255,.27); }
.t-lightTheme .t-timeline li { border-color: rgba(16,25,27,.16); }
.t-timelineYear strong { display: block; font-size: clamp(40px, 4vw, 60px); font-weight: 700; letter-spacing: -.04em; line-height: .95; }
.t-timelineYear small { display: block; margin-top: 8px; color: var(--yellow); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.t-lightTheme .t-timelineYear small { color: #0b8e7c; }
.t-timelineText h3 { margin: 4px 0 10px; font-size: clamp(22px, 1.9vw, 28px); font-weight: 600; letter-spacing: -.02em; }
.t-timelineText p { margin: 0; max-width: 620px; font-size: 16px; line-height: 1.62; opacity: .72; }
.t-timelineText em { display: inline-block; margin-top: 12px; padding: 3px 8px; border: 1px dashed currentColor; border-radius: 6px; font-size: 10px; font-style: normal; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .7; }
.t-timeline li:last-child .t-timelineYear strong { color: var(--purple); }
@media (max-width: 760px) { .t-timeline li { grid-template-columns: 1fr; gap: 10px; padding: 24px 0; } }

/* Company overview: six page links */
.t-explore nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1100px) { .t-explore nav { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .t-explore nav { grid-template-columns: 1fr; } }
.t-contact > div > span a { border-bottom: 1px solid currentColor; }
/* Statement blocks: keep the big year clear of its label on narrow columns */
.t-textBlock .t-visionYear { flex-wrap: wrap; }

/* Explore blocks with 2-3 links; newsroom media contacts */
.t-explore.t-explore3 nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.t-explore nav a { min-height: 150px; }
@media (max-width: 1100px) { .t-explore.t-explore3 nav { grid-template-columns: 1fr; } }

/* Management team: two people side by side */
.t-commitmentGrid.t-cols2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.t-cols2 figure, .t-cols2 .t-cardPortrait { aspect-ratio: 1.5 !important; }
.t-cols2 figure img { object-position: center 22% !important; }
@media (max-width: 760px) { .t-commitmentGrid.t-cols2 { grid-template-columns: 1fr; gap: 46px; } }

/* ---------- Language switcher ---------- */
.t-langToggle > svg { width: 15px; height: 15px; }
.t-langPanel { width: 300px; }
.t-langPanel a b svg { width: 15px; height: 15px; }
.t-langPanel .t-langActive { font-weight: 700; }
.t-langPanel .t-langActive b { color: var(--turquoise); }
.t-langCountries { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 14px; padding: 0; border: 0; background: none; color: inherit; font: inherit; font-size: 12px; line-height: 1.45; text-align: left; opacity: .68; cursor: pointer; }
.t-langCountries:hover { opacity: 1; }
.t-langCountries b svg { width: 14px; height: 14px; }
.t-mobilePanel > .t-mobileLangs { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 0; }
.t-mobilePanel > .t-mobileLangs a { display: inline-block !important; padding: 8px 12px !important; border: 1px solid currentColor !important; border-radius: 8px !important; font-size: 13px; font-weight: 700; line-height: 1; opacity: .72; }
.t-mobilePanel > .t-mobileLangs a.t-langActive { opacity: 1; background: var(--yellow) !important; border-color: var(--yellow) !important; color: #101719 !important; }
.t-footerBottom button > svg:first-child { width: 13px; height: 13px; margin-right: 2px; vertical-align: -2px; }

/* ---------- Chinese: system fonts for CJK characters ---------- */
html[lang^="zh"] { --font-tyne: 'Montserrat', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Noto Sans SC', sans-serif; --font-geist-sans: var(--font-tyne); --font-montserrat: var(--font-tyne); --font-tyne-text: 'Manrope', 'PingFang SC', 'Microsoft YaHei', 'Noto Sans SC', sans-serif; --font-tyne-display: 'Quicksand', 'PingFang SC', 'Microsoft YaHei', 'Noto Sans SC', sans-serif; }
html[lang^="zh"] .t-site { --font-rounded: "Arial Rounded MT Bold", "Arial Rounded MT", ui-rounded, 'PingFang SC', 'Microsoft YaHei', 'Noto Sans SC', sans-serif; }
html[lang^="zh"] .t-site h1, html[lang^="zh"] .t-site h2 { letter-spacing: 0; }

/* ---------- "AI-generated" label: small, bottom right of the image ---------- */
.t-site span.t-aiLabel { position: absolute !important; inset: auto 10px 10px auto !important; z-index: 4 !important; display: block !important; width: auto !important; height: auto !important; margin: 0 !important; padding: 3px 7px !important; border: 0 !important; border-radius: 4px !important; background: rgba(8, 12, 14, .34) !important; color: rgba(255, 255, 255, .82) !important; font-size: 9px !important; font-weight: 600 !important; line-height: 1.3 !important; letter-spacing: .04em !important; text-transform: none !important; white-space: nowrap; pointer-events: none; transform: none !important; opacity: 1 !important; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.t-site .t-editorialCard span.t-aiLabel { inset: auto 52px 17px auto !important; }

/* ---------- Theme toggle: knob and icons on one exact grid ---------- */
.t-site .t-navActions > .t-themeToggle { position: relative; display: block; width: 56px; height: 30px; padding: 0; border-width: 1px; }
.t-site .t-themeToggle i { position: absolute; top: 2px; width: 24px; height: 24px; display: grid; place-items: center; }
.t-site .t-themeToggle i:first-child { left: 2px; }
.t-site .t-themeToggle i:nth-child(2) { right: 2px; }
.t-site .t-themeToggle i svg { width: 13px; height: 13px; display: block; }
.t-site .t-themeToggle b { top: 2px; left: 2px; width: 24px; height: 24px; }
.t-site.t-lightTheme .t-themeToggle b { transform: translateX(26px); }
.t-site.t-darkTheme .t-themeToggle b { transform: translateX(0); }

/* ---------- Hero controls: one floating control bar ---------- */
.t-site .t-editorialControls { width: max-content; height: auto; margin: 18px auto 0; padding: 5px; gap: 6px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 999px; background: rgba(8, 12, 14, .42); box-shadow: 0 12px 34px rgba(0, 0, 0, .18); -webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%); }
.t-site .t-editorialControls > button { width: 38px; height: 38px; border: 0; border-radius: 50%; background: transparent; color: #fff; transition: background .25s, color .25s, transform .25s; }
.t-site .t-editorialControls > button:hover { background: var(--yellow); color: #101719; }
.t-site .t-editorialControls > button:active { transform: scale(.94); }
.t-site .t-editorialControls > button:focus-visible { outline: 2px solid var(--yellow); outline-offset: 2px; }
.t-site .t-editorialControls > button .t-icon { width: 16px; height: 16px; }
.t-site .t-editorialControls > div { align-items: center; padding: 0 8px; }
.t-site .t-editorialControls > button[data-hero-pause] { background: rgba(255, 255, 255, .1); }
.t-site.t-lightTheme .t-editorialControls { border-color: rgba(16, 25, 27, .1); background: rgba(255, 255, 255, .62); box-shadow: 0 12px 34px rgba(18, 45, 40, .12); }
.t-site.t-lightTheme .t-editorialControls > button { color: #101719; }
.t-site.t-lightTheme .t-editorialControls > button[data-hero-pause] { background: rgba(16, 25, 27, .06); }
.t-site.t-lightTheme .t-editorialControls > button:hover { background: var(--yellow); color: #101719; }

/* ---------- Cookie consent (only when GA4 is configured, or ?consent-preview=1) ---------- */
.t-consent { position: fixed; z-index: 9999; left: 24px; bottom: 24px; width: min(420px, calc(100vw - 48px)); padding: 22px 22px 20px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 16px; background: rgba(9, 13, 15, .88); color: #fff; font-family: 'Montserrat', Arial, sans-serif; box-shadow: 0 24px 60px rgba(0, 0, 0, .28); -webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%); opacity: 0; transform: translateY(14px); transition: opacity .3s ease, transform .3s cubic-bezier(.22, 1, .36, 1); }
.t-consent.t-consentOpen { opacity: 1; transform: none; }
.t-consent[hidden] { display: none; }
.t-consentTitle { margin: 0 0 8px; font-size: 15px; font-weight: 700; letter-spacing: .01em; }
.t-consentText { margin: 0; font-size: 13px; line-height: 1.6; color: rgba(255, 255, 255, .78); }
.t-consentText a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.t-consentActions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.t-consentActions button, .t-consentReopen { height: 42px; padding: 0 18px; border: 1px solid rgba(255, 255, 255, .5); border-radius: 999px; background: transparent; color: #fff; font: 700 13px/1 'Montserrat', Arial, sans-serif; letter-spacing: .04em; cursor: pointer; transition: background .25s, color .25s, border-color .25s; }
.t-consentActions button:hover, .t-consentActions button:focus-visible { background: #fff042; border-color: #fff042; color: #101719; }
.t-consentActions button:focus-visible, .t-consentReopen:focus-visible { outline: 2px solid #fff042; outline-offset: 3px; }
.t-consentReopen { border-color: currentColor; color: inherit; }
.t-consentReopen:hover { background: #fff042; border-color: #fff042; color: #101719; }
@media (max-width: 767px) { .t-consent { left: 12px; right: 12px; bottom: 12px; width: auto; padding: 18px 18px 16px; } }
@media (prefers-reduced-motion: reduce) { .t-consent { transition: none; } }
