/* 1.2: Explicit viewport breakpoints, independent of container-query support. */
#tx-site{container-type:normal;overflow:visible;max-width:100%}
#tx-site *,#tx-site *::before,#tx-site *::after{box-sizing:border-box}
#tx-site .three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
#tx-site .digital-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
#tx-site .film-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
#tx-site .steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
#tx-site .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.1fr 1fr}
#tx-site .three>*,#tx-site .digital-grid>*,#tx-site .film-grid>*,#tx-site .steps>*,#tx-site .footer-grid>*,#tx-site .section-title>*{min-width:0}
#tx-site .service-link,#tx-site .blog-copy,#tx-site .footer-links a{overflow-wrap:anywhere}
#tx-site .hero{overflow:hidden;isolation:isolate}
#tx-site h1{font-size:clamp(38px,5.8vw,73px)}
#tx-site h2{font-size:clamp(28px,4vw,44px)}
#tx-site .hero h1{font-size:clamp(38px,5.8vw,64px);max-width:70%;letter-spacing:-2px}
#tx-site .floating-brands{position:absolute;right:4%;top:90px;width:25%;height:340px;margin:0;pointer-events:none}
#tx-site .float-brand:nth-child(1){top:0;left:0;right:auto}
#tx-site .float-brand:nth-child(2){top:82px;right:0;left:auto}
#tx-site .float-brand:nth-child(3){top:178px;left:0;right:auto}
#tx-site .float-brand:nth-child(4){top:268px;right:0;left:auto}
#tx-site .entry-content iframe,#tx-site .entry-content embed{max-width:100%}
#tx-site .entry-content pre,#tx-site .wp-block-table{max-width:100%;overflow:auto}
#tx-site .page-banner h1{font-size:clamp(34px,5vw,60px)}
#tx-site .tx-button{max-width:100%;white-space:normal;text-align:center;min-height:46px}
#tx-site .platform-button{min-height:44px}
#tx-site [id]{scroll-margin-top:110px}
@media(max-width:1024px){
 #tx-site .digital-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 #tx-site .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #tx-site .footer-brand{grid-column:auto}
 #tx-site .hero h1{font-size:52px;max-width:70%}
 #tx-site .section-title{gap:20px}
}
@media(max-width:900px){
 #tx-site .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;padding:10px 20px;align-items:center}
 #tx-site .site-brand{min-width:0}
 #tx-site .site-header .custom-logo-link img{width:160px;max-width:100%;height:auto;max-height:62px;object-fit:contain}
 #tx-site .menu-toggle{display:block;margin:0;min-height:44px;padding:10px 14px;font-size:12px;grid-column:3;grid-row:1}
 #tx-site .motion-toggle{grid-column:2;grid-row:1;min-height:44px;font-size:10px;padding:7px 10px}
 #tx-site #primary-menu{grid-column:1/-1;grid-row:2;width:100%;order:initial;display:none}
 #tx-site #primary-menu.is-open{display:block}
 #tx-site nav ul{display:block}
 #tx-site nav a{font-size:15px;min-height:44px;padding:10px 8px}
 #tx-site nav .sub-menu{min-width:0;width:100%}
 #tx-site .three{grid-template-columns:repeat(2,minmax(0,1fr))}
 #tx-site .digital-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #tx-site .hero{padding:45px 5% 30px;min-height:520px}
 #tx-site .hero h1{font-size:46px;max-width:72%}
 #tx-site .hero p{max-width:65%}
 #tx-site .float-brand{font-size:11px;padding:10px}
 #tx-site .section-title{display:block}
 #tx-site .section-title p{max-width:600px}
 #tx-site section{padding:50px 5%}
 #tx-site .footer-top{align-items:flex-start;flex-direction:column}
}
@media(max-width:600px){
 #tx-site .site-header{padding:10px 16px;gap:8px}
 #tx-site .site-header .custom-logo-link img{width:145px;max-height:54px}
 #tx-site .menu-toggle{font-size:12px;padding:9px 12px}
 #tx-site .motion-toggle{font-size:10px;padding:7px;max-width:70px;white-space:normal;line-height:1.3}
 #tx-site .hero{padding:35px 20px 24px;min-height:0}
 #tx-site .hero h1{font-size:clamp(31px,8.6vw,48px)!important;max-width:100%;line-height:1.18;letter-spacing:-1.4px;margin:22px 0}
 #tx-site .hero p{max-width:100%;font-size:15px;line-height:1.75}
 #tx-site .hero .eyebrow{font-size:10px;line-height:1.8;letter-spacing:1px;display:block;max-width:100%}
 #tx-site .hero-image{object-position:68% center;height:100%;width:100%;max-width:none}
 #tx-site .hero:after{background:linear-gradient(180deg,#070e20ef,#080f20c9 55%,#080f2070)}
 #tx-site .actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;width:100%}
 #tx-site .actions .tx-button{width:100%;font-size:14px;padding:13px 16px}
 #tx-site .floating-brands{position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px;width:100%;height:auto;margin:40px 0 25px;padding:8px 0;pointer-events:none}
 #tx-site .float-brand:nth-child(n){position:relative;inset:auto;transform:none;width:100%;min-width:0;font-size:12px;justify-content:center;padding:13px 9px;animation:tx-mobile-float 4s ease-in-out infinite}
 #tx-site .float-brand:nth-child(even){animation-delay:-2s}
 #tx-site .float-brand .brand-mark{width:24px;height:24px;flex-shrink:0}
 #tx-site .hero-bottom{margin-top:20px;gap:12px;font-size:10px;letter-spacing:.8px;flex-wrap:wrap}
 #tx-site .brand-strip{padding:22px 20px}
 #tx-site .brand-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px}
 #tx-site .platform-button{font-size:11px;padding:6px 0;gap:6px;justify-content:center;min-width:0}
 #tx-site .brand-row .brand-mark{width:21px;height:21px;flex-shrink:0}
 #tx-site .brand-strip-label{font-size:9px;letter-spacing:1px;line-height:1.8}
 #tx-site section{padding:42px 20px}
 #tx-site h2{font-size:30px;line-height:1.25;letter-spacing:-1px;overflow-wrap:anywhere}
 #tx-site .section-title{display:block;margin-bottom:23px}
 #tx-site .section-title p{font-size:15px;margin:15px 0 0;max-width:100%}
 #tx-site .three,#tx-site .film-grid,#tx-site .steps{grid-template-columns:minmax(0,1fr);gap:18px}
 #tx-site .digital-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #tx-site .commerce-card{padding:25px}
 #tx-site .service-tile{padding:20px 14px}
 #tx-site .service-tile h3{font-size:15px;line-height:1.45;letter-spacing:0;margin:12px 0}
 #tx-site .service-tile p{font-size:13px;line-height:1.7}
 #tx-site .service-tile .arrow{font-size:12px}
 #tx-site .service-brand-logo{width:32px;height:32px}
 #tx-site .service-monogram{width:36px;height:36px;font-size:20px}
 #tx-site .film-card video{width:100%;height:auto;aspect-ratio:16/9}
 #tx-site .film-copy{padding:20px}
 #tx-site .film-copy h3{font-size:18px}
 #tx-site .blog-copy{padding:22px}
 #tx-site .blog-copy h2{font-size:22px;line-height:1.4}
 #tx-site .blog-image-link img{height:auto;aspect-ratio:16/9;object-fit:cover}
 #tx-site .steps{gap:25px}
 #tx-site .contact h2{font-size:34px;line-height:1.2}
 #tx-site .contact .tx-button{width:100%}
 #tx-site .footer-top{padding:30px 20px;gap:20px;align-items:stretch;flex-direction:column}
 #tx-site .footer-top h2{font-size:27px}
 #tx-site .footer-grid{padding:32px 20px;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}
 #tx-site .footer-brand{grid-column:1/-1}
 #tx-site .footer-brand img{width:215px;height:auto;max-height:85px}
 #tx-site .footer-brand p{max-width:100%;font-size:14px}
 #tx-site footer h3{font-size:14px;line-height:1.5}
 #tx-site .footer-links a{font-size:13px;min-height:35px;display:block}
 #tx-site .footer-bottom{padding:20px;display:flex;flex-direction:column;align-items:flex-start;font-size:11px}
 #tx-site .footer-note{padding:0 20px 20px;font-size:11px}
 #tx-site .entry-content{padding:32px 20px;width:100%}
 #tx-site .page-banner h1{font-size:34px!important;letter-spacing:-1px;line-height:1.25}
 #tx-site .entry-content h2{font-size:27px}
 #tx-site .entry-content p,#tx-site .entry-content li{font-size:16px}
 #tx-site .category-links{gap:8px}
 #tx-site .category-links a{max-width:100%;overflow-wrap:anywhere;font-size:12px}
}
@media(max-width:360px){
 #tx-site .site-header{padding-inline:12px;gap:6px}
 #tx-site .site-header .custom-logo-link img{width:120px}
 #tx-site .digital-grid{grid-template-columns:minmax(0,1fr)}
 #tx-site .footer-grid{grid-template-columns:minmax(0,1fr)}
 #tx-site .brand-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@keyframes tx-mobile-float{50%{translate:0 -8px}}
@media(prefers-reduced-motion:reduce){#tx-site .float-brand:nth-child(n){animation:none!important}}
