:root{--aub:#302338;--cream:#f4eddc;--butter:#f3cb4d;--coral:#de6651;--sage:#647c68;--ink:#241f27;--serif:"Fraunces",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--mono:"DM Mono",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}.skip-link{position:fixed;top:-60px;left:12px;background:white;padding:12px;z-index:100}.skip-link:focus{top:12px}.eyebrow{font:500 9px var(--mono);text-transform:uppercase;letter-spacing:.08em}
.topbar{position:fixed;z-index:50;left:22px;right:22px;top:18px;height:68px;padding:0 10px 0 16px;background:rgba(244,237,220,.94);backdrop-filter:blur(14px);display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;border:1px solid rgba(48,35,56,.35);clip-path:polygon(0 0,99% 0,100% 20%,100% 100%,1% 100%,0 80%)}.brand{display:flex;align-items:center;gap:9px;font:600 19px var(--serif)}.brand svg{width:34px;height:34px;fill:none;stroke:var(--aub);stroke-width:2}.brand small{display:block;font:400 7px var(--mono);text-transform:uppercase}.topbar nav{display:flex;gap:27px;font:500 9px var(--mono);text-transform:uppercase}.topbar nav a:hover{text-decoration:underline}.room-indicator{justify-self:end;margin-right:20px;padding-right:20px;border-right:1px solid rgba(48,35,56,.3);text-align:right}.room-indicator span{display:block;font:400 7px var(--mono);text-transform:uppercase}.room-indicator b{font:500 11px var(--sans)}.top-cta{background:var(--aub);color:white;padding:15px 17px;font:500 9px var(--mono);text-transform:uppercase;clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%)}.top-cta span{margin-left:22px}
.walkthrough{position:relative}.house-stage{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--aub)}.scene{position:absolute;inset:0;opacity:0;transform:scale(1.06);transition:opacity .8s ease,transform 1.2s ease,clip-path 1.1s ease;will-change:opacity,transform}.scene.active{opacity:1;transform:scale(1)}.scene-garden{clip-path:inset(0)}.scene-entry{clip-path:inset(7% 18%)}.scene-entry.active{clip-path:inset(0)}.scene-frame{clip-path:inset(0 50% 0 50%)}.scene-frame.active{clip-path:inset(0)}.scene-kitchen{clip-path:circle(12% at 50% 53%)}.scene-kitchen.active{clip-path:circle(76% at 50% 53%)}.scene-detail{clip-path:inset(0 0 100% 0)}.scene-detail.active{clip-path:inset(0)}.scene-detail img{object-position:center 44%}.scene-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,18,28,.5),transparent 48%,rgba(25,18,28,.15)),linear-gradient(0deg,rgba(25,18,28,.55),transparent 52%);pointer-events:none}.house-progress{position:absolute;z-index:5;left:5vw;right:5vw;bottom:28px;color:white}.progress-line{display:block;height:2px;background:rgba(255,255,255,.42);position:relative}.progress-line i{position:absolute;inset:0 auto 0 0;width:20%;background:var(--butter);transition:width .6s ease}.house-progress>div{display:flex;justify-content:space-between;margin-top:8px}.house-progress b{font:400 8px var(--mono);text-transform:uppercase}.scroll-cue{position:absolute;z-index:5;right:4vw;bottom:72px;color:white;display:flex;align-items:center;gap:12px;font:400 8px var(--mono);text-transform:uppercase}.scroll-cue i{width:34px;height:34px;border:1px solid;border-radius:50%;position:relative}.scroll-cue i:after{content:"";position:absolute;left:15px;top:9px;width:4px;height:12px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg)}
.walk-steps{position:relative;z-index:6;margin-top:-100vh;pointer-events:none}.walk-step{min-height:100vh;padding:120px 6vw 95px;display:flex;align-items:flex-end}.walk-step:nth-child(even){justify-content:flex-end}.walk-copy{width:min(570px,48vw);padding:31px;background:rgba(244,237,220,.93);color:var(--aub);box-shadow:9px 9px 0 rgba(48,35,56,.78);pointer-events:auto;opacity:.28;transform:translateY(25px);transition:.5s ease}.walk-step.active .walk-copy{opacity:1;transform:none}.hero-copy{width:min(820px,70vw);background:transparent;color:white;box-shadow:none;padding:0 0 50px}.hero-copy h1{margin:22px 0 25px;font:600 clamp(68px,9.5vw,150px)/.78 var(--serif);letter-spacing:-.06em}.hero-copy h1 em{color:var(--butter);font-weight:500}.hero-copy .lede{max-width:470px;font-size:17px;line-height:1.55}.hero-copy a,.detail-copy a{display:inline-block;margin-top:22px;border-bottom:1px solid;padding-bottom:7px;font:500 9px var(--mono);text-transform:uppercase}.hero-copy a span,.detail-copy a span{margin-left:28px}.walk-copy h2{margin:22px 0;font:600 clamp(40px,4.6vw,68px)/.93 var(--serif);letter-spacing:-.04em}.walk-copy>p:not(.eyebrow){font-size:14px;line-height:1.7}.walk-copy dl{margin:28px 0 0}.walk-copy dl div{display:flex;justify-content:space-between;border-top:1px solid;padding:10px 0;font:400 8px var(--mono);text-transform:uppercase}.walk-copy dd{margin:0}.dark-copy{background:rgba(48,35,56,.93);color:white;box-shadow:9px 9px 0 var(--butter)}.field-note{margin-top:28px;border-top:1px solid;padding-top:15px}.field-note span{display:block;font:400 8px var(--mono);text-transform:uppercase}.field-note b{display:block;margin-top:8px;font:500 20px var(--serif)}.light-panel{background:rgba(244,237,220,.94)}.light-panel blockquote{margin:28px 0 0;padding-top:19px;border-top:1px solid;font:500 23px/1.2 var(--serif)}.light-panel cite{display:block;margin-top:10px;font:400 8px var(--mono);text-transform:uppercase}.detail-copy{margin-left:auto;background:var(--butter);box-shadow:9px 9px 0 var(--aub)}
.scope-river{height:84px;overflow:hidden;background:var(--butter);display:flex;align-items:center;gap:28px;white-space:nowrap;padding:0 25px;font:500 clamp(22px,2.6vw,38px) var(--serif)}.scope-river i{width:9px;height:9px;background:var(--coral);border-radius:50%;flex:0 0 auto}
.approach{padding:125px 6vw;background:var(--cream)}.approach-intro{display:grid;grid-template-columns:170px 1.25fr .75fr;gap:5vw;align-items:start}.approach-intro>p:first-child{margin:0}.approach-intro h2{margin:0;font:600 clamp(52px,6.7vw,105px)/.88 var(--serif);letter-spacing:-.05em}.approach-intro>p:last-child{align-self:end;font-size:15px;line-height:1.75}.table-plan{margin:100px auto 0;max-width:1120px;min-height:650px;display:grid;grid-template-columns:1fr 1.2fr 1fr;grid-template-rows:1fr 1.1fr 1fr;gap:14px;position:relative}.table-center{grid-column:2;grid-row:2;background:var(--aub);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;clip-path:polygon(8% 0,92% 0,100% 14%,100% 86%,92% 100%,8% 100%,0 86%,0 14%)}.table-center span{font:400 8px var(--mono);text-transform:uppercase;color:var(--butter);margin-bottom:20px}.table-center strong{font:500 25px var(--serif)}.table-center b{color:var(--coral);font-weight:400}.seat{padding:28px;border:1px solid var(--aub);display:flex;flex-direction:column;justify-content:flex-end}.seat span{font:400 8px var(--mono);text-transform:uppercase;color:var(--coral);margin-bottom:auto}.seat h3{font:600 27px var(--serif);margin:25px 0 10px}.seat p{font-size:12px;line-height:1.6;margin:0}.seat-a{grid-column:1;grid-row:1/3;border-radius:120px 0 0 120px}.seat-b{grid-column:2/4;grid-row:1}.seat-c{grid-column:3;grid-row:2/4;border-radius:0 120px 120px 0}.seat-d{grid-column:1/3;grid-row:3}
.client-wall{position:relative;min-height:820px;background:var(--aub);padding:70px 6vw;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:0}.client-image{height:660px;clip-path:polygon(0 0,94% 0,100% 10%,100% 100%,0 100%)}.client-note{position:relative;z-index:2;margin-left:-7vw;background:var(--butter);padding:55px 5vw;transform:rotate(-2deg);box-shadow:12px 14px 0 var(--coral)}.client-note h2{font:600 clamp(34px,4vw,60px)/1.02 var(--serif);letter-spacing:-.04em}.client-note>p:not(.eyebrow){font-size:16px;line-height:1.6}.client-note cite{display:block;margin-top:28px;font:400 8px var(--mono);text-transform:uppercase}.project-facts{position:absolute;bottom:30px;left:6vw;right:6vw;display:flex;justify-content:space-between;color:white;border-top:1px solid rgba(255,255,255,.5);padding-top:13px;font:400 8px var(--mono);text-transform:uppercase}
.start{padding:120px 7vw;background:var(--coral);color:white;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.start-copy h2{margin:35px 0;font:600 clamp(55px,7vw,108px)/.82 var(--serif);letter-spacing:-.055em}.start-copy>p:not(.eyebrow){max-width:440px;line-height:1.7}.start-copy>div{display:flex;flex-direction:column;gap:8px;margin-top:60px;font:500 12px var(--mono)}.start form{align-self:center}.start label{display:block;margin-bottom:22px}.start label span{display:block;margin-bottom:9px;font:400 8px var(--mono);text-transform:uppercase}.start textarea,.start input{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.7);background:transparent;color:white;outline:0;padding:9px 0}.start textarea{height:120px;resize:vertical;font:500 25px/1.25 var(--serif)}.start ::placeholder{color:rgba(255,255,255,.65)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.start button{width:100%;border:0;background:var(--butter);color:var(--aub);padding:18px 20px;display:flex;justify-content:space-between;font:500 10px var(--mono);text-transform:uppercase;cursor:pointer;clip-path:polygon(0 0,97% 0,100% 50%,97% 100%,0 100%)}.form-status{min-height:20px;font-size:12px}
footer{padding:55px 4vw 24px;background:var(--cream);display:grid;grid-template-columns:1fr 1.4fr 1fr auto;gap:5vw;align-items:start;border-top:2px solid var(--aub)}.footer-brand{font:600 44px var(--serif)}.footer-brand small{display:block;font:400 8px var(--mono);text-transform:uppercase}.footer-brand+p{margin:0;font-size:13px;line-height:1.65}.footer-brand~div{display:flex;flex-direction:column;gap:7px;font:400 8px var(--mono);text-transform:uppercase}footer>a:last-child{font:500 9px var(--mono);text-transform:uppercase;border-bottom:1px solid;padding-bottom:5px}
@media(max-width:900px){.topbar{grid-template-columns:1fr auto auto}.topbar nav{display:none}.room-indicator{margin-right:10px;padding-right:10px}.top-cta{font-size:0;padding:14px}.top-cta span{font-size:16px;margin:0}.walk-copy{width:min(620px,75vw)}.approach-intro{grid-template-columns:1fr 1fr}.approach-intro>p:first-child{grid-column:1/-1}.approach-intro>p:last-child{align-self:end}.client-wall{grid-template-columns:1fr;padding-bottom:110px}.client-image{height:580px}.client-note{margin:-110px 5vw 0}.start{grid-template-columns:1fr}.start-copy>div{margin-top:30px}footer{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.topbar{left:10px;right:10px;top:10px;height:60px;padding-left:11px}.brand{font-size:16px}.brand svg{width:29px}.room-indicator{display:none}.walk-step{padding:90px 5vw 72px;align-items:flex-end!important;justify-content:flex-start!important}.walk-copy{width:100%;padding:22px;box-shadow:6px 6px 0 rgba(48,35,56,.78)}.hero-copy{padding:0 0 45px;background:transparent;box-shadow:none}.hero-copy h1{font-size:61px}.hero-copy .lede{font-size:15px}.walk-copy h2{font-size:39px}.scene-entry{clip-path:inset(5% 9%)}.scene-kitchen.active{clip-path:circle(92% at 50% 53%)}.scene-detail img{object-position:center}.house-progress{left:5vw;right:5vw;bottom:16px}.house-progress>div b{font-size:6px}.scroll-cue{display:none}.scope-river{height:64px;font-size:22px}.approach{padding:85px 5vw}.approach-intro{grid-template-columns:1fr}.approach-intro h2{font-size:52px}.table-plan{margin-top:60px;min-height:0;display:flex;flex-direction:column}.table-center{min-height:250px;order:-1}.seat{min-height:210px;border-radius:0}.client-wall{padding:55px 5vw 100px;min-height:0}.client-image{height:430px}.client-note{margin:-55px 3vw 0;padding:36px 28px;transform:none}.client-note h2{font-size:34px}.project-facts{flex-direction:column;gap:7px}.start{padding:85px 6vw}.start-copy h2{font-size:57px}.form-row{grid-template-columns:1fr}footer{grid-template-columns:1fr}.footer-brand{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scene,.walk-copy{transition:none}}
