@charset "UTF-8";
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:#131210;color:#f0ece5;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #d5ad8a;outline-offset:6px}img{width:100%;display:block}button{border:0}::selection{background:#c6a78d;color:#141310}.nav{height:88px;padding:0 5%;position:absolute;z-index:20;top:0;width:100%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff26}.logo{position:relative;display:block;width:185px;height:55px;overflow:hidden;flex-shrink:0}.logo img{position:static;width:100%;height:100%;object-fit:contain;object-position:left center;filter:none;mix-blend-mode:normal}.nav nav{display:flex;gap:35px;font-size:12px}.nav nav a{padding:15px 0}.nav a{transition:color .3s}.nav a:hover{color:#d9b799}.nav-contact{font-size:12px;border:1px solid #ffffff50;padding:12px 18px;border-radius:50px}.nav-contact span{margin-left:22px}.menu{display:none;background:transparent;font-size:25px}.hero{height:100svh;min-height:720px;position:relative;isolation:isolate;overflow:hidden;background:#332e27}.hero-image,.hero-shade{position:absolute;inset:0;z-index:-1}.hero-image img{height:100%;object-fit:cover;object-position:66% 55%;animation:hero-zoom 2.2s cubic-bezier(.2,.65,.2,1) both}.hero-shade{background:linear-gradient(90deg,#080909d9 0%,#11120f80 44%,#11111110 75%),linear-gradient(0deg,#11110fe6 0%,transparent 35%,#0003 90%)}.hero-copy{position:absolute;top:30%;left:8%;animation:arrive 1.5s .15s both}.eyebrow{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:2.7px;color:#d4b291;margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1{font-size:clamp(65px,7.7vw,125px);letter-spacing:-.065em;line-height:1.04;margin:0 0 32px}em{font-style:normal;color:#b69c84}h1 em{color:#dfc6af}.hero-description{font-size:16px;color:#d0ccc4;line-height:1.8;margin-bottom:27px}.text-link{font-size:12px;display:inline-flex;gap:40px;align-items:center;padding-bottom:10px;border-bottom:1px solid #b69c8466}.text-link span{font-size:19px;transition:transform .3s}.text-link:hover span{transform:translate(3px,-3px)}.hero-foot{position:absolute;bottom:40px;left:8%;right:5%;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.8px}.hero-foot a{font-size:10px;letter-spacing:.3px}.hero-foot b{display:inline-block;font-size:20px;font-weight:400;margin-left:25px;animation:float 2.3s infinite}.vertical-note{position:absolute;right:30px;top:42%;writing-mode:vertical-rl;font-size:9px;letter-spacing:3px;color:#f2e7d3aa}.section{padding:110px 8%}.section-label{font-size:9px;letter-spacing:1.8px;display:flex;justify-content:space-between;color:#a79b8d;border-top:1px solid #ffffff29;padding-top:23px;margin-bottom:65px}.section-label span+span{letter-spacing:.3px;color:#80796f}h2{font-size:clamp(38px,4.25vw,69px);letter-spacing:-.055em;line-height:1.13}.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:10%}.about-text{padding-top:10px}.about-text p{font-size:16px;line-height:1.9;color:#b9b4ab}.about-text p:first-child{font-size:22px;color:#e3ddd3;line-height:1.6}.about-text .text-link{margin-top:15px}.about-strip{display:flex;align-items:center;justify-content:space-between;font-size:12px;border-top:1px solid #ffffff24;padding-top:30px;margin-top:55px}.about-strip i{font-style:normal;font-size:20px;color:#8d7762}.process-intro{padding-top:40px;padding-bottom:65px}.process-intro h2{margin-bottom:25px}.process-intro>p{color:#a39b90;line-height:1.7;font-size:14px;max-width:410px}.story{height:460svh;position:relative}.story-sticky{position:sticky;top:0;height:100svh;min-height:600px;overflow:hidden;background:#191814}.story-frame{position:absolute;inset:0;opacity:0;will-change:opacity,transform}.story-frame img{height:100%;object-fit:cover;object-position:center}.frame-measure{opacity:1;background:#1c241f}.frame-measure img{filter:grayscale(1) invert(.88) contrast(.7);opacity:.55}.frame-cad img{object-fit:contain;background:#a3a29b}.frame-render img{object-position:60% center}.frame-real img{object-position:65% center}.measure-grid{position:absolute;inset:0;background-image:linear-gradient(#cfdbbd15 1px,transparent 1px),linear-gradient(90deg,#cfdbbd15 1px,transparent 1px);background-size:50px 50px}.measure-line{position:absolute;color:#e8cb9a;font-size:10px;letter-spacing:1px}.measure-line:before,.measure-line:after{content:'';position:absolute;background:#e8cb9a}.measure-line.horizontal{border-top:1px solid #e8cb9a;left:26%;right:14%;top:24%}.measure-line.horizontal span{position:absolute;top:-25px;left:40%}.horizontal:before,.horizontal:after{height:12px;width:1px;top:-6px}.horizontal:after{right:0}.measure-line.vertical{border-left:1px solid #e8cb9a;top:27%;bottom:18%;right:12%}.measure-line.vertical span{writing-mode:vertical-rl;position:absolute;left:14px;top:35%}.vertical:before,.vertical:after{height:1px;width:12px;left:-6px}.vertical:after{bottom:0}.story-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0a0b09db 0%,#0a0b0966 38%,transparent 72%),linear-gradient(0deg,#0b0b0bec,transparent 30%,transparent 80%,#1118)}.story-top{position:absolute;top:35px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#d6d0c5}.story-captions{position:absolute;left:8%;top:34%;width:38%;max-width:550px}.story-caption{position:absolute;top:0;opacity:0;pointer-events:none;transform:translateY(25px);will-change:opacity,transform}.story-caption.active{opacity:1;transform:none}.story-caption h3{font-size:clamp(40px,4.5vw,72px);letter-spacing:-.06em;line-height:1.08;margin-bottom:24px}.story-caption em{color:#d6b89a}.story-caption p{font-size:14px;line-height:1.8;color:#d1c9be;max-width:315px}.story-caption small{font-size:9px;color:#c4b8a7;display:block;line-height:1.5;margin-top:18px}.story-progress{position:absolute;bottom:36px;left:8%;right:8%;display:flex;justify-content:space-between;padding-bottom:18px;gap:10px}.story-progress button{padding:12px 0;background:none;color:#c9b9a6;font-size:10px;letter-spacing:1px;text-align:left;opacity:.45;transition:opacity .3s}.story-progress button span{margin-left:15px;letter-spacing:.2px}.story-progress button.active{opacity:1;color:#f5e4ce}.progress-track{height:1px;background:#ffffff30;position:absolute;bottom:0;width:100%}.progress-track i{display:block;height:100%;width:0;background:#d7b38b}.portal{height:230svh}.portal-sticky{height:100svh;min-height:600px;position:sticky;top:0;perspective:1400px;overflow:hidden;background:#171411}.portal-back{height:100%;object-fit:cover;object-position:center 45%;transform:scale(1.15);will-change:transform}.portal-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#111a,#1112),linear-gradient(0deg,#0a0806b3,transparent)}.portal-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;opacity:0;transform:scale(.94)}.portal-copy h2{font-size:clamp(45px,6vw,90px);text-shadow:0 4px 35px #000;margin-bottom:35px}.portal-copy em{color:#e9c9a8}.pill{display:inline-flex;align-items:center;justify-content:center;gap:45px;background:#dfc3a8;color:#241e18;border-radius:40px;font-size:12px;padding:19px 28px;transition:transform .4s,background .4s}.pill:hover{transform:translateY(-4px);background:#f5ddc7}.doors{position:absolute;inset:0;pointer-events:none;perspective:1400px;transform-style:preserve-3d}.door{position:absolute;top:0;bottom:0;width:50%;background:repeating-linear-gradient(90deg,#ffffff01 0 2px,#00000005 3px 4px),linear-gradient(100deg,#38332c,#665547 45%,#45392f);border:1px solid #130e09;box-shadow:inset 0 0 50px #0004;display:flex;align-items:center;justify-content:center;will-change:transform}.door-left{left:0;transform-origin:left center}.door-right{right:0;transform-origin:right center;background:repeating-linear-gradient(90deg,#ffffff01 0 2px,#00000005 3px 4px),linear-gradient(100deg,#514236,#6c5b4b 65%,#392f27)}.door span{font-size:12px;letter-spacing:6px;color:#e9d9c080}.door i{position:absolute;top:43%;height:100px;width:4px;background:linear-gradient(90deg,#28221b,#b29a7d,#201a14);border-radius:2px;box-shadow:2px 2px 4px #0008}.door-left i{right:35px}.door-right i{left:35px}.door-hint{position:absolute;bottom:45px;text-align:center;width:100%;font-size:9px;letter-spacing:2px;color:#d9c5b1}.services{background:#e7e1d8;color:#29251f}.services .section-label{border-color:#2a231f33;color:#817362}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.services-picture{position:relative}.services-picture img{aspect-ratio:4/5;object-fit:cover}.services-picture>span{display:block;font-size:10px;letter-spacing:.6px;padding-top:18px;color:#716557}.services h2{margin-bottom:35px}.services em{color:#968069}.service-list details{border-top:1px solid #29251f33}.service-list details:last-child{border-bottom:1px solid #29251f33}.service-list summary{display:flex;list-style:none;align-items:center;padding:23px 0;cursor:pointer;font-size:16px;gap:20px;line-height:1.4}.service-list summary::-webkit-details-marker{display:none}.service-list summary span{font-size:9px;color:#8b7863}.service-list summary b{margin-left:auto;font-size:20px;font-weight:400;transition:transform .3s}.service-list details[open] summary b{transform:rotate(45deg)}.service-list p{font-size:13px;line-height:1.8;color:#786c5e;padding-left:33px;margin-bottom:25px}.projects-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px;gap:20px}.projects-heading h2{margin-bottom:0}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{background:transparent;color:#aaa092;font-size:11px;padding:10px 15px;border:1px solid #ffffff24;border-radius:25px;transition:background .3s,color .3s}.filters button.active{color:#241e18;background:#ddc5ac;border-color:#ddc5ac}.project-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px 30px}.project{display:block;background:none;padding:0;text-align:left;min-width:0}.project.wide{grid-column:span 2}.project[hidden]{display:none}.project-image{position:relative;overflow:hidden;height:370px;background:#28241e}.project-image img{height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.6,.2,1),filter .7s}.project:hover img{transform:scale(1.045);filter:brightness(1.07)}.project-image i{position:absolute;right:20px;bottom:20px;border-radius:50%;width:40px;height:40px;background:#17130c66;backdrop-filter:blur(10px);display:grid;place-items:center;font-style:normal;font-size:20px;border:1px solid #ffffff40}.project-info{display:flex;justify-content:space-between;align-items:center;padding-top:18px;gap:10px}.project-info h3{font-size:14px;margin:0;line-height:1.4}.project-info span{font-size:9px;color:#a99b8a;line-height:1.5}.project:not(.wide) .project-info{align-items:start;flex-direction:column;gap:5px}.gallery-note{color:#867c6f;font-size:10px;text-align:right;margin-top:35px;line-height:1.6}.contact{background:#1e1b17;padding-bottom:125px}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;align-items:center}.contact h2{margin-bottom:28px}.contact p{max-width:350px;color:#a99e90;font-size:14px;line-height:1.8;margin-bottom:30px}.contact-links a{position:relative;display:flex;flex-direction:column;gap:13px;padding:28px 35px 28px 0;border-bottom:1px solid #ffffff25}.contact-links a:first-child{border-top:1px solid #ffffff25}.contact-links span{font-size:10px;color:#9b8d7c}.contact-links strong{font-size:clamp(16px,1.8vw,26px);font-weight:400;letter-spacing:-.02em;overflow-wrap:anywhere}.contact-links b{position:absolute;right:0;top:46%;font-size:20px;font-weight:400;color:#bea58b}footer{padding:40px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:10px;color:#9b9082}footer>.logo{width:160px;height:47px}footer>a:last-child{color:#cfc0ae}.lightbox{position:fixed;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:60px 80px;border:0;background:#11100ff5;color:#eee}.lightbox::backdrop{background:#111}.lightbox[open]{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:25px}.lightbox figure{margin:0;min-width:0;display:flex;align-items:center;flex-direction:column;gap:20px}.lightbox figure img{max-height:calc(100dvh - 160px);width:auto;max-width:100%;object-fit:contain}.lightbox figcaption{font-size:12px;color:#d2b89c}.lightbox button{background:none;font-size:26px;padding:10px}.lightbox-close{position:absolute;right:25px;top:16px}.reveal{opacity:0;transform:translateY(32px);transition:opacity 1s,transform 1.15s cubic-bezier(.2,.65,.2,1)}.reveal.visible{opacity:1;transform:none}@keyframes arrive{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes hero-zoom{from{transform:scale(1.09)}to{transform:scale(1)}}@keyframes float{50%{transform:translateY(6px)}}
@media(min-width:1700px){.section{padding-left:max(8%,calc((100vw - 1450px)/2));padding-right:max(8%,calc((100vw - 1450px)/2))}.hero-copy{left:10%}}
@media(max-width:1000px){.section{padding:85px 6%}.about-grid{gap:6%}.services-grid{gap:6%}.project-grid{gap:30px 20px}.project-image{height:300px}.story-captions{left:6%;width:46%}.contact-grid{gap:7%}.nav nav{gap:20px}.hero-copy{left:6%}.hero-foot{left:6%}.project-info{flex-direction:column;align-items:start;gap:5px}.services .section-label{margin-bottom:45px}}
@media(max-width:650px){html{scroll-padding-top:25px}.nav{height:76px;padding:0 6%}.nav .logo{width:156px;height:46px}.nav-contact{margin-left:auto;margin-right:15px;font-size:10px;padding:10px 12px}.nav-contact span{margin-left:6px}.menu{display:block;padding:5px}.nav nav{display:none;position:absolute;top:76px;left:0;right:0;background:#16130ff5;padding:25px 8%;flex-direction:column;gap:5px;border-bottom:1px solid #9a8463}.nav.open nav{display:flex}.hero{min-height:720px;height:100svh;max-height:1000px}.hero-image img{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#10100dd4,#1116),linear-gradient(0deg,#10100f,transparent 40%)}.hero-copy{top:31%;left:7%;right:6%}h1{font-size:clamp(55px,13.8vw,86px);margin-bottom:28px}.hero-description{font-size:13px}.eyebrow{font-size:8px;letter-spacing:2px}.hero-foot{left:7%;right:7%;bottom:28px;align-items:end;gap:35px}.hero-foot>span{max-width:150px;font-size:8px;line-height:1.8}.hero-foot a{font-size:9px;white-space:nowrap}.hero-foot b{margin-left:10px}.vertical-note{display:none}.section{padding:70px 7%}.section-label{font-size:8px;letter-spacing:1px;margin-bottom:38px;gap:25px;line-height:1.6}.section-label span+span{text-align:right;max-width:150px}h2{font-size:40px}.about-grid{grid-template-columns:1fr;gap:15px}.about-text p:first-child{font-size:19px}.about-text p{font-size:14px}.about-strip{display:grid;grid-template-columns:1fr 20px 1fr;gap:20px;font-size:10px}.about-strip i:nth-of-type(2){display:none}.about-strip span:nth-of-type(3){grid-column:1}.process-intro{padding-top:20px}.story{height:420svh}.story-sticky{min-height:640px}.story-top{top:25px;left:7%;right:7%;font-size:7px;letter-spacing:1px;gap:20px}.story-top>span:first-child{max-width:220px;line-height:1.8}.story-frame img{object-fit:cover;object-position:57% 30%}.frame-cad img{object-fit:contain;object-position:center 25%}.frame-measure img{object-fit:contain;object-position:center 25%}.story-shade{background:linear-gradient(0deg,#0c0c0cf5 0%,#0c0c0cdd 28%,#0c0c0c30 63%,#0c0c0c44)}.story-captions{left:7%;right:7%;width:auto;top:auto;bottom:355px;max-width:400px}.story-caption h3{font-size:43px;margin-bottom:18px}.story-caption p{font-size:12px;max-width:320px}.story-caption small{font-size:8px;margin-top:12px}.story-caption .eyebrow{margin-bottom:14px}.story-progress{left:7%;right:7%;bottom:27px;gap:5px}.story-progress button{font-size:8px}.story-progress button span{display:block;margin:9px 0 0;font-size:8px}.measure-line.horizontal{left:10%;right:10%;top:17%}.measure-line.vertical{top:20%;bottom:43%;right:7%}.measure-line{font-size:8px}.portal{height:200svh}.portal-sticky{min-height:620px;perspective:900px}.portal-copy{padding:0 7%}.portal-copy h2{font-size:44px}.door span{font-size:9px;letter-spacing:3px}.door-left i{right:18px}.door-right i{left:18px}.door-hint{font-size:7px;padding:0 20px;letter-spacing:1.5px}.services-grid{grid-template-columns:1fr;gap:45px}.services-picture img{aspect-ratio:5/4}.services h2{margin-bottom:20px}.service-list summary{font-size:15px}.projects-heading{display:block;margin-bottom:30px}.filters{margin-top:27px;gap:7px}.filters button{padding:9px 14px;font-size:10px}.project-grid{grid-template-columns:1fr;gap:30px}.project.wide{grid-column:auto}.project-image{height:auto;aspect-ratio:5/4}.project-info,.project:not(.wide) .project-info{flex-direction:row;align-items:center;gap:10px}.project-info h3{font-size:12px}.project-info span{font-size:8px;max-width:110px;text-align:right}.gallery-note{text-align:left}.contact-grid{grid-template-columns:1fr;gap:45px}.contact h2{font-size:45px}.contact-links strong{font-size:22px}.contact-links a{padding:24px 30px 24px 0}footer{padding:35px 7%;flex-wrap:wrap;gap:20px}footer>span{order:3;width:100%;font-size:9px}footer .logo{width:135px;height:40px}.lightbox{padding:65px 12px}.lightbox[open]{grid-template-columns:28px 1fr 28px;gap:4px}.lightbox button{font-size:20px;padding:4px}.lightbox figcaption{text-align:center;font-size:11px;line-height:1.6}.lightbox figure img{max-height:75dvh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.story{height:auto}.story-sticky{position:relative;height:auto;min-height:0;padding-top:20px}.story-top,.story-progress,.story-shade{display:none}.story-frame{position:relative;height:55svh;min-height:350px;opacity:1!important;transform:none!important}.story-frame img{object-fit:contain}.story-captions{position:static;width:auto;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:40px 7%}.story-caption{position:static;opacity:1!important;transform:none!important}.story-caption h3{font-size:32px}.story-caption p{font-size:12px}.portal{height:auto}.portal-sticky{position:relative;height:90svh}.doors,.door-hint{display:none}.portal-copy{opacity:1!important;transform:none!important}.portal-back{transform:none!important}.story-caption small{margin-top:15px}}@media(prefers-reduced-motion:reduce) and (max-width:650px){.story-captions{grid-template-columns:1fr}}

/* Portrait photographs retain the full cabinetry in gallery previews. */
.project.portrait .project-image{height:440px}.project.portrait img{object-position:center}.project-grid{align-items:start}@media(max-width:1000px) and (min-width:651px){.project.portrait .project-image{height:370px}}@media(max-width:650px){.project.portrait .project-image{height:auto;aspect-ratio:3/4}.project.portrait img{object-fit:cover}}

/* Extended local collection */
.projects-heading{align-items:center;gap:45px}.filters{max-width:650px;justify-content:flex-end}.filters button{min-height:42px}.filter-count{opacity:.55;font-size:9px;margin-left:5px}.collection-bar{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#a99b8a;margin-bottom:25px}.collection-bar p{margin:0}.collection-bar>span{font-size:9px;color:#776f63}.more-projects{text-align:center;margin:55px 0 15px}.more-projects .pill{border:0}.project .image-count{position:absolute;left:16px;bottom:18px;background:#15110dc9;color:#ead5bd;padding:8px 11px;backdrop-filter:blur(8px);border:1px solid #ffffff30;font-size:9px;border-radius:20px;font-style:normal}.project.portrait .project-image{height:440px;background:#211e19}.project.portrait img{object-fit:contain}.project .project-info{align-items:start}.project-info span{font-size:9px;line-height:1.7}.project-info h3{line-height:1.5}.lightbox figure img{max-height:calc(100dvh - 175px)}.lightbox figcaption{line-height:1.7;text-align:center;max-width:750px}.lightbox figcaption small{display:block;color:#a89b8a;font-size:10px}.gallery-note{max-width:700px;margin-left:auto}button[hidden],.more-projects[hidden]{display:none!important}
@media(max-width:1000px){.projects-heading{display:block}.filters{margin-top:28px;justify-content:flex-start;max-width:none}.project.portrait .project-image{height:370px}}
@media(max-width:650px){.filters{gap:8px}.filters button{padding:11px 13px;min-height:44px}.collection-bar{font-size:9px}.collection-bar>span{display:none}.project.portrait .project-image{height:440px;aspect-ratio:auto}.project .project-info{align-items:start}.project-info span{text-align:right}.lightbox figure img{max-height:76dvh}.more-projects{margin-top:40px}.gallery-note{text-align:left}}

/* Preserve every full photographic frame in a quiet editorial masonry layout. */
.project-grid{display:block;columns:2;column-gap:32px}.project{width:100%;display:inline-block;vertical-align:top;break-inside:avoid;margin:0 0 42px;animation:gallery-enter .6s both}.project .project-image,.project.portrait .project-image{height:auto!important;aspect-ratio:auto!important;background:transparent}.project-image img{height:auto;width:100%;object-fit:contain}.project.portrait img{object-fit:contain}.project:not(.wide) .project-info{flex-direction:row;justify-content:space-between;align-items:start}.project-info span{text-align:right;flex-shrink:0}.project-info h3{max-width:68%}.project-image .image-count{bottom:20px}.collection-bar{margin-top:35px}.filters{max-width:680px}@keyframes gallery-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@media(max-width:650px){.project-grid{columns:1}.project{margin-bottom:32px}.project-info h3{max-width:62%}.project-info span{font-size:8px}.collection-bar{margin-top:25px}}
