/* Talent Frontiers marketing pages — no external font or paid dependency required. */
:root {
  --tf-blue: #1559d7;
  --tf-blue-deep: #0c43af;
  --tf-navy: #082650;
  --tf-ink: #10213e;
  --tf-muted: #536278;
  --tf-line: #dbe2ec;
  --tf-paper: #ffffff;
  --tf-surface: #f4f7fb;
  --tf-warm: #eef3fb;
  --tf-focus: #ffcb47;
  --tf-shell: 1200px;
  --tf-serif: Georgia, 'Times New Roman', serif;
  --tf-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.tf-marketing-page { margin: 0; background: var(--tf-paper); color: var(--tf-ink); font-family: var(--tf-sans); font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
.tf-marketing-page img { max-width: 100%; height: auto; }
.tf-marketing-page a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.tf-marketing-page a:hover { text-decoration-thickness: 2px; }
.tf-marketing-page :focus-visible { outline: 3px solid var(--tf-focus); outline-offset: 3px; }
.tf-marketing-page h1, .tf-marketing-page h2, .tf-marketing-page h3, .tf-marketing-page p { margin-top: 0; }
.tf-marketing-page h1, .tf-marketing-page h2, .tf-marketing-page h3 { color: var(--tf-navy); line-height: 1.04; letter-spacing: -.045em; }
.tf-marketing-page h1 { max-width: 800px; margin-bottom: 24px; font-size: clamp(3rem, 7.1vw, 6.9rem); font-weight: 760; }
.tf-marketing-page h2 { font-size: clamp(2.05rem, 4vw, 4rem); font-weight: 740; }
.tf-marketing-page h3 { font-size: 1.37rem; font-weight: 720; }
.tf-shell { width: min(calc(100% - 64px), var(--tf-shell)); margin-inline: auto; }
.tf-main { overflow: hidden; }
.tf-skip-link { position: fixed; z-index: 999999; top: -100px; left: 16px; padding: 12px 16px; border-radius: 3px; background: var(--tf-focus); color: #000; font-weight: 800; text-decoration: none; }
.tf-skip-link:focus { top: 16px; }

/* Header */
.tf-site-header { position: relative; z-index: 100; border-bottom: 1px solid var(--tf-line); background: rgba(255,255,255,.98); }
.tf-header-inner { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 34px; }
.tf-brand { display: inline-flex; width: 193px; flex: 0 0 auto; line-height: 0; }
.tf-brand img { width: 100%; height: auto; }
.tf-primary-navigation { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.tf-nav-link, .tf-nav-disclosure { display: inline-flex; align-items: center; gap: 7px; padding: 10px 11px; border: 0; background: transparent; color: var(--tf-ink); font: 650 .88rem/1 var(--tf-sans); letter-spacing: .01em; text-decoration: none; cursor: pointer; }
.tf-nav-link::after { display: block; width: 0; height: 2px; content: ''; background: var(--tf-blue); transition: width .16s ease; }
.tf-nav-link:hover::after, .tf-nav-link.is-active::after { width: 100%; }
.tf-nav-disclosure span { font-size: 1.15em; transform: translateY(-1px); }
.tf-nav-group { position: relative; }
.tf-submenu { position: absolute; top: calc(100% + 11px); left: 0; display: grid; min-width: 205px; padding: 10px; border: 1px solid var(--tf-line); background: var(--tf-paper); box-shadow: 0 15px 28px rgba(8,38,80,.13); opacity: 0; visibility: hidden; transform: translateY(-5px); transition: opacity .16s ease, transform .16s ease, visibility .16s; }
.tf-nav-group.is-open .tf-submenu, .tf-nav-group:focus-within .tf-submenu { opacity: 1; visibility: visible; transform: translateY(0); }
.tf-submenu a { padding: 9px 10px; color: var(--tf-ink); font-size: .9rem; text-decoration: none; }
.tf-submenu a:hover { background: var(--tf-surface); color: var(--tf-blue-deep); }
.tf-header-contact { margin-left: 9px; padding: 11px 17px; background: var(--tf-blue); color: #fff; font-weight: 740; font-size: .88rem; text-decoration: none; transition: background .16s ease, transform .16s ease; }
.tf-header-contact:hover { background: var(--tf-navy); transform: translateY(-1px); }
.tf-menu-toggle { display: none; width: 45px; height: 42px; border: 1px solid var(--tf-line); background: #fff; color: var(--tf-navy); cursor: pointer; }
.tf-menu-toggle-lines, .tf-menu-toggle-lines::before, .tf-menu-toggle-lines::after { position: relative; display: block; width: 18px; height: 2px; margin: auto; background: currentColor; content: ''; transition: transform .16s ease; }
.tf-menu-toggle-lines::before { position: absolute; top: -6px; }
.tf-menu-toggle-lines::after { position: absolute; top: 6px; }
.tf-menu-toggle[aria-expanded='true'] .tf-menu-toggle-lines { background: transparent; }
.tf-menu-toggle[aria-expanded='true'] .tf-menu-toggle-lines::before { top: 0; transform: rotate(45deg); }
.tf-menu-toggle[aria-expanded='true'] .tf-menu-toggle-lines::after { top: 0; transform: rotate(-45deg); }

/* Shared typography, buttons, sections */
.tf-eyebrow { margin-bottom: 17px; color: var(--tf-blue); font-weight: 790; font-size: .73rem; letter-spacing: .14em; line-height: 1.2; text-transform: uppercase; }
.tf-lead { max-width: 625px; margin-bottom: 34px; color: var(--tf-muted); font-size: clamp(1.13rem, 2vw, 1.38rem); line-height: 1.55; }
.tf-lead-small { color: var(--tf-muted); font-size: 1.18rem; }
.tf-button-row { display: flex; flex-wrap: wrap; gap: 12px; }
.tf-button { display: inline-flex; align-items: center; justify-content: center; gap: 21px; min-height: 52px; padding: 14px 20px; border: 1px solid var(--tf-blue); background: var(--tf-blue); color: #fff !important; font: 760 .92rem/1 var(--tf-sans); letter-spacing: .01em; text-decoration: none; transition: background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease; cursor: pointer; }
.tf-button:hover { background: var(--tf-navy); border-color: var(--tf-navy); text-decoration: none; transform: translateY(-2px); }
.tf-button-secondary { border-color: var(--tf-navy); background: transparent; color: var(--tf-navy) !important; }
.tf-button-secondary:hover { background: var(--tf-navy); color: #fff !important; }
.tf-section { padding: clamp(68px, 9vw, 132px) 0; }
.tf-surface { background: var(--tf-surface); }
.tf-section-heading { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(250px, .62fr); align-items: end; gap: 45px; margin-bottom: clamp(35px, 5vw, 62px); }
.tf-section-heading h2, .tf-heading-split h2 { max-width: 660px; margin-bottom: 0; }
.tf-section-heading > p { max-width: 400px; margin-bottom: 8px; color: var(--tf-muted); }
.tf-content-two { display: grid; grid-template-columns: minmax(0, .92fr) minmax(310px, .78fr); gap: clamp(42px, 8vw, 150px); align-items: start; }
.tf-content-two h2 { margin-bottom: 19px; }
.tf-content-two p { color: var(--tf-muted); font-size: 1.1rem; }

/* Home */
.tf-hero { position: relative; background: linear-gradient(118deg, #fff 0%, #fff 53%, #e9f1ff 100%); }
.tf-hero::before { position: absolute; right: -18vw; bottom: -17vw; width: 53vw; aspect-ratio: 1; border: 1px solid rgba(21,89,215,.16); border-radius: 50%; content: ''; }
.tf-hero::after { position: absolute; top: 64px; right: 16vw; width: 22px; height: 22px; background: var(--tf-blue); content: ''; transform: rotate(45deg); }
.tf-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(305px, .55fr); gap: clamp(45px, 9vw, 150px); align-items: center; min-height: min(790px, calc(100vh - 84px)); padding-top: clamp(70px, 10vw, 135px); padding-bottom: clamp(70px, 10vw, 135px); }
.tf-hero-copy h1 { max-width: 720px; }
.tf-hero-panel { position: relative; padding: 35px; border: 1px solid rgba(21,89,215,.2); background: rgba(255,255,255,.82); box-shadow: 20px 20px 0 rgba(21,89,215,.1); backdrop-filter: blur(6px); }
.tf-hero-panel::before { position: absolute; top: -1px; left: 34px; width: 74px; height: 4px; background: var(--tf-blue); content: ''; }
.tf-panel-kicker { margin-bottom: 17px; color: var(--tf-blue); font-size: .73rem; font-weight: 790; letter-spacing: .13em; text-transform: uppercase; }
.tf-hero-panel h2, .tf-outline-panel h2 { margin-bottom: 23px; font-size: 1.82rem; }
.tf-check-list, .tf-outline-panel ul { margin: 0 0 25px; padding: 0; list-style: none; }
.tf-check-list li, .tf-outline-panel li { position: relative; margin-bottom: 12px; padding-left: 25px; color: var(--tf-muted); font-size: .95rem; }
.tf-check-list li::before, .tf-outline-panel li::before { position: absolute; left: 0; color: var(--tf-blue); font-weight: 900; content: '—'; }
.tf-hero-panel > a, .tf-quiet-card a { color: var(--tf-blue-deep); font-size: .91rem; font-weight: 760; text-decoration: none; }
.tf-heading-split { margin-bottom: 53px; }
.tf-audience-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.tf-audience-card { position: relative; min-height: 320px; padding: 39px; overflow: hidden; border: 1px solid var(--tf-line); background: #fff; }
.tf-audience-card::after { position: absolute; right: -53px; bottom: -61px; width: 170px; height: 170px; border: 1px solid var(--tf-line); border-radius: 50%; content: ''; }
.tf-audience-card:nth-child(2)::after { border-color: rgba(21,89,215,.28); background: rgba(21,89,215,.04); }
.tf-card-number { display: block; margin-bottom: 42px; color: var(--tf-blue); font-size: .76rem; font-weight: 790; letter-spacing: .13em; }
.tf-audience-card h3 { position: relative; z-index: 1; margin-bottom: 13px; }
.tf-audience-card p { position: relative; z-index: 1; max-width: 420px; min-height: 76px; margin-bottom: 25px; color: var(--tf-muted); }
.tf-audience-card .tf-button { position: relative; z-index: 1; }
.tf-region-grid { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--tf-line); border-left: 1px solid var(--tf-line); }
.tf-region-card { display: flex; flex-direction: column; justify-content: space-between; min-height: 198px; padding: 25px 21px; border-right: 1px solid var(--tf-line); border-bottom: 1px solid var(--tf-line); background: #fff; color: var(--tf-navy); text-decoration: none; transition: color .16s ease, background .16s ease; }
.tf-region-card:hover { background: var(--tf-navy); color: #fff; text-decoration: none; }
.tf-region-index { color: var(--tf-blue); font: .71rem/1 var(--tf-sans); font-weight: 800; letter-spacing: .14em; }
.tf-region-card strong { margin-top: auto; font-size: 1.17rem; line-height: 1.12; letter-spacing: -.03em; }
.tf-region-card > span:last-child { align-self: flex-end; margin-top: 24px; font-size: 1.1rem; }
.tf-navy-band { background: var(--tf-navy); color: #fff; }
.tf-navy-band h2 { color: #fff; }
.tf-on-dark > p { color: #c9d7ee; }
.tf-role-links { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid rgba(255,255,255,.22); border-left: 1px solid rgba(255,255,255,.22); }
.tf-role-links a { display: flex; flex-direction: column; justify-content: space-between; min-height: 184px; padding: 24px 20px; border-right: 1px solid rgba(255,255,255,.22); border-bottom: 1px solid rgba(255,255,255,.22); color: #fff; font-size: 1.04rem; font-weight: 680; line-height: 1.2; text-decoration: none; transition: background .16s ease; }
.tf-role-links a:hover { background: var(--tf-blue); text-decoration: none; }
.tf-role-links span { align-self: end; color: #8db4ff; }
.tf-process-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(430px, 1.15fr); gap: clamp(45px, 10vw, 175px); }
.tf-process-layout h2 { max-width: 480px; }
.tf-process { margin: 0; padding: 0; list-style: none; counter-reset: tf-process; }
.tf-process li { position: relative; min-height: 139px; padding: 0 0 30px 86px; border-bottom: 1px solid var(--tf-line); }
.tf-process li + li { padding-top: 30px; }
.tf-process li > span { position: absolute; top: 3px; left: 0; color: var(--tf-blue); font-size: .78rem; font-weight: 820; letter-spacing: .12em; }
.tf-process h3 { margin-bottom: 8px; font-size: 1.27rem; }
.tf-process p { margin-bottom: 0; color: var(--tf-muted); }
.tf-trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--tf-line); border-left: 1px solid var(--tf-line); }
.tf-trust-grid article { min-height: 232px; padding: 30px; border-right: 1px solid var(--tf-line); border-bottom: 1px solid var(--tf-line); background: #fff; }
.tf-trust-grid h3 { margin-bottom: 13px; font-size: 1.22rem; }
.tf-trust-grid p { margin-bottom: 0; color: var(--tf-muted); font-size: .96rem; }

/* Interior pages */
.tf-page-hero { padding: clamp(82px, 11vw, 168px) 0 clamp(75px, 9vw, 120px); background: linear-gradient(105deg, #fff 0%, #fff 63%, #eef4ff 100%); }
.tf-page-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(295px, .57fr); gap: clamp(45px, 10vw, 176px); align-items: center; }
.tf-page-hero h1 { max-width: 760px; font-size: clamp(3.1rem, 6.5vw, 6.15rem); }
.tf-outline-panel { padding: 34px; border: 1px solid rgba(8,38,80,.32); background: rgba(255,255,255,.7); }
.tf-outline-panel ul { margin-bottom: 0; }
.tf-step-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.tf-step-grid article { min-height: 268px; padding: 32px; border-top: 4px solid var(--tf-blue); background: var(--tf-surface); }
.tf-step-grid span { display: block; margin-bottom: 42px; color: var(--tf-blue); font-size: .75rem; font-weight: 800; letter-spacing: .12em; }
.tf-step-grid h3 { margin-bottom: 12px; }
.tf-step-grid p { margin-bottom: 0; color: var(--tf-muted); }
.tf-filter-list { display: grid; border-top: 1px solid var(--tf-line); }
.tf-filter-list a { display: grid; grid-template-columns: 95px 1fr auto; gap: 18px; align-items: center; padding: 17px 0; border-bottom: 1px solid var(--tf-line); color: var(--tf-ink); font-weight: 710; text-decoration: none; }
.tf-filter-list a:hover { color: var(--tf-blue); }
.tf-filter-list span { color: var(--tf-muted); font-size: .73rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.tf-filter-list b { color: var(--tf-blue); font-size: 1.15rem; }
.tf-callout { padding: 51px 0; background: var(--tf-blue); color: #fff; }
.tf-callout > .tf-shell { display: flex; align-items: center; justify-content: space-between; gap: 38px; }
.tf-callout .tf-eyebrow { color: #bdd4ff; }
.tf-callout h2 { max-width: 690px; margin: 0; color: #fff; font-size: clamp(2rem, 4vw, 3.45rem); }
.tf-callout .tf-button-secondary { border-color: #fff; color: #fff !important; flex: 0 0 auto; }
.tf-callout .tf-button-secondary:hover { background: #fff; color: var(--tf-blue) !important; }
.tf-quiet-card { padding: 32px; border: 1px solid var(--tf-line); background: #fff; }
.tf-quiet-card h3 { margin-bottom: 10px; }
.tf-quiet-card p { font-size: 1rem; }
.tf-about-hero { min-height: 510px; background: var(--tf-navy); }
.tf-about-hero .tf-eyebrow { color: #a8c6ff; }
.tf-about-hero h1 { color: #fff; }
.tf-about-hero .tf-lead { color: #d2dff2; }
.tf-editorial-grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(390px, .9fr); gap: clamp(46px, 11vw, 190px); }
.tf-editorial-grid h2 { margin-bottom: 0; }
.tf-editorial-grid p { color: var(--tf-muted); font-size: 1.18rem; line-height: 1.62; }
.tf-editorial-grid p:last-child { margin-bottom: 0; }
.tf-region-hero { position: relative; overflow: hidden; }
.tf-region-hero::after { position: absolute; right: 6vw; bottom: -160px; width: 430px; height: 430px; border: 1px solid rgba(21,89,215,.15); border-radius: 50%; content: ''; }
.tf-region-hero .tf-page-hero-grid { position: relative; z-index: 1; }

/* Contact */
.tf-contact-hero { background: linear-gradient(120deg, #fff 0%, #f6f9ff 63%, #e3eeff 100%); }
.tf-contact-note { max-width: 460px; padding-left: 14px; border-left: 3px solid var(--tf-blue); color: var(--tf-muted); font-size: .92rem; }
.tf-contact-form-wrap { padding: 31px; border: 1px solid var(--tf-line); background: #fff; box-shadow: 18px 18px 0 rgba(21,89,215,.08); }
.tf-contact-form p { margin-bottom: 17px; }
.tf-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.tf-contact-form label { display: block; margin-bottom: 7px; color: var(--tf-ink); font-size: .84rem; font-weight: 730; }
.tf-contact-form input[type='text'], .tf-contact-form input[type='email'], .tf-contact-form select, .tf-contact-form textarea { display: block; width: 100%; border: 1px solid #b9c5d5; border-radius: 0; background: #fff; color: var(--tf-ink); font: 400 16px/1.45 var(--tf-sans); }
.tf-contact-form input[type='text'], .tf-contact-form input[type='email'], .tf-contact-form select { min-height: 45px; padding: 9px 10px; }
.tf-contact-form textarea { min-height: 126px; padding: 10px; resize: vertical; }
.tf-contact-form input:focus, .tf-contact-form select:focus, .tf-contact-form textarea:focus { border-color: var(--tf-blue); outline: 3px solid rgba(21,89,215,.17); outline-offset: 0; }
.tf-contact-form small { display: block; margin-top: 5px; color: var(--tf-muted); font-size: .76rem; }
.tf-contact-form .tf-consent { margin: 21px 0; }
.tf-contact-form .tf-consent label { display: flex; gap: 9px; align-items: flex-start; color: var(--tf-muted); font-weight: 520; line-height: 1.4; }
.tf-contact-form .tf-consent input { width: 17px; height: 17px; margin: 2px 0 0; flex: 0 0 auto; accent-color: var(--tf-blue); }
.tf-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.tf-form-notice { margin-bottom: 20px; padding: 12px 14px; border-left: 4px solid; font-size: .9rem; }
.tf-form-notice.is-success { border-color: #17744a; background: #eaf7f0; color: #0a4b2d; }
.tf-form-notice.is-error { border-color: #bb3f30; background: #fff2f1; color: #77221a; }

/* Insights */
.tf-insights-hero { padding: clamp(83px, 12vw, 164px) 0 clamp(63px, 8vw, 106px); background: var(--tf-navy); }
.tf-insights-hero .tf-eyebrow { color: #a8c6ff; }
.tf-insights-hero h1 { max-width: 810px; color: #fff; }
.tf-insights-hero .tf-lead { margin-bottom: 0; color: #d2dff2; }
.tf-insights-section { padding-top: clamp(55px, 7vw, 100px); }
.tf-post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.tf-post-card { min-width: 0; border: 1px solid var(--tf-line); background: #fff; transition: box-shadow .16s ease, border-color .16s ease, transform .16s ease; }
.tf-post-card:hover { border-color: rgba(21,89,215,.5); box-shadow: 10px 10px 0 rgba(21,89,215,.09); transform: translate(-2px,-2px); }
.tf-post-card-link { display: flex; flex-direction: column; min-height: 100%; padding: 31px; color: var(--tf-ink); text-decoration: none; }
.tf-post-meta { margin-bottom: 29px; color: var(--tf-blue); font-size: .72rem; font-weight: 770; letter-spacing: .1em; text-transform: uppercase; }
.tf-post-card h2 { margin-bottom: 17px; font-size: clamp(1.38rem, 2vw, 1.88rem); }
.tf-post-excerpt { color: var(--tf-muted); font-size: .95rem; }
.tf-post-excerpt p:last-child { margin-bottom: 20px; }
.tf-text-link { margin-top: auto; padding-top: 12px; color: var(--tf-blue-deep); font-size: .88rem; font-weight: 760; }
.tf-marketing-page .navigation.pagination { margin-top: 46px; }
.tf-marketing-page .nav-links { display: flex; flex-wrap: wrap; gap: 7px; }
.tf-marketing-page .page-numbers { display: inline-flex; min-width: 38px; min-height: 38px; align-items: center; justify-content: center; padding: 4px 9px; border: 1px solid var(--tf-line); color: var(--tf-navy); text-decoration: none; }
.tf-marketing-page .page-numbers.current, .tf-marketing-page .page-numbers:hover { border-color: var(--tf-blue); background: var(--tf-blue); color: #fff; }
.tf-empty-state { max-width: 720px; padding: 45px; border-left: 4px solid var(--tf-blue); background: var(--tf-surface); }
.tf-empty-state h2 { margin-bottom: 14px; font-size: 2rem; }
.tf-empty-state p { margin-bottom: 0; color: var(--tf-muted); }

/* Footer */
.tf-site-footer { padding-top: 67px; background: #061c3b; color: #cbd8ec; }
.tf-footer-grid { display: grid; grid-template-columns: 1.45fr .65fr .65fr; gap: 70px; padding-bottom: 64px; }
.tf-footer-brand { display: block; width: 194px; margin-bottom: 22px; filter: brightness(0) invert(1) grayscale(1) brightness(4); }
.tf-footer-brand img { display: block; }
.tf-footer-grid p { max-width: 325px; margin-bottom: 0; font-size: .93rem; }
.tf-footer-grid > div:not(:first-child) { display: flex; flex-direction: column; gap: 11px; }
.tf-footer-grid a { width: max-content; max-width: 100%; color: #e7eef9; font-size: .9rem; text-decoration: none; }
.tf-footer-grid a:hover { color: #fff; text-decoration: underline; }
.tf-footer-grid .tf-footer-label { margin-bottom: 7px; color: #8fb6ff; font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.tf-footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.15); color: #a9b8cd; font-size: .76rem; }

@media (max-width: 1040px) {
  .tf-primary-navigation { gap: 0; }
  .tf-nav-link, .tf-nav-disclosure { padding-inline: 7px; }
  .tf-header-contact { margin-left: 5px; }
  .tf-hero-grid, .tf-page-hero-grid { gap: 48px; }
  .tf-region-grid, .tf-role-links { grid-template-columns: repeat(3, 1fr); }
  .tf-role-links a { min-height: 143px; }
  .tf-process-layout, .tf-editorial-grid { gap: 62px; }
}
@media (max-width: 800px) {
  .tf-shell { width: min(calc(100% - 40px), var(--tf-shell)); }
  .tf-header-inner { min-height: 72px; }
  .tf-brand { width: 169px; }
  .tf-menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .tf-primary-navigation { position: absolute; top: 100%; right: 0; left: 0; display: none; align-items: stretch; padding: 13px 20px 20px; border-bottom: 1px solid var(--tf-line); background: #fff; box-shadow: 0 13px 16px rgba(8,38,80,.08); }
  .tf-primary-navigation.is-open { display: flex; flex-direction: column; }
  .tf-nav-link, .tf-nav-disclosure { justify-content: space-between; padding: 13px 3px; font-size: .96rem; text-align: left; }
  .tf-nav-link::after { display: none; }
  .tf-nav-group { width: 100%; }
  .tf-submenu { position: static; display: none; min-width: 0; margin: 0 0 3px; padding: 0 0 4px 14px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .tf-nav-group.is-open .tf-submenu { display: grid; }
  .tf-submenu a { padding: 8px 3px; }
  .tf-header-contact { width: max-content; margin: 10px 0 0; padding-inline: 16px; }
  .tf-hero::after { right: 9vw; top: 32px; }
  .tf-hero-grid, .tf-page-hero-grid { grid-template-columns: 1fr; min-height: 0; }
  .tf-hero-grid { padding-top: 95px; padding-bottom: 78px; }
  .tf-hero-panel { max-width: 560px; }
  .tf-section-heading, .tf-process-layout, .tf-editorial-grid, .tf-content-two { grid-template-columns: 1fr; gap: 25px; }
  .tf-section-heading > p { max-width: 570px; }
  .tf-audience-grid, .tf-step-grid, .tf-trust-grid, .tf-post-grid { grid-template-columns: 1fr; }
  .tf-audience-card { min-height: 0; }
  .tf-audience-card p { min-height: 0; }
  .tf-region-grid, .tf-role-links { grid-template-columns: repeat(2, 1fr); }
  .tf-region-card { min-height: 156px; }
  .tf-process { max-width: 700px; }
  .tf-callout > .tf-shell { align-items: flex-start; flex-direction: column; }
  .tf-editorial-grid > div:last-child { max-width: 700px; }
  .tf-footer-grid { grid-template-columns: 1.2fr .8fr; gap: 42px; }
  .tf-footer-grid > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
  .tf-shell { width: min(calc(100% - 32px), var(--tf-shell)); }
  .tf-brand { width: 155px; }
  .tf-hero h1, .tf-page-hero h1 { font-size: clamp(2.75rem, 15vw, 4.2rem); }
  .tf-hero-grid { padding-top: 78px; }
  .tf-hero-panel, .tf-outline-panel, .tf-contact-form-wrap { padding: 25px; }
  .tf-section { padding: 62px 0; }
  .tf-region-grid, .tf-role-links { grid-template-columns: 1fr; }
  .tf-region-card, .tf-role-links a { min-height: 130px; }
  .tf-role-links a { flex-direction: row; align-items: center; }
  .tf-role-links span { align-self: auto; }
  .tf-audience-card, .tf-step-grid article, .tf-trust-grid article, .tf-post-card-link { padding: 25px; }
  .tf-process li { padding-left: 59px; }
  .tf-field-row { grid-template-columns: 1fr; gap: 0; }
  .tf-footer-grid { grid-template-columns: 1fr; gap: 34px; }
  .tf-footer-grid > div:first-child { grid-column: auto; }
  .tf-footer-bottom { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .tf-marketing-page *, .tf-marketing-page *::before, .tf-marketing-page *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* 2026 visual refresh: warmer editorial surfaces, cobalt confidence, coral human accent. */
:root {
  --tf-blue: #165dcc;
  --tf-blue-deep: #0d438f;
  --tf-navy: #092b4c;
  --tf-ink: #15263b;
  --tf-muted: #607083;
  --tf-line: #d9e0e5;
  --tf-paper: #fffdf9;
  --tf-surface: #f4f0e9;
  --tf-warm: #f7e7dc;
  --tf-focus: #f3b544;
  --tf-coral: #e36c54;
  --tf-coral-deep: #b9493c;
}
body.tf-marketing-page { background: var(--tf-paper); color: var(--tf-ink); }
.tf-site-header { border-bottom-color: rgba(9,43,76,.14); background: rgba(255,253,249,.96); backdrop-filter: blur(14px); }
.tf-nav-link, .tf-nav-disclosure { color: var(--tf-navy); }
.tf-header-contact { border-radius: 999px; background: var(--tf-coral); }
.tf-header-contact:hover { background: var(--tf-coral-deep); }
.tf-eyebrow { color: var(--tf-coral); }
.tf-button { border-color: var(--tf-blue); border-radius: 999px; box-shadow: 0 8px 18px rgba(13,67,143,.12); }
.tf-button:hover { background: var(--tf-coral-deep); border-color: var(--tf-coral-deep); }
.tf-button-secondary { border-color: var(--tf-navy); background: transparent; box-shadow: none; }
.tf-button-secondary:hover { background: var(--tf-navy); border-color: var(--tf-navy); }
.tf-hero { background: linear-gradient(118deg, #fffdf9 0%, #fffdf9 49%, #edf4fb 100%); }
.tf-hero::before { border-color: rgba(227,108,84,.22); }
.tf-hero::after { background: var(--tf-coral); border-radius: 4px; }
.tf-hero-panel { border-color: rgba(9,43,76,.18); border-radius: 18px; background: rgba(255,253,249,.9); box-shadow: 18px 18px 0 rgba(227,108,84,.13); }
.tf-hero-panel::before { left: 34px; width: 86px; background: var(--tf-coral); border-radius: 0 0 4px 4px; }
.tf-panel-kicker { color: var(--tf-coral-deep); }
.tf-check-list li::before, .tf-outline-panel li::before { color: var(--tf-coral); }
.tf-hero-panel > a, .tf-quiet-card a { color: var(--tf-blue-deep); }
.tf-audience-card { border-color: rgba(9,43,76,.13); border-radius: 18px; background: #fffdf9; box-shadow: 0 12px 32px rgba(9,43,76,.04); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.tf-audience-card:hover { border-color: rgba(227,108,84,.42); box-shadow: 0 18px 38px rgba(9,43,76,.09); transform: translateY(-4px); }
.tf-audience-card:nth-child(2)::after { border-color: rgba(227,108,84,.3); background: rgba(227,108,84,.06); }
.tf-card-number, .tf-region-index { color: var(--tf-coral); }
.tf-region-card { background: #fffdf9; }
.tf-region-card:hover { background: var(--tf-coral); }
.tf-navy-band { background: var(--tf-navy); }
.tf-navy-band .tf-eyebrow { color: #f3b2a2; }
.tf-role-links a:hover { background: var(--tf-coral); }
.tf-role-links span { color: #f3b2a2; }
.tf-trust-grid article, .tf-quiet-card { background: #fffdf9; }
.tf-step-grid article { border-top-color: var(--tf-coral); background: var(--tf-surface); border-radius: 0 0 12px 12px; }
.tf-step-grid span, .tf-filter-list b { color: var(--tf-coral); }
.tf-callout { background: var(--tf-coral); }
.tf-callout .tf-eyebrow { color: #ffe1d8; }
.tf-callout .tf-button-secondary { border-color: #fff; }
.tf-page-hero, .tf-contact-hero { background: linear-gradient(112deg, #fffdf9 0%, #fffdf9 60%, #f7e7dc 100%); }
.tf-outline-panel { border-color: rgba(9,43,76,.24); border-radius: 16px; background: rgba(255,253,249,.74); box-shadow: 12px 12px 0 rgba(227,108,84,.1); }
.tf-about-hero, .tf-insights-hero { background: var(--tf-navy); }
.tf-about-hero .tf-eyebrow, .tf-insights-hero .tf-eyebrow { color: #f3b2a2; }
.tf-region-hero::after { border-color: rgba(227,108,84,.2); }
.tf-contact-note { border-left-color: var(--tf-coral); }
.tf-contact-form-wrap { border-radius: 16px; box-shadow: 16px 16px 0 rgba(227,108,84,.11); }
.tf-contact-form input[type='text']:focus, .tf-contact-form input[type='email']:focus, .tf-contact-form select:focus, .tf-contact-form textarea:focus { border-color: var(--tf-coral); outline-color: rgba(227,108,84,.18); }
.tf-post-card:hover { border-color: rgba(227,108,84,.5); box-shadow: 10px 10px 0 rgba(227,108,84,.12); }
.tf-post-meta { color: var(--tf-coral-deep); }
.tf-empty-state { border-left-color: var(--tf-coral); background: var(--tf-surface); }
.tf-site-footer { background: #071f38; }
.tf-footer-grid .tf-footer-label { color: #f3b2a2; }
@media (max-width: 800px) {
  .tf-primary-navigation { background: var(--tf-paper); }
  .tf-hero-grid { padding-top: 78px; }
}

/* Photography treatment */
.tf-hero-photo { display: block; width: 100%; height: 178px; margin: -35px -35px 28px; width: calc(100% + 70px); object-fit: cover; object-position: center 42%; border-radius: 14px 14px 0 0; filter: saturate(.9) contrast(1.03); }
.tf-card-photo { display: block; width: calc(100% + 78px); height: 132px; margin: -39px -39px 27px; object-fit: cover; object-position: center 42%; filter: saturate(.88) contrast(1.03); }
.tf-audience-card:nth-child(2) { padding-top: 39px; }
@media (max-width: 800px) {
  .tf-hero-photo { height: 190px; }
  .tf-card-photo { height: 170px; }
}

/* Stronger homepage brand contrast for the live front page. */
.tf-hero { background: linear-gradient(112deg, #fffaf3 0%, #fffdf9 46%, #e8f1fb 100%); }
.tf-hero-copy .tf-button:not(.tf-button-secondary) { background: var(--tf-coral); border-color: var(--tf-coral); box-shadow: 0 10px 20px rgba(227,108,84,.22); }
.tf-hero-copy .tf-button:not(.tf-button-secondary):hover { background: var(--tf-coral-deep); border-color: var(--tf-coral-deep); }
.tf-hero-panel { border: 1px solid rgba(227,108,84,.3); box-shadow: 18px 18px 0 rgba(227,108,84,.17); }
.tf-hero-panel h2 { color: var(--tf-navy); }
.tf-audience-card .tf-button-secondary { border-color: var(--tf-coral); color: var(--tf-coral-deep) !important; }
.tf-audience-card .tf-button-secondary:hover { background: var(--tf-coral); border-color: var(--tf-coral); color: #fff !important; }
.tf-surface { background: #f4f0e9; }
.tf-region-card:hover { background: var(--tf-coral-deep); }
.tf-callout { background: linear-gradient(105deg, var(--tf-coral-deep), var(--tf-coral)); }

/* Marketplace alignment: shared Talent Frontiers product palette and geometry. */
:root {
  --tf-blue: #0758d8;
  --tf-blue-deep: #0a43a5;
  --tf-navy: #071a3d;
  --tf-ink: #10213e;
  --tf-muted: #61708a;
  --tf-line: #d9e1ee;
  --tf-paper: #fff;
  --tf-surface: #f3f6fb;
  --tf-warm: #f8f6f1;
  --tf-focus: #83b3ff;
}
body.tf-marketing-page { color: var(--tf-ink); background: #fff; }
.tf-site-header { border-bottom-color: var(--tf-line); background: #fff; }
.tf-brand { width: 193px; }
.tf-nav-link, .tf-nav-disclosure { color: var(--tf-ink); }
.tf-header-contact { border-radius: 4px; background: var(--tf-blue); }
.tf-header-contact:hover { background: var(--tf-blue-deep); }
.tf-eyebrow { color: var(--tf-blue); }
.tf-button { border-radius: 4px; background: var(--tf-blue); border-color: var(--tf-blue); box-shadow: none; }
.tf-button:hover { background: var(--tf-blue-deep); border-color: var(--tf-blue-deep); }
.tf-button-secondary { border-color: var(--tf-blue); color: var(--tf-blue-deep) !important; }
.tf-button-secondary:hover { background: var(--tf-blue); border-color: var(--tf-blue); color: #fff !important; }
.tf-hero { background: var(--tf-navy); color: #fff; }
.tf-hero h1, .tf-hero h2 { color: #fff; }
.tf-hero .tf-eyebrow { color: #a7c8ff; }
.tf-hero .tf-lead { color: #cfdbef; }
.tf-hero::before { border-color: rgba(131,179,255,.2); }
.tf-hero::after { background: var(--tf-blue); border-radius: 0; }
.tf-hero-copy .tf-button:not(.tf-button-secondary) { background: var(--tf-blue); border-color: var(--tf-blue); box-shadow: none; }
.tf-hero-copy .tf-button:not(.tf-button-secondary):hover { background: #fff; border-color: #fff; color: var(--tf-navy) !important; }
.tf-hero-copy .tf-button-secondary { border-color: #fff; color: #fff !important; }
.tf-hero-copy .tf-button-secondary:hover { background: #fff; color: var(--tf-navy) !important; }
.tf-hero-panel { border-color: rgba(255,255,255,.45); border-radius: 4px; background: #fff; color: var(--tf-ink); box-shadow: 16px 16px 0 rgba(131,179,255,.22); }
.tf-hero-panel::before { background: var(--tf-blue); border-radius: 0; }
.tf-hero-panel h2 { color: var(--tf-ink); }
.tf-panel-kicker { color: var(--tf-blue); }
.tf-check-list li, .tf-outline-panel li { color: var(--tf-muted); }
.tf-check-list li::before, .tf-outline-panel li::before { color: var(--tf-blue); }
.tf-hero-panel > a, .tf-quiet-card a { color: var(--tf-blue-deep); }
.tf-surface { background: var(--tf-warm); }
.tf-audience-card, .tf-region-card, .tf-trust-grid article, .tf-quiet-card { border-radius: 4px; background: #fff; }
.tf-audience-card:hover { border-color: rgba(7,88,216,.45); box-shadow: 0 16px 30px rgba(7,88,216,.08); }
.tf-card-number, .tf-region-index, .tf-step-grid span, .tf-filter-list b { color: var(--tf-blue); }
.tf-region-card:hover { background: var(--tf-blue); }
.tf-navy-band { background: var(--tf-navy); }
.tf-navy-band .tf-eyebrow { color: #a7c8ff; }
.tf-role-links a:hover { background: var(--tf-blue); }
.tf-role-links span { color: #83b3ff; }
.tf-step-grid article { border-radius: 4px; border-top-color: var(--tf-blue); background: var(--tf-surface); }
.tf-callout { background: var(--tf-blue); }
.tf-callout .tf-eyebrow { color: #a7c8ff; }
.tf-callout .tf-button-secondary { border-color: #fff; color: #fff !important; }
.tf-callout .tf-button-secondary:hover { background: #fff; color: var(--tf-blue-deep) !important; }
.tf-page-hero, .tf-contact-hero { background: linear-gradient(112deg, #fff 0%, #fff 60%, var(--tf-warm) 100%); }
.tf-outline-panel { border-radius: 4px; background: rgba(255,255,255,.85); box-shadow: 12px 12px 0 rgba(7,88,216,.1); }
.tf-contact-form-wrap { border-radius: 4px; box-shadow: 14px 14px 0 rgba(7,88,216,.1); }
.tf-contact-note { border-left-color: var(--tf-blue); }
.tf-post-card:hover { border-color: rgba(7,88,216,.5); box-shadow: 10px 10px 0 rgba(7,88,216,.1); }
.tf-post-meta { color: var(--tf-blue); }
.tf-empty-state { border-left-color: var(--tf-blue); background: var(--tf-surface); }
.tf-site-footer { background: var(--tf-navy); }
.tf-footer-grid .tf-footer-label { color: #a7c8ff; }


/* Section graphics and background rhythm. */
.tf-page-home .tf-main > section { position: relative; isolation: isolate; overflow: hidden; }
.tf-page-home .tf-main > section > .tf-shell { position: relative; z-index: 1; }
.tf-page-home .tf-main > section:nth-child(2) { background: linear-gradient(135deg, var(--tf-warm) 0%, var(--tf-warm) 55%, #eef4ff 100%); }
.tf-page-home .tf-main > section:nth-child(2)::before { position: absolute; top: 0; right: 8%; width: 260px; height: 100%; background: repeating-linear-gradient(135deg, transparent 0 18px, rgba(7,88,216,.055) 18px 19px); content: ''; transform: skewX(-18deg); }
.tf-page-home .tf-main > section:nth-child(3) { background: #fff; background-image: radial-gradient(circle at 88% 18%, rgba(7,88,216,.08) 0 2px, transparent 2.5px); background-size: 22px 22px; }
.tf-page-home .tf-main > section:nth-child(3)::after { position: absolute; right: -100px; bottom: -190px; width: 460px; height: 460px; border: 1px solid rgba(7,88,216,.13); border-radius: 50%; content: ''; }
.tf-page-home .tf-main > section:nth-child(4) { background: linear-gradient(112deg, var(--tf-navy) 0%, var(--tf-navy) 76%, #0a43a5 100%); }
.tf-page-home .tf-main > section:nth-child(4)::after { position: absolute; top: -130px; right: 10%; width: 270px; height: 270px; border: 1px solid rgba(167,200,255,.2); border-radius: 50%; content: ''; }
.tf-page-home .tf-main > section:nth-child(5) { background: #fff; background-image: linear-gradient(90deg, transparent 0 74%, rgba(7,88,216,.035) 74% 74.15%, transparent 74.15%); }
.tf-page-home .tf-main > section:nth-child(5)::before { position: absolute; left: -90px; bottom: -135px; width: 330px; height: 330px; border: 1px solid rgba(7,88,216,.12); border-radius: 50%; content: ''; }
.tf-page-home .tf-main > section:nth-child(6) { background: var(--tf-surface); background-image: radial-gradient(circle at 11% 26%, rgba(7,88,216,.08) 0 2px, transparent 2.5px); background-size: 24px 24px; }
.tf-page-home .tf-main > section:nth-child(6)::after { position: absolute; right: 7%; top: 66px; width: 42px; height: 42px; border: 2px solid var(--tf-blue); content: ''; transform: rotate(45deg); }
.tf-page-home .tf-section-heading h2 { text-wrap: balance; }
.tf-page-home .tf-audience-card, .tf-page-home .tf-region-card, .tf-page-home .tf-trust-grid article { position: relative; z-index: 2; }
.tf-page-home .tf-region-card { border-color: var(--tf-line); }
.tf-page-home .tf-role-links { position: relative; z-index: 2; }
@media (max-width: 800px) {
  .tf-page-home .tf-main > section:nth-child(2)::before { right: -100px; }
  .tf-page-home .tf-main > section:nth-child(6)::after { right: 9%; top: 38px; width: 28px; height: 28px; }
}

/* Two clear paths: a stronger decision moment. */
.tf-page-home .tf-main > section:nth-child(2) { padding: clamp(92px, 11vw, 150px) 0; background: linear-gradient(135deg, #f8f6f1 0%, #f8f6f1 48%, #e9f1ff 100%); }
.tf-page-home .tf-main > section:nth-child(2) .tf-heading-split { align-items: end; margin-bottom: 58px; }
.tf-page-home .tf-main > section:nth-child(2) .tf-heading-split h2 { max-width: 700px; font-size: clamp(2.65rem, 5.2vw, 5.1rem); letter-spacing: -.065em; }
.tf-page-home .tf-main > section:nth-child(2) .tf-heading-split > p { max-width: 360px; color: var(--tf-muted); }
.tf-page-home .tf-audience-grid { gap: 24px; }
.tf-page-home .tf-audience-card { display: flex; flex-direction: column; min-height: 410px; padding: 42px; border: 1px solid var(--tf-line); box-shadow: 0 18px 34px rgba(7,26,61,.07); }
.tf-page-home .tf-audience-card::before { position: absolute; top: 0; left: 0; width: 100%; height: 6px; background: var(--tf-blue); content: ''; }
.tf-page-home .tf-audience-card::after { right: -72px; bottom: -80px; width: 220px; height: 220px; border-color: rgba(7,88,216,.18); }
.tf-page-home .tf-audience-card:first-child { background: linear-gradient(145deg, var(--tf-blue) 0%, var(--tf-blue-deep) 100%); border-color: var(--tf-blue); color: #fff; box-shadow: 0 22px 42px rgba(7,67,165,.22); }
.tf-page-home .tf-audience-card:first-child::before { background: #a7c8ff; }
.tf-page-home .tf-audience-card:first-child::after { border-color: rgba(255,255,255,.2); }
.tf-page-home .tf-audience-card:first-child .tf-card-number { color: #a7c8ff; }
.tf-page-home .tf-audience-card:first-child h3 { color: #fff; font-size: clamp(2rem, 3vw, 3rem); letter-spacing: -.05em; }
.tf-page-home .tf-audience-card:first-child p { color: #d9e6ff; }
.tf-page-home .tf-audience-card:first-child .tf-button-secondary { margin-top: auto; border-color: #fff; color: #fff !important; }
.tf-page-home .tf-audience-card:first-child .tf-button-secondary:hover { background: #fff; color: var(--tf-blue-deep) !important; }
.tf-page-home .tf-audience-card:nth-child(2) { padding-top: 42px; background: #fff; }
.tf-page-home .tf-audience-card:nth-child(2)::before { background: var(--tf-navy); }
.tf-page-home .tf-audience-card:nth-child(2) .tf-card-photo { order: -1; height: 148px; margin: -42px -42px 30px; width: calc(100% + 84px); filter: saturate(.9) contrast(1.04); }
.tf-page-home .tf-audience-card:nth-child(2) h3 { font-size: clamp(2rem, 3vw, 3rem); letter-spacing: -.05em; }
.tf-page-home .tf-audience-card:nth-child(2) .tf-button-secondary { margin-top: auto; }
.tf-page-home .tf-audience-card .tf-card-number { margin-bottom: 24px; }
@media (max-width: 800px) {
  .tf-page-home .tf-main > section:nth-child(2) { padding: 78px 0 88px; }
  .tf-page-home .tf-main > section:nth-child(2) .tf-heading-split { margin-bottom: 38px; }
  .tf-page-home .tf-audience-card { min-height: 350px; padding: 32px; }
  .tf-page-home .tf-audience-card:nth-child(2) .tf-card-photo { margin: -32px -32px 26px; width: calc(100% + 64px); }
}

/* Regions in view: map-led geographic tiles. */
.tf-page-home .tf-main > section:nth-child(3) { padding: clamp(92px, 11vw, 148px) 0; background: linear-gradient(180deg, #fff 0%, #f3f6fb 100%); }
.tf-page-home .tf-main > section:nth-child(3) .tf-section-heading { margin-bottom: 54px; }
.tf-page-home .tf-main > section:nth-child(3) .tf-section-heading h2 { max-width: 760px; font-size: clamp(2.6rem, 5.1vw, 5rem); letter-spacing: -.065em; }
.tf-page-home .tf-main > section:nth-child(3) .tf-section-heading > p { max-width: 430px; color: var(--tf-muted); }
.tf-page-home .tf-region-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; border: 0; }
.tf-page-home .tf-region-card { position: relative; min-height: 325px; padding: 23px 20px 20px; overflow: hidden; border: 1px solid var(--tf-line); background: #fff; box-shadow: 0 14px 26px rgba(7,26,61,.055); color: var(--tf-ink); transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease; }
.tf-page-home .tf-region-card::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(7,88,216,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(7,88,216,.04) 1px, transparent 1px); background-size: 20px 20px; content: ''; opacity: .65; }
.tf-page-home .tf-region-card > * { position: relative; z-index: 1; }
.tf-page-home .tf-region-card:hover { transform: translateY(-7px); background: var(--tf-navy); box-shadow: 0 22px 38px rgba(7,26,61,.18); color: #fff; }
.tf-page-home .tf-region-index { display: block; color: var(--tf-blue); font-size: .74rem; }
.tf-page-home .tf-region-map { display: flex; align-items: center; justify-content: center; height: 142px; margin: 9px -5px 4px; color: var(--tf-blue); }
.tf-page-home .tf-region-map svg { width: 100%; height: 100%; overflow: visible; fill: currentColor; opacity: .88; filter: drop-shadow(7px 7px 0 rgba(7,88,216,.12)); transition: transform .2s ease, opacity .2s ease; }
.tf-page-home .tf-region-card:hover .tf-region-map svg { transform: scale(1.08) rotate(-2deg); opacity: 1; filter: drop-shadow(7px 7px 0 rgba(167,200,255,.22)); }
.tf-page-home .tf-region-card strong { display: block; margin-top: auto; font-size: 1.28rem; letter-spacing: -.045em; }
.tf-page-home .tf-region-arrow { align-self: flex-end; margin-top: 16px; color: var(--tf-blue); font-size: 1.3rem; line-height: 1; }
.tf-page-home .tf-region-card:hover .tf-region-index, .tf-page-home .tf-region-card:hover .tf-region-arrow { color: #a7c8ff; }
.tf-page-home .tf-region-latin-america .tf-region-map { color: var(--tf-blue-deep); }
.tf-page-home .tf-region-caribbean .tf-region-map { color: #147a59; }
.tf-page-home .tf-region-south-africa .tf-region-map { color: #9a5c00; }
.tf-page-home .tf-region-kenya .tf-region-map { color: #b32d43; }
.tf-page-home .tf-region-caribbean:hover .tf-region-map svg, .tf-page-home .tf-region-south-africa:hover .tf-region-map svg, .tf-page-home .tf-region-kenya:hover .tf-region-map svg { filter: drop-shadow(7px 7px 0 rgba(167,200,255,.22)); }
@media (max-width: 1100px) {
  .tf-page-home .tf-region-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 650px) {
  .tf-page-home .tf-main > section:nth-child(3) { padding: 78px 0 88px; }
  .tf-page-home .tf-region-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .tf-page-home .tf-region-card { min-height: 260px; padding: 18px 16px 16px; }
  .tf-page-home .tf-region-map { height: 104px; }
  .tf-page-home .tf-region-card strong { font-size: 1.08rem; }
}

/* Actual Natural Earth geographic maps; no abstract silhouettes. */
.tf-page-home .tf-region-card::before { background: none; }
.tf-page-home .tf-region-map { height: auto; aspect-ratio: 4 / 3; margin: 16px -8px 20px; border: 1px solid #d9e1ee; border-radius: 4px; background: #eef4fb; overflow: hidden; }
.tf-page-home .tf-region-map-image { display: block; width: 100%; height: 100%; object-fit: contain; transform: none; filter: none; opacity: 1; }
.tf-page-home .tf-region-card:hover .tf-region-map-image { transform: none; filter: none; }
.tf-page-home .tf-map-attribution { margin: 22px 0 0; color: var(--tf-muted); font-size: .75rem; line-height: 1.5; }
.tf-page-home .tf-map-attribution a { color: var(--tf-blue-deep); text-underline-offset: 3px; }
@media (max-width: 650px) {
  .tf-page-home .tf-region-map { height: auto; margin: 14px -6px 18px; }
}

/* Visible account entry controls, not hidden within marketing navigation. */
.tf-account-strip{background:#08172d;color:#fff;position:relative;z-index:31}.tf-account-strip-inner{display:flex;justify-content:flex-end;gap:32px;padding-top:10px;padding-bottom:10px}.tf-account-strip-inner>div{display:flex;align-items:center;gap:14px}.tf-account-strip strong{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#b8c8e0}.tf-account-strip a{font-size:13px;font-weight:600;color:#fff;text-decoration:none;padding:6px 0}.tf-account-strip a:hover,.tf-account-strip a:focus-visible{text-decoration:underline}.tf-account-strip .tf-account-join{background:#0758d8;border-radius:6px;padding:7px 12px;white-space:nowrap}.tf-account-strip a:focus-visible{outline:2px solid #fff;outline-offset:3px}@media(max-width:640px){.tf-account-strip-inner{justify-content:space-between;gap:10px;flex-wrap:wrap}.tf-account-strip-inner>div{gap:10px}.tf-account-strip strong{font-size:10px}.tf-account-strip a{font-size:12px}.tf-account-strip .tf-account-join{padding:6px 8px}}

/* Owner-provided Help Center and original footer logo. */
.tf-footer-grid { grid-template-columns: 1.1fr .65fr .9fr 1.05fr; gap: 34px; }
.tf-footer-grid > div { min-width: 0; }
.tf-footer-grid .tf-footer-brand-supplied { width: 170px; padding: 12px 10px; border-radius: 8px; background: #f7f8fb; filter: none; }
.tf-footer-brand-supplied img { width: 150px; height: 23px; max-width: 100%; object-fit: contain; }
.tf-footer-help-center address { margin: 0 0 5px; color: #d3dfef; font-size: .9rem; line-height: 1.8; font-style: normal; }
.tf-footer-help-center a { overflow-wrap: anywhere; font-size: .86rem; }
.tf-footer-grid a:focus-visible { outline: 2px solid #a7c8ff; outline-offset: 4px; }
@media (max-width: 1000px) { .tf-footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 36px; } .tf-footer-grid > div:first-child { grid-column: 1 / -1; } }
@media (max-width: 580px) { .tf-footer-grid { grid-template-columns: 1fr; gap: 30px; } .tf-footer-grid > div:first-child { grid-column: auto; } }

/* U.S. virtual-assistant role pathways: researched, task-led card treatment. */
.tf-va-roles { position: relative; overflow: hidden; background: #071d3d; }
.tf-va-roles::after { position: absolute; right: -8vw; bottom: -22vw; width: 46vw; height: 46vw; border: 1px solid rgba(167,200,255,.17); border-radius: 50%; content: ''; pointer-events: none; }
.tf-va-roles > .tf-shell { position: relative; z-index: 1; }
.tf-va-roles .tf-section-heading { margin-bottom: 42px; }
.tf-va-roles .tf-section-heading > p { color: #c5d5ec; }
.tf-va-roles .tf-role-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; border: 0; }
.tf-va-roles .tf-role-card { position: relative; display: flex; min-height: 238px; flex-direction: column; align-items: flex-start; justify-content: flex-start; padding: 27px 25px 23px; overflow: hidden; border: 1px solid rgba(178,204,238,.28); border-radius: 6px; background: rgba(255,255,255,.065); color: #fff; text-decoration: none; transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.tf-va-roles .tf-role-card::after { position: absolute; right: -30px; bottom: -44px; width: 125px; height: 125px; border: 1px solid rgba(167,200,255,.22); border-radius: 50%; content: ''; transition: transform .25s ease; }
.tf-va-roles .tf-role-card:hover, .tf-va-roles .tf-role-card:focus-visible { border-color: #a7c8ff; background: rgba(21,89,215,.34); box-shadow: 0 18px 34px rgba(0,0,0,.18); transform: translateY(-4px); text-decoration: none; }
.tf-va-roles .tf-role-card:hover::after { transform: scale(1.18); }
.tf-role-icon { display: grid; width: 53px; height: 53px; place-items: center; margin-bottom: 28px; border: 1px solid rgba(255,255,255,.32); border-radius: 14px; background: rgba(255,255,255,.09); color: #a7c8ff; }
.tf-role-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.tf-role-card strong { position: relative; z-index: 1; max-width: 250px; margin-bottom: 8px; color: #fff; font-size: 1.12rem; line-height: 1.14; letter-spacing: -.025em; }
.tf-role-card small { position: relative; z-index: 1; max-width: 265px; color: #bfd0e8; font-size: .8rem; line-height: 1.45; }
.tf-role-arrow { position: relative; z-index: 1; align-self: flex-end; margin-top: auto; color: #a7c8ff; font-size: 1.35rem; line-height: 1; }
.tf-role-source { position: relative; z-index: 1; max-width: 720px; margin: 24px 0 0; color: #9eb5d4; font-size: .76rem; line-height: 1.5; }
.tf-role-source a { color: #d4e2fb; text-underline-offset: 3px; }
@media (max-width: 850px) { .tf-va-roles .tf-role-links { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .tf-va-roles .tf-role-links { grid-template-columns: 1fr; gap: 10px; } .tf-va-roles .tf-role-card { min-height: 198px; } .tf-role-icon { margin-bottom: 21px; } }

/* Ten-card VA pathway layout. */
@media (min-width: 1101px) { .tf-va-roles .tf-role-links { grid-template-columns: repeat(5, 1fr); } .tf-va-roles .tf-role-card { min-height: 226px; padding-inline: 20px; } .tf-va-roles .tf-role-card strong { font-size: 1rem; } .tf-va-roles .tf-role-card small { font-size: .74rem; } }
@media (max-width: 1100px) and (min-width: 851px) { .tf-va-roles .tf-role-links { grid-template-columns: repeat(3, 1fr); } }
