/* Fluid sizes first. Segment enhancements apply only when the browser reports them. */
:root{--tfmg-gutter:clamp(16px,4vw,64px);--tfmg-visible-height:100dvh;--tfmg-keyboard-inset:0px}
html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}
body{min-width:0}
.tfmg-modern .wrap{width:min(calc(100% - var(--tfmg-gutter)*2),1440px)}
:is(.header-inner,.hero-content,.contact-grid,.detail-layout,.overview-grid,.directory,.capability-grid,.section-head)>*{min-width:0}
:is(h1,h2,h3,p,.breadcrumb,.statement-facts,.value){overflow-wrap:break-word}
.breadcrumb{flex-wrap:wrap}
.hero-actions,.action-row,.legal-links,.statement-actions{flex-wrap:wrap}
.adaptive-table{max-width:100%;overflow:auto;overscroll-behavior-inline:contain}
.codes-table{min-width:0;overflow-wrap:anywhere}
.codes-table th,.codes-table td{vertical-align:top}
.tfmg-adaptive :is(button,.button,.menu-toggle){touch-action:manipulation}
.tfmg-adaptive dialog{max-height:calc(var(--tfmg-visible-height) - 32px);max-width:calc(100% - 28px);overflow:auto;overscroll-behavior:contain}
.tfmg-adaptive dialog.chat-dialog{bottom:calc(72px + env(safe-area-inset-bottom) + var(--tfmg-keyboard-inset));max-height:calc(var(--tfmg-visible-height) - 94px);right:max(14px,env(safe-area-inset-right))}
.tfmg-adaptive .chat-launch{right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom) + var(--tfmg-keyboard-inset))}
.tfmg-adaptive .cookie-toggle{left:max(12px,env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom) + var(--tfmg-keyboard-inset))}
.tfmg-modern .site-footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.tfmg-modern .video-dialog video{max-height:calc(var(--tfmg-visible-height) - 100px);object-fit:contain}
.tfmg-adaptive :is(.site-header,.header){padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}

@media(max-width:1100px){
  .tfmg-modern .site-header,.tfmg-modern.subpage .site-header{position:relative;top:0;background:#04141e;padding-top:env(safe-area-inset-top)}
  .tfmg-modern .header-inner,.tfmg-modern .home-page .header-inner{min-height:88px;display:flex;flex-wrap:nowrap;gap:16px;justify-content:space-between}
  .tfmg-modern .brand,.tfmg-modern .home-page .brand{flex:0 1 300px;max-width:calc(100% - 78px)}
  .tfmg-modern .brand img,.tfmg-modern .home-page .brand img{width:300px;max-width:100%;height:auto}
  .tfmg-modern .menu-toggle{display:block;flex-shrink:0;margin-left:auto;min-height:44px;min-width:62px;padding:10px 12px;background:#071e2b;color:#fff;border:1px solid #537080;border-radius:4px}
  .tfmg-modern .header-cta{display:none}
  .tfmg-modern .main-nav,.tfmg-modern .home-page .main-nav,.tfmg-modern .subpage .main-nav{display:none;position:absolute;top:100%;left:var(--tfmg-gutter);right:var(--tfmg-gutter);margin:0;padding:12px 18px;max-height:calc(var(--tfmg-visible-height) - var(--tfmg-header-height) - 16px);overflow:auto;background:#061e2b;border:1px solid #376578;border-radius:5px;font-size:15px}
  .tfmg-modern .main-nav.expanded{display:block}
  .tfmg-modern .nav-item{display:flex;flex-wrap:wrap;justify-content:space-between;white-space:normal;font-size:15px}
  .tfmg-modern .nav-item>a{flex:1;padding:12px 0;min-height:44px}
  .tfmg-modern .nav-item>button{min-width:44px;min-height:44px;padding:12px;font-size:16px}
  .tfmg-modern .dropdown{position:static;width:100%;border:0;box-shadow:none;background:#102c3b}
  .tfmg-modern .dropdown a{min-height:44px}
  .tfmg-modern .home-page .hero{display:flex;flex-direction:column;height:auto;max-height:none;min-height:0;padding:0 0 104px;overflow:hidden}
  .tfmg-modern .home-page .hero:after{display:none}
  .tfmg-modern .home-page .hero-video{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:16/9;max-height:48svh;object-fit:contain;object-position:center;order:0}
  .tfmg-modern .home-page .hero-content{padding-top:22px;padding-bottom:26px;order:2}
  .tfmg-modern .home-page .hero h1{font-size:clamp(30px,5.1vw,43px);max-width:100%}
  .tfmg-modern .hero-copy{font-size:16px;max-width:100%}
  .tfmg-modern .hero-content .eyebrow{font-size:9px;letter-spacing:.19em}
  .tfmg-modern .home-page .video-disclosure{position:relative;inset:auto;order:1;margin:0 var(--tfmg-gutter);font-size:10px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}
  .tfmg-modern .home-page .hero-appearance .appearance{min-height:36px;font-size:12px}
  .tfmg-modern .home-page .video-controls{left:var(--tfmg-gutter);right:var(--tfmg-gutter);bottom:12px;max-width:none;flex-wrap:wrap;justify-content:center;font-size:12px}
  .tfmg-modern .home-page .video-controls :is(button,select){min-height:44px;font-size:12px}
  .tfmg-modern .home-page .video-controls select{max-width:100%;min-width:0}
  .tfmg-modern .home-page .video-controls #video-label{display:none}
  .tfmg-modern .home-page .video-controls-reveal{left:var(--tfmg-gutter);right:auto;bottom:16px;min-height:44px}
  .tfmg-modern .hero-actions .button{min-height:46px;font-size:12px;line-height:1.4;gap:12px;padding:12px 15px;max-width:100%}
  .tfmg-modern .capability-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
  .tfmg-modern .overview-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
  .tfmg-modern .audiences{gap:16px}
  .tfmg-modern .audience-copy{padding:16px;flex-wrap:wrap}
  .tfmg-modern .section-head{align-items:start;flex-wrap:wrap;gap:20px}
  .tfmg-modern .section-head>p{max-width:100%}
  .tfmg-modern .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
  .tfmg-modern .detail-layout{grid-template-columns:minmax(0,1fr) minmax(180px,.38fr);gap:32px}
  .tfmg-modern .page-hero h1{font-size:clamp(32px,5.5vw,54px)}
  .tfmg-adaptive :is(input,select,textarea):not([type=checkbox]):not([type=radio]){font-size:16px}
  .tfmg-modern .directory a{font-size:13px;min-height:40px;padding:7px 0}
  .tfmg-modern .directory li{margin-bottom:4px}
  .tfmg-modern .logo-section .controls{flex-shrink:0}
  .tfmg-modern .icon-button{width:44px;height:44px}
  .tfmg-adaptive dialog .close{min-width:44px;min-height:44px}
}

@media(min-width:761px) and (max-width:1100px),(max-height:500px) and (orientation:landscape) and (max-width:1100px){
  .tfmg-modern .home-page .hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;padding:24px var(--tfmg-gutter) 112px;align-items:center}
  .tfmg-modern .home-page .hero-content{grid-column:1;grid-row:1;width:100%;padding:0;margin:0}
  .tfmg-modern .home-page .hero-video{grid-column:2;grid-row:1;width:100%;height:100%;max-height:460px;aspect-ratio:16/9}
  .tfmg-modern .home-page .video-disclosure{grid-column:1/-1;grid-row:2;margin:0}
  .tfmg-modern .home-page .hero h1{font-size:clamp(27px,3.8vw,40px)}
  .tfmg-modern .hero-copy{font-size:14px}
  .tfmg-modern .hero-copy br{display:none}
}
@media(max-width:760px){
  .tfmg-modern .audiences,.tfmg-modern .insight-grid{grid-template-columns:1fr}
  .tfmg-modern .audience-photo{aspect-ratio:2.2}
  .tfmg-modern .contact-grid,.tfmg-modern .detail-layout{grid-template-columns:minmax(0,1fr);gap:28px}
  .tfmg-modern .side-nav{border-left:0;border-top:1px solid var(--border);padding:24px 0 0}
  .tfmg-modern .form-row{grid-template-columns:minmax(0,1fr)}
  .tfmg-modern .directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .tfmg-modern .page-hero.audience-hero{aspect-ratio:auto;min-height:0;display:flex;flex-direction:column;padding:0}
  .tfmg-modern .audience-hero-image{position:relative;z-index:auto;inset:auto;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
  .tfmg-modern .audience-hero:after{display:none}
  .tfmg-modern .audience-hero>.wrap{padding:26px 0 36px}
  .tfmg-modern .audience-hero :is(h1,p){max-width:100%}
  .tfmg-modern .audience-hero-disclosure{top:calc(100vw * 9 / 16 - 26px);bottom:auto}
  .tfmg-modern .statement-card,.tfmg-modern .detail-copy .statement-card{grid-template-columns:minmax(0,1fr);padding:24px;gap:20px}
  .tfmg-modern .banner .action-row{flex-wrap:wrap}
  .tfmg-modern .banner-content{display:block}
  .tfmg-modern .banner aside{margin-top:24px;max-width:100%}
}
@media(max-width:430px){
  .tfmg-modern .capability-grid{grid-template-columns:minmax(0,1fr)}
  .tfmg-modern .capability-card h3{font-size:20px}
  .tfmg-modern .capability-card p{font-size:14px}
  .tfmg-modern .capability-copy{padding:20px}
  .tfmg-modern .logo-section .section-head{display:block}
  .tfmg-modern .logo-section .controls{margin-top:16px}
  .tfmg-modern .hero-actions .button{flex:1 1 100%;justify-content:space-between}
  .tfmg-modern .hero .statement-hero-cta{font-size:12px}
  .tfmg-modern .footer-heading{flex-wrap:wrap}
  .tfmg-modern .footer-bottom{padding-bottom:72px}
  .tfmg-modern .chat-launch{font-size:11px;min-height:44px}
  .tfmg-modern .cookie-toggle{font-size:10px;min-height:44px}
  .tfmg-adaptive .chat-dialog .guided-inquiry-pair{grid-template-columns:minmax(0,1fr)}
}
@media(max-height:500px){
  .tfmg-adaptive dialog.chat-dialog{bottom:calc(12px + var(--tfmg-keyboard-inset));max-height:calc(var(--tfmg-visible-height) - 24px)}
  .tfmg-modern .header-inner{min-height:68px}
  .tfmg-modern .home-page .brand,.tfmg-modern .brand{flex-basis:230px}
  .tfmg-modern .home-page .brand img,.tfmg-modern .brand img{width:230px}
  .tfmg-adaptive .chat-dialog .guided-inquiry-head{padding-block:8px}
}

/* Book pose: content columns, navigation, dialogs and logos remain within panels. */
html[data-viewport-layout=book]{--tfmg-gutter:16px;--tfmg-book-columns:calc(var(--tfmg-segment-0-width) - 32px) calc(var(--tfmg-segment-1-width) - 32px);--tfmg-book-gap:calc(var(--tfmg-hinge) + 32px)}
[data-viewport-layout=book] .wrap{width:calc(100% - 32px);max-width:none;margin-inline:16px}
[data-viewport-layout=book] :is(.audiences,.capability-grid,.overview-grid,.insight-grid,.directory,.contact-grid,.detail-layout,.banner-content,.section-head){display:grid;grid-template-columns:var(--tfmg-book-columns);column-gap:var(--tfmg-book-gap);row-gap:24px}
[data-viewport-layout=book] :is(.section-head>p,.contact-copy h2){max-width:100%}
[data-viewport-layout=book] .site-header{position:relative;top:0;background:#04141e}
[data-viewport-layout=book] .header-inner,[data-viewport-layout=book] .home-page .header-inner{display:grid;grid-template-columns:var(--tfmg-book-columns);gap:var(--tfmg-book-gap);min-height:88px}
[data-viewport-layout=book] .brand,[data-viewport-layout=book] .home-page .brand{grid-column:1;max-width:100%;width:100%}
[data-viewport-layout=book] .brand img,[data-viewport-layout=book] .home-page .brand img{width:100%;max-width:300px}
[data-viewport-layout=book] .menu-toggle{grid-column:2;display:block;justify-self:end;min-height:44px;background:#071e2b;color:#fff;border:1px solid #537080;padding:10px 14px;border-radius:4px}
[data-viewport-layout=book] .header-cta{display:none}
[data-viewport-layout=book] .main-nav,[data-viewport-layout=book] .home-page .main-nav{left:calc(var(--tfmg-segment-1-x) + 16px);right:16px;top:100%;width:auto;margin:0;position:absolute}
[data-viewport-layout=book] .home-page .hero{display:grid;grid-template-columns:var(--tfmg-book-columns);gap:var(--tfmg-book-gap);padding:30px 16px 125px;height:auto;min-height:540px;max-height:none;overflow:hidden;align-items:center}
[data-viewport-layout=book] .home-page .hero:after{display:none}
[data-viewport-layout=book] .home-page .hero-content{grid-column:1;grid-row:1;margin:0;padding:0;width:100%}
[data-viewport-layout=book] .home-page .hero h1{font-size:clamp(28px,4.1vw,42px)}
[data-viewport-layout=book] .home-page .hero-copy{font-size:15px}
[data-viewport-layout=book] .home-page .hero-actions{display:grid;grid-template-columns:1fr}
[data-viewport-layout=book] .home-page .hero-video{position:relative;grid-column:2;grid-row:1;inset:auto;width:100%;height:100%;max-height:600px;object-fit:contain}
[data-viewport-layout=book] .home-page .video-disclosure{grid-column:1;grid-row:2;position:relative;inset:auto;margin:0;font-size:10px}
[data-viewport-layout=book] .home-page .video-controls{left:calc(var(--tfmg-segment-1-x) + 16px);right:16px;bottom:20px;max-width:none;flex-wrap:wrap}
[data-viewport-layout=book] .home-page .video-controls-reveal{left:calc(var(--tfmg-segment-1-x) + 16px);right:auto}
[data-viewport-layout=book] .hero-actions .button{max-width:100%;white-space:normal}
[data-viewport-layout=book] .page-hero>.wrap{width:calc(var(--tfmg-segment-0-width) - 32px);margin-left:16px}
[data-viewport-layout=book] .audience-hero :is(h1,p){max-width:100%}
[data-viewport-layout=book] .logo-section .section-head{grid-template-columns:var(--tfmg-book-columns)}
[data-viewport-layout=book] .logo-section .controls{justify-content:flex-end;align-self:center;margin-top:0}
[data-viewport-layout=book] .logo-viewport{width:calc(var(--tfmg-segment-1-width) - 32px);margin-left:calc(var(--tfmg-segment-1-x) + 16px)}
[data-viewport-layout=book] .logo-context{max-width:calc(var(--tfmg-segment-0-width) - 32px)}
[data-viewport-layout=book] .logo-track{padding-inline:0}
[data-viewport-layout=book] :is(dialog.chat-dialog,dialog.cookie-dialog,dialog.video-dialog){left:calc(var(--tfmg-segment-1-x) + 14px);right:auto;width:calc(var(--tfmg-segment-1-width) - 28px);max-width:none;margin-inline:0}
[data-viewport-layout=book] .chat-launch{max-width:calc(var(--tfmg-segment-1-width) - 28px)}
[data-viewport-layout=book] .form-row,[data-viewport-layout=book] .guided-inquiry-pair,[data-viewport-layout=book] .statement-card,[data-viewport-layout=book] .detail-copy .statement-card{grid-template-columns:minmax(0,1fr)}
[data-viewport-layout=book] .footer-heading p{max-width:calc(var(--tfmg-segment-1-width) - 32px)}
[data-viewport-layout=book] .legal-wrap{display:grid;grid-template-columns:var(--tfmg-book-columns);gap:var(--tfmg-book-gap);padding-inline:16px}
[data-viewport-layout=book] .legal-hero{max-width:var(--tfmg-segment-0-width);margin-left:0;padding-inline:16px}
[data-viewport-layout=book].tfmg-contact-card main{max-width:calc(var(--tfmg-segment-0-width) - 32px);margin-left:0}

/* Tabletop: keep the running homepage film above the fold and browse below it. */
[data-viewport-layout=tabletop] .adaptive-home-reading{position:fixed;inset:var(--tfmg-segment-1-y) 0 0;overflow:auto;overscroll-behavior:contain;scroll-padding-top:16px}
[data-viewport-layout=tabletop] .home-page .site-header{position:relative;top:auto;background:#04141e}
[data-viewport-layout=tabletop] .home-page .hero{display:block;padding:24px var(--tfmg-gutter) 30px;min-height:0;height:auto;max-height:none}
[data-viewport-layout=tabletop] .home-page .hero:after{display:none}
[data-viewport-layout=tabletop] .home-page .hero-content{padding:0;width:100%;margin:0}
[data-viewport-layout=tabletop] .home-page .hero-video{position:fixed;z-index:31;inset:0 auto auto 0;width:100%;height:var(--tfmg-segment-0-height);max-height:none;object-fit:contain;background:#03121b}
[data-viewport-layout=tabletop] .home-page .video-controls,[data-viewport-layout=tabletop] .home-page .video-controls-reveal{position:fixed;z-index:32;top:auto;bottom:calc(100dvh - var(--tfmg-segment-0-height) + 12px);left:auto;right:16px;max-width:calc(100% - 32px)}
[data-viewport-layout=tabletop] .home-page .video-disclosure{position:fixed;z-index:32;left:16px;top:8px;bottom:auto;margin:0}
[data-viewport-layout=tabletop] .home-page .main-nav{max-height:calc(var(--tfmg-segment-1-height) - var(--tfmg-header-height) - 16px)}
[data-viewport-layout=tabletop] :is(dialog.chat-dialog,dialog.cookie-dialog){top:calc(var(--tfmg-segment-1-y) + 8px);bottom:auto;max-height:calc(min(var(--tfmg-segment-1-height),var(--tfmg-visible-height)) - 16px);margin-block:0}

/* Fullscreen intro stays on its own page, selecting video by its actual panel. */
.tfmg-intro-page .intro{height:100dvh}
.tfmg-intro-page .controls{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(16px,env(safe-area-inset-bottom));flex-wrap:wrap}
[data-viewport-layout=book].tfmg-intro-page .intro video{width:var(--tfmg-segment-0-width);height:100%;object-fit:contain}
[data-viewport-layout=book].tfmg-intro-page .controls,[data-viewport-layout=book].tfmg-intro-page .play-prompt{left:var(--tfmg-segment-1-x);right:0;width:var(--tfmg-segment-1-width);background:#03121b;flex-direction:column;justify-content:center;padding:24px}
[data-viewport-layout=book].tfmg-intro-page .controls{top:50%;bottom:0}
[data-viewport-layout=book].tfmg-intro-page .play-prompt{bottom:50%}
[data-viewport-layout=tabletop].tfmg-intro-page .intro video{height:var(--tfmg-segment-0-height);object-fit:contain}
[data-viewport-layout=tabletop].tfmg-intro-page .controls{top:var(--tfmg-segment-1-y);bottom:0;justify-content:center;background:#03121b;gap:24px}
[data-viewport-layout=tabletop].tfmg-intro-page .play-prompt{bottom:auto;height:var(--tfmg-segment-0-height)}
@media(prefers-reduced-motion:reduce){.tfmg-adaptive{scroll-behavior:auto}}

/* Legacy public routes share the same safe-area and pane behavior. */
@media(max-width:1100px){
 .tfmg-legacy .header{position:relative;padding-inline:max(16px,env(safe-area-inset-left));gap:16px}
 .tfmg-legacy .header nav{max-height:calc(var(--tfmg-visible-height) - var(--tfmg-header-height) - 12px)}
 .tfmg-legacy :is(.contact-grid,.case-study,.about-grid,.legal-wrap)>*{min-width:0}
 .tfmg-legacy :is(.contact-email,.contact-note){overflow-wrap:anywhere}
 .tfmg-legacy .form-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
}
[data-viewport-layout=book].tfmg-legacy :is(.section,.legal-wrap){width:100%;max-width:none;padding-inline:16px}
[data-viewport-layout=book].tfmg-legacy :is(.service-grid,.case-grid,.contact-grid,.about-grid,.case-study,.service-detail,.footer-top){display:grid;grid-template-columns:var(--tfmg-book-columns);column-gap:var(--tfmg-book-gap)}
[data-viewport-layout=book].tfmg-legacy :is(.header,.footer){padding-inline:16px}
[data-viewport-layout=book].tfmg-legacy .header .logo{max-width:calc(var(--tfmg-segment-0-width) - 32px)}
[data-viewport-layout=book].tfmg-legacy .header nav{left:var(--tfmg-segment-1-x)}
[data-viewport-layout=book].tfmg-legacy .footer-top>div:first-child{grid-column:auto}
[data-viewport-layout=book] .footer-heading{display:grid;grid-template-columns:var(--tfmg-book-columns);column-gap:var(--tfmg-book-gap)}
/* Keep subpage headings in the upper pane and the reading area below. */
[data-viewport-layout=tabletop] .adaptive-reading{position:fixed;inset:var(--tfmg-segment-1-y) 0 0;overflow:auto;overscroll-behavior:contain;scroll-padding-top:16px}
[data-viewport-layout=tabletop] .adaptive-reading .page-hero{position:fixed;z-index:2;top:var(--tfmg-header-height);left:0;width:100%;height:calc(var(--tfmg-segment-0-height) - var(--tfmg-header-height));min-height:0;max-height:none;overflow:auto;padding:16px 0;aspect-ratio:auto;background:#061a27}
[data-viewport-layout=tabletop] .adaptive-reading .page-hero h1{font-size:clamp(24px,4vw,40px);margin-block:8px}
[data-viewport-layout=tabletop] .adaptive-reading .page-hero p{font-size:14px;margin:8px 0}
[data-viewport-layout=tabletop] .adaptive-reading .page-hero .eyebrow{margin:8px 0;font-size:9px}
[data-viewport-layout=tabletop] .adaptive-reading .page-hero .breadcrumb{margin:0;font-size:11px}
[data-viewport-layout=tabletop] .adaptive-reading .audience-hero>.wrap{padding:0}
[data-viewport-layout=tabletop] .adaptive-reading .audience-hero-image{position:absolute;height:100%;object-fit:cover;opacity:.25;z-index:0}
[data-viewport-layout=tabletop] .adaptive-reading .audience-hero-disclosure{display:none}
[data-viewport-layout=tabletop] .subpage>.site-header{position:fixed;top:0;left:0;right:0}
[data-viewport-layout=tabletop] .subpage .main-nav{max-height:calc(var(--tfmg-segment-0-height) - var(--tfmg-header-height));z-index:10}


.tfmg-modern:has(.menu-toggle[aria-expanded=true]) :is(.chat-launch,.cookie-toggle){visibility:hidden}

/* Persistent navigation: tint only the background, never the menu content. */
html.tfmg-modern body .site-header{
  position:sticky;top:0;left:0;width:100%;z-index:100;
  background:rgba(4,20,30,.13);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  backdrop-filter:blur(20px) saturate(140%);
  border-bottom:1px solid rgba(160,220,240,.13);
}
html.tfmg-modern{scroll-padding-top:calc(var(--tfmg-header-height,90px) + 16px)}
@media(min-width:1101px){
  html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .site-header{position:fixed}
}
/* Keep the upper-screen navigation anchored in an existing tabletop layout. */
html.tfmg-modern[data-viewport-layout="tabletop"] .subpage > .site-header{position:fixed}
/* Light mode rests on its original light surface, then reveals a translucent glass surface on scroll. */
html.tfmg-modern.light body .site-header{
  background:#f5fafc;color:#092739;
  transition:background-color 220ms ease,border-color 220ms ease;
  border-bottom-color:#d4e2e9;
}
html.tfmg-modern.light[data-header-scrolled="true"] body .site-header{
  background:rgba(245,250,252,.86);border-bottom-color:rgba(130,160,175,.3);
}
@media(prefers-reduced-motion:reduce){html.tfmg-modern.light body .site-header{transition:none}}
html.tfmg-modern.light .site-header .brand img{content:url('/assets/v2-20261020/logo-light-transparent-v1.png');filter:none}
html.tfmg-modern.light .site-header .menu-toggle{color:#f4f8fa}
@media(max-width:1100px){html.tfmg-modern.light .site-header .main-nav{color:#f4f8fa}}
html.tfmg-modern.light[data-viewport-layout="book"] .site-header .main-nav{color:#f4f8fa}
/* Cinematic layout follows available viewport space, not device names.
   Existing browser-reported book/tabletop panel layouts remain authoritative. */
@media(min-width:0px){
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]){--tfmg-gutter:clamp(20px,3vw,96px)}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .header-inner{width:calc(100% - var(--tfmg-gutter)*2);max-width:none}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page :is(.hero-content,.banner-content,#insights,.careers-home-inner){width:calc(100% - var(--tfmg-gutter)*2);max-width:none}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .audiences{width:100%;max-width:none;margin:0;padding:8px 0;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .audience-card{border:0;border-radius:0;min-height:clamp(300px,26vw,680px);color:#fff}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .audience-photo{position:absolute;inset:0;aspect-ratio:auto}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .audience-photo img{object-position:50% 40%}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .audience-copy{position:absolute;inset:auto 0 0;padding:70px clamp(20px,2.5vw,60px) clamp(24px,3vw,60px);background:linear-gradient(transparent,rgba(2,13,21,.92));color:#fff}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .audience-copy h2{font-size:clamp(27px,2.3vw,52px)}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .audience-copy p{color:#e0edf4;font-size:clamp(13px,1vw,19px)}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page #capabilities{width:100%;max-width:none;padding:clamp(40px,5vw,100px) 0}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page #capabilities .section-head{margin-inline:var(--tfmg-gutter);gap:32px}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .capability-grid{gap:8px;grid-template-columns:repeat(5,minmax(0,1fr))}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .capability-card{border-radius:0;min-width:0}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .capability-photo{aspect-ratio:4/3}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .capability-photo img{transform:none;object-position:center}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .capability-copy{padding:clamp(20px,2vw,44px)}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .capability-copy h3{font-size:clamp(19px,1.5vw,32px)}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .capability-copy p{font-size:clamp(14px,1vw,19px);max-width:38ch}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .banner{min-height:clamp(360px,32vw,760px);display:flex;align-items:center}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .banner .band-art{inset:0;width:100%;height:100%;opacity:1}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .banner-content{padding-block:clamp(44px,6vw,100px)}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .banner h2{font-size:clamp(32px,3.2vw,68px);max-width:22ch}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .banner p{font-size:clamp(15px,1.2vw,21px);max-width:54ch}
}
@media(min-width:1101px){
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero{height:clamp(680px,88svh,1120px);min-height:680px;max-height:none}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero-video{inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 62%}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero:after{background:linear-gradient(90deg,rgba(3,18,27,.94),rgba(3,18,27,.68) 35%,rgba(3,18,27,.12) 72%),linear-gradient(0deg,rgba(3,18,27,.65),transparent 28%)}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero-content{padding-top:clamp(180px,22svh,290px)}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero h1{font-size:clamp(44px,3.5vw,82px);max-width:18ch;line-height:1.1}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero-copy{max-width:49ch;font-size:clamp(18px,1.4vw,25px)}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero-actions{max-width:900px;flex-wrap:wrap}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero .video-disclosure{left:var(--tfmg-gutter);bottom:30px}
}
@media(max-width:1100px){
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero{display:flex;flex-direction:column;padding:0 0 140px;height:auto;min-height:0;max-height:none;gap:0}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero-video{position:relative;inset:auto;width:100%;height:auto;max-height:none;aspect-ratio:16/9;object-fit:cover;order:0}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero-content{order:1;margin:0 var(--tfmg-gutter);padding:28px 0 24px;width:calc(100% - var(--tfmg-gutter)*2)}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .video-disclosure{order:2;position:relative;inset:auto;margin:0 var(--tfmg-gutter)}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero h1{font-size:clamp(32px,5.5vw,58px);max-width:20ch}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .capability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .audiences{grid-template-columns:1fr;gap:8px}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .audience-card{min-height:0;aspect-ratio:16/10}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page #capabilities .section-head{display:block}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .banner .band-art .banner-photo{object-position:60% center}
}
@media(max-width:480px){
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .capability-grid{grid-template-columns:1fr}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .capability-photo{aspect-ratio:16/9}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero-actions{display:grid;grid-template-columns:1fr}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero-actions .button{width:100%;justify-content:space-between}
}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .tfmg-certifications > .wrap{width:100%;max-width:none}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .cert-heading-row{margin-inline:var(--tfmg-gutter)}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .cert-grid{gap:8px}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .cert-card{border-radius:0}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .logo-section > .wrap{width:calc(100% - var(--tfmg-gutter)*2);max-width:none}
/* Preserve every video edge; keep navigation and controls outside its frame. */
@media(min-width:1101px){
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero-video{
  top:var(--tfmg-header-height,122px);bottom:80px;left:0;right:0;
  width:100%;height:calc(100% - var(--tfmg-header-height,122px) - 80px);
  object-fit:contain;object-position:right center;background:#03121b;
}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero:after{
  background:linear-gradient(90deg,rgba(3,18,27,.96) 0%,rgba(3,18,27,.8) 22%,rgba(3,18,27,.35) 40%,transparent 58%);
}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero h1{
  font-size:clamp(42px,3.1vw,72px);font-weight:650;max-width:19ch;
  color:#fff;text-shadow:0 2px 4px #00101d,0 4px 20px rgba(0,0,0,.9);
}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero-copy{
  color:#fff;font-weight:500;text-shadow:0 2px 4px #00101d,0 3px 14px #000;
}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero-content .eyebrow{text-shadow:0 2px 8px #000}
}
@media(max-width:1100px){
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero-video{object-fit:contain}
}

/* Compact hero actions: primary pair, followed by the PDF download. */
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero-actions{
  display:grid;grid-template-columns:max-content max-content;gap:10px;width:fit-content;max-width:100%;
}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero-actions .button{
  width:auto;min-height:44px;padding:10px 16px;font-size:12px;line-height:1.4;gap:16px;justify-content:center;
}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero-actions .statement-hero-cta{
  grid-column:1 / -1;justify-self:start;gap:9px;padding-inline:13px;
}
@media(max-width:480px){
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero-actions{grid-template-columns:minmax(0,1fr)}
html.tfmg-modern:not([data-viewport-layout="book"]):not([data-viewport-layout="tabletop"]) .home-page .hero-actions .button{justify-self:start;max-width:100%}
}
