/* FH001 v1.4.2 — editable workflow images, opposing brand rows and aligned galleries. */
.fh-partners{background:#fff;border-bottom:1px solid #e8ecec;overflow:hidden}



.fh-partner-wall{max-width:1440px;margin:auto;display:grid;gap:12px;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.fh-partner-source{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0}.fh-partner-source>.fh-partner-mark{width:100%}
.fh-partner-mark{display:flex;align-items:center;justify-content:center;flex:none;width:210px;height:88px;margin:0;padding:10px 16px;box-sizing:border-box}
.fh-partner-mark a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:4px}
.fh-partner-mark img{display:block;width:100%;height:66px;object-fit:contain;transition:transform .25s ease;filter:none!important}
.fh-partner-mark a:hover img{transform:translateY(-3px)}
.fh-partner-mark a:focus-visible{outline:2px solid var(--action,#b9441f);outline-offset:4px}
.fh-partner-row{overflow:hidden;direction:ltr}
.fh-partner-track{display:flex;width:max-content;animation:fh-brands-left var(--fh-brand-duration,38s) linear infinite}
.fh-partner-cycle{display:flex;flex:none;align-items:center;margin:0;padding:0;list-style:none;gap:28px;padding-right:28px}
.fh-partner-wall:hover .fh-partner-track,.fh-partner-wall:focus-within .fh-partner-track,.fh-partners[data-user-paused=true] .fh-partner-track{animation-play-state:paused}
@keyframes fh-brands-left{to{transform:translateX(-50%)}}
.fh-trust-footer{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:18px}
.fh-trust-note{font-size:12px;line-height:1.65;color:#667681;margin:0}
.fh-trust-toggle,.fh-review-controls button{border:1px solid #d7dfe1;background:#fff;color:#203541;min-height:40px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none;transition:background .2s,border-color .2s,color .2s}
.fh-trust-toggle{width:40px;font-size:13px}
.fh-trust-toggle:hover,.fh-review-controls button:hover{color:#fff;background:var(--action,#b9441f);border-color:var(--action,#b9441f)}
.fh-trust-toggle:focus-visible,.fh-review-controls button:focus-visible,.fh-review-viewport:focus-visible{outline:3px solid var(--action,#b9441f);outline-offset:4px}
.fh-partners [hidden],.fh-reviews [hidden]{display:none!important}
.fh-reviews{background:#f5f7f7;border-block:1px solid #e8ecec}



.fh-review-controls{display:flex;align-items:center;gap:9px}
.fh-review-controls button{width:42px;font-size:23px;line-height:1}
.fh-review-controls button[data-review-pause]{font-size:13px}
.fh-review-controls button:disabled{opacity:.4;cursor:default;background:#fff;color:#667681;border-color:#d7dfe1}
.fh-review-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:2px 1px 16px;scroll-behavior:smooth}
.fh-review-viewport::-webkit-scrollbar{display:none}
.fh-review-track{display:flex;align-items:stretch;gap:22px;position:relative}
.fh-review-viewport.fh-review-loop{scroll-snap-type:none;scroll-behavior:auto}
.fh-review-card{flex:0 0 calc((100% - 44px)/3);box-sizing:border-box;min-width:0;margin:0;padding:28px;background:#fff;border:1px solid #e1e6e7;border-radius:8px;scroll-snap-align:start;display:flex;flex-direction:column;box-shadow:0 4px 14px #17252e03}
.fh-review-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.fh-review-stars{display:inline-block;position:relative;color:#e6e8e9;letter-spacing:3px;font-size:21px;line-height:1.3;white-space:nowrap}
.fh-review-stars>span{position:absolute;inset:0 auto 0 0;overflow:hidden;color:#eaa22a;width:var(--rating-width,100%)}
.fh-review-sample{font-size:11px;line-height:1.5;color:#72818a;white-space:nowrap}
.fh-review-card blockquote{padding:0;margin:0 0 24px;border:0;color:#344b57;font-size:16px;line-height:1.9;white-space:pre-line;overflow-wrap:anywhere;flex:1}
.fh-review-person{display:flex;align-items:center;gap:12px;border-top:1px solid #edf0f0;padding-top:19px}
.fh-review-avatar{width:42px;height:42px;flex:none;overflow:hidden;border-radius:50%;background:#f2f4f3;display:flex;align-items:center;justify-content:center;color:#6b7f87;font-size:24px}
.fh-review-avatar img{width:100%;height:100%;object-fit:cover}
.fh-review-avatar svg{width:25px;height:25px;fill:currentColor}
.fh-review-person strong{font-size:15px;line-height:1.5;display:block;font-weight:600;color:#203541}
.fh-review-person p{font-size:12px;line-height:1.7;margin:4px 0 0;color:#637680}
.fh-review-bottom{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:5px}
.fh-review-counter{font-size:12px;line-height:1.7;color:#637680;font-variant-numeric:tabular-nums;flex:none}
.fh-review-detail{max-width:900px;margin:auto;padding:48px 0}.fh-review-detail .fh-review-card{width:100%;padding:32px}
.fh-review-detail h1{font-size:32px;margin:24px 0 8px}.fh-review-detail .fh-review-card blockquote{font-size:18px}
.fh-partners[data-static=true] .fh-partner-wall{mask-image:none}.fh-partners[data-static=true] .fh-partner-row{overflow:visible}.fh-partners[data-static=true] .fh-partner-track{animation:none;transform:none;width:100%}.fh-partners[data-static=true] .fh-partner-cycle:first-child{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(155px,100%),1fr));width:100%;padding:0;gap:12px}.fh-partners[data-static=true] .fh-partner-mark{width:100%}.fh-partners[data-static=true] [data-repeat],.fh-partners[data-static=true] .fh-partner-mirror{display:none}.fh-partners[data-static=true] .fh-trust-toggle{display:none}
@media(min-width:1800px){.fh-partner-mark{width:220px}.fh-partner-cycle{gap:40px;padding-right:40px}}
@media(max-width:1000px){.fh-review-card{flex-basis:calc((100% - 22px)/2)}.fh-partner-mark{width:185px}.fh-partner-cycle{gap:20px;padding-right:20px}}
@media(max-width:650px){.fh-partner-wall{gap:4px}.fh-partner-mark{width:164px;height:74px;padding:8px 10px}.fh-partner-mark img{height:56px}.fh-partner-cycle{gap:16px;padding-right:16px}.fh-trust-footer{gap:12px;padding:0 6px}.fh-trust-note{font-size:11px}.fh-review-card{flex-basis:100%;padding:23px}.fh-review-card blockquote{font-size:16px;line-height:1.85}.fh-review-track{gap:16px}.fh-review-bottom{align-items:flex-start}.fh-review-counter{padding-top:2px}.fh-review-detail{padding:28px 0}.fh-review-detail .fh-review-card{padding:24px}.fh-partner-source{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-partner-source .fh-partner-mark{width:100%}}
@media(prefers-reduced-motion:reduce){.fh-partner-track{animation:none!important;transform:none!important}.fh-partner-wall{mask-image:none}.fh-partner-row{overflow-x:auto}.fh-partner-mirror,.fh-partners [data-repeat]{display:none!important}.fh-trust-toggle{display:none}.fh-review-viewport{scroll-behavior:auto}.fh-partner-mark img{transition:none}}
html.motion-reduced .fh-partner-track{animation:none!important;transform:none!important}html.motion-reduced .fh-partner-wall{mask-image:none}html.motion-reduced .fh-partner-row{overflow-x:auto}html.motion-reduced .fh-partner-mirror,html.motion-reduced .fh-partners [data-repeat]{display:none}html.motion-reduced .fh-trust-toggle{display:none}html.motion-reduced .fh-review-viewport{scroll-behavior:auto}
/* FH001 now uses a conventional grid. All cards in a row share image and outer edges. */
.medical-masonry,.medical-masonry.medical-masonry-ready{align-items:stretch!important;grid-auto-rows:auto!important;row-gap:24px!important}
.medical-masonry>a{align-self:stretch!important;grid-row:auto!important;margin-top:0!important;translate:none!important;display:flex!important;flex-direction:column}
.medical-masonry .machine-image{height:auto;min-height:0;aspect-ratio:3/2;flex:none;position:relative}
.medical-masonry .machine-image>img:first-child,.medical-masonry .machine-image>.machine-alt{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.medical-masonry .machine-image>.machine-alt:not(:last-of-type){display:none!important}
.medical-masonry .machine-copy{padding:25px 27px 27px!important;display:flex;flex-direction:column;flex:1}
.medical-masonry .machine-copy h3{min-height:1.4em}
.medical-masonry .machine-copy>p{flex:1}
.medical-masonry .machine-spec{margin-top:20px}
.medical-masonry .case-card>img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;flex:none}
.medical-masonry .case-card>div{display:flex;flex-direction:column;flex:1;padding:23px 26px 27px}
.medical-masonry .case-card h3{min-height:1.4em}
@media(max-width:700px){.medical-masonry .machine-copy{padding:20px!important}.medical-masonry .case-card>div{padding:20px}}
@media(max-width:600px){.medical-masonry .machine-copy h3,.medical-masonry .case-card h3{min-height:0}.medical-masonry,.medical-masonry.medical-masonry-ready{row-gap:20px!important}}
/* Image-backed process steps use the same edges and rhythm as the product and case grids. */
.workflow.fh-workflow-visual{gap:22px;align-items:stretch}
.fh-workflow-card{margin:0;min-width:0;overflow:hidden;background:#fff;border:1px solid #e1e6e7;border-radius:12px;display:flex;flex-direction:column}
.fh-workflow-media{position:relative;aspect-ratio:3/2;overflow:hidden;flex:none;background:#e9eef0}
.fh-workflow-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.fh-workflow-card:hover img{transform:scale(1.025)}
.workflow .fh-step-number{position:absolute;left:13px;bottom:12px;display:grid;place-items:center;width:34px;height:34px;font-size:12px;font-weight:600;background:#fff;color:var(--action,var(--orange,#b9441f));border-radius:6px;box-shadow:0 2px 8px #142c3512}
.fh-workflow-copy{padding:22px 20px 24px;display:flex;flex:1;flex-direction:column}
.workflow .fh-workflow-copy h3{margin:0 0 10px;font-size:19px;line-height:1.45}
.workflow .fh-workflow-copy p{font-size:14px;line-height:1.8;color:var(--muted,#52636c);margin:0;max-width:none}
@media(max-width:1000px){.workflow.fh-workflow-visual{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px){.workflow.fh-workflow-visual{grid-template-columns:minmax(0,1fr);gap:20px}.fh-workflow-copy{padding:21px 22px 23px}.workflow .fh-workflow-copy h3{font-size:21px}.workflow .fh-workflow-copy p{font-size:15px}body>footer{padding-bottom:105px}}
@media(prefers-reduced-motion:reduce){.fh-workflow-media img{transition:none;transform:none!important}}
html.motion-reduced .fh-workflow-media img{transition:none;transform:none!important}
