:root{--serif: "EB Garamond", "Times New Roman", serif;--sans: "Albert Sans", system-ui, sans-serif;--script: "Allison", "Snell Roundhand", cursive;--mist: #eef0ee;--paper: #f5f3ee;--paper-2: #e9e6df;--ink: #1d211f;--ink-2: #545b57;--rule: rgba(29, 33, 31, .14);--snow: #fbfaf7;--larch: #b98a55;--larch-ink: #6e4f2c;--fog-rgb: 238, 241, 240}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:auto}body{margin:0;background:var(--mist);color:var(--ink);font:400 17px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}img{display:block;max-width:100%}a{color:inherit}button,input,textarea{font:inherit;color:inherit}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:2px solid var(--larch);outline-offset:3px}.kicker{margin:0 0 14px;font:500 13px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--larch-ink)}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;margin:0}.btn,.btn-light{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:999px;font:500 15px/1 var(--sans);text-decoration:none;cursor:pointer;transition:background-color .25s cubic-bezier(.2,.7,.2,1),color .25s,transform .25s cubic-bezier(.2,.7,.2,1)}.btn{background:var(--ink);color:var(--snow);border:0}.btn:hover{background:#343a37}.btn:active,.btn-light:active{transform:scale(.97)}.btn-light{background:var(--snow);color:var(--ink);border:0}.btn-light:hover{background:#fff}.nav{position:fixed;z-index:50;top:16px;left:50%;transform:translate(-50%);width:min(1180px,calc(100% - 32px));display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 8px 8px 20px;border-radius:999px;background:#fbfaf7db;-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 1px #fff9 inset,0 8px 30px #14181614}.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:600 18px/1 var(--sans);letter-spacing:.02em}.nav-brand svg{width:24px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.nav nav{display:flex;gap:28px}.nav nav a{text-decoration:none;font-size:15px;color:#3f4643;transition:color .2s}.nav nav a:hover{color:var(--ink)}.nav-cta{min-height:40px;padding:0 18px;border-radius:999px;background:var(--ink);color:var(--snow);display:inline-flex;align-items:center;text-decoration:none;font:500 14px/1 var(--sans);transition:background-color .25s}.nav-cta:hover{background:#343a37}.story{position:relative;background:var(--mist)}.story-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--mist)}.story-frame{position:absolute;left:50%;top:50%;width:max(100vw,177.78svh);height:max(56.25vw,100svh);transform:translate(-50%,-50%)}.story-layer,.story-film{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;will-change:opacity,transform;transform-origin:50% 55%}.story-layer{opacity:0;-webkit-user-select:none;user-select:none}.story-layer:first-child{opacity:1}.story-film{visibility:hidden}.fog{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.story-shade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(80% 66% at 0% 100%,#121614cc,#12161400 78%),linear-gradient(to top,#1216148c,#12161400 45%)}.hero-block{position:absolute;left:clamp(20px,5vw,72px);bottom:clamp(48px,9vh,96px);max-width:700px;color:var(--snow);will-change:opacity,transform}.hero-block h1{font-size:clamp(36px,3.9vw,60px);line-height:1.04;text-shadow:0 2px 24px rgba(0,0,0,.3)}.hero-block p{margin:18px 0 0;max-width:440px;font-size:18px;line-height:1.5;color:#fbfaf7eb}.scroll-cue{position:absolute;left:50%;bottom:26px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--snow);font:500 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}.scroll-cue i{display:block;width:1px;height:38px;background:linear-gradient(rgba(251,250,247,0),var(--snow));animation:cue 2.2s cubic-bezier(.6,0,.4,1) infinite;transform-origin:top}@keyframes cue{0%{transform:scaleY(0)}55%{transform:scaleY(1)}to{transform:scaleY(1);opacity:0}}.stage-cap{position:absolute;left:clamp(20px,5vw,72px);bottom:clamp(40px,8vh,88px);max-width:420px;color:var(--snow);visibility:hidden;opacity:0;will-change:opacity,transform}.stage-label{margin:0;font:400 clamp(64px,7vw,104px)/.8 var(--script);text-shadow:0 2px 20px rgba(0,0,0,.22)}.stage-text{margin:18px 0 0;font-size:17px;line-height:1.5;color:#fbfaf7f0;text-shadow:0 1px 12px rgba(0,0,0,.25)}.stage-note{margin:12px 0 0;font:500 13px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#fbfaf7db}.stage-count{position:absolute;right:clamp(20px,5vw,72px);bottom:clamp(40px,8vh,88px);color:var(--snow);font:500 13px/1 var(--sans);letter-spacing:.16em;font-variant-numeric:tabular-nums;text-shadow:0 1px 10px rgba(0,0,0,.3)}.homes{position:relative;background:var(--paper)}.homes-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,1.25fr);gap:clamp(24px,4vw,64px);padding:clamp(96px,13vh,130px) clamp(20px,5vw,72px) clamp(32px,6vh,64px)}.homes-list h2{font-size:clamp(36px,4.2vw,60px);line-height:1.05;margin-bottom:clamp(24px,5vh,56px)}.homes-list ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.homes-list li{border-bottom:1px solid var(--rule)}.homes-list button{width:100%;display:grid;grid-template-columns:36px 1fr auto;gap:4px 12px;align-items:baseline;padding:18px 0;background:none;border:0;text-align:left;cursor:pointer;color:var(--ink-2);transition:color .3s,padding .4s cubic-bezier(.2,.7,.2,1)}.homes-list .h-n{font:500 13px/1 var(--sans);letter-spacing:.08em;font-variant-numeric:tabular-nums}.homes-list .h-name{font:400 clamp(24px,2.2vw,32px)/1.1 var(--serif)}.homes-list .h-kind{font-size:14px}.homes-list .h-place{grid-column:2;font-size:14px}.homes-list li.on button{color:var(--ink);padding-left:12px}.homes-list li.on .h-n{color:var(--larch-ink)}.homes-stage{position:relative;min-height:0}.homes-photo{position:absolute;top:0;right:0;bottom:44px;left:0;margin:0;overflow:hidden;border-radius:4px;clip-path:inset(100% 0 0 0);transition:clip-path 1s cubic-bezier(.7,0,.2,1)}.homes-photo.on,.homes-photo.past{clip-path:inset(0 0 0 0)}.homes-photo.on{z-index:2}.homes-photo img{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.14 - var(--drift, 0) * .08));transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.homes-meta{position:absolute;left:0;right:0;bottom:0;margin:0;display:flex;justify-content:space-between;font-size:14px;color:var(--ink-2)}.homes-meta span:first-child{color:var(--ink);font-weight:500}.clients{background:var(--mist);padding:clamp(96px,14vh,160px) clamp(20px,5vw,72px)}.clients>.kicker{max-width:1180px;margin:0 auto 40px}.quote{max-width:1180px;margin:0 auto clamp(80px,14vh,160px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:center}.quote:last-child{margin-bottom:0}.quote.flip{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.quote.flip .q-photo{order:2}.q-photo{aspect-ratio:4 / 5;overflow:hidden;border-radius:4px}.q-photo img{width:100%;height:100%;object-fit:cover;will-change:transform}.quote blockquote{margin:0}.quote blockquote p{margin:0;font:400 clamp(28px,3.3vw,48px)/1.18 var(--serif);letter-spacing:-.01em}.quote .w{transition:opacity .25s linear}.quote figcaption{margin-top:28px;display:flex;flex-direction:column;gap:4px;font-size:15px;color:var(--ink-2)}.quote figcaption strong{color:var(--ink);font-weight:600}.close{position:relative;height:200vh;background:var(--mist)}.close-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;color:var(--snow)}.close-bg{position:absolute;top:0;right:0;bottom:0;left:0}.close-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transform:scale(calc(1.12 - var(--push, 0) * .1));transform-origin:50% 60%}.close-img.built{opacity:var(--built, 0)}.close-fog{z-index:1}.close-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:radial-gradient(60% 46% at 50% 44%,#12161480,#12161400 75%),linear-gradient(to top,#12161480,#12161400 30%)}.close-copy{position:absolute;z-index:2;left:50%;top:42%;transform:translate(-50%,-50%);width:min(760px,calc(100% - 40px));text-align:center}.close-copy h2{font-size:clamp(52px,8vw,128px);line-height:.98;text-shadow:0 2px 30px rgba(0,0,0,.2)}.close-copy p{margin:18px auto 30px;max-width:420px;font-size:18px;color:#fbfaf7f0}.close-foot{position:absolute;z-index:2;left:clamp(20px,5vw,72px);right:clamp(20px,5vw,72px);bottom:28px;display:flex;flex-wrap:wrap;gap:10px 32px;align-items:baseline;font-size:15px;color:var(--snow)}.close-foot a{text-decoration:none;border-bottom:1px solid rgba(251,250,247,.4);transition:border-color .2s}.close-foot a:hover{border-color:var(--snow)}.close-legal{margin-left:auto;font-size:13px;color:#fbfaf7d9}@media (max-width: 760px){body{font-size:16px}.story-shade{background:linear-gradient(to top,#121614d1,#12161480 34%,#12161400 62%)}.nav{top:10px;padding:6px 6px 6px 16px}.nav nav{display:none}.nav-cta{min-height:38px;padding:0 14px;font-size:13px}.hero-block{bottom:72px}.hero-block h1{font-size:32px;padding-right:12px}.hero-block p{font-size:16px}.stage-cap{bottom:64px;right:20px}.stage-label{font-size:64px}.stage-text{font-size:16px}.stage-count{top:74px;bottom:auto;right:20px}.scroll-cue{bottom:14px}.scroll-cue i{height:24px}.homes-pin{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:16px;padding-top:84px}.homes-list h2{font-size:32px;margin-bottom:14px}.homes-list .kicker{margin-bottom:8px}.homes-list button{padding:10px 0;grid-template-columns:30px 1fr auto}.homes-list .h-name{font-size:21px}.homes-list .h-place{display:none}.homes-photo{top:0;right:0;bottom:32px;left:0}.quote,.quote.flip{grid-template-columns:1fr;gap:24px}.quote.flip .q-photo{order:0}.q-photo{aspect-ratio:4 / 3}.close-legal{margin-left:0}.close-foot{font-size:14px;gap:8px 20px}}@media (prefers-reduced-motion: reduce){.scroll-cue i{animation:none}.homes-photo,.homes-photo img{transition-duration:.01s}}
