:root{--white:#fff;--ink:#1c1c1c;--grey:#606061;--teal:#55bcb1;--bronze:#db6d32;--line:#e7e7e7;--soft:#f6f6f6;--max:1120px;--pad:clamp(1.25rem, 4vw, 2.5rem)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:Inter,sans-serif;font-optical-sizing:auto;font-weight:400;font-size:1.0625rem;line-height:1.6;letter-spacing:-.02em}img{max-width:100%;display:block}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em;transition:color .35s ease}a:hover{color:var(--teal)}a:focus-visible,button:focus-visible{outline:2px solid var(--teal);outline-offset:3px}h1,h2,h3{font-weight:760;letter-spacing:-.045em;line-height:1.05;margin:0}p{margin:0}.skip{position:absolute;left:1rem;top:-3rem;background:var(--ink);color:var(--white);padding:.5rem .75rem;z-index:5}.skip:focus{top:1rem}.page,.site-footer,.site-header{width:min(var(--max),calc(100% - var(--pad)*2));margin-inline:auto}.site-header{justify-content:space-between;gap:1.5rem;padding:1.25rem 0}.brand,.site-header{display:flex;align-items:center}.brand{gap:.75rem;text-decoration:none;color:var(--ink)}.brand img{width:2.25rem;height:2.25rem;transition:transform .6s cubic-bezier(.22,1,.36,1)}.brand:hover img{transform:scale(1.06)}.brand span{font-weight:650;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}.nav{display:flex;gap:1.25rem;font-size:.95rem}.nav a{position:relative;text-decoration:none;color:var(--grey)}.nav a:after{content:"";position:absolute;left:0;bottom:-.35rem;width:100%;height:1px;background:var(--teal);transform:scaleX(0);transform-origin:left center;transition:transform .45s cubic-bezier(.22,1,.36,1)}.nav a.router-link-active,.nav a:hover{color:var(--ink)}.nav a.router-link-active:after,.nav a:hover:after{transform:scaleX(1)}.nav a.router-link-active:after{background:var(--bronze)}.page{padding-bottom:5rem}.hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(1.5rem,4vw,3rem);align-items:center;padding:1.5rem 0 3rem}.kicker{color:var(--grey);font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1rem}.hero h1{font-size:clamp(2.6rem,6vw,4.6rem);max-width:11ch}.lede{margin-top:1.25rem;max-width:38rem;color:var(--grey);font-weight:400}.marks{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;list-style:none;padding:0;margin:1.75rem 0 0;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase}.marks li{display:flex;align-items:center;gap:.5rem}.dot{width:.65rem;height:.65rem;border-radius:50%;background:var(--teal);flex:none}.dot.bronze{background:var(--bronze)}.dot.grey{background:var(--grey)}.back,.section-head a,.text-link,address a{text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:background-size .45s cubic-bezier(.22,1,.36,1),color .35s ease}.back:hover,.section-head a:hover,.text-link:hover,address a:hover{background-size:100% 1px}.text-link{display:inline-flex;margin-top:2rem;font-weight:650;letter-spacing:-.02em;color:var(--ink)}.stage{height:360px;background:transparent}.stage canvas{display:block;width:100%!important;height:100%!important}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:1rem 0 1.5rem;padding-top:1rem;border-top:1px solid var(--line)}.section-head h2{font-size:clamp(1.6rem,3vw,2.2rem)}.section-head a{color:var(--grey);font-size:.95rem}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 1.25rem}.card{text-decoration:none;color:inherit}.card figure,.frame,.process figure{margin:0;overflow:hidden;background:var(--soft)}.card img,.frame img,.process img{transition:transform .8s cubic-bezier(.22,1,.36,1)}.card:hover img,.frame:hover img,.process figure:hover img{transform:scale(1.035)}.card img{width:100%;aspect-ratio:4/5;-o-object-fit:cover;object-fit:cover}.card h3,.card p{transition:color .4s ease}.brand:hover,.card:hover,.card:hover h3,.card:hover p{color:var(--ink)}.card h3{margin-top:.75rem;font-size:1.15rem}.card p,.meta{color:var(--grey);font-size:.92rem}.piece{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);gap:2rem;align-items:start;padding-top:1rem}.frame{margin-top:.75rem}.frame:first-of-type{margin-top:0}.frame img{width:100%}.piece h1{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:.75rem}.back{display:inline-block;margin-bottom:1.5rem;color:var(--grey);font-size:.92rem}.stack{display:grid;gap:2.5rem;padding-top:1.5rem}.stack h1{font-size:clamp(2.4rem,5vw,4rem);max-width:14ch}.prose{max-width:42rem;display:grid;gap:1rem;color:var(--ink)}.prose p{color:var(--grey)}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 2rem}.panel h3{font-size:1.2rem;margin-bottom:.35rem}.panel p{color:var(--grey)}.process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.process img{width:100%;aspect-ratio:4/5;-o-object-fit:cover;object-fit:cover;background:var(--soft)}.process figcaption{margin-top:.5rem;color:var(--grey);font-size:.9rem}.contact-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2.5rem;padding-top:1.5rem}.contact-grid h1{font-size:clamp(2.4rem,5vw,4rem)}address{font-style:normal;color:var(--grey);margin-top:1.25rem;display:grid;gap:.35rem}form{gap:.9rem}form,label{display:grid}label{gap:.35rem;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--grey)}input,textarea{font:inherit;letter-spacing:-.02em;text-transform:none;color:var(--ink);border:1px solid var(--line);background:var(--white);padding:.75rem .85rem;border-radius:0;transition:border-color .35s ease}input:hover,textarea:hover{border-color:#c8c8c8}textarea{min-height:9rem;resize:vertical}input:focus,textarea:focus{outline:2px solid var(--teal);border-color:transparent}button{justify-self:start;font:inherit;font-weight:650;letter-spacing:-.02em;background:var(--ink);color:var(--white);border:0;padding:.8rem 1.2rem;cursor:pointer;transition:background .35s ease,color .35s ease,transform .35s ease}button:hover{background:var(--teal);color:var(--ink)}button:active{transform:translateY(1px)}button:disabled{cursor:progress;opacity:.7}.note{color:var(--teal);font-size:.95rem}.honeypot{position:absolute;left:-9999px}.site-footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.5rem 0 2rem;border-top:1px solid var(--line);color:var(--grey);font-size:.88rem}.settle-enter-active,.settle-leave-active{transition:opacity .4s ease,transform .4s ease}.settle-enter-from{opacity:0;transform:translateY(8px)}.settle-leave-to{opacity:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.settle-enter-from,.settle-leave-to{transform:none}}@media(max-width:860px){.site-header{flex-direction:column;align-items:flex-start}.contact-grid,.grid,.hero,.piece,.process,.split{grid-template-columns:1fr}.hero{min-height:0}.stage{height:260px}}
