/* Small, purposeful movements. Every control works without animation. */
.reading-progress{height:2px;background:#f20b43;position:fixed;inset:0 0 auto;z-index:80;transform:scaleX(0);transform-origin:left;pointer-events:none;box-shadow:0 0 14px #f20b4370}
.header{transition:box-shadow .3s,background .3s}.header.has-scrolled{background:#06131bf5;box-shadow:0 8px 35px #0005;backdrop-filter:blur(18px)}
#navigation>a:not(.button){position:relative}#navigation>a:not(.button):after{content:'';position:absolute;left:0;right:0;bottom:-9px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s}#navigation>a:hover:after,#navigation>a[aria-current]:after{transform:scaleX(1)}
.hero-image{animation:hero-drift 18s ease-in-out infinite alternate;transform-origin:72% 55%}.hero-grid{position:absolute;right:0;top:0;width:48%;height:100%;background-image:linear-gradient(#93bec608 1px,transparent 1px),linear-gradient(90deg,#93bec608 1px,transparent 1px);background-size:65px 65px;pointer-events:none;z-index:-2;mask-image:linear-gradient(90deg,transparent,#000)}
.hero-scan{position:absolute;right:8%;top:24%;height:30%;width:40%;border-top:1px solid #fb16483d;background:linear-gradient(#e000350c,transparent 35%);z-index:-2;animation:hero-scan 9s ease-in-out infinite;pointer-events:none}
.motion-control{position:absolute;right:30px;bottom:23px;background:#071720b8;backdrop-filter:blur(10px);border:1px solid #ffffff26;color:#e1e8ed;border-radius:30px;font-size:11px;padding:8px 12px;display:flex;align-items:center;gap:8px;z-index:2}.motion-control:hover{background:#102b38}.motion-control span{font-size:14px}.hero-copy>*{animation:hero-enter .85s cubic-bezier(.16,1,.3,1) both}.hero-copy>.eyebrow{animation-delay:.08s}.hero-copy>h1{animation-delay:.18s}.hero-copy>.intro{animation-delay:.28s}.hero-copy>.actions{animation-delay:.38s}
.button{position:relative;overflow:hidden;transition:background .25s,transform .25s,box-shadow .25s,border-color .25s}.button:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#fff2 48%,transparent 75%);transform:translateX(-130%);transition:transform .6s;pointer-events:none}.button:hover:before,.button:focus-visible:before{transform:translateX(130%)}.button:hover{box-shadow:0 8px 28px #e0003520}.button:active{transform:translateY(0) scale(.98)}.button span,.text-link span,.card a span,.supply-link span{transition:transform .25s}.button:hover span,.text-link:hover span,.card a:hover span,.supply-link:hover span{transform:translateX(4px)}
.supply-band{border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 50% 0,#21374480,transparent 70%),#081821}.supply-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:37px}.supply-heading .eyebrow{display:block;font-size:9px;margin:0 0 9px}.supply-heading p{color:#c5d1d8;font-size:14px;margin:0}.supply-names{display:flex;gap:72px;align-items:center}.supply-company{display:flex;flex-direction:column;align-items:center;gap:4px}.supply-company small{font-size:10px;color:#94a9b6;letter-spacing:.025em}.supply-name{display:block;line-height:1.2;color:#e8edf0;transition:color .3s,transform .3s}.supply-company:hover .supply-name{color:white;transform:translateY(-3px)}.xometry{font-size:32px;font-weight:650;letter-spacing:-.045em}.brand-dot{color:#ff315e}.etsy{font-family:Georgia,serif;font-size:36px;letter-spacing:-.04em}.etsy i{font-family:'DM Sans',sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:0}.supply-link{display:flex;gap:25px;align-items:center;font-size:13px;color:#c8d4dc}.supply-link span{font-size:24px;color:#ff315e}
.motion-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.motion-ready .reveal.is-revealed{opacity:1;transform:translateY(0)}.motion-ready .delay-1{transition-delay:.08s}.motion-ready .delay-2{transition-delay:.16s}.motion-ready .reveal:focus-within{opacity:1;transform:none}
.part-photo{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s;transform-origin:50% 60%}.card-body{position:relative;background:linear-gradient(135deg,#10252f,#0a1a23);z-index:1}.card{position:relative;transition:box-shadow .35s,border-color .35s,transform .35s}.card:hover,.card:focus-within{border-color:#875365;box-shadow:0 20px 50px #0004}.card:hover .part-photo,.card:focus-within .part-photo{transform:scale(1.055);filter:brightness(1.08)}.card a:after{content:'';position:absolute;bottom:0;left:0;height:2px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .45s}.card:hover a:after,.card:focus-within a:after{transform:scaleX(1)}
.steps li{position:relative}.steps li:before{content:'';height:2px;position:absolute;top:-1px;left:0;width:100%;background:linear-gradient(90deg,var(--red),#e000351a);transform:scaleX(0);transform-origin:left;transition:transform .8s .3s}.steps li.is-revealed:before{transform:scaleX(1)}.about-art img{transition:transform 1s}.about-art:hover img{transform:scale(1.04)}.faq-list summary{transition:color .2s}.faq-list summary:hover{color:#ff5a7d}.faq-list details[open] p{animation:answer-enter .3s ease-out}input,select,textarea{transition:border-color .2s,background .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 5px #e000350c;background:#172e3a}.menu-toggle span{transition:transform .25s,opacity .2s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.build-demo{margin-top:50px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(125deg,#102631,#091922);display:grid;grid-template-columns:1fr 1.05fr;overflow:hidden}.build-description{padding:40px}.build-description h3{font-size:31px;margin-bottom:17px}.build-description>p:not(.eyebrow){max-width:370px;font-size:15px;min-height:76px}.build-controls{display:flex;gap:7px;flex-wrap:wrap}.build-controls button{background:transparent;border:1px solid #37515f;border-radius:4px;padding:10px 14px;color:#bbcbd4;font-size:12px;transition:background .2s,border-color .2s,color .2s}.build-controls button[aria-pressed=true]{background:#d30032;border-color:#e00035;color:#fff}.build-controls button:hover{border-color:#e04a6d;color:white}.build-visual{display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line);background:radial-gradient(ellipse,#17344366,transparent 75%);overflow:hidden}.part-drawing{display:block;width:100%;height:290px;overflow:hidden}.part-object{transform:translateY(-10px);transform-origin:center}.solid-side,.solid-top,.top-detail{opacity:0;transition:opacity .8s}.part-outline{stroke-dasharray:900;animation:draw-part 4s ease-out both}.print-layers{opacity:.2;transition:opacity .7s}.dimension-lines{opacity:.7;transition:opacity .5s}.printer-beam{opacity:0;transition:opacity .5s}.build-visual[data-stage=print] .solid-side{opacity:.5}.build-visual[data-stage=print] .print-layers{opacity:1}.build-visual[data-stage=print] .printer-beam{opacity:1;animation:print-beam 3s ease-in-out infinite}.build-visual[data-stage=finish] .solid-side,.build-visual[data-stage=finish] .solid-top,.build-visual[data-stage=finish] .top-detail{opacity:1}.build-visual[data-stage=finish] .print-layers{opacity:.35}.build-visual[data-stage=finish] .dimension-lines{opacity:.15}.build-label{display:flex;align-items:center;gap:9px;padding:14px 25px;border-top:1px solid #284451;color:#d2dfe6;font-size:9px;letter-spacing:.13em}.status-dot{width:5px;height:5px;border-radius:50%;background:#ff315e;box-shadow:0 0 10px #ff315e66}.illustration-note{margin-left:auto;letter-spacing:0;color:#8ea6b5;font-size:9px}
@keyframes hero-drift{from{transform:scale(1)}to{transform:scale(1.065) translateX(-.5%)}}@keyframes hero-scan{0%,100%{transform:translateY(0);opacity:.2}50%{transform:translateY(120px);opacity:.8}}@keyframes hero-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes answer-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes draw-part{from{stroke-dashoffset:900}to{stroke-dashoffset:0}}@keyframes print-beam{0%,100%{transform:translateY(20px)}50%{transform:translateY(90px)}}
html.motion-paused *,html.motion-paused *:before,html.motion-paused *:after{animation-play-state:paused!important;transition:none!important}html.motion-paused .reveal,html.motion-paused .hero-copy>*{opacity:1;transform:none}html.motion-paused .part-outline{stroke-dashoffset:0}html.motion-paused{scroll-behavior:auto}
@media(max-width:1000px){.supply-names{gap:38px}.supply-link{display:none}.build-description{padding:30px}.build-controls button{padding:9px 10px}}
@media(max-width:800px){.header nav.open{animation:answer-enter .22s ease-out}.supply-inner{gap:25px}.supply-heading p{font-size:12px}.xometry{font-size:28px}.etsy{font-size:30px}.build-demo{grid-template-columns:1fr 1fr}.build-description{padding:25px}.build-description h3{font-size:27px}.build-description>p:not(.eyebrow){min-height:110px}.build-label{padding:12px;font-size:8px}.illustration-note{display:none}.motion-control{right:20px;bottom:17px}}
@media(max-width:600px){.supply-inner{flex-direction:column;align-items:stretch;padding-block:30px;gap:24px}.supply-heading{text-align:center}.supply-heading p{display:none}.supply-heading .eyebrow{margin:0}.supply-names{justify-content:space-around;gap:16px}.supply-company small{font-size:9px}.supply-name.xometry{font-size:29px}.supply-name.etsy{font-size:32px}.etsy i{font-size:12px}.build-demo{grid-template-columns:1fr;margin-top:35px}.build-description{padding:27px}.build-description>p:not(.eyebrow){min-height:74px;margin-bottom:20px}.build-visual{border-left:0;border-top:1px solid var(--line)}.part-drawing{height:245px}.build-label{padding:16px 25px}.illustration-note{display:block}.hero-scan{display:none}.hero-grid{width:100%}.motion-control{bottom:20px}.motion-ready .reveal{transition-delay:0s}}
.api-section{padding-block:85px;border-top:1px solid var(--line);background:radial-gradient(ellipse at 80% 50%,#1b344c55,transparent 60%),#06131b}.api-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.api-copy h2{margin-bottom:25px}.api-copy>p:not(.eyebrow){max-width:480px;font-size:16px}.api-copy .button{margin-top:10px}.api-diagram{border:1px solid #334853;border-radius:10px;padding:26px 30px;background:linear-gradient(145deg,#122732,#071720);box-shadow:0 25px 65px #0003}.api-diagram-top{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.16em;margin-bottom:26px;color:#b4c7d3}.api-tag{margin-left:auto;color:#ff567c;border:1px solid #713247;padding:3px 8px;border-radius:3px;letter-spacing:.05em}.api-node{border:1px solid #314b5b;background:#0c1e28;border-radius:6px;padding:18px;display:flex;align-items:center;gap:17px}.api-node-main{border-color:#b8294c;background:linear-gradient(100deg,#42192a55,#10232e)}.api-node strong{font-size:15px;font-weight:500;display:block}.api-node small{display:block;font-size:11px;color:#a0b5c3;margin-top:4px}.api-node-icon{font-size:33px;line-height:1;width:38px;text-align:center;color:#c2d3df}.api-node img{flex-shrink:0}.api-printer{width:38px;height:38px;flex-shrink:0;color:#c2d3df}.api-step{font-size:9px;color:#738b9b;margin-left:auto}.api-connector{height:35px;margin-left:36px;width:1px;background:#684052;position:relative;overflow:visible}.api-connector>span{position:absolute;width:4px;height:9px;left:-1.5px;top:0;background:#fa2c5c;border-radius:3px;box-shadow:0 0 9px #fa2c5c80;animation:api-flow 2.4s ease-in-out infinite}.api-connector:nth-of-type(5)>span{animation-delay:1.2s}.api-diagram-foot{font-size:11px;margin:23px 0 0;color:#8ca6b6;text-align:center}@keyframes api-flow{0%{transform:translateY(0);opacity:0}20%,75%{opacity:1}100%{transform:translateY(27px);opacity:0}}
@media(max-width:1250px){.header .nav-contact{display:none}}
@media(max-width:800px){.api-grid{gap:35px}.api-section{padding-block:60px}.api-diagram{padding:20px}.api-node{padding:13px;gap:10px}.api-node strong{font-size:13px}.api-node small{font-size:10px}.header nav .nav-contact{display:flex}}
@media(max-width:600px){.api-grid{grid-template-columns:1fr}.api-copy h2{font-size:34px}.api-diagram{padding:24px 19px}.api-node{padding:17px 12px}.api-copy .button{width:100%}.api-node small{font-size:10px}}
.delivery-band{border-top:1px solid var(--line);background:radial-gradient(ellipse at 85% 50%,#243d4b65,transparent 65%),#081923}.delivery-inner{display:flex;align-items:center;justify-content:space-between;gap:55px;padding-block:48px}.delivery-copy .eyebrow{font-size:9px;margin-bottom:14px}.delivery-copy h2{font-size:29px;line-height:1.18}.delivery-copy>p:last-child{font-size:12px;margin:13px 0 0;color:#a1b4c0}.delivery-carriers{display:flex;align-items:center;justify-content:space-around;gap:60px;flex:1;max-width:670px}.carrier{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#e4ebef;transition:transform .3s,color .3s;min-height:70px}.carrier:hover{transform:translateY(-4px);color:#fff}.royal-mail svg{width:43px;height:25px;margin-bottom:3px;color:#ff365f}.royal-mail>span{font-size:23px;font-weight:650;letter-spacing:-.035em}.fedex>span{font-family:Arial,sans-serif;font-size:38px;font-weight:800;letter-spacing:-.08em}.fedex>span>span{color:#9eb5c4}.dhl>span{font-size:34px;font-weight:800;font-style:italic;letter-spacing:-.05em;position:relative}.dhl>span:after{content:'';position:absolute;bottom:0;left:-8px;right:-8px;height:2px;background:#e00035}
@media(max-width:800px){.delivery-inner{gap:30px}.delivery-carriers{gap:25px}.delivery-copy h2{font-size:25px}.royal-mail>span{font-size:20px}.fedex>span{font-size:32px}.dhl>span{font-size:30px}}
@media(max-width:600px){.delivery-inner{flex-direction:column;align-items:stretch;padding-block:35px;gap:26px}.delivery-copy{text-align:center}.delivery-copy h2 br{display:none}.delivery-copy h2{font-size:26px}.delivery-carriers{gap:16px;max-width:none}.carrier{min-width:0}.royal-mail>span{font-size:18px}.fedex>span{font-size:31px}.dhl>span{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal,.hero-copy>*{opacity:1;transform:none}.part-outline{stroke-dashoffset:0}.motion-control{display:none}.hero-image{transform:none!important}.part-photo,.about-art img{transform:none!important}}

/* Carrier artwork retains its original colours and proportions. */
.delivery-inner{flex-wrap:wrap;gap:30px}.delivery-copy{flex:1;min-width:240px}.delivery-carriers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;max-width:none;flex:2;min-width:580px}.carrier{background:#fff;border:1px solid #dce4e9;border-radius:8px;min-height:100px;padding:18px 14px;box-shadow:0 8px 22px #0002}.carrier img{display:block;width:100%;height:54px;object-fit:contain}.carrier-ups img{height:60px}.carrier-dhl{background:#ffcc00;border-color:#ffcc00}@media(max-width:1000px){.delivery-carriers{min-width:100%;width:100%}.delivery-copy{text-align:center}.delivery-copy h2 br{display:none}}@media(max-width:600px){.delivery-carriers{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;min-width:0}.carrier{grid-column:span 2;min-height:86px;padding:13px 10px}.carrier:nth-last-child(2){grid-column:2/span 2}.carrier:last-child{grid-column:4/span 2}.carrier img{height:46px}.carrier-ups img{height:55px}}


.geomiq{font-size:32px;font-weight:650;letter-spacing:-.04em}.supply-names{gap:40px}.supply-company{text-align:center}@media(max-width:800px){.supply-inner{flex-wrap:wrap}.supply-names{flex:1;justify-content:space-around;gap:22px}.geomiq{font-size:28px}}@media(max-width:600px){.supply-names{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:center}.supply-name.xometry,.supply-name.geomiq{font-size:24px}.supply-name.etsy{font-size:27px}.etsy i{font-size:10px}.supply-company small{font-size:8px;line-height:1.5}}

