@font-face{font-family:'ITC Avant Garde Gothic Pro';src:url('assets/avant-garde-medium.otf') format('opentype');font-style:normal;font-weight:500;font-display:swap;}
:root{--pink:#ff005c;--black:#111113;--paper:#f1f1ee;--muted:#aaa9ad;--line:#343436}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--black);color:var(--paper);font-family:'ITC Avant Garde Gothic Pro',Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--pink);outline-offset:5px}.skip{position:fixed;top:-100px;z-index:9;background:white;color:black;padding:20px}.skip:focus{top:0}header{height:94px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff24;background:var(--black);position:relative;z-index:2}.logo{font-size:38px;letter-spacing:0;font-weight:700;line-height:1}.logo span{color:var(--pink)}.logo i{font-size:12px;vertical-align:top;letter-spacing:0;margin-left:3px;font-style:normal}nav{display:flex;gap:35px;font-size:14px}nav a:hover,.text-link:hover{color:var(--pink)}.nav-cta{font-size:14px;border:1px solid #6b6b6e;padding:13px 18px;display:flex;gap:34px}.nav-cta:hover{background:var(--pink);border-color:var(--pink)}.hero{min-height:690px;position:relative;isolation:isolate;overflow:hidden}.hero-image{position:absolute;z-index:-2;width:84%;height:100%;right:0;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#111113 0%,#111113ed 21%,#1111138a 42%,transparent 62%),linear-gradient(0deg,#111113,transparent 25%)}.hero-content{padding:58px 5% 85px;position:relative}.eyebrow,.section-label{font-size:12px;letter-spacing:2px;font-weight:600}.eyebrow{display:flex;align-items:center;gap:10px}.pink-square{width:7px;height:7px;background:var(--pink)}h1,h2,h3,p{margin-top:0}h1{font-family:'ITC Avant Garde Gothic Pro',Arial,sans-serif;font-size:clamp(95px,11vw,168px);line-height:.88;letter-spacing:0;margin:28px 0 25px;font-weight:800}h1 span{color:var(--pink)}.hero-copy{font-size:24px;line-height:1.3;margin-bottom:17px}.hero-detail{color:#c1c0c3;font-size:15px;line-height:1.6;margin-bottom:27px}.button{display:inline-flex;justify-content:space-between;gap:38px;align-items:center;padding:18px 23px;font-size:14px;font-weight:600;border:0;cursor:pointer;transition:background .2s,transform .2s}.button:hover{transform:translateY(-3px)}.primary{background:var(--pink);color:white}.primary:hover{background:#d9004f}.button span{font-size:22px}.hero-bottom{position:absolute;bottom:24px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.4px;color:#c0bec3;gap:16px}.render-label{margin-left:auto;margin-right:35px;font-size:10px}.section{padding:88px 5%}.section-label{color:var(--muted);margin-bottom:35px}.section-heading{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:47px}h2{font-size:clamp(34px,4vw,57px);line-height:1.05;letter-spacing:0;margin-bottom:0}h2 span{color:#929196}.section-heading>p{max-width:340px;color:#aaa9ad;line-height:1.7;font-size:15px;margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-grid article{padding:30px 30px 29px 0}.service-grid article+article{border-left:1px solid var(--line);padding-left:30px}.number{color:var(--pink);font-size:14px}.service-grid h3{font-size:30px;letter-spacing:0;line-height:1.1;margin:32px 0 20px}.service-grid p{font-size:15px;line-height:1.8;color:#aaa9ad;max-width:320px;min-height:108px}.service-grid a{display:flex;justify-content:space-between;gap:10px;font-size:14px;margin-top:30px}.service-grid a span{color:var(--pink);font-size:22px}.urgent{display:flex;gap:20px;margin-top:25px;font-size:13px;color:#aaa9ad;align-items:center}.urgent strong{color:var(--paper)}.urgent a{margin-left:auto;color:white}.projects{background:var(--paper);color:var(--black)}.projects .section-label{color:#67666b}.projects h2 span{color:#8b8a8e}.projects .section-heading>p{color:#66656a}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.photo{aspect-ratio:4/4.5;overflow:hidden;background:#ddd}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project:hover img{transform:scale(1.045)}.project-caption{display:flex;justify-content:space-between;gap:8px;margin-top:21px}.project-caption h3{font-size:19px;font-weight:600;letter-spacing:0}.project-caption span{font-size:14px;white-space:nowrap}.project>p{font-size:10px;letter-spacing:1.4px;color:#67666b}.lab-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:90px}.lab h2{font-family:'ITC Avant Garde Gothic Pro',Arial,sans-serif;font-size:clamp(48px,6.2vw,87px);line-height:1;letter-spacing:0}.lab h2 span{color:var(--pink)}.lab-layout p{font-size:15px;color:#aaa9ad;line-height:1.75}.lab-layout .lab-lead{font-size:21px;color:#eee;line-height:1.45}.text-link{display:inline-block;margin-top:14px;border-bottom:1px solid #666;padding-bottom:6px}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line);padding-top:30px;margin-top:65px}.process span{color:#96959b;font-size:11px;letter-spacing:1px}.process h3{font-size:17px;margin:15px 0 0}.contact{background:var(--pink);color:#111;display:grid;grid-template-columns:1.2fr 1fr;gap:90px}.contact .section-label{color:#242024}.contact h2{font-family:'ITC Avant Garde Gothic Pro',Arial,sans-serif;font-size:clamp(75px,8vw,118px);line-height:.9;letter-spacing:0;margin-bottom:30px}.contact h2 em{color:white;font-style:normal}.contact p{font-size:15px;line-height:1.7}.contact-mail{font-size:23px;font-weight:600;display:block;margin-top:34px}.phone{display:block;margin-top:12px;font-size:17px}form{padding-top:8px}form h3{font-size:23px;margin-bottom:30px}label{display:block;font-size:13px;font-weight:600;margin:19px 0 7px}input,select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #1611166b;border-radius:0;color:#111;padding:10px 0 13px;outline-offset:0!important}input::placeholder,textarea::placeholder{color:#50142b;opacity:1}textarea{resize:vertical}select option{background:white}form .dark{background:#111;color:white;width:100%;margin-top:22px}form .form-note{font-size:12px;line-height:1.5;margin-top:15px;max-width:360px}.contact :focus-visible{outline-color:white}#form-status{font-size:13px}footer{padding:35px 5%;display:flex;align-items:center;gap:35px;font-size:12px}footer p{color:#999;margin:0;line-height:1.6}footer>span{margin-left:auto;font-size:10px;letter-spacing:1px;color:#888}footer .logo{font-size:32px}
@media(min-width:1600px){.hero{min-height:800px}.hero-content{padding-top:80px}.section,header,footer{padding-left:max(5%,calc((100vw - 1500px)/2));padding-right:max(5%,calc((100vw - 1500px)/2))}}@media(max-width:900px){nav{gap:17px}.hero-image{width:100%;right:-16%;opacity:.8}.hero-shade{background:linear-gradient(90deg,#111113 0%,#111113c9 30%,#11111330 80%),linear-gradient(0deg,#111113,transparent 40%)}.hero{min-height:640px}.render-label{display:none}.lab-layout,.contact{gap:40px}.section{padding:65px 5%}.service-grid article{padding-right:18px}.service-grid article+article{padding-left:18px}.service-grid p{min-height:160px}.project-caption h3{font-size:16px}footer{flex-wrap:wrap}footer>span{display:none}.urgent{flex-wrap:wrap}.urgent a{margin-left:0}}
@media(max-width:600px){header{height:78px}.logo{font-size:32px}nav{display:none}.nav-cta{font-size:13px;padding:11px 14px;gap:25px}.hero{min-height:740px}.hero-image{height:52%;width:115%;right:-12%;top:285px;opacity:.85;object-fit:contain}.hero-shade{background:linear-gradient(180deg,#111113 0%,transparent 40%,transparent 85%,#111113)}.hero-content{padding-top:32px;padding-bottom:0}.eyebrow{font-size:10px;letter-spacing:1.5px}h1{font-size:104px;line-height:.86;margin-top:26px;margin-bottom:21px}.hero-copy{font-size:20px}.hero-detail{font-size:14px;max-width:240px;text-shadow:0 1px 12px black}.hero-content .button{margin-top:190px;font-size:13px;padding:15px 18px}.hero-bottom{bottom:18px;font-size:9px}.section{padding:53px 6%}.section-label{font-size:10px;margin-bottom:23px}.section-heading{display:block;margin-bottom:30px}h2{font-size:38px;letter-spacing:0}.section-heading>p{margin-top:22px;font-size:14px}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article+article{padding:24px 0;border-left:0;border-bottom:1px solid var(--line)}.service-grid article:last-child{border:0}.service-grid h3{font-size:29px;margin:17px 0}.service-grid h3 br{display:none}.service-grid p{min-height:0;max-width:none;font-size:15px}.service-grid a{margin-top:15px}.urgent{gap:8px 16px;line-height:1.6}.urgent span{width:100%}.project-grid{grid-template-columns:1fr;gap:30px}.photo{aspect-ratio:1.1}.project-caption h3{font-size:19px}.lab-layout,.contact{grid-template-columns:1fr;gap:30px}.lab h2{font-size:54px}.process{grid-template-columns:1fr;gap:25px;margin-top:35px}.process h3{margin-top:8px}.contact h2{font-size:86px}.contact-mail{font-size:21px}.contact form{border-top:1px solid #17101766;padding-top:30px}footer{gap:24px;padding:30px 6%}footer p{font-size:11px}footer>a:not(.logo){font-size:12px}.form-note{max-width:100%!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Official supplied Albelab artwork; original image bytes preserved. */
.logo{display:block;width:180px;flex-shrink:0;mix-blend-mode:screen}
.brand-image{display:block;position:relative;width:100%;aspect-ratio:1760 / 541;overflow:hidden}
.brand-image img{position:absolute;width:116.31%;height:auto;max-width:none;left:-8.18%;top:-56.38%;filter:invert(1)}
footer .logo{width:150px}
@media(max-width:600px){header .logo{width:145px}}

/* Supplied Medium face throughout; no synthetic bold or condensed substitute. */
body{font-weight:500;font-synthesis:none}h1,h2,h3,strong,b,.button,.eyebrow,.section-label,label,.contact-mail{font-weight:500}
h1{font-size:clamp(68px,8vw,120px);line-height:1.05;letter-spacing:0}
.lab h2{font-size:clamp(32px,3.6vw,56px);line-height:1.18;letter-spacing:0}
.contact h2{font-size:clamp(48px,5.5vw,82px);line-height:1.08;letter-spacing:0}
@media(max-width:600px){h1{font-size:clamp(60px,16vw,92px)}.lab h2{font-size:clamp(28px,7.5vw,43px)}.contact h2{font-size:clamp(43px,11.5vw,65px)}.hero-image{top:290px}.hero-content .button{margin-top:180px}}

footer{flex-wrap:wrap}.legal-links{width:100%;display:flex;flex-wrap:wrap;gap:24px;padding-top:22px;border-top:1px solid var(--line);font-size:14px;color:#b9b8bd}.legal-links a:hover{color:var(--pink)}



/* Albelab: one graphite surface, shared rhythm, precise pink accents. */
:root{--black:#111113;--paper:#f3f2f4;--muted:#b0adb4;--line:#ffffff16;--surface:#1b1a1e;--content:1320px;--gutter:max(6%,calc((100vw - var(--content))/2));--section-space:clamp(64px,7.5vw,112px)}
body{background:var(--black);color:var(--paper)}
header{padding-inline:var(--gutter);height:96px;border-color:#ffffff0d;background:#111113}
nav{gap:32px}nav a{transition:color .2s}
.nav-cta{border-color:#ffffff33;border-radius:7px;padding:13px 19px;transition:background .2s,border-color .2s}
.hero{min-height:740px}
.hero-content{padding:72px var(--gutter) 115px}
.hero-image{width:78%;right:-5%;object-position:center;mask-image:linear-gradient(to bottom,transparent 0%,#000 9%,#000 70%,transparent 100%)}
.hero-shade{background:linear-gradient(90deg,#111113 0%,#111113f5 20%,#111113a6 39%,#11111326 62%,transparent 82%),linear-gradient(0deg,#111113 0%,transparent 32%)}
h1{font-size:clamp(76px,7.6vw,116px);line-height:1.02;letter-spacing:0;margin:31px 0 28px}
.hero-copy{font-size:clamp(20px,1.65vw,25px);line-height:1.5}
.hero-detail{font-size:16px;line-height:1.75;color:var(--muted)}
.hero-bottom{left:var(--gutter);right:var(--gutter);bottom:32px;font-size:12px;letter-spacing:1px;color:#a5a1aa}
.button{border-radius:7px;min-height:56px;font-size:14px;padding:16px 22px;transition:background .2s,transform .2s,box-shadow .2s}
.primary,form .dark{background:var(--pink);color:white;box-shadow:0 8px 30px #ff005c14}
.primary:hover,form .dark:hover{background:#e80054;box-shadow:0 10px 32px #ff005c25;transform:translateY(-2px)}
.section{padding:var(--section-space) var(--gutter);position:relative}
.section-label,.projects .section-label,.contact .section-label{color:#b0adb4;font-size:12px;letter-spacing:1.65px;line-height:1.6;margin-bottom:29px;display:flex;align-items:center;gap:14px}
.section-label::before{content:'';display:block;flex:none;width:22px;height:2px;background:var(--pink)}
h2,.lab h2{font-size:clamp(34px,3.4vw,51px);line-height:1.2;letter-spacing:0}
h2 span,.projects h2 span{color:var(--muted)}
.section-heading{align-items:center;gap:60px;margin-bottom:45px}
.section-heading>p,.projects .section-heading>p,.lab-layout p{font-size:16px;line-height:1.8;color:var(--muted);max-width:375px}
.services{background:linear-gradient(180deg,#111113,#151418)}
.service-grid{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#ffffff02}
.service-grid article,.service-grid article+article{padding:32px;position:relative;transition:background .25s}
.service-grid article:hover{background:#ffffff03}
.service-grid article+article{border-color:var(--line)}
.service-grid h3{font-size:clamp(23px,2.05vw,29px);line-height:1.28;margin:27px 0 20px;letter-spacing:0}
.service-grid p{font-size:16px;line-height:1.75;min-height:140px;color:var(--muted);max-width:none}
.service-grid a{align-items:center;line-height:1.6;margin-top:24px;font-size:14px}
.service-grid a:hover{color:var(--pink)}
.urgent{font-size:14px;line-height:1.7;margin-top:26px;gap:16px;color:var(--muted)}
.projects{background:linear-gradient(180deg,#151418 0%,#19171c 50%,#151418 100%);color:var(--paper)}
.project-grid{gap:24px}
.project{background:#ffffff03;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:border-color .3s,transform .3s}
.project:hover{border-color:#ff005c55;transform:translateY(-4px)}
.photo{position:relative;background:#29272d;aspect-ratio:1.04}
.photo img{filter:brightness(.88) saturate(.82);object-position:center}
.photo::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 65%,#1e1c2299 100%)}
.project-caption{padding:0 22px;margin:25px 0 12px;align-items:start}
.project-caption h3{font-size:18px;line-height:1.5;margin:0;letter-spacing:0}
.project-caption>span{color:var(--pink);padding-top:4px}
.project>p{padding:0 22px;margin:0 0 26px;font-size:12px;letter-spacing:.8px;line-height:1.6;color:var(--muted)}
.lab{background:linear-gradient(180deg,#151418,#111113)}
.lab-layout{grid-template-columns:1.15fr 1fr;gap:70px}
.lab-layout .lab-lead{font-size:22px;line-height:1.55;color:var(--paper)}
.lab h2 span{color:var(--pink)}
.text-link{font-size:15px;border-color:#ff005c66;padding-bottom:10px}
.process{border-color:var(--line);margin-top:56px;padding-top:32px;gap:32px}
.process span{font-size:12px;letter-spacing:1px;color:var(--muted)}
.process h3{font-size:17px;line-height:1.6;letter-spacing:0}
.contact{color:var(--paper);background:radial-gradient(ellipse at 12% 70%,#ff005c10,transparent 58%),linear-gradient(180deg,#111113,#18141a);gap:70px;grid-template-columns:1.15fr 1fr}
.contact h2{font-size:clamp(47px,5.1vw,76px);line-height:1.1;margin-bottom:27px}
.contact h2 em{color:var(--pink)}
.contact p{font-size:16px;line-height:1.8;color:var(--muted)}
.contact-mail{font-size:clamp(20px,1.8vw,26px);letter-spacing:0;margin-top:32px}
.contact-mail:hover,.phone:hover{color:var(--pink)}
.phone{font-size:16px;color:var(--muted)}
.contact form{padding:32px;background:#ffffff03;border:1px solid var(--line);border-radius:12px;align-self:start}
form h3{font-size:22px;line-height:1.4;letter-spacing:0;margin-bottom:28px}
label{font-size:14px;color:#d5d2da;margin-top:22px}
input,select,textarea{color:var(--paper);background:#ffffff03;border:1px solid #ffffff1c;border-radius:6px;padding:13px 14px;font-size:16px;line-height:1.5;transition:border-color .2s}
input:hover,select:hover,textarea:hover{border-color:#ffffff38}
input::placeholder,textarea::placeholder{color:#a7a2ae}select{color-scheme:dark}select option{background:#201c24;color:var(--paper)}
.contact :focus-visible{outline:2px solid var(--pink);outline-offset:3px!important}
form .dark{margin-top:25px}form .form-note{max-width:none;font-size:13px;line-height:1.7;margin-bottom:0}#form-status:empty{display:none}
footer{background:#18141a;padding:36px var(--gutter);gap:30px;border-top:1px solid var(--line);font-size:14px}
footer p{font-size:12px;line-height:1.7}.legal-links{padding-top:24px;font-size:13px;gap:24px}footer>span{font-size:12px;letter-spacing:.8px}
@media(max-width:1000px){:root{--gutter:5%}.hero{min-height:690px}.hero-content{padding-top:56px}.hero-image{width:95%;right:-18%}.service-grid article,.service-grid article+article{padding:25px}.service-grid p{min-height:196px}.lab-layout,.contact{gap:36px}.section-heading{gap:35px}.project-caption{padding-inline:16px}.project>p{padding-inline:16px}.contact form{padding:25px}}
@media(max-width:600px){:root{--gutter:6%;--section-space:64px}header{height:82px}.nav-cta{padding:11px 14px;gap:22px}.hero{min-height:0}.hero-content{padding-top:36px;padding-bottom:84px}h1{font-size:clamp(64px,16vw,90px);margin:25px 0 23px}.hero-copy{font-size:20px}.hero-detail{font-size:15px;max-width:275px}.hero-image{top:265px;right:-15%;width:120%;height:360px;object-fit:contain;opacity:.85;mask-image:linear-gradient(180deg,transparent,#000 18%,#000 74%,transparent)}.hero-shade{background:linear-gradient(180deg,#111113 0%,#111113aa 35%,transparent 60%,#111113 95%)}.hero-content .button{margin-top:195px;min-height:54px;padding:15px 18px;font-size:13px}.hero-bottom{bottom:25px;font-size:10px;gap:10px}.hero-bottom>a{white-space:nowrap}.eyebrow{font-size:11px;letter-spacing:1.2px}.section-label,.projects .section-label,.contact .section-label{font-size:11px;letter-spacing:1.2px;gap:10px;margin-bottom:23px}h2,.lab h2{font-size:clamp(30px,7.5vw,40px);line-height:1.22}.section-heading{margin-bottom:30px}.section-heading>p,.projects .section-heading>p{font-size:15px;max-width:none}.service-grid article,.service-grid article+article{padding:27px 24px}.service-grid h3{font-size:27px;margin:22px 0 17px}.service-grid p{min-height:0;font-size:15px}.service-grid a{margin-top:20px}.urgent{font-size:13px;gap:7px 16px}.project-grid{gap:25px}.photo{aspect-ratio:1.1}.project-caption{padding-inline:22px}.project>p{padding-inline:22px;font-size:11px}.lab-layout,.contact{grid-template-columns:1fr;gap:32px}.lab-layout .lab-lead{font-size:20px}.lab-layout p{font-size:15px;max-width:none}.process{margin-top:38px;gap:27px}.process h3{font-size:16px}.contact h2{font-size:clamp(44px,11vw,62px)}.contact p{font-size:15px}.contact form{padding:26px 22px;margin-top:5px}.contact-mail{font-size:22px}.contact form .form-note{font-size:13px}footer{padding-top:30px;padding-bottom:30px;gap:24px}footer>a:not(.logo){font-size:14px}.legal-links{gap:20px;font-size:13px}}

/* Selected printed bearing support, with Albelab ambient lighting. */
.hero{background:#111113}
.hero-image{width:100%;height:100%;right:0;top:0;object-fit:cover;object-position:center;opacity:1;filter:brightness(.95) contrast(1.05);mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 80%,transparent 100%)}
.hero-light{position:absolute;inset:0;z-index:-1;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(ellipse 30% 62% at 91% 42%,#ff005c45 0%,#ff005c12 50%,transparent 78%),radial-gradient(ellipse 28% 19% at 74% 82%,#ff005c25,transparent 76%),radial-gradient(ellipse 25% 37% at 62% 22%,#9badd419,transparent 78%)}
.hero-shade{z-index:-1;pointer-events:none;background:linear-gradient(90deg,#111113 0%,#111113f2 22%,#111113ba 36%,#1111134d 48%,transparent 63%),linear-gradient(0deg,#111113 0%,#11111380 8%,transparent 26%),linear-gradient(180deg,#111113 0%,transparent 15%)}
.hero-content{z-index:1}.hero-bottom{z-index:1}
.hero .primary{box-shadow:0 8px 36px #ff005c24}.hero .primary:hover{box-shadow:0 10px 40px #ff005c3b}
@media(min-width:1800px){.hero-image{object-position:center 57%}}
@media(max-width:1000px) and (min-width:601px){.hero-image{width:115%;right:-15%;object-position:62% center}.hero-shade{background:linear-gradient(90deg,#111113 0%,#111113ec 24%,#111113a6 43%,transparent 76%),linear-gradient(0deg,#111113,transparent 28%)}.hero-light{background:radial-gradient(ellipse 40% 65% at 95% 45%,#ff005c40,transparent 80%)}}
@media(max-width:600px){.hero-image{top:305px;right:-8%;width:120%;height:340px;object-fit:contain;object-position:right center;mask-image:linear-gradient(180deg,transparent,#000 14%,#000 80%,transparent);opacity:1}.hero-light{inset:310px 0 75px 0;background:radial-gradient(ellipse 60% 70% at 94% 47%,#ff005c48,transparent 82%),radial-gradient(ellipse 55% 26% at 70% 85%,#ff005c20,transparent 80%)}.hero-shade{background:linear-gradient(180deg,#111113 0%,#111113b3 37%,transparent 51%,transparent 83%,#111113 100%)}.hero-content .button{margin-top:220px}}
/* Interactive, locally hosted CAD model */
.part-viewer{position:absolute;right:0;top:20px;width:59%;height:650px;z-index:2;isolation:isolate;background:radial-gradient(ellipse at 78% 48%,#ff005c0d,transparent 64%)}
.part-viewer canvas{display:block;width:100%;height:100%;cursor:grab;opacity:0;transition:opacity .5s;touch-action:none}
.part-viewer canvas:active{cursor:grabbing}.part-viewer canvas:focus-visible{outline:2px solid #ff005c;outline-offset:-4px}
.part-viewer.is-ready canvas{opacity:1}.hero.has-model .hero-image{opacity:0;transition:opacity .5s}
.viewer-status{position:absolute;bottom:49px;left:0;width:100%;text-align:center;color:#b9b9be;font-size:12px;letter-spacing:.04em;pointer-events:none;padding:0 15px}
.viewer-tools{position:absolute;bottom:3px;display:flex;gap:8px;justify-content:center;width:100%;align-items:center}
.viewer-tools button,.viewer-tools a{background:#18181bd9;color:#e8e8eb;border:1px solid #ffffff22;min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:12px;cursor:pointer;padding:0 12px;border-radius:5px;text-decoration:none}
.viewer-tools button:hover,.viewer-tools a:hover{border-color:#ff005c;color:#ff005c}.viewer-tools button:focus-visible,.viewer-tools a:focus-visible{outline:2px solid #ff005c;outline-offset:3px}
.part-viewer:not(.is-ready) .viewer-tools button{visibility:hidden}.viewer-error canvas{display:none}
@media(min-width:801px){.hero-content{pointer-events:none;width:53%}.hero-content a{pointer-events:auto}.hero-bottom{pointer-events:none}.hero-bottom a{pointer-events:auto}}
@media(max-width:800px){.hero{display:flex;flex-direction:column;min-height:0;padding-bottom:70px}.hero-content{padding:48px var(--gutter) 0;width:100%}.hero-content .button{margin-top:24px}.part-viewer{position:relative;top:auto;right:auto;width:100%;height:390px;order:2;margin-top:0}.hero-bottom{bottom:20px}.hero-bottom .render-label{display:none}.hero-shade,.hero-light{pointer-events:none}.viewer-status{bottom:50px;font-size:12px}.hero-image{top:330px!important;height:390px!important}.hero.has-model .hero-image{opacity:0}}
@media(prefers-reduced-motion:reduce){.part-viewer canvas,.hero.has-model .hero-image{transition:none}}

/* Hero text and model share a bounded grid; gutters belong to the container. */
.hero{display:grid;grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);column-gap:clamp(32px,4vw,64px);align-items:center;min-height:700px;padding:48px var(--gutter) 100px}
.hero-content{grid-column:1;grid-row:1;min-width:0;width:100%;padding:0;pointer-events:auto;text-align:left}
.hero-content .eyebrow{font-size:12px;line-height:1.6;letter-spacing:.12em;margin:0 0 24px;gap:10px}
.hero-content .pink-square{flex:none}
.hero-content h1{font-size:clamp(72px,7vw,104px);line-height:1.04;letter-spacing:0;margin:0 0 28px}
.hero-copy{max-width:30ch;font-size:clamp(20px,1.65vw,24px);line-height:1.5;letter-spacing:0;text-wrap:pretty;margin:0 0 18px}
.hero-detail{max-width:40ch;font-size:16px;line-height:1.75;letter-spacing:0;text-wrap:pretty;text-shadow:none;margin:0 0 30px}
.hero-content .button{margin:0;max-width:100%;gap:24px;line-height:1.5}
.hero-content .button span{flex:none}
.part-viewer{grid-column:2;grid-row:1;position:relative;top:auto;right:auto;width:100%;height:560px;min-width:0;margin:0}
.hero-bottom{bottom:28px;flex-wrap:wrap;line-height:1.5}
@media(max-width:1000px){
 .hero{grid-template-columns:minmax(0,1fr);row-gap:12px;padding:44px var(--gutter) 76px;min-height:0}
 .hero-content{grid-column:1;grid-row:1;max-width:600px}
 .hero-content h1{font-size:clamp(64px,11vw,92px);margin-bottom:24px}
 .hero-copy{max-width:32ch;font-size:22px}
 .hero-detail{max-width:44ch;margin-bottom:24px}
 .part-viewer{grid-column:1;grid-row:2;order:initial;height:440px;width:100%;max-width:680px;justify-self:center}
 .hero-bottom .render-label{display:none}
}
@media(max-width:600px){
 .hero{padding-top:36px;row-gap:8px}
 .hero-content h1{font-size:clamp(56px,17vw,86px);margin-bottom:22px}
 .hero-content .eyebrow{font-size:11px;letter-spacing:.08em;margin-bottom:20px}
 .hero-copy{font-size:20px;line-height:1.5;margin-bottom:16px}
 .hero-detail{font-size:16px;line-height:1.65}
 .hero-content .button{margin:0;padding:15px 18px}
 .part-viewer{height:360px}
}

/* Logo silhouette remains visible while WebGL loads or is unavailable. */
.hero-image{width:27%;height:58%;right:13%;top:15%;object-fit:contain;filter:none;mask-image:none;opacity:.85}
@media(max-width:1000px){.hero-image{top:auto!important;bottom:154px;right:30%;width:40%;height:260px!important;object-position:center;mask-image:none}}
@media(max-width:600px){.hero-image{bottom:145px;right:28%;width:44%;height:220px!important}}

/* Natural word spacing across headings, body text and interface controls. */
body{word-spacing:.055em}
h1,h2,h3,.hero-content h1,.hero-copy,.contact-mail{letter-spacing:0;word-spacing:.07em}
p,nav,a,button,label,input,select,textarea{word-spacing:.055em}
.service-grid h3{line-height:1.35;overflow-wrap:normal;word-break:normal}
.section-heading h2,.lab h2,.contact h2{line-height:1.22}
.hero-content h1{font-size:clamp(68px,6.5vw,98px);line-height:1.1}
.contact h2{font-size:clamp(40px,4.4vw,64px)}
@media(max-width:1000px){.hero-content h1{font-size:clamp(64px,10vw,90px)}}
@media(max-width:600px){.hero-content h1{font-size:clamp(52px,15vw,80px)}.contact h2{font-size:clamp(32px,9vw,52px)}}
/* Privacy navigation and contact disclosure. */
.legal-links button{border:0;background:transparent;color:inherit;padding:0;font:inherit;text-align:left;cursor:pointer;word-spacing:inherit}
.legal-links button:hover{color:var(--pink)}
[hidden]{display:none!important}
.form-note a{text-decoration:underline;text-underline-offset:3px}
.button:disabled{opacity:.55;cursor:wait;transform:none}
#privacy-status{flex-basis:100%;font-size:14px;line-height:1.6;color:var(--muted)}
#privacy-status:empty{display:none}
.privacy-page{max-width:880px;margin:auto;padding:64px 28px 88px}
.privacy-page h1{font-size:clamp(36px,5vw,60px);line-height:1.2;letter-spacing:0;margin:0 0 24px}
.privacy-page h2{font-size:clamp(24px,3vw,32px);line-height:1.3;margin-bottom:20px}
.privacy-page p{font-size:16px;line-height:1.8;color:var(--muted)}
.privacy-page .privacy-intro{font-size:19px;color:var(--paper)}
.privacy-page section{padding-top:36px;margin-top:32px;border-top:1px solid var(--line);scroll-margin-top:32px}
.privacy-page p a{color:var(--paper);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.privacy-nav{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px;margin-top:30px}
.privacy-page .button{margin:8px 0 16px}
@media(max-width:600px){.privacy-page{padding:40px 6% 64px}.privacy-nav{display:flex}.privacy-page section{margin-top:24px;padding-top:28px}}

/* Slice controls remain reachable on narrow screens. */
.viewer-tools{gap:6px;flex-wrap:wrap;padding:0 4px}
.viewer-tools button,.viewer-tools a{padding:0 10px}
.viewer-tools .slice-button{background:var(--pink);color:#111113;border-color:var(--pink);min-width:66px}
.viewer-tools .slice-button:hover{background:#ff397f;color:#111113}
.slice-progress{position:absolute;bottom:54px;left:15%;width:70%;height:2px;border:0;appearance:none;background:#ffffff14;accent-color:var(--pink)}
.slice-progress::-webkit-progress-bar{background:#ffffff14}.slice-progress::-webkit-progress-value{background:var(--pink)}.slice-progress::-moz-progress-bar{background:var(--pink)}
.part-viewer .viewer-status{bottom:66px;margin:0;font-size:12px;line-height:1.5}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:380px){.viewer-tools button,.viewer-tools a{min-width:40px;padding:0 7px}.viewer-tools .slice-button{min-width:56px}.viewer-tools{gap:4px}}
.viewer-tools{display:grid;grid-template-columns:minmax(60px,1.4fr) repeat(5,minmax(0,1fr));width:calc(100% - 8px);max-width:390px;left:50%;transform:translateX(-50%);padding:0;gap:4px}
.viewer-tools button,.viewer-tools a,.viewer-tools .slice-button{min-width:0;padding:0 5px;font-size:12px}

.social-links{display:flex;align-items:center;gap:10px}
.social-links a{display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff30;border-radius:50%;color:var(--paper);transition:color .2s,border-color .2s,background .2s}
.social-links svg{display:block;width:22px;height:22px}
.social-links a:hover,.social-links a:focus-visible{color:var(--pink);border-color:var(--pink);background:#ff005c0d}
@media(prefers-reduced-motion:reduce){.social-links a{transition:none}}
