/* Teemar managed content presentation, 2026-09-15 */
.tm-banner-frame { position: relative; width: 100%; overflow: hidden; background: #102b3d; }
.tm-banner-frame > img { display: block; width: 100%; height: auto; object-fit: cover; }
.tm-banner-copy { position: absolute; inset: 0; display: flex; align-items: center; pointer-events: none; background: linear-gradient(90deg, rgba(7,29,43,.78) 0%, rgba(7,29,43,.48) 35%, rgba(7,29,43,.06) 66%, transparent 100%); }
.tm-banner-copy-inner { width: min(1200px, calc(100% - 64px)); margin: 0 auto; color: #fff; }
.tm-banner-copy h1 { max-width: 590px; margin: 0 0 16px; color: #fff; font-size: clamp(30px, 3vw, 50px); line-height: 1.18; font-weight: 700; letter-spacing: .02em; text-shadow: 0 2px 18px rgba(0,0,0,.22); }
.tm-banner-copy p { max-width: 570px; margin: 0; color: rgba(255,255,255,.9); font-size: clamp(15px, 1.3vw, 19px); line-height: 1.75; letter-spacing: .03em; text-shadow: 0 1px 10px rgba(0,0,0,.25); }
.tm-banner-copy h1:empty, .tm-banner-copy p:empty { display: none; }
.tm-buy-page .banner .tm-banner-frame > img { width: 100%; aspect-ratio: 4 / 1; object-fit: cover; object-position: center top; }
.tm-product-tabs { position: relative; z-index: 4; background: #fff; border-bottom: 1px solid #e7edf1; box-shadow: 0 8px 24px rgba(26,54,72,.06); }
.tm-product-tabs-inner { display: flex; justify-content: center; gap: 6px; width: min(1200px, calc(100% - 40px)); margin: 0 auto; padding: 14px 0; }
.tm-product-tab { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 28px; color: #294555; border-radius: 4px; font-size: 16px; font-weight: 600; white-space: nowrap; transition: color .25s ease, background-color .25s ease, transform .25s ease; }
.tm-product-tab::after { content: ''; position: absolute; left: 28px; right: 28px; bottom: 5px; height: 2px; background: #2e95c3; transform: scaleX(0); transition: transform .25s ease; }
.tm-product-tab:hover, .tm-product-tab.is-current { color: #1779a7; background: #f2f8fb; transform: translateY(-1px); }
.tm-product-tab:hover::after, .tm-product-tab.is-current::after { transform: scaleX(1); }
.tm-auto-page .pro_left, .tm-industrial-page .pro_left { display: none !important; }
.tm-auto-page .contenter.wrap-righter-style, .tm-industrial-page .contenter.wrap-righter-style { float: none !important; width: 100% !important; margin: 0 !important; }
.tm-auto-page .menu-in-left, .tm-industrial-page .menu-in-left { width: min(1232px, calc(100% - 32px)); }
.tm-auto-page .top_pos { display: none !important; }
/* Responsive product card grid: cards fill each row without fixed-width gaps. */
.tm-auto-page .section > ul, .tm-industrial-page .section > ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; width: 100%; }
.tm-auto-page .section > ul::before, .tm-auto-page .section > ul::after, .tm-industrial-page .section > ul::before, .tm-industrial-page .section > ul::after { display: none !important; content: none !important; }
.tm-auto-page .section > ul > .ppc { display: contents !important; }
.tm-auto-page .section > ul > .wppc { display: none !important; }
.tm-auto-page .section ul li, .tm-industrial-page .section ul li { float: none !important; display: block !important; width: 100% !important; height: auto !important; margin: 0 !important; overflow: hidden; box-sizing: border-box; }
.tm-auto-page .section ul li { aspect-ratio: 20 / 21; }
.tm-industrial-page .section ul li { aspect-ratio: 1 / 1; }
.tm-auto-page .section ul li .photo, .tm-industrial-page .section ul li .photo { width: 100% !important; height: 100% !important; box-sizing: border-box; }
.tm-auto-page .section ul li .photo { display: flex; flex-direction: column; align-items: stretch; padding: 18px 18px 14px; }
.tm-auto-page .section ul li .photo img { flex: 1 1 auto; width: 100% !important; height: 0 !important; min-height: 0; object-fit: contain; }
.tm-auto-page .section ul li .photo h3 { flex: 0 0 auto; margin: 8px 0 0; padding: 0 !important; line-height: 1.55; }
.tm-industrial-page .section ul li .photo img { width: 100% !important; height: 100% !important; object-fit: contain; }
.tm-auto-page .section .rsp, .tm-auto-page .section .text, .tm-industrial-page .section .rsp, .tm-industrial-page .section .text { width: 100% !important; height: 100% !important; box-sizing: border-box; }
.tm-product-specs { width: 100%; padding: 34px 0 54px; background: #f7f9fa; }
.tm-product-specs-inner { width: min(1200px, calc(100% - 40px)); margin: 0 auto; }
.tm-product-specs h2 { margin: 0 0 24px; color: #18394c; font-size: 30px; line-height: 1.25; text-align: center; }
.tm-product-specs-scroll { overflow-x: auto; border-radius: 8px; box-shadow: 0 14px 34px rgba(23,59,78,.08); }
.tm-spec-table { width: 100%; min-width: 680px; border-collapse: collapse; background: #fff; color: #334e5e; font-size: 15px; line-height: 1.6; }
.tm-spec-table th, .tm-spec-table td { padding: 14px 18px; border: 1px solid #e2e9ed; text-align: left; vertical-align: top; }
.tm-spec-table thead th { background: #254f67; color: #fff; font-weight: 600; }
.tm-spec-table tbody th { width: 190px; background: #eef4f7; color: #1d4358; font-weight: 600; }
.tm-spec-table tbody tr:nth-child(even) td { background: #f9fbfc; }
footer .col .ewm { display: block; max-width: 132px; height: auto; margin-top: 12px; background: #fff; padding: 6px; border-radius: 4px; }
footer .col .texts { margin-top: 8px; color: #b7c7d1; }
@media (max-width: 767px) {
  .tm-buy-page .banner .tm-banner-frame > img { aspect-ratio: 18 / 7; object-position: 58% top; }
  .tm-banner-copy { align-items: flex-end; background: linear-gradient(90deg, rgba(7,29,43,.77), rgba(7,29,43,.18)), linear-gradient(0deg, rgba(7,29,43,.74), transparent 70%); }
  .tm-banner-copy-inner { width: calc(100% - 36px); padding-bottom: 22px; }
  .tm-banner-copy h1 { margin-bottom: 7px; font-size: 24px; }
  .tm-banner-copy p { max-width: 92%; font-size: 13px; line-height: 1.5; }
  .tm-product-tabs { overflow: hidden; }
  .tm-product-tabs-inner { justify-content: flex-start; width: 100%; padding: 10px 14px; overflow-x: auto; scrollbar-width: none; }
  .tm-product-tabs-inner::-webkit-scrollbar { display: none; }
  .tm-product-tab { min-height: 42px; padding: 0 18px; font-size: 14px; }
  .tm-product-tab::after { left: 18px; right: 18px; }
  .tm-auto-page .section > ul, .tm-industrial-page .section > ul { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .tm-auto-page .section > ul > .ppc { display: none !important; }
  .tm-auto-page .section > ul > .wppc { display: contents !important; }
  .tm-auto-page .section ul li, .tm-industrial-page .section ul li { aspect-ratio: auto; }
  .tm-auto-page .section ul li .photo { aspect-ratio: 20 / 21; }
  .tm-industrial-page .section ul li .photo { aspect-ratio: 1 / 1; }
  .tm-product-specs { padding: 26px 0 38px; }
  .tm-product-specs-inner { width: calc(100% - 28px); }
  .tm-product-specs h2 { margin-bottom: 17px; font-size: 24px; }
  .tm-spec-table { min-width: 620px; font-size: 14px; }
  .tm-spec-table th, .tm-spec-table td { padding: 11px 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .tm-product-tab { transition: none; }
}

/* Shared editable floating contact tools. */
.tm-floating-tools { position: fixed; z-index: 1100; right: 18px; bottom: 24px; display: flex; flex-direction: column; gap: 7px; }
.tm-floating-tool { position: relative; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; color: #fff; background: #258cb8; border: 0; border-radius: 7px; box-shadow: 0 8px 24px rgba(12,47,66,.2); cursor: pointer; transition: transform .2s ease, background-color .2s ease, opacity .2s ease; }
.tm-floating-tool:hover, .tm-floating-tool:focus-visible { color: #fff; background: #156e96; transform: translateX(-2px); outline: none; }
.tm-floating-tool svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tm-floating-label { position: absolute; right: calc(100% + 9px); top: 50%; width: max-content; max-width: 260px; padding: 9px 13px; color: #fff; background: #156e96; border-radius: 5px; font-size: 14px; line-height: 1.25; opacity: 0; pointer-events: none; transform: translate(8px,-50%); transition: opacity .2s ease, transform .2s ease; }
.tm-floating-tool:hover .tm-floating-label, .tm-floating-tool:focus-visible .tm-floating-label { opacity: 1; transform: translate(0,-50%); }
.tm-floating-qr-panel { position: absolute; right: calc(100% + 10px); bottom: 0; display: none; width: 176px; padding: 12px; color: #173747; background: #fff; border: 1px solid #d9e5eb; border-radius: 8px; box-shadow: 0 16px 38px rgba(12,47,66,.2); cursor: default; }
.tm-floating-qr-panel img { display: block; width: 150px; height: 150px; margin: 0 auto 8px; object-fit: contain; }
.tm-floating-qr-panel strong { display: block; font-size: 14px; line-height: 1.5; text-align: center; }
.tm-floating-qr:hover .tm-floating-qr-panel, .tm-floating-qr:focus-visible .tm-floating-qr-panel, .tm-floating-qr.is-open .tm-floating-qr-panel { display: block; }
.tm-floating-top { visibility: hidden; opacity: 0; transform: translateY(8px); }
.tm-floating-top.is-visible { visibility: visible; opacity: 1; transform: translateY(0); }
.tm-floating-top.is-visible:hover { transform: translate(-2px,0); }

/* Editable MES and partner presentation blocks. */
.tm-mes-banner .tm-banner-frame > img, .tm-about-page .tm-banner-frame > img { width: 100%; aspect-ratio: 2200 / 713; object-fit: cover; }
.tm-mes-banner > .wppc { display: none; }
.tm-mes-content { color: #193544; background: #fff; }
.tm-mes-editorial { width: min(1200px, calc(100% - 48px)); margin: 0 auto; padding: 88px 0 70px; }
.tm-story-intro { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: 80px; align-items: start; margin-bottom: 68px; }
.tm-story-kicker, .tm-mes-section-head > span { display: block; margin-bottom: 14px; color: #2388b4; font-size: 13px; font-weight: 700; letter-spacing: .16em; }
.tm-story-intro h2, .tm-mes-section-head h2 { margin: 0; color: #15384b; font-size: clamp(31px,3.3vw,50px); line-height: 1.15; }
.tm-story-intro-copy { color: #536a76; font-size: 17px; line-height: 1.9; }
.tm-story-intro-copy p { margin: 0 0 16px; }
.tm-process-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid #dbe5ea; border-left: 1px solid #dbe5ea; }
.tm-process-card { min-height: 230px; padding: 34px; background: #fff; border-right: 1px solid #dbe5ea; border-bottom: 1px solid #dbe5ea; transition: color .25s ease, background-color .25s ease, transform .25s ease; }
.tm-process-card:hover { z-index: 1; color: #fff; background: #176f97; transform: translateY(-5px); }
.tm-process-card b { display: block; margin-bottom: 34px; color: #ef9e2f; font-size: 14px; letter-spacing: .1em; }
.tm-process-card h3 { margin: 0 0 12px; color: inherit; font-size: 22px; }
.tm-process-card p { margin: 0; color: #667b85; font-size: 15px; line-height: 1.75; }
.tm-process-card:hover p { color: rgba(255,255,255,.82); }
.tm-outcome-band { display: grid; grid-template-columns: 1fr 2fr; gap: 56px; margin-top: 62px; padding: 44px 50px; color: #fff; background: #163f55; }
.tm-outcome-band h3 { margin: 0; color: #fff; font-size: 27px; line-height: 1.35; }
.tm-outcome-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 38px; }
.tm-outcome-list p { position: relative; margin: 0; padding-left: 18px; color: rgba(255,255,255,.83); line-height: 1.7; }
.tm-outcome-list p::before { content: ''; position: absolute; left: 0; top: .7em; width: 6px; height: 6px; background: #f0a43a; transform: rotate(45deg); }
.tm-mes-capabilities { padding: 88px max(24px,calc((100% - 1200px)/2)) 104px; background: #f1f5f7; }
.tm-mes-section-head { display: grid; grid-template-columns: 1.05fr .95fr; gap: 22px 60px; align-items: end; margin-bottom: 42px; }
.tm-mes-section-head > span { grid-column: 1 / -1; margin-bottom: -4px; }
.tm-mes-section-head p { margin: 0 0 5px; color: #627680; font-size: 16px; line-height: 1.8; }
.tm-mes-capability-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.tm-mes-capability { position: relative; min-height: 250px; padding: 34px 30px 30px; overflow: hidden; background: #fff; border: 1px solid #e0e8ec; }
.tm-mes-capability::after { content: ''; position: absolute; right: -50px; bottom: -50px; width: 120px; height: 120px; border: 22px solid rgba(35,136,180,.08); border-radius: 50%; }
.tm-mes-capability-index { color: #ef9e2f; font-size: 13px; font-weight: 700; letter-spacing: .12em; }
.tm-mes-capability h3 { margin: 34px 0 14px; color: #1a4054; font-size: 23px; }
.tm-mes-capability-copy { color: #647780; font-size: 15px; line-height: 1.75; }
.tm-mes-capability-copy p { margin: 0; }
.tm-reveal { opacity: 0; transform: translateY(20px); transition: opacity .65s ease, transform .65s ease; }
.tm-reveal.is-visible { opacity: 1; transform: translateY(0); }
.tm-partner-editorial { width: min(1200px,calc(100% - 48px)); margin: 0 auto; padding: 64px 0; }
.tm-partner-editorial h2 { margin: 0 0 14px; color: #183d50; font-size: 34px; text-align: center; }
.tm-partner-editorial > p { max-width: 720px; margin: 0 auto 36px; color: #647882; font-size: 16px; line-height: 1.8; text-align: center; }
.tm-partner-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.tm-partner-grid span { display: grid; place-items: center; min-height: 94px; padding: 18px; color: #315367; background: #f5f8fa; border: 1px solid #e1e9ed; font-size: 18px; font-weight: 600; text-align: center; transition: transform .2s ease, border-color .2s ease, color .2s ease; }
.tm-partner-grid span:hover { color: #177ca8; border-color: #79b7d1; transform: translateY(-3px); }

@media (max-width: 767px) {
  .tm-mes-banner > .ppc { display: none; }
  .tm-mes-banner > .wppc { display: block; }
  .tm-floating-tools { right: 10px; bottom: 14px; gap: 5px; }
  .tm-floating-tool { width: 40px; height: 40px; }
  .tm-floating-label { display: none; }
  .tm-floating-qr-panel { width: 158px; padding: 9px; }
  .tm-floating-qr-panel img { width: 138px; height: 138px; }
  .tm-mes-banner .tm-banner-frame > img, .tm-about-page .tm-banner-frame > img { height: 280px; aspect-ratio: auto; }
  .tm-mes-banner .tm-banner-frame > img { object-position: 68% center; }
  .tm-about-page .tm-banner-frame > img { object-position: 73% center; }
  .tm-mes-editorial { width: calc(100% - 30px); padding: 50px 0 42px; }
  .tm-story-intro { grid-template-columns: 1fr; gap: 22px; margin-bottom: 38px; }
  .tm-story-intro h2, .tm-mes-section-head h2 { font-size: 30px; }
  .tm-story-intro-copy { font-size: 15px; line-height: 1.78; }
  .tm-process-grid, .tm-mes-capability-grid { grid-template-columns: 1fr; }
  .tm-process-card { min-height: 0; padding: 26px 24px; }
  .tm-process-card b { margin-bottom: 20px; }
  .tm-outcome-band { grid-template-columns: 1fr; gap: 25px; margin-top: 34px; padding: 30px 25px; }
  .tm-outcome-list { grid-template-columns: 1fr; gap: 10px; }
  .tm-mes-capabilities { padding: 55px 15px 65px; }
  .tm-mes-section-head { grid-template-columns: 1fr; gap: 17px; }
  .tm-mes-section-head > span { grid-column: auto; }
  .tm-mes-capability { min-height: 0; padding: 27px 24px; }
  .tm-mes-capability h3 { margin-top: 24px; }
  .tm-partner-editorial { width: calc(100% - 30px); padding: 45px 0; }
  .tm-partner-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tm-partner-grid span { min-height: 75px; font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  .tm-floating-tool, .tm-floating-label, .tm-process-card, .tm-partner-grid span, .tm-reveal { transition: none; }
  .tm-reveal { opacity: 1; transform: none; }
}

/* v8: global motion language and restored MES long-form presentation. */
.tm-scroll-progress { position: fixed; z-index: 1800; top: 0; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg,#efa039,#2388b4); transform: scaleX(0); transform-origin: left center; pointer-events: none; }
html.tm-motion-ready [data-tm-motion] { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.2,.7,.2,1) var(--tm-motion-delay,0ms), transform .7s cubic-bezier(.2,.7,.2,1) var(--tm-motion-delay,0ms); }
html.tm-motion-ready [data-tm-motion].tm-in-view { opacity: 1; transform: translateY(0); }
.tm-banner-frame { overflow: hidden; }
.tm-banner-frame > img { animation: tm-banner-settle 1.4s cubic-bezier(.2,.7,.2,1) both; transform-origin: center; }
.section ul li .photo img, .tm-product-specs img { transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.section ul li:hover .photo img, .tm-product-specs:hover img { transform: scale(1.025); }
.tm-floating-consult::after { content: ''; position: absolute; inset: -5px; border: 1px solid rgba(37,140,184,.45); border-radius: 10px; opacity: 0; animation: tm-support-pulse 2.8s ease-out infinite; pointer-events: none; }
@keyframes tm-banner-settle { from { opacity: .75; transform: scale(1.035); } to { opacity: 1; transform: scale(1); } }
@keyframes tm-support-pulse { 0%,35% { opacity: 0; transform: scale(.92); } 55% { opacity: .7; } 100% { opacity: 0; transform: scale(1.18); } }

.tm-mes-jump { position: sticky; z-index: 990; top: 0; background: rgba(255,255,255,.96); border-bottom: 1px solid #dce7ec; box-shadow: 0 7px 22px rgba(18,58,78,.06); backdrop-filter: blur(12px); }
.tm-mes-jump-inner { display: flex; justify-content: center; width: min(1200px,100%); margin: 0 auto; overflow-x: auto; scrollbar-width: none; }
.tm-mes-jump-inner::-webkit-scrollbar { display: none; }
.tm-mes-jump a { position: relative; flex: 0 0 auto; padding: 18px 23px; color: #365664; font-size: 14px; line-height: 1; white-space: nowrap; transition: color .25s ease, background-color .25s ease; }
.tm-mes-jump a::after { content: ''; position: absolute; left: 23px; right: 23px; bottom: 0; height: 3px; background: #2388b4; transform: scaleX(0); transition: transform .25s ease; }
.tm-mes-jump a:hover, .tm-mes-jump a:focus-visible, .tm-mes-jump a.is-active { color: #16759e; background: #f4f9fb; }
.tm-mes-jump a.is-active::after { transform: scaleX(1); }
.tm-mes-editorial { width: 100%; padding: 0; }
.tm-mes-legacy { background: #fff; }
.tm-mes-story { scroll-margin-top: 68px; padding: 88px 24px 78px; border-bottom: 1px solid #e4ecef; }
.tm-mes-story-soft { background: #f4f7f8; }
.tm-mes-story-copy { width: min(980px,100%); margin: 0 auto; text-align: center; }
.tm-mes-story-copy > span { display: block; margin-bottom: 13px; color: #2388b4; font-size: 12px; font-weight: 700; letter-spacing: .17em; }
.tm-mes-story-copy h2 { margin: 0; color: #193b4d; font-size: clamp(30px,3.2vw,48px); line-height: 1.18; }
.tm-mes-story-copy p { max-width: 880px; margin: 18px auto 0; color: #5d717b; font-size: 17px; line-height: 1.85; }
.tm-mes-story-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-top: 24px; }
.tm-mes-story-tags b { padding: 8px 13px; color: #26617e; background: #edf6fa; border: 1px solid #d5e8f0; border-radius: 999px; font-size: 13px; font-weight: 600; }
.tm-mes-story-visual { position: relative; width: min(1440px,100%); margin: 42px auto 0; overflow: hidden; background: #fff; border: 1px solid #e3eaed; box-shadow: 0 26px 70px rgba(26,64,84,.1); }
.tm-mes-story-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg,transparent 25%,rgba(255,255,255,.46) 48%,transparent 70%); transform: translateX(-125%); transition: transform .9s ease; pointer-events: none; }
.tm-mes-story-visual:hover::after { transform: translateX(125%); }
.tm-mes-story-visual img { display: block; width: 100%; height: auto; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.tm-mes-story-visual:hover img { transform: scale(1.012); }
.tm-mes-crop-products img { margin-top: -9%; }
.tm-mes-crop-deployment img { margin-top: -8%; }
.tm-mes-crop-production img { margin-top: -10%; }
.tm-mes-crop-compact img { margin-top: -10%; }
.tm-mes-tech { scroll-margin-top: 68px; padding: 96px max(24px,calc((100% - 1200px)/2)) 108px; color: #fff; background: #153c51; }
.tm-mes-tech .tm-mes-section-head { color: #fff; }
.tm-mes-tech .tm-mes-section-head > span { color: #f0a43a; }
.tm-mes-tech .tm-mes-section-head h2 { color: #fff; }
.tm-mes-tech .tm-mes-section-head p { color: rgba(255,255,255,.72); }
.tm-mes-tech-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.18); }
.tm-mes-tech-card { min-height: 310px; padding: 36px 32px; background: #153c51; transition: background-color .3s ease, transform .3s ease; }
.tm-mes-tech-card:hover { z-index: 1; background: #1b536e; transform: translateY(-5px); }
.tm-mes-tech-index { display: block; margin-bottom: 42px; color: #f0a43a; font-size: 13px; font-weight: 700; letter-spacing: .15em; }
.tm-mes-tech-card h3 { margin: 0 0 18px; color: #fff; font-size: 22px; }
.tm-mes-tech-card div, .tm-mes-tech-card p { color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.78; }

@media (max-width: 767px) {
  .tm-scroll-progress { height: 2px; }
  .tm-mes-jump-inner { justify-content: flex-start; }
  .tm-mes-jump a { padding: 15px 17px; font-size: 13px; }
  .tm-mes-jump a::after { left: 17px; right: 17px; }
  .tm-mes-story { padding: 56px 15px 48px; }
  .tm-mes-story-copy h2 { font-size: 30px; }
  .tm-mes-story-copy p { margin-top: 14px; font-size: 15px; line-height: 1.75; }
  .tm-mes-story-tags { margin-top: 19px; }
  .tm-mes-story-visual { margin-top: 28px; border-radius: 0; box-shadow: 0 16px 38px rgba(26,64,84,.1); }
  .tm-mes-crop-products img, .tm-mes-crop-deployment img, .tm-mes-crop-production img { margin-top: -11%; }
  .tm-mes-crop-compact img { margin-top: -9%; }
  .tm-mes-tech { padding: 62px 15px 72px; }
  .tm-mes-tech-grid { grid-template-columns: 1fr; }
  .tm-mes-tech-card { min-height: 0; padding: 28px 24px; }
  .tm-mes-tech-index { margin-bottom: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .tm-banner-frame > img, .tm-floating-consult::after { animation: none; }
  html.tm-motion-ready [data-tm-motion] { opacity: 1; transform: none; transition: none; }
  .tm-mes-story-visual::after { display: none; }
  .tm-mes-story-visual img, .tm-mes-tech-card, .section ul li .photo img { transition: none; }
}

/* Website live support backed by the dedicated Feishu service app. */
.tm-support-panel[hidden] { display: none !important; }
.tm-support-panel { position: fixed; z-index: 1110; right: 76px; bottom: 24px; display: flex; flex-direction: column; width: min(390px, calc(100vw - 110px)); max-height: min(650px, calc(100vh - 48px)); overflow: hidden; color: #173747; background: #fff; border: 1px solid rgba(28,91,121,.18); border-radius: 15px; box-shadow: 0 24px 65px rgba(10,43,60,.28); animation: tm-support-enter .22s ease-out both; }
.tm-support-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 17px 18px; color: #fff; background: linear-gradient(135deg,#176f99,#259cc4); }
.tm-support-head > div { display: grid; gap: 2px; }
.tm-support-head strong { font-size: 17px; line-height: 1.35; }
.tm-support-status { display: inline-flex; align-items: center; gap: 6px; color: rgba(255,255,255,.86); font-size: 12px; }
.tm-support-status::before { content: ''; width: 7px; height: 7px; background: #dbe9ef; border-radius: 50%; box-shadow: 0 0 0 3px rgba(255,255,255,.12); }
.tm-support-status[data-status="active"]::before { background: #85f0ad; }
.tm-support-status[data-status="closed"]::before { background: #ffd59a; }
.tm-support-close { width: 34px; height: 34px; padding: 0; color: #fff; background: rgba(255,255,255,.12); border: 0; border-radius: 50%; font-size: 25px; line-height: 1; cursor: pointer; }
.tm-support-close:hover,.tm-support-close:focus-visible { background: rgba(255,255,255,.24); outline: none; }
.tm-support-session { display: flex; justify-content: space-between; gap: 12px; padding: 8px 18px; color: #5c7480; background: #f2f8fa; border-bottom: 1px solid #e1edf1; font-size: 12px; }
.tm-support-session strong { color: #176f99; letter-spacing: .04em; }
.tm-support-messages { flex: 1 1 auto; min-height: 230px; max-height: 380px; overflow: auto; padding: 17px; background: linear-gradient(180deg,#f8fbfc,#f2f7f9); scroll-behavior: smooth; }
.tm-support-message { display: flex; flex-direction: column; align-items: flex-start; margin: 0 0 13px; }
.tm-support-message-meta { margin: 0 4px 4px; color: #718792; font-size: 11px; }
.tm-support-message p { max-width: 84%; margin: 0; padding: 10px 12px; color: #244753; background: #fff; border: 1px solid #dfecef; border-radius: 5px 14px 14px 14px; font-size: 14px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; box-shadow: 0 4px 13px rgba(28,91,121,.06); }
.tm-support-image-link { display: block; width: min(76%, 240px); padding: 5px; background: #fff; border: 1px solid #dfecef; border-radius: 6px 14px 14px 14px; box-shadow: 0 4px 13px rgba(28,91,121,.08); }
.tm-support-image { display: block; width: 100%; max-height: 230px; object-fit: contain; border-radius: 8px; }
.tm-support-message.is-visitor { align-items: flex-end; }
.tm-support-message.is-visitor p { color: #fff; background: #238db8; border-color: #238db8; border-radius: 14px 5px 14px 14px; }
.tm-support-message.is-visitor .tm-support-image-link { border-color: rgba(35,141,184,.35); border-radius: 14px 5px 14px 14px; }
.tm-support-message.is-system { align-items: center; }
.tm-support-message.is-system .tm-support-message-meta { display: none; }
.tm-support-message.is-system p { max-width: 94%; padding: 7px 11px; color: #607985; background: rgba(224,237,242,.72); border: 0; border-radius: 999px; font-size: 12px; text-align: center; box-shadow: none; }
.tm-support-feedback { min-height: 20px; padding: 0 17px; color: #c04b43; background: #fff; font-size: 12px; line-height: 20px; }
.tm-support-form { padding: 11px 14px 13px; background: #fff; border-top: 1px solid #e3edf1; }
.tm-support-form .tm-support-subject { display: block; width: 100%; margin-bottom: 8px; padding: 9px 11px; color: #173747; background: #f8fbfc; border: 1px solid #d4e4ea; border-radius: 9px; font: inherit; font-size: 14px; box-sizing: border-box; }
.tm-support-form .tm-support-subject[hidden] { display: none; }
.tm-support-form .tm-support-subject:focus { background: #fff; border-color: #258cb8; outline: 3px solid rgba(37,140,184,.12); }
.tm-support-form textarea { display: block; width: 100%; min-height: 72px; max-height: 150px; padding: 10px 11px; color: #173747; background: #f8fbfc; border: 1px solid #d4e4ea; border-radius: 9px; font: inherit; font-size: 14px; line-height: 1.5; resize: vertical; box-sizing: border-box; }
.tm-support-form textarea:focus { background: #fff; border-color: #258cb8; outline: 3px solid rgba(37,140,184,.12); }
.tm-support-form > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 9px; }
.tm-support-form .tm-support-compose-actions > span { display: flex; align-items: center; gap: 7px; }
.tm-support-form small { color: #7a909a; font-size: 11px; }
.tm-support-form button { min-width: 76px; padding: 8px 16px; color: #fff; background: #238db8; border: 0; border-radius: 8px; font-weight: 700; cursor: pointer; }
.tm-support-form .tm-support-image-button { min-width: 62px; color: #176f99; background: #edf7fb; border: 1px solid #cde6ef; }
.tm-support-form .tm-support-image-button:hover,.tm-support-form .tm-support-image-button:focus-visible { color: #fff; background: #258cb8; }
.tm-support-form button:hover,.tm-support-form button:focus-visible { background: #176f99; outline: none; }
.tm-support-form button:disabled { opacity: .58; cursor: wait; }
@keyframes tm-support-enter { from { opacity: 0; transform: translate(12px,10px) scale(.98); } to { opacity: 1; transform: translate(0,0) scale(1); } }
@media (max-width: 700px) {
  .tm-support-panel { right: 10px; bottom: 62px; left: 10px; width: auto; max-height: calc(100dvh - 78px); }
  .tm-support-messages { min-height: 210px; max-height: none; }
  .tm-support-form small { max-width: 60%; }
  body.tm-support-open .tm-floating-tools { opacity: .28; pointer-events: none; }
}
@media (prefers-reduced-motion: reduce) {
  .tm-support-panel { animation: none; }
  .tm-support-messages { scroll-behavior: auto; }
}

