/* Homepage-only visual trial. Keep the technical tour and source photography intact. */
.home-v3{--home-paper:#faf9f6;--home-stone:#efede8;--home-ink:#242625;--home-muted:#626560;background:var(--home-paper)}
.home-v3 .site-header{background:#f4f3ef;border-bottom-color:transparent;box-shadow:none;backdrop-filter:none;transition:background-color .2s,border-color .2s,box-shadow .2s}
.home-v3 .site-header.is-scrolled{background:rgba(253,252,249,.98);border-bottom-color:#25282418;box-shadow:0 8px 24px #25282408}
.home-v3 .site-header .brand{align-self:center}
.home-v3 .site-header .brand-mark{width:90px;height:52px}
@media(max-width:800px){.home-v3 .site-header .brand-mark{width:83px;height:48px}}
.home-v3 .b2-jump{background:rgba(253,252,249,.96);border-bottom-color:#25282420}
.home-v3 .b2-jump a{color:#565c56}
.home-v3 .b2-hero h1 em{color:#e6e0d3}
.home-v3 .b2-hero .b2-kicker{color:#ddd7ca}
.home-v3 .b2-hero .b2-button--light{background:#f7f5f0;color:#252824}
.home-v3 .b2-systems{background:var(--home-paper);color:var(--home-ink)}
.home-v3 .b2-systems .b2-heading>div:last-child{color:var(--home-muted)}
.home-v3 .b2-systems .b2-heading h2{color:var(--home-ink)}
.home-v3 .b2-systems .b2-heading>div a{color:#0068aa;text-decoration:underline;text-underline-offset:4px}
.home-v3 .b2-product{background:#f0efeb;color:var(--home-ink);border:1px solid #dedcd6}
.home-v3 .b2-product--film{background:#f0efeb;border-color:#dedcd6}
.home-v3 .b2-product__body p{color:#5c625c}
.home-v3 .b2-product__top{color:#535d55}
.home-v3 .b2-product__top i{border-color:#90998d}
/* Product entry cards: a close equipment view, shared neutral surfaces, compact copy. */
.home-v3 .b2-product figure{isolation:isolate}
.home-v3 .b2-product--machine figure{mask-image:none}
.home-v3 .b2-product--machine img{object-fit:cover;object-position:50% 50%;transform:scale(1)}
.home-v3 .b2-product--machine:hover img{transform:scale(1.025)}
.home-v3 .b2-product--film img{object-fit:cover;object-position:50% 50%;filter:saturate(.85);mix-blend-mode:normal;mask-image:none}
.home-v3 .b2-product .b2-product__body h3{min-height:0;margin-bottom:20px}
.home-v3 .b2-product__body{padding-top:18px}
.home-v3 .b2-product__body p{flex:initial;min-height:0;margin:0 0 24px}
.home-v3 .b2-product__body p:last-child{margin: auto 0 4px;padding-top:4px}
.home-v3 .b2-capabilities{background:#292d29;color:#f7f5f0}
.home-v3 .b2-capabilities .b2-kicker{color:#d5c9b2}
.home-v3 .b2-capabilities .b2-heading>div{color:#d2d5cc}
.home-v3 .b2-capabilities .b2-heading h2{color:#f7f5f0}
.home-v3 .b2-capabilities .assembly-photo figcaption{color:#c9cec3;border-color:#ffffff26}
.home-v3 .b2-capabilities .assembly-photo figcaption span:first-child{color:#d5c9b2}
.home-v3 .b2-engineering{background:#faf9f6;color:var(--home-ink)}
.home-v3 .b2-engineering p{color:#5c6259}
.home-v3 .b2-engineering figure img{object-position:65% 50%}
.home-v3 .b2-proof{background:#fdfcfb;color:var(--home-ink)}
.home-v3 .b2-insights a{border-top-color:#b9b6ab}
.home-v3 .b2-insights span{color:#666c60}
.home-v3 .b2-insights h3{color:#252824}
.home-v3 .b2-contact{background:#262a29;min-height:0}
.home-v3 .b2-contact__inner{min-height:480px;padding-top:80px;padding-bottom:80px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(48px,8vw,160px);align-items:center}
.home-v3 .b2-contact__inner>div{max-width:760px}
.home-v3 .b2-contact h2{max-width:11em;font-size:clamp(3.4rem,4.3vw,5.4rem);line-height:1.02;margin-bottom:24px;text-wrap:balance}
.home-v3 .b2-contact__inner p:not(.b2-kicker){max-width:620px;color:#c5cac6;margin-bottom:0;line-height:1.7}
.home-v3 .b2-contact__inner>.b2-button{margin:0;min-height:64px;padding:0 30px;white-space:nowrap}
@media(max-width:800px){
 .home-v3 .b2-contact__inner{min-height:0;padding-top:64px;padding-bottom:64px;grid-template-columns:1fr;gap:32px}
 .home-v3 .b2-contact h2{font-size:clamp(3rem,8vw,4rem)}
 .home-v3 .b2-contact__inner>.b2-button{justify-self:start;min-height:56px}
}
.home-v3 .b2-contact .b2-kicker{color:#d5c9b2}
.home-v3 .b2-contact .b2-button--light{background:#f7f5f0;color:#252824}
.home-v3 .b2-footer{background:var(--home-stone);color:#5c625a;border-top-color:#d1cdbf}
.home-v3 .b2-footer .footer-title{color:#343a32}
.home-v3 .b2-footer .footer-bottom{border-top-color:#ccc8bb}
.home-v3 .b2-footer a:hover{color:#0068aa}
/* Grow the desktop composition beyond 1920 CSS px, not in response to zoom events.
   Leave the established laptop/mobile layout and the technical viewer untouched. */
@media(min-width:1921px){
 .home-v3{--home-wide:clamp(1370px,71.354vw,2200px);font-size:clamp(16px,.833vw,22px)}
 .home-v3 .container:not(.tour-layout){width:min(calc(100% - 64px),var(--home-wide))}
 .home-v3 .b2-hero{max-height:1600px;min-height:clamp(780px,40.625vw,1200px)}
 .home-v3 .b2-hero__copy{max-width:clamp(520px,27.083vw,800px)}
 .home-v3 .b2-hero h1{font-size:clamp(5.6rem,4.667vw,8rem)}
 .home-v3 .b2-hero__copy>p:not(.b2-kicker){max-width:35em;font-size:clamp(1rem,.833vw,1.375rem)}
 .home-v3 .b2-hero__inner{padding-bottom:clamp(70px,3.646vw,105px)}
 .home-v3 .b2-button{font-size:clamp(.95rem,.792vw,1.25rem);min-height:clamp(56px,2.917vw,78px);padding-inline:clamp(24px,1.25vw,36px)}
 .home-v3 .b2-actions{gap:clamp(10px,.521vw,16px);margin-top:clamp(38px,1.979vw,56px)}
 .home-v3 .b2-section{padding-block:clamp(100px,5.208vw,145px)}
 .home-v3 .b2-heading h2{font-size:clamp(5rem,4.167vw,7rem)}
 .home-v3 .b2-heading>div:last-child{max-width:36em}
 .home-v3 .b2-kicker{font-size:clamp(.75rem,.625vw,1rem)}
 .home-v3 .contract-group-title{font-size:clamp(2.8rem,2.333vw,3.8rem)}
 .home-v3 .b2-product{grid-template-rows:42px clamp(350px,18.229vw,525px) 1fr;padding:clamp(32px,1.667vw,48px)}
 .home-v3 .b2-product .b2-product__body h3{font-size:clamp(2.75rem,2.292vw,3.75rem)}
 .home-v3 .b2-product__body p{font-size:clamp(14px,.729vw,20px);max-width:48em}
 .home-v3 .b2-engineering p{font-size:clamp(.94rem,.783vw,1.3rem);max-width:36em}
 .home-v3 .b2-engineering h3{max-width:14em;font-size:clamp(4.1rem,3.417vw,5.6rem)}
 .home-v3 .b2-insights h3{font-size:clamp(2.35rem,1.958vw,3.2rem)}
 .home-v3 .b2-contact h2{max-width:12em;font-size:clamp(5.5rem,4.583vw,7rem)}
}
/* A narrow or zoomed-in viewport must be able to grow with the hero copy. */
@media(max-width:360px){
 .home-v3 .b2-hero{height:auto;max-height:none}
 .home-v3 .b2-hero__inner{height:auto;min-height:682px}
}
/* Cover A: real Blender render with alpha and a soft contact shadow. */
@media(min-width:801px){
 .home-v3 .tour-layout{width:100%;max-width:none;padding-left:8vw;padding-right:9vw;gap:3vw;grid-template-columns:minmax(0,1.8fr) minmax(330px,1fr)}
 .home-v3 .tour-stage{margin-left:-2vw;width:calc(100% + 5vw)}
 .home-v3 .tour-toolbar,.home-v3 .tour-controls,.home-v3 .tour-footnote{margin-left:0}
 .home-v3 .tour-step h3{font-size:clamp(2.65rem,3.15vw,4rem);line-height:1.04;letter-spacing:-.025em;margin:28px 0 24px}
 .home-v3 .tour-step p{font-size:clamp(18px,1.08vw,24px);line-height:1.7;max-width:28em}
 .home-v3 .station-label{font-size:14px}
}
.home-v3 .motion-status{font-size:clamp(14px,.9vw,19px);line-height:1.6;min-height:24px;margin:12px 0 6px;max-width:100%;overflow-wrap:anywhere}
.home-v3 .tour-controls{font-size:clamp(14px,.85vw,18px);line-height:1.5;gap:8px 24px;flex-wrap:wrap;padding-top:0;margin:0;align-items:center}
.home-v3 .tour-controls>div{gap:20px;align-items:center}
.home-v3 .tour-controls button{font-size:clamp(15px,.9vw,19px);min-height:44px;padding:10px 0}
.home-v3 .tour-footnote{font-size:clamp(13px,.8vw,17px);line-height:1.6;color:#52636d;margin:6px 0 0;max-width:48em;text-wrap:pretty}
.home-v3 .tour-step .demo-note{font-size:clamp(13px,.8vw,17px);line-height:1.6;color:#52636d}
.home-v3 .tour-step .demo-key{font-size:clamp(14px,.85vw,18px);line-height:1.5;flex-wrap:wrap}
.home-v3 .tour-step .b2-text-link{font-size:clamp(16px,.95vw,20px);line-height:1.5}
.home-v3 .tour-step{text-align:left;align-items:flex-start}
.home-v3 .tour-step h3{text-wrap:pretty;width:100%;margin:24px 0 22px}
.home-v3 .tour-step p{width:100%;max-width:100%;margin:0;text-wrap:pretty}
.home-v3 .tour-step .demo-note{max-width:100%;margin-top:18px}
.home-v3 .tour-step .demo-key{margin-top:18px;gap:10px 20px}
.home-v3 .tour-step .b2-text-link{margin-top:24px}
@media(max-width:800px){
 .home-v3 .tour-step p{font-size:16px;line-height:1.7}
 .home-v3 .station-label{font-size:12px}
 .home-v3 .tour-controls{align-items:flex-start;gap:4px 12px}
 .home-v3 .tour-controls>div{justify-content:flex-start;gap:16px}
 .home-v3 .motion-status{margin-left:0;font-size:14px}
}
.home-v3 .single-step-tour .tour-step.is-active{animation:tour-copy-enter .42s ease-out both}
@keyframes tour-copy-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.home-v3 .single-step-tour .tour-step.is-active{animation:none}}
.home-v3 .tour-load-panel{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#52636d;text-align:center;padding:24px}
.home-v3 .tour-load-panel[hidden]{display:none}
.home-v3 .tour-load-panel p{font-size:14px;margin:0}
.home-v3 .tour-load-panel small{font-size:11px;color:#687980}
.home-v3 .tour-load-line{width:96px;height:2px;background:#cfdce3;overflow:hidden}
.home-v3 .is-loading .tour-load-line::after{content:'';display:block;width:32px;height:2px;background:#0071bc;animation:tour-loading 2.4s ease-in-out infinite}
.home-v3 [data-tour]:not(.is-3d) .tour-hotspots{visibility:hidden;pointer-events:none}
.home-v3 [data-tour]:not(.is-3d) .tour-hotspots button{pointer-events:none}
.home-v3 [data-tour]:not(.is-3d) [data-motion-status]{visibility:hidden}
.home-v3 .tour-canvas{transition:opacity .55s ease}
@keyframes tour-loading{0%,100%{transform:translateX(0);opacity:.45}50%{transform:translateX(64px);opacity:1}}
@media(prefers-reduced-motion:reduce){.home-v3 .is-loading .tour-load-line::after{animation:none;width:100%}.home-v3 .tour-canvas{transition:none}}
.home-v3 .cover-a{background:linear-gradient(to bottom,#f4f3ef 110px,transparent 320px),radial-gradient(ellipse at 76% 48%,#fff 0%,#f4f3ef 56%,#eeede9 100%);color:#242625}
.home-v3 .cover-a .b2-hero__media{left:35%;right:0;display:flex;align-items:center}
.home-v3 .cover-a .b2-hero__media::after{display:none}
.home-v3 .cover-a .b2-hero__media picture{height:auto;width:100%}
/* The shadow catcher reaches the image's left boundary; feather only the empty
   margin. The machine silhouette starts beyond 11% and stays fully opaque. */
.home-v3 .cover-a .b2-hero__media img{height:auto;object-fit:contain;opacity:1;-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.1) 2%,rgba(0,0,0,.5) 5%,rgba(0,0,0,.9) 8%,#000 10%);mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.1) 2%,rgba(0,0,0,.5) 5%,rgba(0,0,0,.9) 8%,#000 10%)}
.home-v3 .cover-a .b2-hero__copy{width:38%;max-width:760px}
.home-v3 .cover-a h1{font-size:clamp(3.5rem,4.4vw,7rem)}
.home-v3 .cover-a h1 em{color:#0071bc}
.home-v3 .cover-a .b2-kicker{color:#526069}
.home-v3 .cover-a .b2-hero__copy>p:not(.b2-kicker){color:#566168;max-width:32em}
.home-v3 .cover-a .b2-button--light{background:#fff;border:1px solid #bfc6c8;color:#242625}
.home-v3 .cover-a .b2-button--light:hover{background:#242625;color:#fff}
.home-v3 .cover-a .b2-hero__index{color:#526069}
.home-v3 .cover-a .b2-hero__index span{color:#0071bc}
@media(max-width:800px){
 .home-v3 .cover-a{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none}
 .home-v3 .cover-a .b2-hero__inner{order:1;height:auto;padding-top:52px;padding-bottom:0;min-height:0}
 .home-v3 .cover-a .b2-hero__copy{width:100%;max-width:560px}
 .home-v3 .cover-a h1{font-size:clamp(3rem,8vw,4.5rem)}
 .home-v3 .cover-a .b2-hero__media{order:2;position:relative;inset:auto;margin:0;width:100%}
}
