/* Media-first homepage banner; one headline and two primary actions. */
#home-banner{position:relative;display:block;isolation:isolate;height:clamp(560px,47vw,720px);min-height:0;max-height:none;margin:132px 24px 0;padding:0;border-radius:36px;overflow:hidden;background:#111719;color:#fff;box-shadow:0 18px 48px #09090b0a;}
#home-banner .banner-media{position:absolute;inset:0;}
#home-banner .banner-image,#home-banner .banner-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--banner-position,65% 50%);}
#home-banner .banner-video{z-index:1;}
#home-banner:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#071012b8 0%,#07101273 35%,#0710120d 65%,transparent 100%),linear-gradient(0deg,#07101245,transparent 45%);}
#home-banner .banner-content{position:relative;z-index:3;display:flex;align-items:center;width:100%;height:100%;padding:65px clamp(38px,5vw,90px);pointer-events:none;}
#home-banner .banner-copy{max-width:660px;min-width:0;pointer-events:auto;}
#home-banner h1{font-size:clamp(48px,5.6vw,84px);font-weight:500;line-height:1.28;letter-spacing:-.055em;color:#fff;background:none;text-wrap:balance;text-shadow:0 2px 22px #00000018;}
#home-banner .banner-actions{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:12px;margin:34px 0 0;}
#home-banner .banner-actions .btn{min-height:54px;padding:15px 25px;font-size:13px;gap:25px;}
#home-banner .banner-primary{background:#dd321e;color:#fff;box-shadow:0 1px 0 #ffad9d66 inset,0 -3px 0 #9d1c0e55 inset,0 5px 15px #00000012;}
#home-banner .banner-primary:hover{background:#c72c1a;transform:translateY(-2px);}
#home-banner .banner-secondary{background:#141b1d80;color:#fff;box-shadow:0 0 0 1px #ffffff70 inset;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
#home-banner .banner-secondary:hover{background:#253033b8;box-shadow:0 0 0 1px #ffffffa0 inset;transform:translateY(-2px);}
html[lang=en] #home-banner h1{font-family:var(--latin);font-size:clamp(54px,6.2vw,94px);line-height:1.08;letter-spacing:-.055em;font-weight:500;}
@media(min-width:1648px){#home-banner{max-width:1600px;margin-inline:auto;}}
@media(max-width:1119px){#home-banner{margin-top:128px;border-radius:32px;}#home-banner .banner-content{padding-inline:45px;}#home-banner h1{font-size:clamp(48px,6vw,66px);}html[lang=en] #home-banner h1{font-size:clamp(54px,6.7vw,76px);}}
@media(max-width:850px){#home-banner{height:600px;}#home-banner .banner-content{align-items:flex-end;padding:44px 36px;}#home-banner .banner-image,#home-banner .banner-video{object-position:var(--banner-mobile-position,73% 42%);}#home-banner:after{background:linear-gradient(0deg,#061012ed 0%,#061012b3 30%,#06101220 68%,transparent 100%);}#home-banner .banner-copy{max-width:590px;}#home-banner h1{font-size:clamp(50px,7.7vw,65px);}html[lang=en] #home-banner h1{font-size:clamp(58px,8.6vw,76px);}}
@media(max-width:639px){#home-banner{height:75svh;min-height:580px;max-height:720px;margin:104px 12px 0;border-radius:27px;}#home-banner .banner-content{padding:35px 25px;}#home-banner h1{font-size:clamp(40px,10vw,58px);line-height:1.28;}#home-banner .banner-actions{margin-top:25px;gap:10px;}#home-banner .banner-actions .btn{font-size:12px;min-height:49px;padding:13px 20px;gap:19px;}html[lang=en] #home-banner h1{font-size:clamp(44px,11vw,64px);line-height:1.08;}}
@media(max-width:420px){#home-banner .banner-actions{display:grid;grid-template-columns:1fr;}#home-banner .banner-actions .btn{justify-content:space-between;}#home-banner .banner-copy{width:100%;}}

/* A quiet, continuous brand rail immediately below the opening banner. */
.partner-strip{padding:28px 0 22px;}
.partner-rail{--partner-step:clamp(190px,24vw,320px);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
.partner-rail::-webkit-scrollbar{display:none;}
.partner-rail:focus-visible{outline-offset:2px;border-radius:10px;}
.partner-track{display:flex;align-items:center;width:max-content;}
.partner-rail.is-rolling{overflow:hidden;overflow:clip;}
.partner-rail.is-rolling .partner-track{animation:partner-scroll var(--partner-duration,31.5s) linear infinite;will-change:transform;}
@keyframes partner-scroll{from{transform:translate3d(0,0,0);}to{transform:translate3d(calc(-1 * var(--partner-distance)),0,0);}}
.partner-group{display:flex;align-items:center;list-style:none;flex:none;margin:0;padding:0;}
.partner-logo{display:flex;align-items:center;justify-content:center;flex:0 0 var(--partner-step);width:var(--partner-step);height:111px;padding:24px 27px;user-select:none;}
.partner-logo img{display:block;max-width:100%;width:168px;height:43px;object-fit:contain;filter:grayscale(1) brightness(0);opacity:.6;pointer-events:none;}
.partner-bambu-lockup{display:flex;align-items:center;gap:13px;white-space:nowrap;}
.partner-logo .partner-bambu-lockup img{width:27px;height:35px;}
.partner-bambu-lockup>span{font:700 25px/1 var(--latin);letter-spacing:-.035em;color:#09090b;opacity:.6;}
.partner-logo .partner-logo-creality{width:157px;height:39px;}
.partner-logo .partner-logo-elegoo{width:163px;height:34px;}
.partner-logo .partner-logo-snapmaker{width:174px;height:38px;}
.partner-logo .partner-logo-markforged{width:190px;height:40px;}
.partner-logo .partner-logo-formlabs{width:190px;height:38px;}
.partner-logo .partner-logo-tesla{width:175px;height:30px;}
body[data-page="index.html"] #start{padding-top:76px;}
@media(max-width:639px){.partner-strip{padding:20px 0 10px;}.partner-logo{height:96px;padding:20px 25px;}.partner-logo img{max-width:140px;max-height:34px;}.partner-rail{mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);}body[data-page="index.html"] #start{padding-top:49px;}}
@media(prefers-reduced-motion:reduce){.partner-group-copy{display:none!important;}.partner-rail.is-rolling{overflow-x:auto;overflow-y:hidden;}.partner-rail.is-rolling .partner-track{animation:none;transform:none;will-change:auto;}}
