/* Full-width showroom requested by the user, with safe mobile edge gutters. */
body:not(.product-page){--content-width:1800px;--section-gap:clamp(52px,4.6vw,84px)}
body:not(.product-page) .wrap,.product-page .wrap{width:calc(100% - 64px);max-width:none}
header{max-width:none;width:calc(100% - 64px)}
.hero .hero-grid{max-width:none;min-height:min(850px,calc(100svh - 96px));padding:42px 48px 30px;gap:36px}
.hero h1{font-size:clamp(48px,4.6vw,86px)}
.hero .hero-text{font-size:clamp(19px,1.25vw,24px);max-width:720px}
.hero .hero-copy .eyebrow{font-size:18px}
.hero .button{font-size:18px;padding:21px 30px}
.hero .machine-scene{height:clamp(630px,44vw,780px)}
.hero .scene-caption{bottom:110px;left:0;right:0;padding-top:18px}
.hero .scene-caption h2{font-size:clamp(25px,2vw,36px);max-width:none}
.hero .scene-caption p{font-size:18px}
.hero .scene-controls button{width:48px;height:48px;font-size:22px}
.hero .scene-dots{height:78px;bottom:14px;gap:10px}
.hero .scene-dots button{flex-basis:66px;width:66px;height:66px}
.hero .hero-bottom{margin-inline:32px}
.hero .machine-scene.has-orbit>.scene-machine,.hero .machine-scene.has-orbit>.scene-wing{display:none!important}
.scene-orbit{position:absolute;inset:0 0 170px;perspective:1400px;transform-style:preserve-3d;pointer-events:none}
.scene-orbit-machine{position:absolute;left:50%;top:22px;width:76%;height:calc(100% - 38px);max-width:none;object-fit:contain;visibility:hidden;transform-origin:50% 55%;will-change:transform,opacity;filter:drop-shadow(0 24px 18px #0008);backface-visibility:hidden}
.hero .has-orbit .floor{top:auto;bottom:176px;height:100px}
body:not(.product-page) .section-head h2{font-size:clamp(36px,3.2vw,60px)}
body:not(.product-page) .section-head>p{font-size:20px;max-width:520px}
.machine-catalog .catalog-card-link{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,4vw,76px)}
.machine-catalog .catalog-card-visual{height:clamp(460px,37vw,680px);padding:10px 0}
.machine-catalog .catalog-card h3{font-size:clamp(36px,3.2vw,58px)}
.machine-catalog .catalog-card-summary{font-size:clamp(19px,1.2vw,23px);line-height:1.65}
.machine-catalog .catalog-card .catalog-specs>div{font-size:clamp(18px,1.15vw,22px);line-height:1.6;padding-block:11px}
.machine-catalog .catalog-card-category,.machine-catalog .catalog-card-action{font-size:18px}
.machine-catalog .catalog-card .catalog-note{font-size:18px;line-height:1.6}
.softplay-project{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(32px,4vw,76px)}
.softplay-gallery .softplay-copy h3{font-size:clamp(32px,2.7vw,48px)}
.softplay-copy>p:not(.eyebrow),.softplay-features li{font-size:20px;line-height:1.65}
.softplay-selector,.project-next>p,.project-process p{font-size:18px}
.project-process h4{font-size:22px}
.project-process>li{padding:28px}
.service-list summary{min-height:106px;padding:26px}
.service-list summary h3{font-size:clamp(25px,2.1vw,38px)}
.service-list details>p{font-size:20px;margin-inline:26px;line-height:1.75}
.manifesto .about-heading h2{font-size:clamp(36px,3.2vw,58px)}
.about-promise{font-size:clamp(26px,2.6vw,43px)}
.about-story{gap:clamp(36px,4vw,76px)}
.about-machines{height:clamp(310px,25vw,430px)}
.about-machines img{height:90%}
.about-machines img:nth-of-type(2){height:100%}
.manifesto .manifesto-copy>p:not(.large){font-size:20px;line-height:1.75}
.about-products .manifesto-products-title{font-size:22px}
.about-products .manifesto-products li{font-size:19px;padding:20px 18px}
.contact .contact-heading h2{font-size:clamp(36px,3.8vw,68px)}
.contact .contact-intro{font-size:20px;max-width:1200px}
.contact .contact-direct strong{font-size:clamp(25px,2vw,36px)}
.contact .contact-address address{font-size:19px;line-height:1.7}
.contact .map-frame{height:470px}
.product-page .product-visual{min-height:560px}
.product-page .product-visual img{max-height:650px}
.product-page .product-summary{font-size:21px}
.product-page .product-specs>div{font-size:19px;line-height:1.65}
@media(max-width:1100px){
 body:not(.product-page) .wrap,.product-page .wrap,header{width:calc(100% - 40px)}
 .hero .hero-grid{padding:36px 24px 26px;gap:24px;min-height:700px}
 .hero h1{font-size:clamp(43px,4.8vw,55px)}
 .hero .hero-text{font-size:19px}
 .hero .hero-copy .eyebrow{font-size:16px}
 .hero .machine-scene{height:640px}
 .scene-orbit-machine{width:86%}
 .hero .scene-caption h2{font-size:25px}
 .hero .scene-caption p{font-size:16px}
 .machine-catalog .catalog-card-visual{height:480px}
 .machine-catalog .catalog-card .catalog-specs>div{font-size:18px}
 .softplay-copy>p:not(.eyebrow),.softplay-features li,.manifesto .manifesto-copy>p:not(.large),.service-list details>p{font-size:19px}
 .about-products .manifesto-products li{font-size:18px}
}
@media(max-width:760px){
 body:not(.product-page) .wrap,.product-page .wrap,header{width:calc(100% - 32px)}
 .hero .hero-grid{padding:34px 16px 22px;min-height:0;gap:30px;grid-template-columns:1fr}
 .hero h1{font-size:clamp(36px,9vw,58px)}
 .hero .hero-text{font-size:18px;line-height:1.75}
 .hero .button{font-size:17px;padding:18px 24px}
 .hero .machine-scene{height:540px}
 .scene-orbit{bottom:170px}
 .scene-orbit-machine{width:78%;top:12px;height:calc(100% - 25px)}
 .hero .scene-caption{bottom:108px;gap:14px}
 .hero .scene-caption h2{font-size:24px}
 .hero .scene-caption p{font-size:16px;max-width:225px}
 .hero .scene-controls button{width:40px;height:40px}
 .hero .scene-dots{height:76px;bottom:12px}
 .hero .scene-dots button{flex-basis:62px;width:62px;height:62px}
 .hero .hero-bottom{margin-inline:16px}
 body:not(.product-page) .section-head h2{font-size:clamp(31px,7.5vw,42px)}
 body:not(.product-page) .section-head>p{font-size:18px}
 .machine-catalog .catalog-card-link{gap:12px}
 .machine-catalog .catalog-card-visual{height:clamp(350px,95vw,470px)}
 .machine-catalog .catalog-card h3{font-size:33px}
 .machine-catalog .catalog-card-summary{font-size:18px}
 .machine-catalog .catalog-card .catalog-specs>div{font-size:17px;gap:12px;padding-block:10px}
 .machine-catalog .catalog-card .catalog-note{font-size:17px}
 .softplay-project{grid-template-columns:1fr;gap:24px}
 .softplay-gallery .softplay-copy h3{font-size:31px}
 .softplay-copy>p:not(.eyebrow),.softplay-features li,.manifesto .manifesto-copy>p:not(.large),.service-list details>p{font-size:18px}
 .project-process>li{padding:20px}
 .project-process p{font-size:17px}
 .project-process h4{font-size:20px}
 .service-list summary{min-height:90px;padding:22px}
 .service-list summary h3{font-size:26px}
 .service-list details>p{margin-inline:22px}
 .manifesto .about-heading h2{font-size:clamp(31px,7.8vw,42px)}
 .about-promise{font-size:25px}
 .about-machines{height:285px}
 .about-products .manifesto-products li{font-size:17px;padding:16px 13px}
 .contact .contact-heading h2{font-size:clamp(29px,7.4vw,42px)}
 .contact .contact-intro{font-size:18px}
 .contact .contact-direct strong{font-size:25px}
 .contact .contact-address address{font-size:18px}
 .contact .map-frame{height:340px}
 .product-page .product-visual{min-height:380px}
 .product-page .product-summary{font-size:18px}
 .product-page .product-specs>div{font-size:17px}
}
@media(max-width:390px){.hero .machine-scene{height:560px}.hero .scene-caption{bottom:100px}.hero .scene-caption h2{font-size:23px}.hero .scene-caption p{max-width:200px}.hero .scene-controls{gap:5px}.hero .scene-controls button{width:36px;height:36px}.contact .contact-direct strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){.scene-orbit-machine{will-change:auto}}
