/* Physical layers: dark stage, recessed pixels, raised work surfaces. */
:root{--stage-purple:#372044;--stage-orange:#bb7952;--warm-line:rgba(187,121,82,.25);--depth-x:0px;--depth-y:0px}
body{background:#09070d}
#hero{padding-top:136px;background:radial-gradient(ellipse at 74% 20%,rgba(61,29,79,.22),transparent 65%);isolation:isolate}
#hero>.container{position:relative;z-index:1}
.hero-stage{position:relative;isolation:isolate;margin:28px 0 30px;padding:0 24px 12px;min-height:256px;border-top:1px solid rgba(194,171,209,.2);border-bottom:1px solid rgba(5,3,8,.9);background:linear-gradient(100deg,#0c0911 0%,#15101d 54%,#0b0810 100%);box-shadow:inset 0 22px 30px -28px #bd9fd0,inset 0 -32px 38px -24px #020104,0 32px 42px -26px #000}
.hero-stage:before{content:"";position:absolute;z-index:-1;inset:9px 10px 28px;border:1px solid rgba(157,127,175,.08);background:repeating-linear-gradient(90deg,transparent 0,transparent calc(16.666% - 1px),rgba(160,131,178,.05) calc(16.666% - 1px),rgba(160,131,178,.05) 16.666%);box-shadow:inset 8px 0 18px -13px #b48cc9,inset -10px 0 20px -12px #08040c}
.hero-stage:after{content:"";position:absolute;pointer-events:none;inset:0;background:radial-gradient(ellipse at 84% 75%,rgba(161,88,47,.055),transparent 36%),radial-gradient(ellipse at 45% 70%,rgba(99,51,133,.15),transparent 58%);z-index:-1}
.stage-floor{position:absolute;z-index:-1;inset:auto 5% -38px;height:98px;pointer-events:none;background-image:linear-gradient(rgba(93,57,116,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(93,57,116,.12) 1px,transparent 1px);background-size:100% 24px,64px 100%;transform:perspective(260px) rotateX(62deg) translate3d(var(--depth-x),var(--depth-y),0);transform-origin:top center;mask-image:linear-gradient(#000,transparent 88%)}
.name-scene{height:220px;margin:0;width:min(880px,100%);filter:drop-shadow(7px 13px 5px rgba(0,0,0,.7));transform:translate3d(calc(var(--depth-x) * -.2),calc(var(--depth-y) * -.2),0)}
.stage-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:30px;position:relative}
.stage-caption{font-size:.625rem;letter-spacing:.16em;color:#8c8196}
#name-motion{border:0;background:transparent;color:#b2a2be;padding:8px 0 8px 16px;font-size:.7rem;letter-spacing:.02em;min-height:44px}
#name-motion:hover{color:#e5c7b5}
#name-motion[hidden]{display:none}
.lane-index{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:0 0 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(27,20,36,.55),rgba(12,9,17,.35));box-shadow:0 14px 30px -20px #000}
.lane-index a{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:15px 18px 18px;gap:5px;min-height:92px;border-right:1px solid rgba(178,157,194,.12);text-decoration:none;font-family:var(--font-display);font-size:1.25rem;font-weight:500;line-height:1.1;transition:background .25s,color .25s}
.lane-index a:last-child{border-right:0}
.lane-index a span{font-family:var(--font-body);font-size:.6rem;letter-spacing:.12em;color:#ad805f}
.lane-index a:hover,.lane-index a:focus-visible{background:rgba(77,46,94,.24);color:#edd9ce}
.hero-bottom{padding-top:0;border:0}
.hero-bottom p{font-size:1rem}
.hero-index{margin-top:30px}
.hero-index span{font-size:.65rem}
#work{background:linear-gradient(180deg,rgba(19,13,27,.32),transparent 50%);padding-top:94px}
.portfolio-grid{gap:18px;border:0}
.project-card{min-height:338px;border:1px solid rgba(191,167,208,.2);background:linear-gradient(145deg,#1b1424,#110d18 60%,#0e0a13);box-shadow:inset 0 1px rgba(223,204,234,.06),6px 9px 0 -3px #09060d,7px 10px 0 -3px rgba(123,86,146,.2),0 20px 28px -22px #000;transition:background .25s,border-color .25s,box-shadow .25s}
.project-card:before{content:"";position:absolute;left:0;top:30px;height:25px;width:2px;background:linear-gradient(#866297,#c18d62);opacity:.6}
.project-card:hover{background:linear-gradient(145deg,#23182d,#17101e 65%,#120c19);border-color:rgba(192,151,210,.38);box-shadow:inset 0 1px rgba(223,204,234,.1),6px 9px 0 -3px #09060d,7px 10px 0 -3px rgba(156,108,181,.3),0 22px 35px -20px #000}
.project-number{color:#766283}
#services{border-top:1px solid var(--line);background:linear-gradient(120deg,#0b0810,#15101d 60%,#0b0810);box-shadow:inset 0 40px 55px -52px #654874}
.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-left:1px solid var(--line);border-top:1px solid var(--line)}
.services-grid article{padding:28px 30px 36px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;background:linear-gradient(145deg,rgba(67,43,82,.1),transparent);scroll-margin-top:120px}
.services-grid article:target{background:linear-gradient(145deg,rgba(93,53,120,.3),rgba(56,35,68,.16));box-shadow:inset 3px 0 var(--stage-orange)}
.service-index{color:#b79787}
.services-grid h3{font-size:2.65rem;margin:25px 0 16px}
.services-grid p{max-width:340px;font-size:.95rem}
#fabrication{background:linear-gradient(145deg,#18111f,#0c0912 80%);box-shadow:inset 0 50px 90px -90px #c6a6d7}
.material-image,.model-image{box-shadow:16px 18px 0 -8px #07050b,16px 18px 0 -7px rgba(151,113,169,.25),0 35px 45px -24px #000}
.model-image{background:#0b0810;padding-bottom:12px}
.model-image figcaption{padding-left:14px}
#contact{background:radial-gradient(ellipse at 15% 75%,rgba(68,36,85,.19),transparent 55%)}
#contact-form{padding:32px;background:linear-gradient(140deg,#19121f,#0d0a12);border:1px solid var(--line);box-shadow:10px 12px 0 -5px #060408,11px 13px 0 -5px #2f203c,0 24px 40px -28px #000}
input,textarea{background:rgba(4,2,7,.28);box-shadow:inset 0 3px 8px rgba(0,0,0,.2)}
.btn-primary{background:#d6c8df;box-shadow:0 8px 20px -13px #000,inset 0 1px #f0e3f6}
.btn-primary:hover{background:#e4cfc0}
#projection-canvas{opacity:.16}
@media(min-width:1600px){#hero{min-height:0}}
@media(max-width:1000px){.lane-index{grid-template-columns:repeat(3,minmax(0,1fr))}.lane-index a:nth-child(3){border-right:0}.lane-index a:nth-child(-n+3){border-bottom:1px solid var(--line)}.lane-index a{min-height:78px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-stage{padding-left:12px;padding-right:12px}.stage-caption{font-size:.6rem}.project-card{padding:26px}.hero-bottom{align-items:flex-start}.hero-bottom p{max-width:340px}}
@media(max-width:640px){#hero{padding-top:112px}.hero-stage{margin:24px 0;min-height:234px;padding:0 10px 9px}.name-scene{height:184px;margin:0}.stage-controls{gap:4px}.stage-caption{font-size:.5rem;letter-spacing:.055em}#name-motion{font-size:.625rem;padding-left:8px}.lane-index{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}.lane-index a{padding:12px 14px;min-height:70px;font-size:1.3rem;gap:5px}.lane-index a:nth-child(3){border-right:1px solid var(--line)}.lane-index a:nth-child(even){border-right:0}.lane-index a:nth-child(4){border-bottom:1px solid var(--line)}.hero-bottom p{font-size:.95rem}.hero-bottom p>span{font-size:.9rem}.hero-actions{gap:22px}.hero-index{margin-top:27px}.hero-index span{font-size:.53rem}#work{padding-top:70px}.portfolio-grid{gap:16px}.project-card{padding:22px;min-height:315px}.project-card:before{top:25px}.services-grid{grid-template-columns:1fr}.services-grid article{padding:24px 24px 30px}.services-grid h3{font-size:2.5rem}.services-grid p{font-size:1rem}#contact-form{padding:22px}.stage-floor{inset:auto 0 -34px}.material-image,.model-image{box-shadow:9px 12px 0 -4px #07050b,10px 13px 0 -4px rgba(151,113,169,.25),0 28px 35px -24px #000}}
@media(prefers-reduced-motion:reduce){.name-scene,.stage-floor{transform:none}}
