:root{--bg: #FFFFFF;--fg: #222;--accent: #0600ff;--mark: #E52521;--font: "Neuzeit Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;--v-tile: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Ctext x='1' y='10' font-size='11' font-family='Arial' fill='%23222222'%3Ev%3C/text%3E%3C/svg%3E");--v-tile-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Ctext x='1' y='10' font-size='11' font-family='Arial' fill='%23ffffff'%3Ev%3C/text%3E%3C/svg%3E");--horizon: 47vh;--box-scale: .75}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{overflow:hidden;background:var(--bg);color:var(--fg);font-family:var(--font);font-weight:400}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.layer{display:block;position:fixed;inset:0;width:100vw;height:100vh;z-index:0;opacity:1;transition:opacity .2s linear;pointer-events:auto;touch-action:none}.logo-stack{position:fixed;top:16px;left:calc(50vw * var(--box-scale) + 24px);z-index:3;display:flex;flex-direction:column;gap:12px;pointer-events:none}.logo-anchor:nth-child(1){--mark-c: var(--accent)}.logo-anchor:nth-child(2){--mark-c: #43B047}.logo-anchor:nth-child(3){--mark-c: #FBD000}.top-nav{position:fixed;top:16px;left:calc((50vw * var(--box-scale) + 120px + 100vw - 96px) / 2);transform:translate(-50%);z-index:3;display:flex;gap:12px}.top-nav button{all:revert;font-size:24px}.corner-guy{position:fixed;top:16px;right:16px;z-index:3;width:80px;height:auto;pointer-events:none;user-select:none}.radiant-mark{display:block;width:100%;height:100%;overflow:visible}.radiant-mark line{stroke:var(--mark-c, var(--mark));stroke-width:1.6px;fill:none}.radiant-mark rect{fill:none;stroke:var(--mark-c, var(--mark));stroke-width:1.6px}.radiant-mark.entering line{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:mark-draw var(--dur) ease-out var(--d) both}@keyframes mark-draw{to{stroke-dashoffset:0}}.hero{position:relative;z-index:1;height:100vh;pointer-events:none}.hero-name{position:absolute;top:0;left:0;width:calc(50vw * var(--box-scale));height:calc(47vh * var(--box-scale));display:grid;grid-template-columns:1.15fr .95fr .9fr;grid-template-rows:.95fr 1.05fr 1fr;overflow:hidden;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;user-select:none;pointer-events:auto;--glyph-scale: 1}.hero-name .t{display:flex;align-items:center;container-type:size;overflow:hidden;font-weight:700;color:var(--c, #16100c);transition:color .15s ease}.hero-name:hover .t{color:var(--accent)}.hero-name .t i{display:block;font-style:normal;font-size:calc(min(170cqh,118cqw) * var(--glyph-scale));line-height:.72;transform:translateY(var(--dy, 0cqh)) scale(1.3,.6) translateY(var(--ink-lift, 0em));transform-origin:center}.hero-name .t:nth-child(2) i,.hero-name .t:nth-child(5) i,.hero-name .t:nth-child(8) i{line-height:.52;--ink-lift: -.11em}.hero-name .t:nth-child(2) i{font-size:calc(min(165cqh,80cqw) * var(--glyph-scale))}.hero-name .t:nth-child(5) i{font-size:calc(min(240cqh,124cqw) * var(--glyph-scale))}.hero-name .t:nth-child(8) i{font-size:calc(min(200cqh,100cqw) * var(--glyph-scale))}.hero-name .t:nth-child(1) i{font-size:calc(min(140cqh,96cqw) * var(--glyph-scale))}.hero-name .t:nth-child(4) i{font-size:calc(min(210cqh,122cqw) * var(--glyph-scale))}.hero-name .t:nth-child(7) i{font-size:calc(min(185cqh,112cqw) * var(--glyph-scale))}.hero-name .t:nth-child(1) i{transform-origin:left center}.hero-name .t:nth-child(7) i{transform-origin:left center}.hero-name .t:nth-child(3) i{transform-origin:right center}.hero-name .t:nth-child(9) i{transform-origin:right center}.hero-name .t:nth-child(1){--dy: 5cqh;justify-content:flex-start}.hero-name .t:nth-child(2){--dy: -5cqh;justify-content:center}.hero-name .t:nth-child(3){--dy: 4cqh;justify-content:flex-end}.hero-name .t:nth-child(4){justify-content:center}.hero-name .t:nth-child(5){--dy: 4cqh;justify-content:center}.hero-name .t:nth-child(6){justify-content:center}.hero-name .t:nth-child(7){--dy: -4cqh;justify-content:flex-start}.hero-name .t:nth-child(8){--dy: 3cqh;justify-content:center}.hero-name .t:nth-child(9){--dy: 5cqh;justify-content:flex-end}.hero-name.typing .t{opacity:0;transform:translateY(14px) scale(.94);animation:tile-in .5s cubic-bezier(.2,.7,.2,1) both}.hero-name.typing .t:nth-child(1){animation-delay:.5s}.hero-name.typing .t:nth-child(2){animation-delay:.56s}.hero-name.typing .t:nth-child(3){animation-delay:.62s}.hero-name.typing .t:nth-child(4){animation-delay:.68s}.hero-name.typing .t:nth-child(5){animation-delay:.74s}.hero-name.typing .t:nth-child(6){animation-delay:.8s}.hero-name.typing .t:nth-child(7){animation-delay:.86s}.hero-name.typing .t:nth-child(8){animation-delay:.92s}.hero-name.typing .t:nth-child(9){animation-delay:.98s}@keyframes tile-in{to{opacity:1;transform:none}}.panel-layer{position:fixed;left:0;right:0;top:var(--horizon);bottom:0;z-index:4;pointer-events:none}.panel{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;background:var(--bg);border-top:2.4px solid var(--mark);padding:20px 32px 40px;pointer-events:auto;outline:none}.panel[hidden]{display:none}.panel-close{position:sticky;top:0;float:right;z-index:1;background:none;border:none;color:var(--fg);font:inherit;font-size:14px;cursor:pointer;opacity:.7}.panel-close:hover,.panel-close:focus-visible{opacity:1}.panel-body{clear:none;max-width:1100px;display:grid;row-gap:5vh;padding-top:8px}.block{max-width:46ch}.block p{font-size:26px;line-height:1.35;font-weight:700;color:#8a8a8a}.work-row{display:flex;gap:24px;align-items:flex-start}.work-row .thumb{flex:0 0 180px;height:120px;background:#ececec;border-radius:2px}.work-row p{font-size:26px;line-height:1.35;font-weight:700;color:#8a8a8a;max-width:60ch}.model-gallery{display:flex;flex-wrap:wrap;gap:32px}.model-slot{margin:0;width:min(380px,100%)}.model-canvas{display:block;width:100%;height:min(46vh,400px);opacity:0;touch-action:none;user-select:none;transition:opacity .35s ease}.model-canvas.is-loaded{opacity:1;cursor:grab}.model-canvas.is-loaded.is-dragging{cursor:grabbing}.model-slot figcaption{margin-top:8px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#999}.panel--contact{padding:0;background:var(--accent)}.panel--contact .panel-close{color:#fff;margin:20px 32px 0 0}.footer-block{min-height:100%;padding:28px 24px 24px;display:grid;grid-template-rows:auto 1fr auto;gap:32px;background:var(--accent);color:#fff;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.footer-top{justify-self:center;text-align:center;line-height:1.15}.footer-brand{font-size:clamp(18px,1.2vw,22px);font-weight:400}.footer-subtitle{font-size:clamp(18px,1.2vw,22px);font-weight:300}.footer-block .tagline{align-self:center;justify-self:center;text-align:center;font-size:clamp(38px,5vw,90px);font-weight:300;line-height:.95;letter-spacing:0}.footer-bottom{display:grid;grid-template-columns:minmax(0,300px) 1fr minmax(0,300px);align-items:end;gap:24px}.footer-preview{width:min(276px,100%);aspect-ratio:16 / 9;object-fit:cover;object-position:left top;border-radius:6px}.footer-legal{justify-self:center;text-align:center;font-size:clamp(18px,1.15vw,22px);font-weight:300;line-height:1.25}.footer-colophon{justify-self:end;color:#fff;font-size:clamp(18px,1.15vw,22px);font-weight:300;line-height:1;text-decoration:underline;text-underline-offset:3px}@media(prefers-reduced-motion:reduce){.layer,.radiant-mark line,.model-canvas{transition:none}.hero-name.typing .t{animation:none;opacity:1;transform:none}}@media(max-width:640px){.hero-name{top:12px;left:12px;height:calc(50vw * var(--box-scale) * .55)}.logo-stack{top:50%;left:50%;transform:translate(-50%,-50%)}.corner-guy{width:60px}.top-nav{left:auto;transform:none;right:88px}.top-nav button{font-size:18px}.panel{padding:16px 18px 28px}.block,.work-row p{max-width:none}.work-row{flex-direction:column;gap:12px}.work-row .thumb{flex-basis:auto;width:100%;height:140px}.footer-block{padding:20px 18px 18px;gap:24px}.footer-block .tagline{font-size:clamp(34px,10vw,60px)}.footer-bottom{grid-template-columns:1fr;align-items:start}.footer-legal{justify-self:start;text-align:left}.footer-colophon{justify-self:start}}
