.tn-body { margin: 0; background: #fff; }
body.tn-body .trasmo-native { --teh-blue: #103d76; --teh-blue-dark: #101e3a; --teh-text: #101828; --teh-muted: #535f70; --teh-light: #f2f5f8; --tn-space-1:8px; --tn-space-2:16px; --tn-space-3:24px; --tn-space-4:32px; --tn-space-6:48px; --tn-section-space:80px; --tn-gutter:28px; --tn-card-padding:28px; font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body.tn-body .trasmo-native.e-con, body.tn-body .trasmo-native .e-con { min-width: 0; --container-default-padding: 0; }
body.tn-body .trasmo-native .tn-main { width: 100%; gap: 0; padding: 0; }
body.tn-body .trasmo-native .elementor-widget { min-width: 0; max-width: 100%; }
body.tn-body .trasmo-native .elementor-widget-text-editor { color: inherit; font: inherit; line-height: 1.75; }
body.tn-body .trasmo-native p { margin: 0 0 1.15em; }
body.tn-body .trasmo-native :is(.tn-main,.tn-detail-grid) p { text-wrap:pretty; }
body.tn-body .trasmo-native p:last-child { margin-bottom: 0; }
body.tn-body .trasmo-native a { text-underline-offset: 4px; }
body.tn-body .trasmo-native :is(a,button,input,textarea,select):focus-visible { outline: 3px solid #2781db; outline-offset: 4px; }
/* Reveal visibility is controlled by the local progressive-enhancement observer below. */
body.tn-body .trasmo-native .teh-header { position: relative; top: 0; margin: 16px auto 0; padding: 18px 22px !important; flex-wrap: wrap; }
body.tn-body .trasmo-native .teh-logo { width: 200px; flex: 0 0 200px; }
body.tn-body .trasmo-native .teh-logo img { width: 200px; max-height: 60px; }
body.tn-body .trasmo-native .teh-nav { width: auto; flex: 1 1 auto; gap: 0 !important; }
body.tn-body .trasmo-native .teh-nav-item { width: auto; }
body.tn-body .trasmo-native .teh-nav-item .elementor-button { font-size: 14px; padding: 0 8px; }
body.tn-body .trasmo-native .teh-actions { width: auto; gap: 10px !important; flex: 0 0 auto; align-items:center; }
body.tn-body .trasmo-native .teh-header-cta .elementor-button { padding: 0 16px; min-height: 46px; font-size: 13px; }
body.tn-body .trasmo-native .tn-language-switch { display: flex; flex-direction: row; width: auto; gap: 2px; align-items:center; }
body.tn-body .trasmo-native .tn-language .elementor-button { min-height: 38px; padding: 8px; color: #465267; background: transparent; font-size: 12px; font-weight: 750; }
body.tn-body .trasmo-native .tn-language.is-active .elementor-button { background: var(--teh-blue); color: #fff; }
body.tn-body .trasmo-native .tn-menu-toggle { display: none; }
body.tn-body .trasmo-native .elementor-button { border-radius: 0; font-family: inherit; }
body.tn-body .trasmo-native .elementor-button, body.tn-body .trasmo-native .elementor-button-content-wrapper { display: inline-flex; align-items: center; justify-content: center; text-align: center; }
body.tn-body .trasmo-native .elementor-button-text { flex-grow: 0; line-height: 1.3; }
body.tn-body .trasmo-native .teh-hero-title .elementor-heading-title { font-size: clamp(38px,3.7vw,58px); line-height: 1.06; overflow-wrap: normal; }
body.tn-body .trasmo-native .teh-hero { padding-top: 78px !important; padding-bottom: 78px !important; }
body.tn-body .trasmo-native .teh-hero-copy { min-width: 0; }
body.tn-body .trasmo-native .teh-hero-media { position: relative; padding: 0 !important; overflow: hidden; min-height: 455px; border: 0 !important; }
body.tn-body .trasmo-native .tn-home-hero-photo { width: 100%; height: 100%; position: absolute; inset: 0; }
body.tn-body .trasmo-native .tn-home-hero-photo :is(.elementor-widget-container,a) { width: 100%; height: 100%; display: block; }
body.tn-body .trasmo-native .tn-home-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; }
body.tn-body .trasmo-native .teh-hero-media::before,body.tn-body .trasmo-native .teh-hero-media::after { display: none; }
body.tn-body .trasmo-native .teh-media-label,body.tn-body .trasmo-native .teh-media-title { z-index: 2; margin-left: 22px; background: #0d203de8; padding: 12px 16px !important; width: fit-content; }
body.tn-body .trasmo-native .teh-media-label { margin-top: auto; }
body.tn-body .trasmo-native .teh-media-title { margin-bottom: 24px; }
body.tn-body .trasmo-native .teh-section-title .elementor-heading-title { font-size: clamp(30px,3vw,44px); }
body.tn-body .trasmo-native .teh-global-stat .teh-count,body.tn-body .trasmo-native .teh-count { font-variant-numeric: tabular-nums; }
body.tn-body .trasmo-native .tn-section { width: 100%; max-width: none; padding: var(--tn-section-space) max(var(--tn-gutter),calc((100% - 1180px)/2)) !important; gap: var(--tn-space-3) !important; }
body.tn-body .trasmo-native .tn-section :is(h1,h2,h3) { margin: 0; color: inherit; font-weight: 800; letter-spacing: -.035em; }
body.tn-body .trasmo-native .tn-section h1 { font-size: clamp(38px,4.1vw,58px); line-height: 1.08; }
body.tn-body .trasmo-native .tn-section h2 { font-size: clamp(28px,3vw,40px); line-height: 1.15; }
body.tn-body .trasmo-native .tn-section h3 { font-size: 25px; line-height: 1.2; }
body.tn-body .trasmo-native .tn-section .elementor-widget-text-editor { font-size: 17px; color: var(--teh-muted); }
body.tn-body .trasmo-native .tn-eyebrow { font-size: 12px !important; font-weight: 800; text-transform: uppercase; letter-spacing: .11em; color: var(--teh-blue) !important; }
body.tn-body .trasmo-native .tn-copy { width: 100%; gap: var(--tn-space-3) !important; }
body.tn-body .trasmo-native .tn-hero { padding-top: 85px !important; padding-bottom: 85px !important; align-items: center; }
body.tn-body .trasmo-native .tn-grid { display: grid !important; gap: var(--tn-space-3) !important; align-items: stretch; }
body.tn-body .trasmo-native .tn-grid-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
body.tn-body .trasmo-native .tn-grid-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
body.tn-body .trasmo-native .tn-grid-4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
body.tn-body .trasmo-native .tn-grid > * { width: 100%; min-width: 0; }
body.tn-body .trasmo-native .tn-photo { width: 100%; }
body.tn-body .trasmo-native .tn-photo img { display: block; width: 100%; aspect-ratio: 4/3; height: auto; object-fit: cover; }
body.tn-body .trasmo-native .tn-hero-photo img { aspect-ratio: 4/3; object-fit:contain; background:var(--teh-light); }
body.tn-body .trasmo-native .tn-card { padding: var(--tn-card-padding) !important; gap: var(--tn-space-3) !important; background: #fff; border: 1px solid #dbe1e8; box-shadow: 0 15px 35px #0e2f5a0a; }
body.tn-body .trasmo-native .tn-card .elementor-widget-button { margin-top: auto; }
body.tn-body .trasmo-native .tn-card .tn-photo { margin: -28px -28px 4px; width: calc(100% + 56px); max-width: none; }
body.tn-body .trasmo-native .tn-small-card { background: #fff; padding: var(--tn-space-3) !important; border-top: 3px solid var(--teh-blue); }
body.tn-body .trasmo-native .tn-small-card h3 { font-size: 20px; }
body.tn-body .trasmo-native .tn-light, body.tn-body .trasmo-native .tn-rental-focus { background: var(--teh-light); }
body.tn-body .trasmo-native .tn-cta { background: linear-gradient(120deg,#0c2341,#123d76); color: #fff; }
body.tn-body .trasmo-native .tn-cta .elementor-widget-text-editor { color: #e3e9f3; max-width: 760px; }
body.tn-body .trasmo-native .tn-cta .elementor-widget-button { width: fit-content; }
body.tn-body .trasmo-native .tn-service-detail { gap: 20px !important; border-top: 1px solid #dde3eb; }
body.tn-body .trasmo-native .tn-service-detail .elementor-widget-text-editor { max-width: 960px; }
body.tn-body .trasmo-native .tn-caption { font-size: 14px !important; color: var(--teh-muted); line-height: 1.6; }
body.tn-body .trasmo-native .tn-reference-card { display:flex; flex-direction:column !important; align-items:stretch !important; justify-content:flex-start !important; min-height:0 !important; padding:0 !important; border:1px solid #dce1e7; background:#fff !important; gap:20px !important; overflow:hidden; }
body.tn-body .trasmo-native .tn-reference-card .tn-photo { width:100% !important; flex:0 0 auto; margin:0 !important; }
body.tn-body .trasmo-native .tn-reference-card .elementor-widget-heading { width:100%; padding:0 18px 24px; }
body.tn-body .trasmo-native .tn-reference-card .elementor-heading-title { color:#14233b !important; font-size:20px !important; line-height:1.25; overflow-wrap:anywhere; }
body.tn-body .trasmo-native .tn-reference-card .elementor-heading-title::before { display:none; }
body.tn-body .trasmo-native .tn-reference-card:hover,body.tn-body .trasmo-native .tn-reference-card:active { background:#fff !important; }
body.tn-body .trasmo-native .tn-map-section { padding:0 0 var(--tn-section-space) !important; }
body.tn-body .trasmo-native .tn-map-section .elementor-widget-shortcode { width: 100%; }
body.tn-body .trasmo-native .tn-footer { display: grid !important; grid-template-columns: 1.1fr 1.25fr .7fr; gap: var(--tn-space-6) !important; padding: 64px max(var(--tn-gutter),calc((100% - 1180px)/2)) !important; color: #e3eaf3; }
body.tn-body .trasmo-native .tn-footer h2 { color: #fff; font-size: 30px; margin: 0 0 16px; }
body.tn-body .trasmo-native .tn-footer .e-con { width: 100%; padding:0 !important; }
body.tn-body .trasmo-native .tn-footer a { color: #e3eaf3; }
body.tn-body .trasmo-native .tn-footer-links { gap: 2px !important; align-items: flex-start; }
body.tn-body .trasmo-native .tn-footer-link .elementor-button { background: transparent; padding: 6px 0; color: #e3eaf3; font-size: 14px; font-weight: 650; }
body.tn-body .trasmo-native .tn-footer-link .elementor-button:hover { color:#fff; text-decoration: underline; }
body.tn-body .trasmo-native .tn-catalog { width:100%; }
body.tn-body .trasmo-native .tn-search-label { display: flex; flex-direction: column; gap: 8px; max-width: 600px; font-size: 15px; font-weight: 700; }
body.tn-body .trasmo-native input,body.tn-body .trasmo-native textarea { font: inherit; color: #15243b; background:#fff; border: 1px solid #aebaca; border-radius: 0; padding: 14px 16px; min-height: 48px; width: 100%; }
body.tn-body .trasmo-native .tn-filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 30px; }
body.tn-body .trasmo-native .tn-filters button { border: 1px solid #9eafc5; background: #fff; color: #163257; border-radius: 0; padding: 12px 18px; font: 700 14px/1.3 system-ui,sans-serif; min-height: 46px; cursor: pointer; }
body.tn-body .trasmo-native .tn-filters button[aria-pressed="true"],body.tn-body .trasmo-native .tn-filters button:hover { background: var(--teh-blue); color:#fff; border-color: var(--teh-blue); }
body.tn-body .trasmo-native .tn-catalog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
body.tn-body .trasmo-native .tn-machine-card { display: flex; flex-direction: column; border: 1px solid #d9e1eb; background:#fff; }
body.tn-body .trasmo-native .tn-machine-card img { display:block; flex:none; width: 100%; aspect-ratio: 4/3; height:auto; object-fit:contain; background:var(--teh-light); }
body.tn-body .trasmo-native .tn-machine-card > div { padding: var(--tn-space-3); display:flex; flex:1; flex-direction:column; gap:var(--tn-space-2); }
body.tn-body .trasmo-native .tn-machine-card p { font-size: 16px; line-height: 1.65; margin: 0; color: var(--teh-muted); }
body.tn-body .trasmo-native .tn-machine-card h3 { font-size: 27px; margin: 0; }
body.tn-body .trasmo-native .tn-text-link { font-weight:700; color:var(--teh-blue); }
body.tn-body .trasmo-native .tn-machine-card .tn-button { margin-top:auto; }
.tn-button { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; background:#103d76; color:#fff; border:1px solid #103d76; min-height:52px; padding:14px 24px; font:750 15px/1.3 system-ui,sans-serif; text-align:center; text-decoration:none; cursor:pointer; border-radius:0; }
.tn-button:hover { background:#112947; color:#fff; border-color:#112947; }
body.tn-body .trasmo-native [hidden] { display:none !important; }
body.tn-body .trasmo-native .tn-contact-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; max-width:940px; }
body.tn-body .trasmo-native .tn-contact-form label { display:flex; flex-direction:column; gap:9px; font-size:16px; font-weight:650; }
body.tn-body .trasmo-native .tn-contact-form .tn-wide { grid-column: 1/-1; }
body.tn-body .trasmo-native .tn-contact-form .tn-consent { display:flex; flex-direction:row; align-items:flex-start; font-weight:400; font-size:14px; line-height:1.65; gap:12px; }
body.tn-body .trasmo-native .tn-consent input { width:20px; height:20px; min-height:20px; margin-top:3px; flex:0 0 20px; }
body.tn-body .trasmo-native .tn-form-status { border-left:4px solid #103d76; padding:18px 20px; background:#e5edf7; margin-bottom:24px; }
body.tn-body .trasmo-native .tn-legal { min-height:55vh; }
body.tn-body .trasmo-native .tn-legal .elementor-widget-text-editor { max-width:950px; }
.tn-skip { position:absolute; left:16px; top:-100px; z-index:1000; background:#fff; color:#103d76; padding:14px; }
.tn-skip:focus { top:12px; }
body.tn-body .trasmo-native .tn-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:45px; margin-top:40px; align-items:start; }
body.tn-body .trasmo-native .tn-detail-grid p { font-size:17px; line-height:1.7; margin:20px 0; }
body.tn-body .trasmo-native .tn-detail-photo { width:100%; height:auto; }
body.tn-body .trasmo-native :target { scroll-margin-top:28px; }
@media(max-width:1100px) {
 body.tn-body .trasmo-native .teh-header { width:100%; margin:0; padding:16px 24px !important; gap:16px !important; }
 body.tn-body .trasmo-native .teh-logo { width:180px; flex-basis:180px; }
 body.tn-body .trasmo-native .teh-logo img { width:180px; }
 body.tn-body .trasmo-native .teh-actions { margin-left:auto; }
 body.tn-body .trasmo-native .teh-header-cta { display:none !important; }
 body.tn-body .trasmo-native .teh-nav { display:flex !important; width:100%; order:3; flex:1 1 100%; flex-wrap:wrap; justify-content:flex-start; }
 html.tn-js body.tn-body .trasmo-native .teh-nav:not(.is-open) { display:none !important; }
 html.tn-js body.tn-body .trasmo-native .tn-menu-toggle { display:block; }
 body.tn-body .trasmo-native .tn-menu-toggle .elementor-button { background:#103d76; color:#fff; padding:12px; min-height:42px; font-size:13px; }
 body.tn-body .trasmo-native .tn-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.tn-body .trasmo-native .tn-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.tn-body .trasmo-native .tn-section { padding:64px var(--tn-gutter) !important; }
 body.tn-body .trasmo-native .tn-map-section { padding:0 var(--tn-gutter) 64px !important; }
}
@media(max-width:767px) {
 body.tn-body .trasmo-native .teh-header { padding:14px 16px !important; gap:8px !important; }
 body.tn-body .trasmo-native .teh-logo { width:145px; flex-basis:145px; }
 body.tn-body .trasmo-native .teh-logo img { width:145px; }
 body.tn-body .trasmo-native .teh-actions { gap:7px !important; }
 body.tn-body .trasmo-native .tn-language .elementor-button { min-height:36px; padding:7px; }
 body.tn-body .trasmo-native .teh-nav { flex-direction:column; align-items:stretch; }
 body.tn-body .trasmo-native .teh-nav .elementor-widget-button { width:100%; }
 body.tn-body .trasmo-native .teh-nav .elementor-button { display:flex; justify-content:flex-start; padding:13px 10px; width:100%; }
 body.tn-body .trasmo-native .teh-hero { padding:46px 20px !important; }
 body.tn-body .trasmo-native .teh-hero-title .elementor-heading-title { font-size:38px; line-height:1.08; }
 body.tn-body .trasmo-native .teh-hero-media { min-height:340px; width:100%; }
 body.tn-body .trasmo-native .teh-media-title .elementor-heading-title { font-size:24px; }
 body.tn-body .trasmo-native .tn-section { padding:var(--tn-space-6) 20px !important; }
 body.tn-body .trasmo-native .tn-map-section { padding:0 var(--tn-gutter) 64px !important; }
 body.tn-body .trasmo-native .tn-grid-2,body.tn-body .trasmo-native .tn-grid-3,body.tn-body .trasmo-native .tn-grid-4,body.tn-body .trasmo-native .tn-catalog-grid { grid-template-columns:minmax(0,1fr); }
 body.tn-body .trasmo-native .tn-section h1 { font-size:38px; }
 body.tn-body .trasmo-native .tn-section h2 { font-size:30px; }
 body.tn-body .trasmo-native .tn-hero-photo img { aspect-ratio:4/3; }
 body.tn-body .trasmo-native .tn-footer { grid-template-columns:1fr; padding:var(--tn-space-6) 20px !important; gap:var(--tn-space-4) !important; }
 body.tn-body .trasmo-native .tn-contact-form { grid-template-columns:1fr; gap:20px; }
 body.tn-body .trasmo-native .tn-card { padding:24px !important; }
 body.tn-body .trasmo-native .tn-card .tn-photo { margin:-24px -24px 4px; width:calc(100% + 48px); }
 body.tn-body .trasmo-native .tn-detail-grid { grid-template-columns:1fr; gap:28px; }
}
@media(prefers-reduced-motion:reduce) { body.tn-body .trasmo-native *, body.tn-body .trasmo-native *::before, body.tn-body .trasmo-native *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

/* Container settings from the recovered draft applied padding to boxed inner wrappers. */
body.tn-body .trasmo-native.e-con { padding:0 !important; width:100%; }
body.tn-body .trasmo-native .teh-section { padding:var(--tn-section-space) var(--tn-gutter) !important; }
body.tn-body .trasmo-native .teh-section > .e-con-inner { padding:0 !important; }
/* Keep recovered dark sections legible against Elementor's generated backgrounds. */
body.tn-body .trasmo-native .teh-why,
body.tn-body .trasmo-native .teh-cta { background:linear-gradient(120deg,#102847,#244e89) !important; color:#fff !important; }
body.tn-body .trasmo-native :is(.teh-why,.teh-cta) .elementor-heading-title { color:#fff !important; }
body.tn-body .trasmo-native :is(.teh-why,.teh-cta) .elementor-widget-text-editor { color:#edf3fc !important; }
body.tn-body .trasmo-native .teh-benefit { background:rgba(255,255,255,.10) !important; border-color:rgba(255,255,255,.24); }
body.tn-body .trasmo-native .teh-benefit .teh-count { color:#fff !important; }
body.tn-body .trasmo-native .teh-cta .elementor-button { color:#103d76 !important; background:#fff !important; }
body.tn-body .trasmo-native :is(.teh-hero-copy,.teh-hero-actions,.teh-cta-copy,.teh-actions,.tn-language-switch,.teh-nav,.teh-logo,.tn-copy,.teh-focus-grid,.teh-benefit-grid), body.tn-body .trasmo-native .tn-grid:not(.tn-section) { padding:0 !important; }
body.tn-body .trasmo-native .teh-header { flex-direction:row; align-items:center; }
body.tn-body .trasmo-native .tn-language { width:auto; }
body.tn-body .trasmo-native .teh-header { gap:18px !important; }
@media(max-width:767px) {
 body.tn-body .trasmo-native .teh-section { padding:48px 20px !important; }
 body.tn-body .trasmo-native .teh-header { gap:8px !important; }
 body.tn-body .trasmo-native .teh-hero-title .elementor-heading-title { font-size:32px !important; overflow-wrap:normal; }
}

body.tn-body .trasmo-native .teh-trust { display:grid !important; grid-template-columns:max-content repeat(2,minmax(0,1fr)); width:100%; padding:8px !important; }
body.tn-body .trasmo-native .teh-trust-item { display:flex; align-items:center; justify-content:flex-start; gap:6px; width:auto; min-width:0; min-height:52px; font-size:13px; line-height:1.4; padding:8px 10px; white-space:nowrap; }
body.tn-body .trasmo-native .teh-trust-item:not(.teh-trust-item--metric) { white-space:normal; }
body.tn-body .trasmo-native .teh-trust-item .elementor-widget-container { font-size:13px; }
@media(max-width:767px) { body.tn-body .trasmo-native .teh-trust { grid-template-columns:1fr; } }
body.tn-body .trasmo-native .tn-section a:not(.elementor-button):not(.tn-button) { color:var(--teh-blue); }
@media(max-width:1024px) { body.tn-body .trasmo-native .teh-hero-media { width:100%; } }

/* Direct contact release: no form and no browser-side message collection. */
body.tn-body .trasmo-native .tn-direct-contact { max-width: 940px; }
body.tn-body .trasmo-native .tn-direct-contact > h2 { margin-bottom:var(--tn-space-2); }
body.tn-body .trasmo-native .tn-direct-contact-actions { display:flex; flex-wrap:wrap; gap:16px; margin:24px 0; }
body.tn-body .trasmo-native .tn-contact-note { font-size:15px; line-height:1.6; max-width:680px; }
body.tn-body .trasmo-native .tn-direct-contact a { overflow-wrap:anywhere; }
@media (max-width:600px) { body.tn-body .trasmo-native .tn-direct-contact-actions .tn-button { width:100%; text-align:center; } }

/* Reset named areas through the foundation's full tablet breakpoint; prevent overlapping implicit areas. */
@media (max-width:1080px) {
 body.tn-body .trasmo-native .teh-focus-grid { grid-template-columns:minmax(0,1fr); grid-template-areas:none; }
 body.tn-body .trasmo-native .teh-focus-grid > .teh-focus-card { grid-area:auto !important; width:100%; min-width:0; }
}

/* Keep long legal headings inside narrow screens without changing their wording. */
@media (max-width:767px) {
 body.tn-body .trasmo-native .tn-legal h1 { font-size:32px !important; overflow-wrap:anywhere; hyphens:auto; }
}

/* Long German compounds must remain legible on narrow phones. */
@media (max-width:767px) {
 body.tn-body .trasmo-native :is(h1,h2,h3), body.tn-body .trasmo-native .elementor-heading-title { overflow-wrap:anywhere; hyphens:auto; }
}
@media (max-width:360px) {
 body.tn-body .trasmo-native .teh-hero-title .elementor-heading-title { font-size:28px !important; overflow-wrap:anywhere !important; hyphens:auto; }
}

body.tn-body .trasmo-native .tn-rental-focus .tn-photo img { object-fit:contain; background:var(--teh-light); }
body.tn-body .trasmo-native .tn-rental-focus + .teh-focus-section { padding-top:0 !important; }
/* Shared layout rhythm: keep structural wrappers flush with their section headings. */
body.tn-body .trasmo-native .teh-hero-actions { gap:var(--tn-space-2) !important; margin-top:var(--tn-space-4); }
body.tn-body .trasmo-native .teh-focus-grid { gap:var(--tn-space-3) !important; }
body.tn-body .trasmo-native .teh-focus-card { gap:var(--tn-space-2) !important; }
body.tn-body .trasmo-native .teh-benefit-grid::before { display:none; }
body.tn-body .trasmo-native .teh-cta > .e-con-inner { gap:var(--tn-space-4) !important; align-items:center; }
body.tn-body .trasmo-native .teh-cta-copy { flex:1 1 0; width:auto; gap:var(--tn-space-2) !important; }
body.tn-body .trasmo-native .teh-cta > .e-con-inner > .elementor-widget-button { flex:0 0 auto; width:auto; }
body.tn-body .trasmo-native .teh-cta .elementor-button { white-space:nowrap; }

body.tn-body .trasmo-native .tn-legal .elementor-widget-text-editor { max-width:78ch; }
body.tn-body .trasmo-native .tn-legal .elementor-widget-text-editor h2 { font-size:clamp(23px,2.2vw,28px); line-height:1.25; margin:var(--tn-space-4) 0 var(--tn-space-2); letter-spacing:-.025em; }
body.tn-body .trasmo-native .tn-legal .elementor-widget-text-editor h3 { font-size:21px; line-height:1.3; margin:var(--tn-space-3) 0 12px; }
body.tn-body .trasmo-native .tn-legal .elementor-widget-text-editor :is(h2,h3):first-child { margin-top:0; }
@media (min-width:768px) and (max-width:1100px) {
 body.tn-body .trasmo-native .teh-section { padding:64px var(--tn-gutter) !important; }
}
@media (max-width:1024px) {
 body.tn-body .trasmo-native .teh-hero > .e-con-inner { gap:var(--tn-space-6) !important; max-width:720px; }
 body.tn-body .trasmo-native .teh-hero-media { max-width:none; aspect-ratio:4/3; min-height:0; }
 body.tn-body .trasmo-native .teh-cta > .e-con-inner { align-items:flex-start; }
 body.tn-body .trasmo-native .teh-cta-copy { flex:none; width:100%; }
}
@media (max-width:767px) {
 body.tn-body .trasmo-native .teh-hero > .e-con-inner { gap:var(--tn-space-4) !important; }
 body.tn-body .trasmo-native .teh-cta .elementor-heading-title { font-size:clamp(28px,7.2vw,32px) !important; line-height:1.15 !important; hyphens:manual; overflow-wrap:normal; text-wrap:balance; }
 body.tn-body .trasmo-native .teh-hero-media { aspect-ratio:4/3; min-height:320px; }
 body.tn-body .trasmo-native .tn-card .elementor-button { width:100%; padding-inline:var(--tn-space-2); }
 body.tn-body .trasmo-native .tn-map-section { padding:0 20px var(--tn-space-6) !important; }
 body.tn-body .trasmo-native .tn-map-section .trasmo-global-map { border-radius:20px; }
 body.tn-body .trasmo-native .tn-map-section .tgm-chip { min-height:44px; }
}

/* 1.0.21: source-level visual correction shared by Elementor and static exports. */
body.tn-body .trasmo-native .teh-header { max-width:1236px; padding-inline:28px !important; }
body.tn-body .trasmo-native .teh-focus-card { padding:28px !important; }
body.tn-body .trasmo-native .teh-focus-card::after,
body.tn-body .trasmo-native .teh-cta::after { display:none !important; }
body.tn-body .trasmo-native .tn-service-detail { padding-block:56px !important; }
body.tn-body .trasmo-native .tn-service-detail .tn-copy { max-width:960px; }
body.tn-body .trasmo-native :is(.tn-section,.teh-hero-actions) .elementor-button { min-height:52px; padding-block:14px; }
body.tn-body .trasmo-native :is(.tn-button,.elementor-button) { transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease,box-shadow 180ms ease,transform 180ms ease; }
body.tn-body .trasmo-native .tn-machine-card { transition:border-color 200ms ease,box-shadow 200ms ease; }
body.tn-body .trasmo-native .teh-reveal { opacity:1; transform:none; visibility:visible; }
html.tn-motion body.tn-body .trasmo-native .teh-reveal:not(.teh-header) { opacity:0; transform:translateY(24px); transition:none; }
html.tn-motion body.tn-body .trasmo-native .teh-reveal.is-visible { opacity:1; transform:none; transition:opacity 650ms cubic-bezier(.22,1,.36,1),transform 650ms cubic-bezier(.22,1,.36,1); }
@media (hover:hover) and (pointer:fine) {
 body.tn-body .trasmo-native .tn-machine-card:hover { border-color:#9baec6; box-shadow:0 16px 36px #0e2f5a16; }
}
@media (max-width:1100px) {
 body.tn-body .trasmo-native .teh-header { row-gap:0 !important; padding-inline:28px !important; }
 html.tn-js body.tn-body .trasmo-native .teh-nav:not(.is-open) { display:flex !important; max-height:0; opacity:0; visibility:hidden; overflow:hidden; pointer-events:none; transform:translateY(-6px); margin-top:0; }
 html.tn-js body.tn-body .trasmo-native .teh-nav { transition:max-height 280ms ease,opacity 180ms ease,transform 220ms ease,visibility 280ms; }
 html.tn-js body.tn-body .trasmo-native .teh-nav.is-open { max-height:520px; opacity:1; visibility:visible; pointer-events:auto; transform:none; margin-top:16px; }
}
@media (min-width:768px) and (max-width:1080px) {
 body.tn-body .trasmo-native .teh-focus-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.tn-body .trasmo-native .teh-focus-grid > .teh-focus-card--lead { grid-column:1/-1 !important; min-height:240px; }
 body.tn-body .trasmo-native .teh-focus-card { min-height:220px; }
}
@media (max-width:767px) {
 body.tn-body .trasmo-native .teh-header { padding-inline:20px !important; }
 body.tn-body .trasmo-native .teh-focus-card { padding:24px !important; min-height:210px; }
 body.tn-body .trasmo-native .teh-focus-card--lead { min-height:280px; }
 body.tn-body .trasmo-native .tn-service-detail { padding-block:40px !important; }
 body.tn-body .trasmo-native .teh-hero-title .elementor-heading-title { text-wrap:balance; }
 body.tn-body .trasmo-native .tn-card .elementor-button { min-height:52px; }
}
@media (prefers-reduced-motion:reduce) {
 body.tn-body .trasmo-native.teh-motion-ready .teh-reveal:not(.teh-header) { opacity:1 !important; transform:none !important; transition:none !important; }
}
@media (min-width:768px) and (max-width:1024px) {
 body.tn-body .trasmo-native .teh-benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.tn-body .trasmo-native .teh-benefit--wide { grid-column:1/-1; }
 body.tn-body .trasmo-native .tn-footer { grid-template-columns:1fr 1fr; gap:32px !important; }
 body.tn-body .trasmo-native .tn-footer > :first-child { grid-column:1/-1; }
}

@media (prefers-reduced-motion:reduce) { html.tn-motion body.tn-body .trasmo-native .teh-reveal { opacity:1 !important; transform:none !important; transition:none !important; } body.tn-body .trasmo-native :is(.elementor-button,.teh-focus-card,.tn-machine-card):hover { transform:none !important; } }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 html.tn-motion body.tn-body .trasmo-native .teh-focus-card.is-visible:hover { transform:translateY(-3px); transition-duration:200ms; transition-delay:0ms; }
}

/* Micro-layout 1.0.22: center the glyph, not the card's text or contents. */
body.tn-body .trasmo-native .teh-card-icon { display:grid; place-items:center; flex-shrink:0; }
body.tn-body .trasmo-native .teh-card-icon .elementor-icon-wrapper { display:flex; align-items:center; justify-content:center; line-height:0; }

/* Share actual heading/body rows instead of reserving empty title lines. */
@supports (grid-template-rows:subgrid) {
 @media (min-width:768px) {
  body.tn-body .trasmo-native .tn-grid-3:has(> .tn-card > .elementor-widget-heading > h2) > .tn-card { display:grid !important; grid-template-rows:subgrid; grid-row:span 2; }
  body.tn-body .trasmo-native .tn-grid-2:has(> .tn-card > .elementor-widget-heading > h3) > .tn-card { display:grid !important; grid-template-rows:subgrid; grid-row:span 3; }
 }
}
body.tn-body .trasmo-native .tn-grid-2 > .tn-card > .elementor-widget-heading > h3 { hyphens:manual; text-wrap:balance; }
body.tn-body .trasmo-native .tn-detail-grid > div > .tn-eyebrow:first-child { margin-block-start:0; }

/* svgMap supplies its own 2:1 map wrapper. Avoid an additional fixed-height blank band. */
body.tn-body .trasmo-native #trasmo-global-map-stage { height:auto; min-height:0; }

/* Apply the existing legal type scale to Elementor heading widgets as well as rich text. */
body.tn-body .trasmo-native .tn-legal .elementor-widget-heading > h2 { font-size:clamp(23px,2.2vw,28px); line-height:1.25; letter-spacing:-.025em; }
body.tn-body .trasmo-native .tn-direct-contact > h2 { hyphens:manual; overflow-wrap:normal; text-wrap:balance; }
@media (max-width:375px) { body.tn-body .trasmo-native .tn-legal h1 { font-size:28px !important; } }

/* Value headings must wrap within narrow tablet cards. */
body.tn-body .trasmo-native .tn-grid-3 > .tn-card > .elementor-widget-heading > h2 { overflow-wrap:anywhere; hyphens:auto; }

/* About summary: prefer whole words in this shared value-card page template. */
@media (max-width:767px) {
 body.tn-body .trasmo-native:has(.tn-grid-3 > .tn-card > .elementor-widget-heading > h2) .tn-hero h1 { hyphens:manual; text-wrap:balance; }
}
@media (max-width:375px) {
 body.tn-body .trasmo-native:has(.tn-grid-3 > .tn-card > .elementor-widget-heading > h2) .tn-hero h1 { font-size:36px; }
}
