:root{--ivory:#f6f3ec;--ink:#252621;--red:#b42035;--line:#d9d3c7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #b42035;outline-offset:5px}img{display:block;max-width:100%}.wrap{width:min(1320px,88%);margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:700;line-height:1.8}.eyebrow:before{content:'';display:inline-block;width:27px;height:1px;background:currentColor;vertical-align:middle;margin-right:13px}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:500;letter-spacing:-.045em;line-height:1.04}h1{font-size:clamp(48px,6.8vw,100px)}h2{font-size:clamp(37px,4.7vw,68px)}h3{font-weight:500}em{font-family:Georgia,serif;font-weight:400}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 6%;background:white}.brand{flex-shrink:0}.brand img{width:244px;height:auto}nav{display:flex;align-items:center;gap:32px;font-size:13px}nav>a:not(.button):hover{color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--red);color:#fff;padding:19px 27px;border-radius:40px;font-size:14px;transition:background .2s,transform .2s}.button:hover{background:#8c182a;transform:translateY(-2px)}.menu{display:none}.hero{min-height:690px;height:calc(100svh - 170px);max-height:1000px;position:relative;background:#292b27;color:white;overflow:hidden;display:flex;align-items:center}.hero-image{position:absolute;inset:0;background:url('assets/project-04.jpg') center 54%/cover;animation:slowZoom 18s ease-out both}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#10130fe6,#10130f44)}.hero-copy{position:relative;z-index:1;width:88%;margin:auto;padding:60px 0 110px}.hero-copy p:not(.eyebrow){max-width:430px;font-size:16px;line-height:1.8;color:#ecece8}.hero-copy h1{max-width:920px;margin:28px 0}.hero-copy em{color:#ead8be}.hero-link{display:inline-block;margin:25px;font-size:13px;border-bottom:1px solid #ffffff75;padding-bottom:7px}.hero-foot{position:absolute;z-index:1;bottom:28px;left:6%;right:6%;display:flex;justify-content:space-between;border-top:1px solid #ffffff55;padding-top:20px;font-size:11px;letter-spacing:.08em}.ticker{overflow:hidden;background:#e7d6bb;padding:20px 0;border-bottom:1px solid #d9c6a8;font-size:12px;font-weight:700;letter-spacing:.15em}.ticker div{width:max-content;animation:marquee 45s linear infinite}.ticker b{padding:0 32px;color:var(--red)}.intro{padding:110px 0;display:grid;grid-template-columns:1fr 1fr;column-gap:80px}.intro .eyebrow{grid-column:1/-1;color:var(--red)}.intro h2{margin-bottom:0}.intro>p:last-child{align-self:end;max-width:400px;line-height:1.9;color:#66675f}.portfolio{padding-bottom:100px}.section-title{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:35px}.section-title h2{margin-bottom:0}.section-title>p{font-size:14px;color:#6a6c63;line-height:1.8}.filters{display:flex;flex-wrap:wrap;gap:10px;padding:20px 0;border-block:1px solid var(--line)}.filters button{border:1px solid var(--line);background:transparent;border-radius:40px;padding:13px 22px;color:var(--ink);font-size:13px}.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.gallery-heading{display:flex;justify-content:space-between;align-items:center;padding:30px 0 20px}.gallery-heading h3{font-size:26px;margin:0}.gallery-heading span{font-size:12px;color:#686a60}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project{padding:0;border:0;background:transparent;text-align:left;color:var(--ink)}.project .image-wrap{overflow:hidden;background:#e9e4db;aspect-ratio:4/3;border-radius:4px}.project img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project:hover img{transform:scale(1.045)}.project .caption{display:flex;justify-content:space-between;padding:13px 0;font-size:12px;letter-spacing:.04em}.process{background:#eae5da;padding:95px 0;background-image:linear-gradient(#d2cabb33 1px,transparent 1px),linear-gradient(90deg,#d2cabb33 1px,transparent 1px);background-size:35px 35px}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.drawing{width:100%;margin-top:30px;color:#7c7a6e}.drawing path{stroke-dasharray:4000;stroke-dashoffset:4000}.drawing.animate path{animation:draw 5s ease forwards}.drawing .measure{color:var(--red)}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:25px;padding:30px 0;border-bottom:1px solid #c8bfaf}.steps li>span{font:italic 35px Georgia;color:var(--red)}.steps h3{font-size:24px;margin-bottom:12px}.steps p{font-size:14px;line-height:1.8;color:#64665c;margin:0;max-width:340px}.finishes{padding:100px 0}.finish-toolbar{display:flex;justify-content:space-between;align-items:center;margin:30px 0 15px;font-size:12px;letter-spacing:.12em}.arrow{width:48px;height:48px;border-radius:50%;border:1px solid #bcb6aa;background:transparent;font-size:21px;margin-left:8px}.arrow:hover{background:#e6dfd1}.color-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b42035 #ded8cc;padding:15px 0 24px}.finish{flex:0 0 calc((100% - 72px)/4);scroll-snap-align:start;background:#eeeae1;text-align:center;padding:25px 20px 20px}.finish img{height:320px;width:auto;max-width:100%;object-fit:contain;margin:0 auto 25px}.finish h3{font-size:16px;margin:0}.sample-note{font-size:12px;color:#6a6c63;line-height:1.7;margin-top:20px}.contact{background:#242722;color:white;padding:90px 0}.contact em{color:#dcc4a5}.contact p:not(.eyebrow){color:#c5c7be;line-height:1.8}.text-link{margin-left:30px;font-size:14px;border-bottom:1px solid #aaa;padding-bottom:7px}footer{padding:45px 0;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:13px}footer p{margin:0;line-height:1.7}footer span,footer small{color:#6a6c63}.mobile-contact{display:none}.skip{position:absolute;left:10px;top:-100px;z-index:100;background:white;padding:15px}.skip:focus{top:10px}dialog{padding:50px 65px;background:#151714;color:white;border:0;width:96vw;max-width:1500px;height:94svh;max-height:94svh}dialog::backdrop{background:#000d}dialog[open]{display:flex;align-items:center;justify-content:center}dialog figure{margin:0;max-width:100%;text-align:center}dialog img{max-height:77svh;max-width:100%;object-fit:contain;margin:auto}dialog figcaption{font-size:13px;padding:15px}.close,.photo-prev,.photo-next{position:absolute;color:white;background:#333;border:0;width:44px;height:44px;border-radius:50%;font-size:24px}.close{right:12px;top:10px}.photo-prev{left:10px}.photo-next{right:10px}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.js .reveal.visible{opacity:1;transform:none}@keyframes slowZoom{from{transform:scale(1.08)}to{transform:scale(1)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes draw{to{stroke-dashoffset:0}}@media(max-width:1000px){nav{gap:18px}.brand img{width:210px}.process-grid{gap:45px}.gallery{grid-template-columns:repeat(2,1fr)}.finish{flex-basis:calc((100% - 48px)/3)}}@media(max-width:760px){header{padding:12px 6%;position:relative;z-index:5}.brand img{width:190px}.menu{display:block;background:transparent;border:1px solid var(--line);border-radius:50%;height:44px;width:44px;font-size:24px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:25px 6%;box-shadow:0 15px 20px #0002}nav.open{display:flex;flex-direction:column;align-items:stretch}nav>a{padding:10px}.hero{height:auto;min-height:660px}.hero-copy{padding:65px 0 100px}.hero h1{font-size:55px}.hero-copy .eyebrow{font-size:9px}.hero-copy p:not(.eyebrow){font-size:14px;max-width:330px}.hero-link{margin:24px 0;display:block;width:max-content}.hero-foot{font-size:9px}.hero-foot>span{max-width:150px}.intro{padding:65px 0;display:block}.intro>p:last-child{margin:25px 0 0}.section-title{display:block}.section-title>p{margin:22px 0 0}.filters{flex-wrap:nowrap;overflow:auto;padding-bottom:18px}.filters button{white-space:nowrap}.gallery{gap:15px}.project .image-wrap{aspect-ratio:3/4}.caption{font-size:10px!important}.portfolio{padding-bottom:60px}.process{padding:65px 0}.process-grid{display:block}.steps{margin-top:30px}.finishes{padding:65px 0}.finish{flex-basis:75%;padding:22px}.finish img{height:350px}.contact{padding:65px 0}.text-link{display:block;width:max-content;margin:28px 0 0}footer{align-items:start;flex-wrap:wrap;padding-bottom:110px}footer small{width:100%}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;background:#242722;padding:12px 5% max(12px,env(safe-area-inset-bottom));gap:10px}.mobile-contact a{border:1px solid #7a7b70;border-radius:30px;flex:1;padding:14px 8px;text-align:center;color:white;font-size:12px}.mobile-contact a:first-child{background:var(--red);border-color:var(--red)}dialog{padding:60px 40px}dialog img{max-height:72svh}.photo-prev,.photo-next{width:32px;height:42px}.photo-prev{left:3px}.photo-next{right:3px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.drawing path{stroke-dashoffset:0}}

.video-project{grid-column:1/-1;margin-bottom:20px}.video-project video{display:block;width:100%;max-height:650px;background:#222;border-radius:4px;object-fit:contain}.video-project h3{margin:18px 0 8px;font-size:24px}.video-project p{font-size:12px;color:#686a60}

.manufacturing{padding-top:90px}.manufacturing video{display:block;width:100%;max-height:720px;aspect-ratio:16/9;object-fit:contain;background:#20231f;border-radius:4px}@media(max-width:760px){.manufacturing{padding-top:60px}}

#play-manufacturing{margin-top:16px;border:0}#play-manufacturing[hidden]{display:none}#video-status{font-size:13px;margin-top:12px}

/* Full-door finish presentation */
.finish{flex:0 0 calc((100% - 48px)/3);background:#fff;padding:32px 25px 28px;border:1px solid #e4dfd5;border-radius:5px}.finish img{height:470px;max-height:none;width:100%;object-fit:contain;margin:0 auto 24px;filter:drop-shadow(3px 9px 7px #0002)}.finish h3{font-size:19px;font-weight:600;line-height:1.4}.finish-swatch{display:block;width:54px;height:22px;margin:0 auto 12px;border-radius:3px;border:1px solid #0002}@media(max-width:1000px){.finish{flex-basis:calc((100% - 24px)/2)}}@media(max-width:760px){.finish{flex-basis:90%;padding:24px 18px}.finish img{height:420px}.finish h3{font-size:19px}}

/* Layout and type direction taken from the supplied reference video. */
:root{--ivory:#eae4d6;--ink:#20211e;--red:#ba0d30}body{font-family:Arial,Helvetica,sans-serif}h1,h2{font-weight:750;letter-spacing:-.045em;line-height:1.06}em{font-family:inherit;font-style:normal;font-weight:inherit;color:var(--red)!important}header{padding-block:10px}.brand img{width:220px}.hero{height:auto;min-height:620px}.hero-image{background-image:url('assets/project-01.jpg');background-position:center 55%}.hero:after{background:linear-gradient(90deg,#11120fea,#11120f60 70%,#11120f33)}.hero h1{font-size:clamp(50px,6.4vw,88px);max-width:750px}.hero-copy{padding:80px 0 110px}.hero-copy p:not(.eyebrow){max-width:470px}.hero-copy .button{min-width:280px;justify-content:center}.hero-link{padding:18px 32px;border:1px solid #ffffff80;border-radius:40px;margin:0 0 0 14px}.intro{padding:85px 0 55px}.intro h2{font-size:clamp(34px,4vw,54px)}.intro p:last-child{font-size:16px}.services-reference{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding-bottom:85px}.service-reference>img{width:100%;height:340px;object-fit:cover;border-radius:14px}.service-copy{padding:24px 4px}.service-number{font-size:64px;font-weight:800;color:#b19b7a;line-height:1}.service-copy .eyebrow{font-size:10px;margin:4px 0 12px}.service-copy h3{font-size:28px;font-weight:700;letter-spacing:-.03em}.service-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;max-width:450px;color:#55564f}.pills{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 24px}.pills span{border:1px solid #d0c8b8;background:#f8f4eb;border-radius:30px;padding:8px 13px;font-size:12px;font-weight:600}.service-copy>a,.outdoor-reference a{display:inline-block;font-size:14px;font-weight:600;border-bottom:2px solid var(--red);padding-bottom:8px}.outdoor-reference{background:#1b1c19;color:#f8f5eb;padding:70px 0;margin-bottom:85px}.outdoor-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.outdoor-grid img{border-radius:14px;width:100%;height:390px;object-fit:cover}.outdoor-grid h2{font-size:clamp(38px,4vw,60px)}.outdoor-grid p:not(.eyebrow){line-height:1.8;color:#c3c3ba}.project .image-wrap{border-radius:12px}.steps li{background:#faf8ef;border:1px solid #ccc4b4;border-radius:14px;padding:27px;margin-bottom:15px;box-shadow:0 8px 22px #3e332008}.steps h3{font-weight:700}.steps li>span{font-family:inherit;font-style:normal;font-weight:700}.drawing{background:#faf8ef;border:1px solid #d4cbbb;border-radius:14px;padding:18px}.ticker{background:#c29c70}.contact h2{font-weight:750}.filters button{background:#f8f4eb}.manufacturing h2{font-size:clamp(32px,4vw,54px)}.section-title h2{font-size:clamp(35px,4vw,54px)}
@media(max-width:760px){.brand img{width:180px}.hero{min-height:600px}.hero-copy{padding:55px 0 100px;text-align:center}.hero-copy .eyebrow{font-size:10px;letter-spacing:.12em}.hero-copy .eyebrow:before{display:none}.hero h1{font-size:48px}.hero-copy p:not(.eyebrow){margin-inline:auto}.hero-copy .button,.hero-link{display:flex;width:100%;justify-content:center;margin:18px 0 0;padding:17px}.hero-foot{justify-content:center}.hero-foot>a{display:none}.hero-foot>span{max-width:none}.intro{padding:60px 0 35px}.services-reference{grid-template-columns:1fr;gap:20px;padding-bottom:45px}.service-reference>img{height:260px}.service-copy h3{font-size:26px}.outdoor-reference{padding:0 0 50px;margin-bottom:60px}.outdoor-grid{display:flex;flex-direction:column;gap:30px}.outdoor-grid img{height:250px;border-radius:0;width:calc(100% / .88);max-width:none}.outdoor-grid>div{width:100%}.gallery{gap:12px}.project .image-wrap{aspect-ratio:1/1}.steps li{padding:24px}.contact h2{font-size:45px}}

/* Coordinated motion: restrained entrances, living architectural drawing. */
.hero-image{animation:heroDrift 24s ease-in-out infinite alternate;will-change:transform}.hero-copy>*{animation:heroEnter .9s both}.hero-copy>h1{animation-delay:.12s}.hero-copy>p:not(.eyebrow){animation-delay:.24s}.hero-copy>a{animation-delay:.36s}.scroll-cue span{display:inline-block;animation:scrollHint 2s ease-in-out infinite}.js .reveal{transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1);transform:translateY(32px)}.js .reveal.visible{transform:none}.service-reference:nth-child(2){transition-delay:.14s}.service-reference>img{transition:transform .8s ease,box-shadow .8s ease}.service-reference:hover>img{transform:translateY(-5px);box-shadow:0 18px 34px #30271518}.gallery .project{animation:photoEnter .65s both;animation-delay:calc(min(var(--order,0),5)*65ms)}.cabinet-stage{margin-top:32px;border:1px solid #c9c0ae;border-radius:16px;overflow:hidden;background:#faf7ef;box-shadow:0 18px 45px #3027150a}.drawing-label,.drawing-caption{display:flex;align-items:center;justify-content:space-between;padding:19px 23px;font-size:9px;letter-spacing:.12em;font-weight:700;color:#75674f}.drawing-label{border-bottom:1px solid #e0d8c9}.drawing-caption{border-top:1px solid #e0d8c9}.cabinet-motion{width:100%;height:auto;display:block}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--red)}.cabinet-stage [class^="cabinet-"]{transform-box:fill-box;transform-origin:center}.cabinet-outline{stroke-dasharray:1;animation:blueprint 10s ease-in-out infinite}.cabinet-upper{animation:upperFit 10s ease-in-out infinite}.cabinet-left{animation:leftFit 10s ease-in-out infinite}.cabinet-right{animation:rightFit 10s ease-in-out infinite}.cabinet-drawers{animation:drawerFit 10s ease-in-out infinite}.cabinet-counter{animation:counterFit 10s ease-in-out infinite}.cabinet-dimensions{animation:measureFit 10s ease-in-out infinite}.cabinet-stage:not(.in-view) *{animation-play-state:paused}.motion-toggle{border:1px solid #c7bdad;border-radius:30px;background:transparent;padding:10px 16px;color:inherit;font-size:12px}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .reveal{opacity:1;transform:none;transition:none}
@keyframes heroDrift{from{transform:scale(1.02)}to{transform:scale(1.09) translate3d(-.7%,.3%,0)}}
@keyframes heroEnter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes scrollHint{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@keyframes photoEnter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes blueprint{0%{stroke-dashoffset:1;opacity:.3}22%,88%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:.3}}
@keyframes upperFit{0%,16%{opacity:0;transform:translateY(-18px)}34%,88%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-18px)}}
@keyframes leftFit{0%,26%{opacity:0;transform:translateX(-24px)}45%,88%{opacity:1;transform:none}100%{opacity:0;transform:translateX(-24px)}}
@keyframes rightFit{0%,31%{opacity:0;transform:translateX(24px)}50%,88%{opacity:1;transform:none}100%{opacity:0;transform:translateX(24px)}}
@keyframes drawerFit{0%,37%{opacity:0;transform:translateY(20px)}56%,88%{opacity:1;transform:none}100%{opacity:0;transform:translateY(20px)}}
@keyframes counterFit{0%,45%{opacity:0;transform:translateY(-16px)}63%,88%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-16px)}}
@keyframes measureFit{0%,57%{opacity:0}70%,88%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.hero-copy>*,.gallery .project,.cabinet-stage *{animation:none!important;opacity:1;transform:none}.cabinet-outline{stroke-dashoffset:0}.js .reveal{opacity:1;transform:none}.motion-toggle{display:none}}

.site-footer{display:block;width:100%;background:#fff;padding:50px 0 35px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}.footer-brand{order:-1}.footer-brand img{width:240px;height:auto;object-fit:contain;margin-bottom:18px}.footer-brand p{font-size:13px;line-height:1.8;color:#62645b}.site-footer small{width:100%;border-top:1px solid #e4e1da;padding-top:22px;font-size:11px}.site-footer .motion-toggle{margin-left:auto}@media(max-width:760px){.site-footer{padding:38px 0 110px}.footer-inner{gap:24px}.footer-brand{width:100%}.footer-brand img{width:220px;max-width:100%}.site-footer .motion-toggle{margin-left:0}.site-footer small{line-height:1.7}}
