@font-face{font-family:Manrope;src:url('assets/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--paper:#f7f3ef;--ink:#222228;--muted:#68616a;--violet:#6e5a88;--line:#b8adb740;--header-height:90px;color-scheme:light;font-family:Manrope,system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 20px)}body{margin:0;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.7}h1,h2,h3,p{margin-top:0;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--violet);outline-offset:6px}button:disabled{cursor:default}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link{position:fixed;top:-100px;left:20px;z-index:50;padding:12px 18px;background:var(--ink);color:var(--paper)}.skip-link:focus{top:16px}
.site-header{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 30px;padding:20px 4.8vw;background:#f7f3efed;border-bottom:1px solid transparent}.site-header.scrolled{border-color:var(--line);box-shadow:0 3px 25px #3c284607}.identity{display:flex;align-items:center;gap:14px;min-height:44px;font-size:1.2rem;letter-spacing:-.045em}.identity svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:8;stroke-linecap:square}.site-header nav{display:flex;align-items:center;gap:36px;flex-wrap:wrap}.site-header nav a{display:flex;align-items:center;min-height:44px;font-size:1rem}.site-header nav a:hover{color:var(--violet)}.motion-button{padding:8px 14px;background:transparent;border:1px solid #84758d66;border-radius:30px;font-size:1rem;min-height:44px;min-width:8.6rem;max-width:100%}.motion-button:hover{background:#eae1ed}.motion-button:disabled{border-color:#c1b4c7;color:#685970}.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;padding:calc(var(--header-height) + 10px) 4.8vw 0;background:radial-gradient(ellipse at 60% 37%,#e9e2ed3d,transparent 62%)}.sculpture{position:relative;width:min(1240px,100%);height:clamp(180px,28.5vw,405px);pointer-events:none}.sculpture-poster,.sculpture canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.sculpture-poster{object-fit:contain;z-index:0}.sculpture canvas{opacity:0;z-index:1}.sculpture.is-ready canvas{opacity:1}.sculpture.is-ready .sculpture-poster{visibility:hidden}.hero-copy{text-align:center;max-width:58rem;position:relative;z-index:2}.hero h1{font-size:clamp(3.4rem,6.8vw,6.125rem);line-height:.98;letter-spacing:-.065em;font-weight:400;margin:12px 0 24px}.hero-copy>p{font-size:clamp(1.1rem,1.5vw,1.5rem);line-height:1.6;margin:0;color:#39363e}.hero-actions{display:flex;flex-wrap:wrap;gap:26px 40px;align-items:center;justify-content:center;margin-top:28px}.primary-link{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:12px 34px;border:1px solid var(--ink);border-radius:32px;background:var(--ink);color:var(--paper);font-size:1rem;transition:background .25s,box-shadow .25s}.primary-link:hover{background:#51425f;box-shadow:0 8px 24px #4a31541a}.text-link{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid #3e334466;font-size:1rem}.text-link:hover{color:var(--violet);border-color:var(--violet)}.hero-bottom{display:flex;width:100%;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-top:auto;padding:36px 0 22px;font-size:1rem;color:var(--muted)}.hero-bottom a{display:flex;align-items:center;min-height:44px;color:var(--ink)}
.section-shell{width:min(1320px,100%);margin-inline:auto;padding-inline:7vw}.services{padding-block:115px 100px}.section-kicker{font-size:1rem;color:var(--muted);margin-bottom:28px}.section-lead{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:7vw;margin-bottom:65px}.section-lead h2,.contact h2{font-size:clamp(2.5rem,4.1vw,4.5rem);font-weight:400;line-height:1.13;letter-spacing:-.055em;margin-bottom:0}.section-lead p{font-size:1.12rem;line-height:1.9;color:var(--muted);max-width:30rem;margin-bottom:0}.service-row{display:grid;grid-template-columns:1fr 1.3fr;gap:8vw;padding:32px 0;border-top:1px solid var(--line)}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row h3{font-size:2rem;font-weight:400;line-height:1.3;letter-spacing:-.035em;margin-bottom:0}.service-row p{font-size:1.08rem;line-height:1.85;max-width:37rem;margin-bottom:13px}.service-row span{font-size:1rem;color:var(--muted)}.scope-note{max-width:52rem;font-size:1rem;color:var(--muted);margin:32px 0 0}.work-section{padding-block:55px 95px;background:linear-gradient(180deg,transparent,#ece5f050 34%,transparent 95%)}.work-heading .section-lead{margin-bottom:20px}.work-stage{position:relative;height:460px;width:100%;overflow:clip}.work-orbit{position:absolute;inset:0;z-index:2}.work-tile{position:absolute;left:50%;top:40px;width:320px;aspect-ratio:1.42;will-change:transform,opacity;border:1px solid #ffffffa3;border-radius:14px;overflow:hidden;box-shadow:0 20px 48px #39294021;background:#efe8f0;transform-origin:50% 60%;transition:box-shadow .3s;pointer-events:auto}.work-tile img{display:block;width:100%;height:100%;object-fit:cover}.work-tile:hover{box-shadow:0 28px 60px #39294030}.gallery-halo{position:absolute;inset:30px 8% 10px;border-radius:50%;background:radial-gradient(ellipse,#cbb7d637,transparent 66%);filter:blur(16px);pointer-events:none}.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:1rem}.gallery-controls>div{display:flex;gap:12px;flex-wrap:wrap}.gallery-controls button{padding:9px 16px;min-height:44px;border:1px solid #a492ae6e;border-radius:28px;background:transparent;font-size:1rem;transition:background .2s}.gallery-controls button:hover{background:#e9dfee}.work-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:45px;border-top:1px solid var(--line)}.work-index>a{padding-block:28px;min-width:0;transition:color .2s}.work-index>a:hover{color:var(--violet)}.work-index span{display:block;font-size:1rem;line-height:1.6;color:var(--muted);margin-bottom:18px}.work-index h3{font-size:2rem;font-weight:400;letter-spacing:-.04em;line-height:1.2;margin-bottom:14px}.work-index p{font-size:1rem;color:var(--muted);line-height:1.8;max-width:24rem;margin-bottom:20px}.work-index strong{font-size:1rem;font-weight:500;border-bottom:1px solid #9d86a366;padding-bottom:5px;line-height:1.8}.collection-note{font-size:1rem;color:var(--muted);margin-top:34px;margin-bottom:0;max-width:68rem}.contact{padding-block:110px 80px;border-top:1px solid var(--line)}.contact h2{font-size:clamp(3rem,5.5vw,5.5rem);margin-bottom:30px;max-width:46rem}.contact>p:not(.contact-hint){font-size:1.1rem;line-height:1.9;max-width:38rem;color:var(--muted)}.contact-email{display:inline-flex;align-items:center;min-height:52px;font-size:clamp(1rem,2.1vw,1.75rem);border-bottom:1px solid #a392af;overflow-wrap:anywhere;max-width:100%;margin-top:15px;line-height:1.6}.contact-email:hover{color:var(--violet)}.contact-hint{font-size:1rem;color:var(--muted);max-width:39rem;margin-top:25px}.site-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;padding-block:30px;font-size:1rem;color:var(--muted);border-top:1px solid var(--line)}
.reveal{opacity:1;transform:none}body[data-motion-paused="true"] .reveal{opacity:1;transform:none;transition:none}
.site-footer{align-items:center}.site-footer .motion-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;color:var(--ink);border-color:#8d749b}.site-footer .motion-button[aria-pressed="true"]{background:#eae1ed}.motion-state[hidden]{display:none}body[data-motion-paused="true"] *,body[data-motion-paused="true"] *::before,body[data-motion-paused="true"] *::after{animation:none!important;transition:none!important}body[data-motion-paused="true"]{scroll-behavior:auto}html:has(body[data-motion-paused="true"]){scroll-behavior:auto}
@media(max-width:900px){.site-header{gap:16px 24px}.site-header nav{gap:25px}.section-shell{padding-inline:6vw}.section-lead{gap:40px}.work-tile{width:280px}}
@media(max-width:700px){.site-header{padding:14px 20px;gap:10px 16px}.identity{font-size:1.05rem;gap:10px}.identity svg{width:27px;height:27px}.motion-button{order:initial;min-width:8rem;padding:8px 12px}.site-header nav{flex-basis:100%;justify-content:space-between;gap:10px 18px}.hero{padding-inline:24px;padding-top:calc(var(--header-height) + 12px)}.sculpture{height:190px;width:calc(100% + 20px);max-width:100vw}.hero h1{font-size:clamp(2.9rem,11.3vw,4rem);line-height:1.02;letter-spacing:-.06em;margin-top:2px;margin-bottom:22px}.hero-copy>p{font-size:1.08rem;max-width:25rem}.hero-actions{gap:14px 26px;margin-top:25px}.primary-link{padding:12px 26px}.hero-bottom{font-size:1rem;padding-top:32px}.hero-bottom>span{max-width:13rem}.section-shell{padding-inline:24px}.services{padding-block:75px 55px}.section-lead{display:block;margin-bottom:35px}.section-lead h2{font-size:2.6rem}.section-lead p{font-size:1rem;max-width:30rem;margin-top:25px}.section-kicker{margin-bottom:24px}.service-row{display:block;padding:27px 0}.service-row h3{font-size:1.8rem;margin-bottom:16px}.service-row p{font-size:1rem}.scope-note{margin-top:28px}.work-section{padding-top:35px;padding-bottom:65px}.work-stage{height:335px}.work-tile{width:230px;top:35px;border-radius:11px}.gallery-halo{inset:5px 0 0}.gallery-controls{align-items:flex-start;gap:16px}.gallery-controls>div{gap:10px}.gallery-controls button{padding:9px 12px}.work-index{display:block;margin-top:30px}.work-index>a{display:block;border-bottom:1px solid var(--line);padding:26px 0}.work-index h3{font-size:1.8rem}.work-index span{margin-bottom:12px}.work-index p{max-width:none;margin-bottom:17px}.collection-note{margin-top:24px}.contact{padding-top:75px;padding-bottom:60px}.contact h2{font-size:3rem}.contact>p:not(.contact-hint){font-size:1rem}.contact-email{font-size:1.07rem}.site-footer{padding-block:25px;gap:10px 20px}}
@media(max-width:360px){.identity{font-size:1rem}.motion-button{min-width:7.8rem}.hero h1{font-size:2.8rem}.sculpture{height:175px}.hero-bottom{display:block}.hero-bottom>span{max-width:none}.hero-bottom a{margin-top:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.enhanced-motion .reveal{opacity:1;transform:none}}
