@font-face{font-family:Fraunces;src:url(fonts/fraunces.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:DM;src:url(fonts/dm-sans.woff2) format('woff2');font-weight:100 900;font-display:swap}
:root{--ink:#080f20;--night:#111d34;--blue:#203c60;--paper:#fbf0de;--gold:#ecc28c;--muted:#bac2cd;--line:#ffffff26;--serif:Fraunces,Georgia,serif;--sans:DM,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.55 var(--sans)}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.4;cursor:default}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:6px}img{display:block;max-width:100%}button{border:0;background:none}p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:450;line-height:1.05;letter-spacing:-.045em}h2{font-size:clamp(48px,6vw,88px)}em{font-weight:400;color:var(--gold)}.eyebrow{font-size:11px;letter-spacing:.15em;text-transform:uppercase;line-height:1.6}.skip{clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;position:fixed;top:8px;left:12px;padding:12px;background:var(--paper);color:var(--ink);transform:translateY(-150%);z-index:100}.skip:focus{clip-path:none;width:auto;height:auto;transform:none}.header{background:linear-gradient(#080f20da,transparent);position:absolute;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:26px 4vw;gap:20px}.brand{display:flex;align-items:center;gap:10px;font:500 23px/1.1 var(--serif);letter-spacing:-.04em}.brand small{display:block;font:10px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin-top:6px;color:var(--muted)}nav{display:flex;gap:36px;align-items:center;font-size:13px}nav a{padding:10px 0}.nav-contact{border-bottom:1px solid var(--gold)}.nav-contact span{margin-left:18px;color:var(--gold)}.hero{height:100svh;min-height:740px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#25466465 0,#141d3480 30%,#080f20 66%)}.hero:before{content:'';position:absolute;inset:0;background:repeating-radial-gradient(ellipse at 50% 68%,transparent 0 100px,#c5bc9e06 101px 102px,transparent 103px 180px);pointer-events:none}.intro-copy{position:absolute;top:17%;left:0;right:0;text-align:center;z-index:3;pointer-events:none}.intro-copy .eyebrow{color:var(--muted);margin-bottom:16px}.intro-copy h1{font-size:clamp(52px,5.9vw,85px);line-height:.98}.intro-copy em{font-style:italic}.entrance{display:block;position:absolute;top:43%;left:50%;width:216px;height:324px;transform:translateX(-50%);perspective:1100px;z-index:4}.door-frame{position:absolute;inset:0;border:2px solid #f4d2a3;border-radius:106px 106px 0 0;background:transparent;box-shadow:0 0 8px #f6c684a0,0 0 35px #ffce8340,0 0 100px #eebd7325,inset 0 0 15px #fff3bd;transform-style:preserve-3d}.door-leaf{position:absolute;inset:1px;transform-origin:left center;transform-style:preserve-3d;border-radius:105px 105px 0 0;background:linear-gradient(105deg,#1e3650,#15263e 55%,#20374e);border:1px solid #dfbd8770;box-shadow:inset 4px 0 10px #070e1b;transition:filter .3s}.entrance:hover .door-leaf{filter:brightness(1.18)}.door-panel{position:absolute;left:14%;right:14%;border:1px solid #c0a57452;box-shadow:inset 1px 1px 6px #0007,1px 1px 0 #fff1}.top-panel{top:9%;height:49%;border-radius:90px 90px 0 0}.bottom-panel{top:63%;bottom:9%}.door-knob{position:absolute;width:12px;height:12px;right:9%;top:59%;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff3c6,#ad7835);box-shadow:0 0 10px #eac28566}.door-star{position:absolute;top:23%;left:0;right:0;text-align:center;color:var(--gold);font-size:44px;font-family:Georgia}.door-floor{position:absolute;top:100%;left:-90%;right:-90%;height:160px;background:linear-gradient(#edc38330,transparent);clip-path:polygon(32% 0,68% 0,100% 100%,0 100%);filter:blur(4px);pointer-events:none}.intro-bottom{position:absolute;bottom:4%;width:100%;text-align:center;z-index:5}.pick-door{display:inline-flex;align-items:center;gap:28px;font-size:17px;padding:10px 0;border-bottom:1px solid var(--gold)}.pick-door span{color:var(--gold)}.intro-bottom p{font-size:11px;color:var(--muted);margin-top:12px}.room-scene{position:absolute;inset:0;visibility:hidden;clip-path:inset(43% calc(50% - 108px) calc(57% - 324px) round 106px 106px 0 0);z-index:1}.room-scene>img,.paint-layer,.paint-layer img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:50% 50%}.paint-layer{mask:url(assets/mural-mask.png) center/cover no-repeat luminance;clip-path:inset(0 100% 0 0)}.hero-reveal{position:absolute;bottom:8%;left:5%;right:5%;z-index:5;display:none;max-width:850px}.hero-reveal h2{font-size:clamp(42px,5vw,72px);margin:14px 0 24px}.hero-reveal .eyebrow{color:var(--gold)}.hero.entered:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 42%,#080f2088 68%,#080f20ed);z-index:2;pointer-events:none}.illustration-note{position:absolute;bottom:10px;left:24px;font-size:10px;color:#c9cdd5;z-index:6;opacity:0}.hero.entered .illustration-note{opacity:1}.pill{display:inline-flex;justify-content:center;align-items:center;gap:26px;min-height:48px;padding:12px 23px;background:var(--paper);color:var(--ink);border:1px solid var(--paper);border-radius:100px;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.pill:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-2px)}.pill.secondary{background:transparent;color:var(--paper);border-color:#d8c4a575}.replay{display:block;margin:18px 0 0;padding:4px 0;font-size:11px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.specks{position:absolute;inset:0;z-index:2;pointer-events:none}.specks i{position:absolute;width:3px;height:3px;border-radius:50%;background:#edc78b;box-shadow:0 0 10px #e5bf82;animation:float 8s ease-in-out infinite alternate;opacity:.45}.specks i:nth-child(3n){background:#81a8c7;box-shadow:0 0 10px #8abddf;width:2px;height:2px}.section{padding:115px 6vw}.rooms{position:relative;background:var(--night)}.drip{position:absolute;top:-1px;left:0;width:100%;height:64px;fill:var(--ink);pointer-events:none}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:56px}.section-heading .eyebrow{color:var(--gold);margin-bottom:15px}.section-heading>p{color:var(--muted);font-size:15px;padding-bottom:4px}.door-row{display:flex;gap:48px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:25px 12px 30px;scrollbar-width:none}.door-row::-webkit-scrollbar{display:none}.room-door{flex:0 0 230px;scroll-snap-align:center;text-align:center;position:relative;padding:0 0 4px;outline-offset:0}.portal-window{display:block;position:relative;height:336px;width:100%;border-radius:120px 120px 0 0;background:var(--ink);border:1px solid #c9b1867a;box-shadow:0 0 34px #709cc310;perspective:800px}.portal-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.portal-shutter{position:absolute;inset:0;border-radius:inherit;transform-origin:left center;transform:rotateY(-35deg);background:linear-gradient(105deg,#2b415a,#122039);border:1px solid #dec89b8a;box-shadow:inset 0 0 0 12px #0813223b;backface-visibility:hidden;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.portal-shutter:before{content:'';position:absolute;inset:20px 20px 26px;border:1px solid #b69c704a;border-radius:inherit}.portal-shutter:after{content:'';position:absolute;width:9px;height:9px;border-radius:50%;right:12%;top:58%;background:var(--gold);box-shadow:0 0 10px #ffdb7d66}.portal-shutter .door-star{font-size:36px;top:28%}.room-door:nth-child(3n+2) .portal-shutter{background:linear-gradient(105deg,#345354,#172d3e)}.room-door:nth-child(3n) .portal-shutter{background:linear-gradient(105deg,#55444e,#251c33)}.room-door:hover .portal-shutter,.room-door:focus-visible .portal-shutter,.room-door.opening .portal-shutter{transform:rotateY(-108deg)}.room-door:nth-child(even){margin-top:32px}.room-door .room-name{display:block;font-family:var(--serif);font-size:24px;line-height:1.1;margin:40px 0 8px;letter-spacing:-.025em}.room-door .room-type{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.room-controls{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:22px;font-size:12px;color:var(--muted)}.room-controls>div{display:flex;gap:10px}.circle{width:44px;height:44px;border:1px solid #b4c5d447;border-radius:50%;font-size:20px}.circle:hover{background:var(--paper);color:var(--ink)}.loading{padding:60px 0;color:var(--muted)}.explore{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,#19384a 0%,var(--ink) 70%);padding:94px 0 30px}.explore-heading{position:relative;z-index:3;text-align:center;pointer-events:none}.explore-heading .eyebrow{color:var(--gold);margin-bottom:12px}.explore-heading h2{font-size:clamp(45px,5.3vw,76px)}#drag-hint{margin-top:20px;font-size:12px;color:var(--muted)}#drag-hint span{display:inline-block;margin-left:12px;font-size:20px}.wall-viewport{height:660px;width:100%;overflow:hidden;position:relative;touch-action:pan-y;cursor:grab;margin-top:12px}.wall-viewport:active{cursor:grabbing}.wall-parallax{height:100%;width:max-content}.room-wall{display:grid;grid-template-rows:270px 270px;grid-auto-flow:column;grid-auto-columns:350px;gap:25px 40px;padding:40px 5vw;min-width:100%;width:max-content;will-change:transform}.wall-item{position:relative;display:block;border:0;padding:0;transform:rotate(-3deg);align-self:start;height:235px;overflow:hidden;box-shadow:0 12px 45px #0005;user-select:none}.wall-item:nth-child(3n+2){transform:rotate(4deg);height:250px}.wall-item:nth-child(3n){transform:rotate(-1deg);margin-top:18px}.wall-item img{width:100%;height:100%;object-fit:cover;pointer-events:none}.wall-label{position:absolute;inset:auto 0 0;padding:40px 18px 17px;background:linear-gradient(transparent,#080f20e8);font-family:var(--serif);font-size:22px;opacity:0;transform:translateY(10px);transition:.25s}.wall-item:hover .wall-label,.wall-item:focus-visible .wall-label{opacity:1;transform:none}.wall-bottom{display:flex;justify-content:space-between;gap:24px;padding:10px 6vw}.text-link{display:inline-block;font-size:13px;border-bottom:1px solid #dcc8ab77;padding:8px 0;text-underline-offset:7px}.artist{text-align:center;background:#0e172a;padding-top:105px;padding-bottom:125px}.artist .eyebrow{color:var(--gold);margin-bottom:24px}.artist h2{font-size:clamp(42px,5vw,65px)}.artist-copy{max-width:630px;margin:24px auto 45px;font-size:19px;line-height:1.7;color:#c8ced6}.process{display:flex;justify-content:center;gap:44px}.process p{font-size:14px}.process span{display:block;color:var(--gold);margin-bottom:10px;font-size:11px}.hand-note{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--gold);margin-top:36px}.contact{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:8vw;background:radial-gradient(ellipse at 80% 60%,#32405266,transparent 55%),#111e32;padding-top:155px;padding-bottom:100px}.contact .drip{fill:#0e172a}.contact-intro .eyebrow{color:var(--gold);margin-bottom:24px}.contact-intro h2{font-size:clamp(72px,7vw,102px)}.contact-intro>p:not(.eyebrow){color:var(--muted);margin:28px 0;font-size:17px;line-height:1.8}.contact-intro .text-link{color:var(--gold)}.contact-portal{position:relative;perspective:1400px;max-width:600px;min-height:600px}.contact-door{position:absolute;inset:0;width:100%;z-index:2;transform-origin:0 50%;border-radius:240px 240px 0 0;border:1px solid var(--gold);background:linear-gradient(110deg,#2a4154,#15273b);box-shadow:0 0 35px #efc28520;display:none;backface-visibility:hidden}.enhanced .contact-door{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:48px}.contact-door:before{content:'';position:absolute;inset:20px;border:1px solid #d4b78450;border-radius:inherit;pointer-events:none}.contact-door>span:first-child{font:42px/1.2 var(--serif)}.contact-door small{font-size:13px;color:var(--gold)}.contact-handle{position:absolute;right:9%;top:58%;width:17px;height:17px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px #efc18b70}.enhanced .inquiry[inert]{visibility:hidden}.inquiry{padding:28px;background:#0c1729;border:1px solid #dbc1994d;min-height:600px}.inquiry h3{font-size:29px;line-height:1.2;margin-bottom:24px}.inquiry label{display:block;font-size:11px;line-height:1.5;margin-bottom:16px;color:#d4d8df}.inquiry label>span{color:var(--muted)}.inquiry input,.inquiry select,.inquiry textarea{display:block;width:100%;padding:9px 0;min-height:43px;border:0;border-bottom:1px solid #b9c5d14f;background:transparent;color:var(--paper);border-radius:0;resize:vertical;font-size:15px;outline-offset:2px}.inquiry select option{background:var(--ink)}.inquiry input::placeholder{color:#909bab;font-size:12px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}.contact-actions .pill{font-size:12px;padding:12px 18px;gap:6px}.form-note{font-size:11px;color:var(--muted);margin-top:15px;line-height:1.7}footer{display:flex;align-items:center;gap:40px;padding:42px 6vw;border-top:1px solid var(--line)}footer p{font-size:12px;color:var(--muted)}footer>a:last-child{margin-left:auto;font-size:13px}.review-bar{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;padding:15px 20px;font-size:10px;color:#b5becc;border-top:1px solid var(--line)}.review-bar a[aria-current]{color:var(--gold)}.review-bar span{color:#b5becc}.review-bar a{text-decoration:underline;text-underline-offset:3px}
dialog{border:0;padding:0;max-width:none;max-height:none;width:100%;height:100svh;background:var(--ink);color:var(--paper);overflow-y:auto;overscroll-behavior:contain}dialog::backdrop{background:#080f20}.close-project{position:fixed;z-index:10;top:24px;left:4vw;background:var(--ink);color:var(--paper);border-color:#ffffff77}.project-hero{height:100svh;min-height:650px;position:relative}.project-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,#080f2040 50%,#080f20ed 100%);pointer-events:none}#project-image-slot{position:absolute;inset:0;overflow:hidden}#project-image-slot img{width:100%;height:100%;object-fit:cover}.project-heading{position:absolute;bottom:7%;left:6vw;right:6vw;z-index:2;max-width:840px}.project-heading .eyebrow{color:var(--gold)}.project-heading h2{margin:14px 0 18px;font-size:clamp(45px,6vw,82px)}.project-heading>p:not(.eyebrow){font-size:17px;max-width:620px}.project-heading .text-link{margin-top:20px}.project-details{padding:80px 6vw}.photo-pair{display:grid;grid-template-columns:1.6fr 1fr;gap:38px;align-items:center;margin:0 0 70px}.photo-pair figure{margin:0;min-width:0}.photo-pair img{width:100%;height:auto}.detail-crop{width:min(100%,440px);aspect-ratio:1;position:relative;overflow:hidden}.detail-crop img{position:absolute;max-width:none;width:200%;height:200%;object-fit:cover;left:-50%;top:-35%}.photo-pair figcaption{font-size:11px;color:var(--muted);margin-top:12px}.project-cta{text-align:center;padding:20px 24px 100px}.project-cta h3{font-size:38px;margin-bottom:25px}.snapshot{padding:130px 6vw 60px}.snapshot figure{max-width:1100px;margin:50px auto}.snapshot h2{font-size:38px;margin:24px 0 14px}.snapshot p{max-width:650px}.snapshot img{max-height:75vh;object-fit:contain}.snapshot-contact{display:flex;gap:20px;flex-wrap:wrap;margin-top:40px}
@keyframes float{from{transform:translate3d(-8px,10px,0);opacity:.2}to{transform:translate3d(15px,-25px,0);opacity:.75}}
@media(min-width:1600px){.entrance{width:240px;height:360px}.intro-copy{top:18%}}
@media(max-height:780px) and (min-width:701px){.hero{min-height:720px}.entrance{top:44%;width:190px;height:285px}.intro-copy{top:17%}.intro-copy h1{font-size:65px}.intro-bottom{bottom:3%}}
@media(max-width:900px){.contact{gap:5vw}.inquiry{padding:24px}.form-pair{gap:14px}.contact-actions{flex-direction:column}.room-wall{grid-auto-columns:300px}.contact-intro h2{font-size:73px}}
@media(max-width:700px){html{scroll-padding-top:28px}.header{padding:22px;gap:12px}.brand{font-size:19px;gap:8px}.brand img{width:27px;height:34px}.brand small{font-size:8px;letter-spacing:.1em}.header nav{gap:0;font-size:11px}.header nav>a:first-child{display:none}.nav-contact span{margin-left:9px}.hero{min-height:740px}.intro-copy{top:18%}.intro-copy .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:18px}.intro-copy h1{font-size:53px}.entrance{top:43%;width:181px;height:278px}.door-frame,.door-leaf{border-radius:90px 90px 0 0}.door-star{font-size:38px}.intro-bottom{bottom:7%}.intro-bottom p{font-size:10px}.hero-reveal{left:25px;right:25px;bottom:8%}.hero-reveal h2{font-size:47px}.hero-reveal .eyebrow{font-size:9px}.illustration-note{font-size:8px;left:25px;right:25px;bottom:14px}.room-scene>img,.paint-layer img{object-position:50% 50%}.section{padding:90px 24px}.drip{height:43px}.section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:57px}.section-heading>p{font-size:14px;margin-top:24px}.door-row{margin:0 -24px;padding:20px 34px 30px;gap:30px}.room-door{flex-basis:205px}.portal-window{height:310px}.room-door .room-name{font-size:25px}.room-door:nth-child(even){margin-top:24px}.room-controls{font-size:10px;gap:12px}.circle{width:42px;height:42px}.explore{padding-top:75px;padding-bottom:22px}.explore-heading h2{font-size:51px}.explore-heading .eyebrow{font-size:10px}.wall-viewport{height:530px;margin-top:18px}.room-wall{grid-template-rows:210px 210px;grid-auto-columns:255px;gap:24px;padding:32px 30px}.wall-item{height:180px}.wall-item:nth-child(3n+2){height:200px}.wall-label{font-size:18px;opacity:1;transform:none}.wall-bottom{padding:0 24px}.wall-bottom a{font-size:11px}.artist{padding-top:80px;padding-bottom:85px}.artist h2{font-size:43px}.artist-copy{font-size:17px;line-height:1.7;margin:24px auto 30px}.process{display:block;text-align:left;max-width:260px;margin:auto}.process p{display:flex;gap:18px;border-bottom:1px solid var(--line);padding:15px 0}.process span{margin:0;align-self:center}.hand-note{font-size:19px;margin-top:30px}.contact{grid-template-columns:1fr;gap:45px;padding-top:100px}.contact-intro h2{font-size:77px}.contact-intro>p:not(.eyebrow){font-size:16px;margin:24px 0}.contact-portal{min-height:640px;width:100%}.contact-door{border-radius:170px 170px 0 0}.contact-door>span:first-child{font-size:35px}.inquiry{padding:24px 19px;min-height:640px}.inquiry h3{font-size:27px}.inquiry label{font-size:11px}.form-pair{grid-template-columns:1fr 1fr;gap:14px}.inquiry input,.inquiry select,.inquiry textarea{font-size:16px}.contact-actions{gap:10px}.contact-actions .pill{font-size:13px}footer{padding:35px 24px;flex-wrap:wrap;gap:15px}footer .brand{font-size:24px;width:100%}footer p{font-size:11px}.review-bar{font-size:10px;gap:8px 14px}.review-bar span{width:100%;text-align:center}.project-heading{left:24px;right:24px;bottom:7%}.project-heading h2{font-size:48px}.project-heading>p:not(.eyebrow){font-size:15px}.project-hero{min-height:690px}.close-project{top:20px;left:20px;font-size:12px}.project-details{padding:45px 24px}.photo-pair{grid-template-columns:1fr;gap:24px;margin-bottom:50px}.photo-pair figure:last-child{width:78%;margin-left:auto}.detail-crop{max-width:300px}.project-cta h3{font-size:35px}.project-cta{padding-bottom:65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.portal-shutter{transform:rotateY(-65deg)}.wall-item{transform:none!important}.specks i{opacity:.45}}



/* Content-sized rooms retain the original door dimensions and horizontal browsing. */
[hidden]{display:none!important}
.door-row{align-items:flex-start}.room-door{min-width:0}.room-name,.room-type,.wall-label,.project-heading{overflow-wrap:anywhere}
.wall-label{max-height:100%;overflow:hidden}.room-wall.single-photo{grid-template-rows:270px;align-content:center;justify-content:center;min-height:620px}
.door-row:has(.room-door:only-child){justify-content:center}.wall-viewport.no-drag{cursor:auto}
.long-title .project-heading h2{font-size:clamp(35px,4vw,60px)}
.wall-parallax{min-width:100%}.hero.gentle-reveal .empty-room,.hero.gentle-reveal .paint-layer{display:none}
.preview-banner{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 4vw;background:var(--paper);color:var(--ink);font-size:14px;border-bottom:1px solid var(--gold)}
.preview-banner a{font-weight:600;text-decoration:underline;text-underline-offset:3px;padding:8px 0}
body:has(>.preview-banner)>.header{position:relative;background:var(--ink)}
.is-preview .close-project{position:absolute;top:90px}.is-preview .project-hero{height:calc(100svh - 76px)}
@media(max-width:700px){.preview-banner{align-items:flex-start;flex-direction:column;gap:0;padding:10px 20px;font-size:12px}.is-preview .close-project{top:100px}.room-wall.single-photo{grid-template-rows:210px;min-height:480px}}
