:root{--font-display:"Fraunces","Cormorant Garamond",serif;--font-italic:"Instrument Serif","Fraunces",serif;--font-body:"Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--motion:1;--page-pad:clamp(20px,4vw,56px);--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1)}html[data-dir=a]{--bg:#f3ede1;--bg-soft:#eae1d1;--bg-deep:#e2d6bf;--ink:#1a1612;--ink-soft:#3b342c;--ink-mute:#6b5f4f;--rule:#c8ba9f;--accent:var(--tweak-accent,#8a3a1f);--paper-noise:0.35;--hero-filter:sepia(0.28) contrast(1.05) brightness(0.97)}html[data-dir=b]{--bg:#f7f1ea;--bg-soft:#f0e6da;--bg-deep:#e8dcce;--ink:#20241f;--ink-soft:#3a4039;--ink-mute:#70756b;--rule:#d8cfc2;--accent:var(--tweak-accent,#5b6b4a);--paper-noise:0.15;--hero-filter:saturate(0.95) contrast(1) brightness(1)}html[data-dark="1"]{--bg:#121010;--bg-soft:#1a1815;--bg-deep:#241f19;--ink:#f3ede1;--ink-soft:#d9cfbd;--ink-mute:#9a8e7a;--rule:#3a342a}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--ink);transition:background .8s cubic-bezier(.4,0,.2,1),color .8s cubic-bezier(.4,0,.2,1)}body{-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,sans-serif;font-family:var(--font-body);font-size:16px;line-height:1.55;overflow-x:hidden}.scroll-progress{background:var(--accent);box-shadow:0 0 12px color-mix(in oklab,var(--accent) 60%,transparent);height:2px;left:0;mix-blend-mode:multiply;position:fixed;top:0;transition:background .8s cubic-bezier(.4,0,.2,1);width:0;z-index:9998}html[data-dark="1"] .scroll-progress{mix-blend-mode:screen}body:after{background-image:radial-gradient(rgba(20,15,8,.06) 1px,transparent 0),radial-gradient(rgba(20,15,8,.04) 1px,transparent 0);background-position:0 0,1px 2px;background-size:3px 3px,7px 7px;content:"";inset:0;mix-blend-mode:multiply;opacity:var(--paper-noise);pointer-events:none;position:fixed;z-index:1}html[data-dark="1"] body:after{mix-blend-mode:screen;opacity:.25}section{transition:background .8s cubic-bezier(.4,0,.2,1),border-color .8s cubic-bezier(.4,0,.2,1)}.nav,.nav.scrolled{transition:background .6s cubic-bezier(.4,0,.2,1),color .6s cubic-bezier(.4,0,.2,1),box-shadow .3s,border-color .6s,-webkit-backdrop-filter .6s;transition:background .6s cubic-bezier(.4,0,.2,1),color .6s cubic-bezier(.4,0,.2,1),backdrop-filter .6s,box-shadow .3s,border-color .6s;transition:background .6s cubic-bezier(.4,0,.2,1),color .6s cubic-bezier(.4,0,.2,1),backdrop-filter .6s,box-shadow .3s,border-color .6s,-webkit-backdrop-filter .6s}img{display:block;max-width:100%}a{text-decoration:none}a,button{color:inherit}button{background:none;border:none;cursor:pointer;font:inherit}.nav{align-items:center;border-bottom:1px solid transparent;display:flex;justify-content:space-between;left:0;padding:18px clamp(20px,4vw,56px);padding:18px var(--page-pad);position:fixed;right:0;top:0;transition:background .4s cubic-bezier(.22,1,.36,1),border-color .4s;transition:background .4s var(--ease-out),border-color .4s;z-index:100}.nav.scrolled{backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);background:color-mix(in oklab,var(--bg) 88%,transparent);border-bottom-color:var(--rule)}.nav-brand{align-items:center;display:flex;gap:14px}.nav-logo{filter:brightness(0)!important;-webkit-filter:brightness(0)!important;flex-shrink:0;height:38px;object-fit:contain;width:38px}.nav-wordmark{line-height:1}.nav-prefix{color:var(--ink-mute);font-family:"Instrument Serif",Fraunces,serif;font-family:var(--font-italic);font-size:12px;font-style:italic;letter-spacing:.02em}.nav-title{display:block;font-family:Fraunces,Cormorant Garamond,serif;font-family:var(--font-display);font-size:17px;font-weight:500;letter-spacing:.08em;margin-top:2px}.nav-links{align-items:center;display:flex;gap:32px}.nav-link{color:var(--ink-soft);font-size:12px;font-weight:500;letter-spacing:.12em;padding:4px 0;position:relative;text-transform:uppercase;transition:color .2s}.nav-link:after{background:var(--accent);bottom:0;content:"";height:1px;left:0;position:absolute;right:100%;transition:right .35s cubic-bezier(.22,1,.36,1);transition:right .35s var(--ease-out)}.nav-link:hover{color:var(--ink)}.nav-link.active:after,.nav-link:hover:after{right:0}.nav-cta{border:1px solid var(--ink);border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.14em;padding:10px 20px;text-transform:uppercase;transition:background .3s,color .3s}.nav-cta:hover{background:var(--ink);color:var(--bg)}.intro{align-items:center;background:var(--bg);display:flex;flex-direction:column;inset:0;justify-content:center;overflow:hidden;position:fixed;transition:opacity 1.2s cubic-bezier(.22,1,.36,1);transition:opacity 1.2s var(--ease-out);will-change:opacity,transform;z-index:9999}.intro.gone{opacity:0;pointer-events:none}.intro.gone .intro-a-photo{-webkit-transform:scale(1.04);transform:scale(1.04);transition:-webkit-transform 1.3s cubic-bezier(.22,1,.36,1);transition:transform 1.3s cubic-bezier(.22,1,.36,1);transition:transform 1.3s cubic-bezier(.22,1,.36,1),-webkit-transform 1.3s cubic-bezier(.22,1,.36,1);transition:-webkit-transform 1.3s var(--ease-out);transition:transform 1.3s var(--ease-out);transition:transform 1.3s var(--ease-out),-webkit-transform 1.3s var(--ease-out)}.intro-a{align-items:center;display:flex;flex-direction:column;gap:36px;height:100%;justify-content:center;padding:40px 24px;position:relative;width:100%}.intro-a-photo{aspect-ratio:16/10;background:var(--bg-soft);border:1px solid var(--rule);flex-shrink:0;overflow:hidden;position:relative;width:min(56vw,560px)}.intro-a-photo canvas{height:100%;inset:0;position:absolute;width:100%}.intro-a-title{margin:0;position:static;text-align:center}.intro-a-prefix{-webkit-animation:introFadeUp .8s cubic-bezier(.22,1,.36,1) .2s forwards;animation:introFadeUp .8s cubic-bezier(.22,1,.36,1) .2s forwards;-webkit-animation:introFadeUp .8s var(--ease-out) .2s forwards;animation:introFadeUp .8s var(--ease-out) .2s forwards;color:var(--ink-mute);font-family:"Instrument Serif",Fraunces,serif;font-family:var(--font-italic);font-size:16px;font-style:italic;margin-bottom:4px;opacity:0}.intro-a-word{color:var(--ink);display:block;font-family:Fraunces,Cormorant Garamond,serif;font-family:var(--font-display);font-size:clamp(32px,5vw,64px);font-weight:300;letter-spacing:.06em;line-height:1.02;overflow:hidden}.intro-a-word span{-webkit-animation:introLetterUp 1.1s cubic-bezier(.22,1,.36,1) forwards;animation:introLetterUp 1.1s cubic-bezier(.22,1,.36,1) forwards;-webkit-animation:introLetterUp 1.1s var(--ease-out) forwards;animation:introLetterUp 1.1s var(--ease-out) forwards;display:inline-block;opacity:0;-webkit-transform:translateY(110%);transform:translateY(110%);will-change:transform,opacity}@-webkit-keyframes introLetterUp{0%{opacity:0;-webkit-transform:translateY(110%);transform:translateY(110%)}60%{opacity:1}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes introLetterUp{0%{opacity:0;-webkit-transform:translateY(110%);transform:translateY(110%)}60%{opacity:1}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.intro-a-counter{-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:color-mix(in oklab,var(--bg) 80%,transparent);bottom:10px;color:var(--accent);font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;left:50%;letter-spacing:.3em;padding:4px 10px;position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.intro-a-caption{display:none}.intro-a-bar{background:var(--rule);height:1px;overflow:hidden;position:relative;width:min(56vw,560px)}.intro-a-bar:after{-webkit-animation:introBar 3.4s cubic-bezier(.16,1,.3,1) .2s forwards;animation:introBar 3.4s cubic-bezier(.16,1,.3,1) .2s forwards;background:var(--accent);bottom:0;content:"";left:0;position:absolute;top:0;width:0}@-webkit-keyframes introBar{to{width:100%}}@keyframes introBar{to{width:100%}}@-webkit-keyframes introFadeUp{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes introFadeUp{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.intro-b-curtain{display:flex;inset:0;position:absolute}.intro-b-half{background:var(--bg-deep);flex:1 1;position:relative;transition:-webkit-transform 1.1s cubic-bezier(.65,0,.35,1);transition:transform 1.1s cubic-bezier(.65,0,.35,1);transition:transform 1.1s cubic-bezier(.65,0,.35,1),-webkit-transform 1.1s cubic-bezier(.65,0,.35,1);transition:-webkit-transform 1.1s var(--ease-in-out);transition:transform 1.1s var(--ease-in-out);transition:transform 1.1s var(--ease-in-out),-webkit-transform 1.1s var(--ease-in-out)}.intro-b-half.bot,.intro-b-half.top{-webkit-transform:translateY(0);transform:translateY(0)}.intro.gone .intro-b-half.top{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.intro.gone .intro-b-half.bot{-webkit-transform:translateY(100%);transform:translateY(100%)}.intro-b-center{display:grid;inset:0;place-items:center;position:absolute;text-align:center}.intro-b-logo{-webkit-animation:introLogo 1.2s cubic-bezier(.22,1,.36,1) .2s forwards;animation:introLogo 1.2s cubic-bezier(.22,1,.36,1) .2s forwards;-webkit-animation:introLogo 1.2s var(--ease-out) .2s forwards;animation:introLogo 1.2s var(--ease-out) .2s forwards;-webkit-filter:brightness(0);filter:brightness(0);height:80px;object-fit:contain;opacity:0;-webkit-transform:scale(.85);transform:scale(.85);width:80px}html[data-dark="1"] .intro-b-logo{-webkit-filter:brightness(0) invert(1);filter:brightness(0) invert(1)}.intro-b-title{-webkit-animation:introFadeUp .9s cubic-bezier(.22,1,.36,1) .9s forwards;animation:introFadeUp .9s cubic-bezier(.22,1,.36,1) .9s forwards;-webkit-animation:introFadeUp .9s var(--ease-out) .9s forwards;animation:introFadeUp .9s var(--ease-out) .9s forwards;font-family:Fraunces,Cormorant Garamond,serif;font-family:var(--font-display);font-size:clamp(28px,4.5vw,56px);font-weight:300;letter-spacing:.12em;margin-top:22px;opacity:0}.intro-b-prefix{-webkit-animation:introFadeUp .9s cubic-bezier(.22,1,.36,1) .7s forwards;animation:introFadeUp .9s cubic-bezier(.22,1,.36,1) .7s forwards;-webkit-animation:introFadeUp .9s var(--ease-out) .7s forwards;animation:introFadeUp .9s var(--ease-out) .7s forwards;color:var(--ink-mute);display:block;font-family:"Instrument Serif",Fraunces,serif;font-family:var(--font-italic);font-size:16px;font-style:italic;opacity:0}.intro-b-rule{-webkit-animation:introRule 1.1s cubic-bezier(.22,1,.36,1) 1.4s forwards;animation:introRule 1.1s cubic-bezier(.22,1,.36,1) 1.4s forwards;-webkit-animation:introRule 1.1s var(--ease-out) 1.4s forwards;animation:introRule 1.1s var(--ease-out) 1.4s forwards;background:var(--accent);height:1px;margin:18px auto 0;width:0}@-webkit-keyframes introLogo{to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes introLogo{to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes introRule{to{width:120px}}@keyframes introRule{to{width:120px}}section{position:relative;z-index:2}.section-eyebrow{align-items:center;color:var(--ink-mute);display:inline-flex;font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:11px;gap:12px;letter-spacing:.28em;text-transform:uppercase}.section-eyebrow:before{background:var(--accent);content:"";height:1px;width:28px}.section-title{font-family:Fraunces,Cormorant Garamond,serif;font-family:var(--font-display);font-size:clamp(36px,6vw,84px);font-weight:300;letter-spacing:-.01em;line-height:1;margin-top:20px}html[data-dir=a] .section-title{font-weight:400}[data-reveal]{opacity:0;-webkit-transform:translateY(24px);transform:translateY(24px);transition:opacity .9s cubic-bezier(.22,1,.36,1),-webkit-transform .9s cubic-bezier(.22,1,.36,1);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),-webkit-transform .9s cubic-bezier(.22,1,.36,1);transition:opacity calc(.9s*var(--motion)) var(--ease-out),-webkit-transform calc(.9s*var(--motion)) var(--ease-out);transition:opacity calc(.9s*var(--motion)) var(--ease-out),transform calc(.9s*var(--motion)) var(--ease-out);transition:opacity calc(.9s*var(--motion)) var(--ease-out),transform calc(.9s*var(--motion)) var(--ease-out),-webkit-transform calc(.9s*var(--motion)) var(--ease-out);transition-delay:0s;transition-delay:var(--d,0s)}[data-reveal].in{opacity:1}[data-reveal=fade],[data-reveal].in{-webkit-transform:none;transform:none}[data-reveal=fade]{opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1);transition:opacity calc(.9s*var(--motion)) var(--ease-out);transition-delay:0s;transition-delay:var(--d,0s)}[data-reveal=fade].in{opacity:1}[data-reveal=words] .w{display:inline-block;opacity:0;-webkit-transform:translateY(.6em);transform:translateY(.6em);transition:opacity .7s cubic-bezier(.22,1,.36,1),-webkit-transform .7s cubic-bezier(.22,1,.36,1);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1),-webkit-transform .7s cubic-bezier(.22,1,.36,1);transition:opacity calc(.7s*var(--motion)) var(--ease-out),-webkit-transform calc(.7s*var(--motion)) var(--ease-out);transition:opacity calc(.7s*var(--motion)) var(--ease-out),transform calc(.7s*var(--motion)) var(--ease-out);transition:opacity calc(.7s*var(--motion)) var(--ease-out),transform calc(.7s*var(--motion)) var(--ease-out),-webkit-transform calc(.7s*var(--motion)) var(--ease-out);transition-delay:0s;transition-delay:calc(var(--wi, 0)*.04s)}[data-reveal=words].in .w,[data-reveal=words][data-reveal-mode=mask] .w{opacity:1;-webkit-transform:none;transform:none}[data-reveal=words][data-reveal-mode=mask] .w{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);transition:-webkit-clip-path .9s cubic-bezier(.77,0,.18,1);transition:clip-path .9s cubic-bezier(.77,0,.18,1);transition:clip-path .9s cubic-bezier(.77,0,.18,1),-webkit-clip-path .9s cubic-bezier(.77,0,.18,1);transition:-webkit-clip-path calc(.9s*var(--motion)) cubic-bezier(.77,0,.18,1);transition:clip-path calc(.9s*var(--motion)) cubic-bezier(.77,0,.18,1);transition:clip-path calc(.9s*var(--motion)) cubic-bezier(.77,0,.18,1),-webkit-clip-path calc(.9s*var(--motion)) cubic-bezier(.77,0,.18,1);transition-delay:0s;transition-delay:calc(var(--wi, 0)*.08s)}[data-reveal=words][data-reveal-mode=mask].in .w{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}[data-reveal=words][data-reveal-mode=blur] .w{-webkit-filter:blur(18px);filter:blur(18px);opacity:0;-webkit-transform:scale(1.08);transform:scale(1.08);transition:opacity .9s cubic-bezier(.22,1,.36,1),-webkit-filter 1.1s cubic-bezier(.22,1,.36,1),-webkit-transform 1.1s cubic-bezier(.22,1,.36,1);transition:opacity .9s cubic-bezier(.22,1,.36,1),filter 1.1s cubic-bezier(.22,1,.36,1),transform 1.1s cubic-bezier(.22,1,.36,1);transition:opacity .9s cubic-bezier(.22,1,.36,1),filter 1.1s cubic-bezier(.22,1,.36,1),transform 1.1s cubic-bezier(.22,1,.36,1),-webkit-filter 1.1s cubic-bezier(.22,1,.36,1),-webkit-transform 1.1s cubic-bezier(.22,1,.36,1);transition:opacity calc(.9s*var(--motion)) var(--ease-out),-webkit-filter calc(1.1s*var(--motion)) var(--ease-out),-webkit-transform calc(1.1s*var(--motion)) var(--ease-out);transition:opacity calc(.9s*var(--motion)) var(--ease-out),filter calc(1.1s*var(--motion)) var(--ease-out),transform calc(1.1s*var(--motion)) var(--ease-out);transition:opacity calc(.9s*var(--motion)) var(--ease-out),filter calc(1.1s*var(--motion)) var(--ease-out),transform calc(1.1s*var(--motion)) var(--ease-out),-webkit-filter calc(1.1s*var(--motion)) var(--ease-out),-webkit-transform calc(1.1s*var(--motion)) var(--ease-out);transition-delay:0s;transition-delay:calc(var(--wi, 0)*.06s)}[data-reveal=words][data-reveal-mode=blur].in .w{-webkit-filter:blur(0);filter:blur(0);opacity:1;-webkit-transform:scale(1);transform:scale(1)}[data-reveal=words][data-reveal-mode=drift] .w{opacity:1;-webkit-transform:none;transform:none}[data-reveal=words][data-reveal-mode=drift] .l{display:inline-block;opacity:0;-webkit-transform:translate3d(0,-8px,0) rotate(0deg);transform:translate3d(0,-8px,0) rotate(0deg);-webkit-transform:translate3d(calc((var(--rand, .5) - .5)*80px),calc((var(--rand, .5) - .3)*60px - 20px),0) rotate(calc((var(--rand, .5) - .5)*30deg));transform:translate3d(calc((var(--rand, .5) - .5)*80px),calc((var(--rand, .5) - .3)*60px - 20px),0) rotate(calc((var(--rand, .5) - .5)*30deg));transition:opacity .7s cubic-bezier(.22,1,.36,1),-webkit-transform .9s cubic-bezier(.16,1,.3,1);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.16,1,.3,1);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.16,1,.3,1),-webkit-transform .9s cubic-bezier(.16,1,.3,1);transition:opacity calc(.7s*var(--motion)) var(--ease-out),-webkit-transform calc(.9s*var(--motion)) cubic-bezier(.16,1,.3,1);transition:opacity calc(.7s*var(--motion)) var(--ease-out),transform calc(.9s*var(--motion)) cubic-bezier(.16,1,.3,1);transition:opacity calc(.7s*var(--motion)) var(--ease-out),transform calc(.9s*var(--motion)) cubic-bezier(.16,1,.3,1),-webkit-transform calc(.9s*var(--motion)) cubic-bezier(.16,1,.3,1);transition-delay:0s;transition-delay:calc(var(--wi, 0)*.04s + var(--li, 0)*18ms)}[data-reveal=words][data-reveal-mode=drift].in .l{opacity:1;-webkit-transform:translateZ(0) rotate(0deg);transform:translateZ(0) rotate(0deg)}[data-reveal=words][data-reveal-mode=slice] .w{opacity:1;-webkit-transform:none;transform:none}[data-reveal=words][data-reveal-mode=slice] .l{display:inline-block;opacity:0;-webkit-transform:translateY(1em) skewY(6deg);transform:translateY(1em) skewY(6deg);transition:opacity .7s cubic-bezier(.22,1,.36,1),-webkit-transform .9s cubic-bezier(.22,1,.36,1);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),-webkit-transform .9s cubic-bezier(.22,1,.36,1);transition:opacity calc(.7s*var(--motion)) var(--ease-out),-webkit-transform calc(.9s*var(--motion)) cubic-bezier(.22,1,.36,1);transition:opacity calc(.7s*var(--motion)) var(--ease-out),transform calc(.9s*var(--motion)) cubic-bezier(.22,1,.36,1);transition:opacity calc(.7s*var(--motion)) var(--ease-out),transform calc(.9s*var(--motion)) cubic-bezier(.22,1,.36,1),-webkit-transform calc(.9s*var(--motion)) cubic-bezier(.22,1,.36,1);transition-delay:0s;transition-delay:calc(var(--wi, 0)*.05s + var(--li, 0)*22ms)}[data-reveal=words][data-reveal-mode=slice].in .l{opacity:1;-webkit-transform:translateY(0) skewY(0deg);transform:translateY(0) skewY(0deg)}[data-reveal=words][data-reveal-mode=letters] .w{opacity:1;-webkit-transform:none;transform:none}[data-reveal=words][data-reveal-mode=letters] .l{display:inline-block;opacity:0;-webkit-transform:translateY(.7em);transform:translateY(.7em);transition:opacity .6s cubic-bezier(.22,1,.36,1),-webkit-transform .7s cubic-bezier(.22,1,.36,1);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1),-webkit-transform .7s cubic-bezier(.22,1,.36,1);transition:opacity calc(.6s*var(--motion)) var(--ease-out),-webkit-transform calc(.7s*var(--motion)) var(--ease-out);transition:opacity calc(.6s*var(--motion)) var(--ease-out),transform calc(.7s*var(--motion)) var(--ease-out);transition:opacity calc(.6s*var(--motion)) var(--ease-out),transform calc(.7s*var(--motion)) var(--ease-out),-webkit-transform calc(.7s*var(--motion)) var(--ease-out);transition-delay:0s;transition-delay:calc(var(--wi, 0)*.03s + var(--li, 0)*18ms)}[data-reveal=words][data-reveal-mode=letters].in .l{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}[data-reveal=words] em.reveal-em{color:var(--accent);font-family:"Instrument Serif",Fraunces,serif;font-family:var(--font-italic);font-style:italic}.hero{align-content:center;display:grid;grid-template-columns:1fr;min-height:100vh;padding:120px clamp(20px,4vw,56px) 80px;padding:120px var(--page-pad) 80px;position:relative}.hero-inner{grid-gap:clamp(24px,5vw,80px);align-items:end;display:grid;gap:clamp(24px,5vw,80px);grid-template-columns:1.1fr 1fr;margin:0 auto;max-width:1480px;width:100%}.hero-left h1{color:var(--ink);font-family:Fraunces,Cormorant Garamond,serif;font-family:var(--font-display);font-size:clamp(52px,9vw,148px);font-weight:300;letter-spacing:-.025em;line-height:.92}html[data-dir=a] .hero-left h1{font-weight:400}.hero-left h1 em{color:var(--accent);font-family:"Instrument Serif",Fraunces,serif;font-family:var(--font-italic);font-style:italic;font-weight:300}.hero-sub{color:var(--ink-soft);font-size:16px;line-height:1.65;margin-top:28px;max-width:480px}.hero-cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}.btn-ghost,.btn-primary{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;gap:10px;letter-spacing:.14em;padding:14px 24px;text-transform:uppercase;transition:background .3s,color .3s,-webkit-transform .3s;transition:transform .3s,background .3s,color .3s;transition:transform .3s,background .3s,color .3s,-webkit-transform .3s}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px)}.btn-ghost{border:1px solid var(--ink)}.btn-ghost:hover{background:var(--ink);color:var(--bg)}.btn-ghost .arrow,.btn-primary .arrow{transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.btn-ghost:hover .arrow,.btn-primary:hover .arrow{-webkit-transform:translateX(4px);transform:translateX(4px)}.hero-photo,.hero-right{position:relative}.hero-photo{aspect-ratio:4/5;background:var(--bg-soft);border:1px solid var(--rule);overflow:hidden}.hero-photo-img{-webkit-filter:var(--hero-filter);filter:var(--hero-filter);height:100%;inset:0;object-fit:cover;position:absolute;-webkit-transform:scale(1.05);transform:scale(1.05);-webkit-transform:scale(var(--hero-scale,1.05));transform:scale(var(--hero-scale,1.05));transition:-webkit-transform .1s linear;transition:transform .1s linear;transition:transform .1s linear,-webkit-transform .1s linear;width:100%}.hero-photo-dither{inset:0;mix-blend-mode:multiply;opacity:0;opacity:var(--dither-opacity,0);pointer-events:none;position:absolute;transition:opacity 1.4s cubic-bezier(.22,1,.36,1);transition:opacity 1.4s var(--ease-out)}.hero-photo-tag{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:color-mix(in oklab,var(--ink) 75%,transparent);bottom:14px;color:var(--bg);font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:10px;left:14px;letter-spacing:.2em;padding:8px 10px;position:absolute;text-transform:uppercase}.hero-photo-frame{border:1px solid var(--rule);inset:-8px;opacity:.7;pointer-events:none;position:absolute}.hero-photo-caption{color:var(--ink-mute);display:flex;font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:10px;justify-content:space-between;letter-spacing:.18em;margin-top:18px;text-transform:uppercase}.marketplace{background:var(--bg);border-top:1px solid var(--rule);padding:140px clamp(20px,4vw,56px) 120px;padding:140px var(--page-pad) 120px}.marketplace-head{grid-gap:40px;align-items:end;display:grid;gap:40px;grid-template-columns:1fr 1fr;margin:0 auto 80px;max-width:1480px}.marketplace-head .intro-copy{color:var(--ink-soft);font-size:17px;line-height:1.65;max-width:440px}.category{margin:0 auto 80px;max-width:1480px}.category-head{align-items:center;display:flex;gap:20px;margin-bottom:36px}.category-name{font-family:Fraunces,Cormorant Garamond,serif;font-family:var(--font-display);font-size:26px;font-weight:400;letter-spacing:.02em}.shop-grid{grid-gap:0;background:transparent;border:1px solid var(--rule);display:grid;gap:0;grid-template-columns:repeat(4,1fr)}.shop-card{background:var(--bg-soft);border-bottom:1px solid var(--rule);border-right:1px solid var(--rule);display:flex;flex-direction:column;justify-content:space-between;min-height:260px;overflow:hidden;padding:32px 24px;position:relative;transition:background .4s cubic-bezier(.22,1,.36,1),-webkit-transform .4s cubic-bezier(.22,1,.36,1);transition:background .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1);transition:background .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1),-webkit-transform .4s cubic-bezier(.22,1,.36,1);transition:background .4s var(--ease-out),-webkit-transform .4s var(--ease-out);transition:background .4s var(--ease-out),transform .4s var(--ease-out);transition:background .4s var(--ease-out),transform .4s var(--ease-out),-webkit-transform .4s var(--ease-out)}.shop-grid>.shop-card:nth-child(4n){border-right:0}.shop-grid>.shop-card:nth-last-child(-n+4):nth-child(4n+1),.shop-grid>.shop-card:nth-last-child(-n+4):nth-child(4n+1)~.shop-card{border-bottom:0}.shop-card:before{background:var(--bg-deep);content:"";inset:0;position:absolute;-webkit-transform:translateY(101%);transform:translateY(101%);transition:-webkit-transform .5s cubic-bezier(.22,1,.36,1);transition:transform .5s cubic-bezier(.22,1,.36,1);transition:transform .5s cubic-bezier(.22,1,.36,1),-webkit-transform .5s cubic-bezier(.22,1,.36,1);transition:-webkit-transform .5s var(--ease-out);transition:transform .5s var(--ease-out);transition:transform .5s var(--ease-out),-webkit-transform .5s var(--ease-out);z-index:0}.shop-card:hover:before{-webkit-transform:translateY(0);transform:translateY(0)}.shop-card>*{position:relative;z-index:1}.shop-logo-wrap{align-items:center;display:flex;height:90px;justify-content:flex-start}.shop-logo{-webkit-filter:saturate(.85);filter:saturate(.85);max-height:78px;max-width:140px;object-fit:contain;transition:-webkit-transform .5s cubic-bezier(.22,1,.36,1);transition:transform .5s cubic-bezier(.22,1,.36,1);transition:transform .5s cubic-bezier(.22,1,.36,1),-webkit-transform .5s cubic-bezier(.22,1,.36,1);transition:-webkit-transform .5s var(--ease-out);transition:transform .5s var(--ease-out);transition:transform .5s var(--ease-out),-webkit-transform .5s var(--ease-out)}.shop-card:hover .shop-logo{-webkit-transform:scale(1.05) translateY(-2px);transform:scale(1.05) translateY(-2px)}.shop-name{font-family:Fraunces,Cormorant Garamond,serif;font-family:var(--font-display);font-size:20px;font-weight:500;letter-spacing:-.005em;line-height:1.15;margin-top:20px}.shop-addr{color:var(--ink-mute);font-size:12px;letter-spacing:.02em;margin-top:8px}.shop-links{display:flex;font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:10px;gap:14px;letter-spacing:.16em;margin-top:16px;text-transform:uppercase}.shop-links a{border-bottom:1px solid var(--rule);color:var(--ink);padding-bottom:3px;transition:border-color .3s,color .3s}.shop-links a:hover{border-color:var(--accent);color:var(--accent)}.shop-card-idx{color:var(--ink-mute);font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;position:absolute;right:16px;top:14px;z-index:2}.residences{background:var(--bg-soft);border-top:1px solid var(--rule);overflow:hidden;padding:160px clamp(20px,4vw,56px);padding:160px var(--page-pad);position:relative}html[data-dir=b] .residences{background:var(--bg-deep)}.residences-inner{grid-gap:clamp(40px,8vw,120px);align-items:center;display:grid;gap:clamp(40px,8vw,120px);grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px}.residences-visual{aspect-ratio:auto;background:transparent;border:0;overflow:visible;position:relative}.residences-soon{align-items:center;color:var(--accent);display:inline-flex;font-family:"Instrument Serif",Fraunces,serif;font-family:var(--font-italic);font-size:28px;font-style:italic;gap:10px;margin-top:18px}.residences-soon:before{background:var(--accent);content:"";display:inline-block;height:1px;width:30px}.residences-copy{color:var(--ink-soft);font-size:17px;line-height:1.65;margin-top:24px;max-width:440px}.email-form{border-bottom:1px solid var(--ink);display:flex;gap:0;margin-top:32px;max-width:480px}.email-form input{background:transparent;border:0;color:var(--ink);flex:1 1;font:inherit;outline:0;padding:14px 0}.email-form input::-webkit-input-placeholder{color:var(--ink-mute)}.email-form input::placeholder{color:var(--ink-mute)}.email-form button{color:var(--ink);font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;padding:14px 4px 14px 20px;text-transform:uppercase;transition:color .3s}.email-form button:hover{color:var(--accent)}.res-card{background:var(--bg);box-shadow:0 24px 60px -30px rgba(30,22,12,.22);padding:32px 32px 28px;position:relative}.res-card,.res-card:before{border:1px solid var(--rule)}.res-card:before{bottom:10px;content:"";left:10px;opacity:.35;pointer-events:none;position:absolute;right:10px;top:10px}.res-card-head{align-items:baseline;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.res-card-eyebrow{color:var(--ink-mute);font-size:10px;letter-spacing:.24em;text-transform:uppercase}.res-card-eyebrow,.res-card-stamp{font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono)}.res-card-stamp{border:1px solid var(--accent);border-radius:2px;color:var(--accent);font-size:9px;letter-spacing:.3em;padding:4px 8px}.res-hero-line{color:var(--ink);font-family:Fraunces,Cormorant Garamond,serif;font-family:var(--font-display);font-size:clamp(26px,3vw,38px);letter-spacing:-.015em;line-height:1.1;margin-bottom:18px}.res-hero-line em{color:var(--accent);display:block;font-family:"Instrument Serif",Fraunces,serif;font-family:var(--font-italic);font-style:italic;font-weight:400}.res-body{color:var(--ink-soft);font-size:14px;line-height:1.65;margin-bottom:24px;max-width:40ch}.res-list{border-top:1px solid var(--rule);list-style:none;margin:0;padding:0}.res-list li{grid-gap:14px;align-items:start;border-bottom:1px solid var(--rule);display:grid;gap:14px;grid-template-columns:44px 1fr;padding:18px 0}.res-list-num{color:var(--accent);font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;padding-top:3px}.res-list-title{color:var(--ink);font-family:Fraunces,Cormorant Garamond,serif;font-family:var(--font-display);font-size:17px;line-height:1.25;margin-bottom:2px}.res-list-sub{color:var(--ink-mute);font-size:13px;line-height:1.55}.res-foot{align-items:center;color:var(--ink-mute);display:flex;flex-wrap:wrap;font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:10px;gap:6px;letter-spacing:.18em;margin-top:20px;text-transform:uppercase}.res-foot .dot{color:var(--accent)}.location{border-top:1px solid var(--rule);padding:140px clamp(20px,4vw,56px);padding:140px var(--page-pad)}.location-inner{grid-gap:clamp(40px,6vw,100px);align-items:start;display:grid;gap:clamp(40px,6vw,100px);grid-template-columns:1fr 1fr;margin:0 auto;max-width:1480px}.location-map-wrap{aspect-ratio:4/5;background:var(--bg-soft);border:1px solid var(--rule);overflow:hidden;position:relative}.leaflet-map{background:var(--bg-soft);-webkit-filter:saturate(.3) contrast(.9) brightness(1.05) sepia(.15);filter:saturate(.3) contrast(.9) brightness(1.05) sepia(.15);height:100%;inset:0;position:absolute;width:100%}.ld-pin{border:3px solid var(--bg);border-radius:50%;box-shadow:0 0 0 1px var(--accent),0 4px 14px rgba(0,0,0,.25);height:18px;position:relative;width:18px}.ld-pin,.ld-pin:before{background:var(--accent)}.ld-pin:before{-webkit-animation:pulsePin 2.4s ease-out infinite;animation:pulsePin 2.4s ease-out infinite;border-radius:50%;content:"";inset:-14px;opacity:.22;position:absolute}@-webkit-keyframes pulsePin{0%{opacity:.35;-webkit-transform:scale(.6);transform:scale(.6)}to{opacity:0;-webkit-transform:scale(1.8);transform:scale(1.8)}}@keyframes pulsePin{0%{opacity:.35;-webkit-transform:scale(.6);transform:scale(.6)}to{opacity:0;-webkit-transform:scale(1.8);transform:scale(1.8)}}.ld-pin-wrap{align-items:center;display:flex;flex-direction:column;gap:8px;pointer-events:none;position:absolute;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ld-pin-wrap .ld-pin-label{max-width:160px;text-align:center;-webkit-transform:translateY(0);transform:translateY(0)}.ld-pin-label{background:var(--bg);border:1px solid var(--rule);border-radius:2px;box-shadow:0 2px 8px rgba(0,0,0,.08);color:var(--ink);font-family:Fraunces,Cormorant Garamond,serif;font-family:var(--font-display,"Fraunces",serif);font-size:14px;font-style:italic;padding:6px 10px;white-space:nowrap}.location-meta{position:-webkit-sticky;position:sticky;top:120px}.addr-block{grid-gap:8px 24px;border-bottom:1px solid var(--rule);border-top:1px solid var(--rule);display:grid;font-size:14px;gap:8px 24px;grid-template-columns:140px 1fr;margin-top:32px;padding:24px 0}.addr-block dt{color:var(--ink-mute);font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;padding-top:2px;text-transform:uppercase}.addr-block dd{color:var(--ink)}.directions-link{align-items:center;border-bottom:1px solid var(--ink);display:inline-flex;font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:11px;gap:10px;letter-spacing:.2em;margin-top:28px;padding-bottom:4px;text-transform:uppercase;transition:color .3s,border-color .3s}.directions-link:hover{border-color:var(--accent);color:var(--accent)}.directions-link .arrow{transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.directions-link:hover .arrow{-webkit-transform:translateX(4px);transform:translateX(4px)}.contact{background:var(--bg-soft);border-top:1px solid var(--rule);padding:140px clamp(20px,4vw,56px) 80px;padding:140px var(--page-pad) 80px}html[data-dir=a] .contact{background:var(--bg-deep)}.contact-inner{grid-gap:clamp(40px,8vw,100px);display:grid;gap:clamp(40px,8vw,100px);grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px}.contact-form{display:flex;flex-direction:column;gap:0}.contact-field{border-bottom:1px solid var(--rule);padding:18px 0 14px;position:relative;transition:border-color .3s}.contact-field:focus-within{border-color:var(--ink)}.contact-field label{color:var(--ink-mute);font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase}.contact-field input,.contact-field textarea{background:transparent;border:0;color:var(--ink);display:block;font:inherit;font-size:16px;outline:0;padding:8px 0 0;resize:vertical;width:100%}.contact-row{grid-gap:0 32px;display:grid;gap:0 32px;grid-template-columns:1fr 1fr}.contact-submit{align-self:flex-start;background:var(--ink);border-radius:999px;color:var(--bg);font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;margin-top:32px;padding:16px 28px;text-transform:uppercase;transition:background .3s,-webkit-transform .3s;transition:transform .3s,background .3s;transition:transform .3s,background .3s,-webkit-transform .3s}.contact-submit:hover{background:var(--accent);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.contact h3{font-family:Fraunces,Cormorant Garamond,serif;font-family:var(--font-display);font-size:40px;font-weight:300;letter-spacing:-.01em;line-height:1.05}.contact h3 em{color:var(--accent);font-family:"Instrument Serif",Fraunces,serif;font-family:var(--font-italic)}.contact-details{grid-gap:18px;display:grid;gap:18px;margin-top:32px}.contact-details a{border-bottom:1px solid var(--rule);display:block;font-family:Fraunces,Cormorant Garamond,serif;font-family:var(--font-display);font-size:24px;font-weight:300;letter-spacing:.01em;padding-bottom:8px;transition:border-color .3s,color .3s}.contact-details a:hover{border-color:var(--accent);color:var(--accent)}.footer-mail{font-size:13px;letter-spacing:.04em;line-height:1.7;margin-top:40px}.footer-mail,.signoff{color:var(--ink-mute);font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono)}.signoff{align-items:center;border-top:1px solid var(--rule);display:flex;font-size:10px;justify-content:space-between;letter-spacing:.2em;padding:60px clamp(20px,4vw,56px) 40px;padding:60px var(--page-pad) 40px;text-transform:uppercase}.signoff .big{color:var(--ink);font-family:Fraunces,Cormorant Garamond,serif;font-family:var(--font-display);font-size:clamp(60px,14vw,240px);font-weight:300;letter-spacing:-.03em;line-height:.85;overflow:hidden;padding:40px 0;text-align:center}.signoff-wrap{display:grid;justify-items:center;width:100%}.signoff-copy{display:flex;justify-content:space-between;width:100%}.tweaks-panel{background:var(--bg);border:1px solid var(--rule);border-radius:14px;bottom:20px;box-shadow:0 20px 48px rgba(30,20,10,.12);display:none;font-family:Inter,system-ui,sans-serif;font-family:var(--font-body);padding:18px;position:fixed;right:20px;width:300px;z-index:200}.tweaks-panel.show{display:block}.tweaks-panel h4{font-family:Fraunces,Cormorant Garamond,serif;font-family:var(--font-display);font-size:16px;font-weight:500;letter-spacing:.06em;margin-bottom:4px}.tweaks-panel .sub{color:var(--ink-mute);font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;margin-bottom:16px;text-transform:uppercase}.tweak-row{margin-bottom:14px}.tweak-row>label{color:var(--ink-mute);display:block;font-family:JetBrains Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;margin-bottom:8px;text-transform:uppercase}.seg{border:1px solid var(--rule);border-radius:999px;display:flex;gap:0;overflow:hidden}.seg button{color:var(--ink-soft);flex:1 1;font-size:11px;font-weight:500;letter-spacing:.06em;padding:8px 10px;transition:background .25s,color .25s}.seg button.on{background:var(--ink);color:var(--bg)}.swatch-row{display:flex;gap:8px}.swatch{border:2px solid var(--bg);border-radius:50%;box-shadow:0 0 0 1px var(--rule);cursor:pointer;height:28px;transition:box-shadow .2s,-webkit-transform .2s;transition:transform .2s,box-shadow .2s;transition:transform .2s,box-shadow .2s,-webkit-transform .2s;width:28px}.swatch:hover{-webkit-transform:scale(1.08);transform:scale(1.08)}.swatch.on{box-shadow:0 0 0 2px var(--ink)}@media (max-width:900px){.contact-inner,.hero-inner,.location-inner,.marketplace-head,.residences-inner{grid-template-columns:1fr}.shop-grid{grid-template-columns:repeat(2,1fr)}.contact-row{grid-template-columns:1fr}.nav-cta,.nav-links{display:none}.signoff-copy{align-items:center;flex-direction:column;gap:8px}}@media (max-width:560px){.shop-grid{grid-template-columns:1fr}.res-card{padding:22px 20px 20px}.res-list li{gap:10px;grid-template-columns:34px 1fr}}@media (prefers-reduced-motion:reduce){*{-webkit-animation-duration:.01ms!important;animation-duration:.01ms!important;transition-duration:.05s!important}}
/*# sourceMappingURL=main.bde5b84f.css.map*/