@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--ink:#2b241e;--walnut:#4a3022;--copper:#9d6e49;--sage:#7e8574;--oak:#c7aa83;--ivory:#f5f0e7;--paper:#fbf8f2;--line:#cfc2b1;--serif:"Libre Caslon Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 var(--sans)}img{display:block;width:100%}a{color:inherit}.wrap{width:min(1320px,88%);margin:auto}.skip-link{position:fixed;top:-5rem;left:1rem;background:#fff;padding:1rem;z-index:99}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{position:absolute;z-index:10;top:0;left:50%;transform:translateX(-50%);width:min(1370px,90%);height:88px;display:flex;align-items:center;justify-content:space-between;color:#fff}.wordmark{text-decoration:none;line-height:1;display:flex;flex-direction:column}.wordmark strong{font-size:29px;letter-spacing:.22em}.wordmark span{font-size:9px;letter-spacing:.26em;margin-top:7px}.site-header nav{display:flex;align-items:center;gap:32px}.site-header nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:600}.site-header .nav-cta{border:1px solid rgba(255,255,255,.55);padding:13px 20px}.nav-toggle{display:none;border:0;background:none}.nav-toggle i{display:block;width:24px;height:1px;background:#fff;margin:5px}
.hero{height:min(820px,95vh);min-height:650px;position:relative;background:url('../images/cropped-d8183a5ceb3c63647f8d502a07e2efb1-cc_ft_1536.webp') center 53%/cover no-repeat;color:#fff;display:flex;align-items:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,16,11,.87),rgba(25,16,11,.25) 72%,rgba(25,16,11,.46))}.hero-content{position:relative;width:min(1320px,88%);margin:auto;padding-top:75px}.eyebrow{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.22em;font-weight:600;margin:0 0 24px}.eyebrow.dark{color:var(--copper)}.hero h1,.statement h2,.section-title h2,.project-copy h3,.about h2,.contact h2{font:400 clamp(42px,6vw,82px)/.96 var(--serif);text-transform:uppercase;letter-spacing:.01em;margin:0}.hero-intro{font-size:18px;max-width:600px;margin:26px 0}.hero-actions{display:flex;gap:25px;align-items:center}.button{display:inline-block;background:var(--copper);color:#fff;border:0;padding:16px 24px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font:600 10px var(--sans);cursor:pointer}.button b{font-size:16px;margin-left:8px}.text-link{font-size:11px;text-transform:uppercase;letter-spacing:.12em;text-underline-offset:5px}.hero-label{position:absolute;bottom:32px;right:6%;font-size:9px;text-transform:uppercase;letter-spacing:.17em}.hero-label span{display:inline-block;width:60px;border-top:1px solid;margin-left:12px;vertical-align:middle}
.statement{min-height:310px;display:grid;grid-template-columns:.55fr 1fr 1fr;gap:6%;align-items:center;padding:60px 0}.statement h2{font-size:38px}.statement p{margin:0}.statement em,.about em{font:italic 21px/1.3 var(--serif);display:block;margin-top:20px;color:var(--walnut)}
.section{padding:100px 0}.section-title{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:55px;border-bottom:1px solid var(--line);padding-bottom:22px}.section-title h2{font-size:clamp(32px,4vw,54px)}.section-title>p{max-width:390px;margin:0 0 6px}.work{background:var(--ivory)}.project-feature{display:grid;grid-template-columns:1.3fr .7fr;min-height:590px;margin-bottom:85px;background:var(--paper)}.project-feature.reverse{grid-template-columns:.7fr 1.3fr}.project-feature.reverse .project-image{order:2}.project-feature.reverse .project-copy{order:1}.project-image{overflow:hidden;background:#ddd}.project-image img{height:100%;min-height:590px;object-fit:cover;transition:transform .8s ease}.project-feature:hover .project-image img{transform:scale(1.025)}.project-copy{padding:58px 54px;display:flex;flex-direction:column;justify-content:center}.project-copy>span,.project-role{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:var(--copper);font-weight:600}.project-copy h3{font-size:clamp(34px,4vw,58px);margin:18px 0 26px}.project-copy>p:not(.project-role){font-size:16px}.project-copy dl{margin:24px 0}.project-copy dl>div{border-top:1px solid var(--line);padding:13px 0;display:grid;grid-template-columns:100px 1fr;gap:15px}.project-copy dt{font-size:9px;text-transform:uppercase;letter-spacing:.15em;font-weight:600}.project-copy dd{margin:0;font-size:12px}.project-role{margin-top:18px}
.process{background:var(--paper)}.process-heading{display:grid;grid-template-columns:1.05fr .95fr;gap:10%;align-items:end;margin-bottom:72px}.process-heading h2{font:400 clamp(40px,5vw,68px)/.96 var(--serif);text-transform:uppercase;margin:0}.process-heading>p{max-width:530px;margin:0 0 5px;font-size:16px}.process-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0}.process-grid:before{content:"";position:absolute;top:48px;left:12.5%;right:12.5%;border-top:1px solid var(--line)}.process-step{position:relative;padding:0 34px 12px;border-left:1px solid var(--line)}.process-step:first-child{border-left:0;padding-left:0}.process-step:last-child{padding-right:0}.process-mark{height:96px;display:flex;align-items:flex-start;justify-content:space-between;position:relative;background:var(--paper)}.process-mark>span{font:400 44px/1 var(--serif);color:var(--copper)}.process-mark svg{width:42px;height:42px;fill:none;stroke:var(--walnut);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}.process-grid h3,.service-grid h3{font:400 24px var(--serif);text-transform:uppercase;margin:0}.process-grid p{font-size:14px;margin:12px 0 0;max-width:260px}
.services{background:var(--sage);color:#fff}.services .section-title{border-color:rgba(255,255,255,.35)}.services .eyebrow{color:#e8d4b9}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.service-grid article{padding:25px 44px 35px 0;border-top:1px solid rgba(255,255,255,.4)}.service-grid article+article{padding-left:44px;border-left:1px solid rgba(255,255,255,.4)}.service-grid article>span{font:18px var(--serif);color:#e8d4b9}.service-grid h3{font-size:25px;margin:55px 0 15px}.service-grid p{max-width:350px;margin:0}
.about{display:grid;grid-template-columns:1.05fr .95fr;background:var(--walnut);color:#fff}.about-image img{height:100%;min-height:650px;object-fit:cover}.about-copy{padding:90px max(7%,calc((100vw - 1320px)/2)) 90px 7%;display:flex;flex-direction:column;justify-content:center}.about h2{font-size:clamp(40px,5vw,66px);margin-bottom:25px}.about-copy p{max-width:590px}.about em{color:#e8d4b9;margin:23px 0}.about .button{align-self:flex-start}
.contact{position:relative;background:url('../images/cropped-Woodwall-Pic.jpeg') center/cover;color:#fff;padding:95px max(6%,calc((100vw - 1320px)/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;min-height:620px}.contact-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,17,11,.96),rgba(53,35,23,.82))}.contact>*:not(.contact-backdrop){position:relative}.contact h2{font-size:clamp(42px,5vw,68px)}.contact-intro>p{max-width:480px;font-size:16px}.contact-details{display:flex;flex-direction:column;gap:6px;margin-top:35px}.contact-details a{text-decoration:none}.contact form>div{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact label{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:9px;margin-bottom:16px}.contact input,.contact textarea{display:block;width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.55);background:transparent;color:#fff;padding:11px 0;border-radius:0;outline:none;font:15px var(--sans)}.contact textarea{resize:vertical}.contact .honeypot{position:absolute;left:-10000px}.contact .button{margin-top:10px}.site-footer{background:#21140e;color:#fff;text-align:center;padding:48px 30px;display:flex;flex-direction:column;align-items:center}.site-footer em{font:italic 18px var(--serif);margin:22px 0 5px}.site-footer p{font-size:10px}.site-footer nav{display:flex;gap:28px;margin:17px 0}.site-footer nav a{text-decoration:none;text-transform:uppercase;font-size:9px;letter-spacing:.12em}.site-footer>small{opacity:.65;font-size:9px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{width:90%}.nav-toggle{display:block}.site-header nav{display:none;position:fixed;left:-6%;right:-6%;top:88px;background:#24160e;padding:32px;flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.hero-content{width:88%}.statement{grid-template-columns:1fr 1fr}.statement>.eyebrow{grid-column:1/-1}.project-feature,.project-feature.reverse{grid-template-columns:1fr}.project-feature.reverse .project-image,.project-feature.reverse .project-copy{order:initial}.project-image img{min-height:420px;height:55vw}.process-heading{grid-template-columns:1fr;gap:28px}.process-grid{grid-template-columns:1fr 1fr;gap:48px 0}.process-grid:before{display:none}.process-step:nth-child(3){border-left:0;padding-left:0}.service-grid{grid-template-columns:1fr}.service-grid article+article{padding-left:0;border-left:0}.about{grid-template-columns:1fr}.about-image img{min-height:480px}.contact{grid-template-columns:1fr 1fr;gap:6%}}
@media(max-width:620px){body{font-size:14px}.hero{height:720px;background-position:58% center}.hero h1{font-size:46px}.hero-intro{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-label{display:none}.statement{grid-template-columns:1fr;gap:20px;padding:55px 0}.statement h2{font-size:33px}.section{padding:70px 0}.section-title{display:block}.section-title>p{margin-top:18px}.project-feature{margin-bottom:45px}.project-image img{min-height:310px}.project-copy{padding:40px 27px}.project-copy h3{font-size:36px}.process-heading{margin-bottom:50px}.process-grid{grid-template-columns:1fr;gap:0}.process-step,.process-step:first-child,.process-step:nth-child(3),.process-step:last-child{border-left:1px solid var(--line);padding:0 0 46px 26px}.process-step:last-child{padding-bottom:0}.process-mark{height:76px}.process-mark>span{font-size:38px}.process-mark svg{width:36px;height:36px;margin-right:4px}.process-grid p{max-width:390px}.service-grid h3{margin-top:28px}.about-image img{min-height:360px}.about-copy{padding:60px 7%}.contact{grid-template-columns:1fr;padding:70px 7%;gap:40px}.contact form>div{grid-template-columns:1fr}.site-footer nav{flex-wrap:wrap;justify-content:center;gap:15px 24px}.wordmark strong{font-size:25px}}
.project-link{align-self:flex-start;margin-top:18px;font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;text-underline-offset:6px}.project-page .site-header{position:relative;left:auto;transform:none;width:100%;padding:0 6%;background:var(--walnut)}.case-hero{background:var(--walnut);color:#fff;padding:105px 6% 70px}.case-hero .back-link{display:inline-block;margin-bottom:55px;font-size:10px;text-transform:uppercase;letter-spacing:.15em}.case-hero h1{font:400 clamp(48px,8vw,105px)/.92 var(--serif);text-transform:uppercase;margin:0;max-width:1100px}.case-hero>p:last-child{max-width:650px;font-size:18px;margin:30px 0 0}.case-main{width:min(1320px,88%);margin:auto;padding:75px 0 100px}.case-intro{display:grid;grid-template-columns:1.35fr .65fr;gap:10%;margin-bottom:70px}.case-intro h2,.case-section h2{font:400 clamp(34px,4vw,55px)/1 var(--serif);text-transform:uppercase;margin:0 0 25px}.case-facts{margin:0}.case-facts div{border-top:1px solid var(--line);padding:14px 0}.case-facts dt{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--copper);font-weight:600}.case-facts dd{margin:5px 0 0}.case-lead{height:min(720px,68vw);object-fit:cover;margin-bottom:70px}.case-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:8%;align-items:start;margin:80px 0}.case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px}.case-gallery img{height:420px;object-fit:cover}.case-cta{background:var(--sage);color:#fff;text-align:center;padding:75px 6%}.case-cta h2{font:400 clamp(38px,5vw,65px)/1 var(--serif);text-transform:uppercase;margin:0 0 22px}@media(max-width:700px){.case-intro,.case-section{grid-template-columns:1fr}.case-gallery{grid-template-columns:1fr}.case-gallery img{height:330px}.case-hero{padding-top:75px}}
.hero{background-image:url('../images/portfolio/film-lab/hero.webp')}#fireplace .project-image img{object-position:right center}#tomball-kitchen .project-image img{object-position:center center}.case-lead{height:auto;max-height:none;object-fit:contain}.case-gallery img{background:#e9e2d8}.case-gallery img:first-child:nth-last-child(6),.case-gallery img:first-child:nth-last-child(8),.case-gallery .gallery-feature{grid-column:1/-1;width:100%;height:min(620px,60vw)}.case-gallery .gallery-feature-contain{object-fit:contain;background:var(--ivory)}.case-gallery .drawing-image{grid-column:1/-1;width:75%;height:auto;max-height:none;object-fit:contain;padding:22px;background:#fff;margin:18px auto 0}.drawing-caption{grid-column:1/-1;text-align:center;margin:-4px 0 12px;color:var(--copper);font-size:10px;text-transform:uppercase;letter-spacing:.16em}
@media(max-width:700px){.case-gallery .drawing-image{width:100%;padding:12px;margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.project-image img{transition:none}}

/* Version 12 refinements */
.process-mark{justify-content:flex-start}
.service-grid article{padding-top:42px}
.service-grid h3{margin-top:0}
@media(max-width:620px){.service-grid h3{margin-top:0}}

/* Version 13 portfolio corrections */
.hero{background-image:url('../images/portfolio/film-lab/hero-logo-removed.webp')}

/* More work gallery */
.more-work-link{border-top:1px solid var(--line);padding:42px 0 0;display:flex;align-items:end;justify-content:space-between;gap:32px}.more-work-link .eyebrow{margin-bottom:12px}.more-work-link h3{font:400 clamp(30px,4vw,48px)/1 var(--serif);text-transform:uppercase;margin:0}.more-work-link>a{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-underline-offset:7px;white-space:nowrap}.more-work-link b{font-size:16px;margin-left:8px}.more-work-hero{padding-bottom:82px}.more-gallery{width:min(1320px,88%);margin:auto;padding:90px 0 110px;display:grid;grid-template-columns:1fr 1fr;gap:64px 22px;align-items:start}.more-gallery-item{margin:0}.more-gallery-item img{height:min(580px,48vw);object-fit:cover}.more-gallery-wide{grid-column:1/-1}.more-gallery-wide img{height:min(680px,54vw)}.more-gallery-tall{margin-top:-120px}.more-gallery-tall img{height:min(760px,62vw)}.more-gallery-item figcaption{padding:18px 0 0;border-top:1px solid var(--line);margin-top:12px;display:flex;justify-content:space-between;align-items:baseline;gap:20px}.more-gallery-item figcaption span{color:var(--copper);font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.more-gallery-item h2{font:400 24px/1.1 var(--serif);text-transform:uppercase;margin:0;text-align:right}
@media(max-width:700px){.more-work-link{align-items:flex-start;flex-direction:column}.more-gallery{grid-template-columns:1fr;padding:65px 0 80px;gap:48px}.more-gallery-wide{grid-column:auto}.more-gallery-item img,.more-gallery-wide img,.more-gallery-tall img{height:auto;max-height:none}.more-gallery-tall{margin-top:0}.more-gallery-item figcaption{align-items:flex-start}.more-gallery-item h2{font-size:21px}}

/* Version 15 curated project pairs */
.more-gallery-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.more-gallery-pair>div{position:relative;overflow:hidden;background:#e9e2d8}.more-gallery-pair img{height:min(560px,45vw);object-fit:cover}.more-gallery-pair.portrait-pair img{height:min(700px,58vw)}.more-photo-label{position:absolute;z-index:1;left:14px;bottom:14px;padding:7px 10px;background:rgba(43,36,30,.86);color:#fff;font-size:9px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
@media(max-width:700px){.more-gallery-pair{grid-template-columns:1fr;gap:12px}.more-gallery-pair img,.more-gallery-pair.portrait-pair img{height:auto}.more-photo-label{left:10px;bottom:10px}}

/* Version 16 photo refinements */
.more-gallery-pair.laundry-pair img{height:min(700px,58vw)}.more-gallery-pair.laundry-pair>div:first-child img{object-position:center top}
@media(max-width:700px){.more-gallery-pair.laundry-pair img{height:auto}}

/* Version 21 drawing-led inquiry and case-study sheets */
.contact{background-image:url('../images/contact-cabinet-elevation.webp');background-position:center;background-size:cover}.contact-backdrop{background:linear-gradient(90deg,rgba(29,17,11,.97),rgba(53,35,23,.84))}.drawing-gallery{align-items:start;gap:26px}.drawing-gallery figure{margin:0}.drawing-gallery .drawing-sheet{width:100%;height:auto;min-height:0;object-fit:contain;padding:16px;background:#fff;border:1px solid var(--line)}.drawing-gallery figcaption{margin-top:12px;color:var(--copper);font-size:10px;font-weight:600;letter-spacing:.16em;text-align:center;text-transform:uppercase}
@media(max-width:700px){.drawing-gallery{grid-template-columns:1fr}.drawing-gallery .drawing-sheet{padding:10px}}
/* Keep the Tomball design sheets visible as a labeled pair after the photo gallery loads. */
.drawing-pair-section{margin-top:72px}
.drawing-pair-section>.eyebrow{text-align:center;margin-bottom:24px}
.drawing-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:26px}
@media(max-width:700px){.drawing-gallery{grid-template-columns:1fr}.drawing-pair-section{margin-top:48px}}
/* Place the Tomball drawing pair where the former preliminary sheet appeared. */
.case-gallery>.drawing-pair-section{grid-column:1/-1;margin:18px 0}
