:root{--ink:#292b27;--paper:#f5f3ec;--rust:#9c4328;--line:#d0cfc4;--muted:#62665b;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,summary{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #bf6335;outline-offset:5px}img{display:block;width:100%;height:auto}figure,h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.045em}h2{font-size:clamp(40px,5.1vw,68px)}h3{font-size:32px}em{font-weight:400;color:var(--rust)}p+p{margin-top:20px}section[id]{scroll-margin-top:100px}.wrap{width:86%;max-width:1320px;margin:auto}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:bold;line-height:1.5;margin-bottom:25px}.skip{position:fixed;left:15px;top:-100px;z-index:10;background:white;padding:12px}.skip:focus{top:10px}header{background:#fff;position:sticky;top:0;z-index:5;padding:15px 4%;display:flex;align-items:center;gap:35px;border-bottom:1px solid #e8e7df;min-height:95px}.brand{display:flex;gap:15px;align-items:center;margin-right:auto;line-height:1.1;font-size:15px;letter-spacing:.11em;font-weight:bold}.brand img{width:50px;height:62px;object-fit:contain}.brand small{display:block;font-size:8px;letter-spacing:.1em;margin-top:9px;font-weight:400}header nav{display:flex;gap:28px;font-size:13px}header nav a:hover,.text-link:hover{color:var(--rust)}.header-call{padding:12px 18px;border:1px solid var(--ink);font-size:13px}.header-call span{margin-left:20px}.menu{display:none}.hero-copy{padding:58px 7% 38px}.hero h1{font-size:clamp(60px,7.8vw,116px);line-height:.99}.hero h1 em{display:inline-block}.hero-bottom{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-top:28px}.hero-bottom p{font-size:16px;max-width:480px}.button{display:inline-flex;padding:17px 25px;background:var(--ink);color:white;align-items:center;gap:36px;line-height:1.2;font-size:13px;border:1px solid var(--ink);transition:background .2s,transform .2s}.button:hover{background:var(--rust);transform:translateY(-3px)}.hero-image{height:560px;position:relative;overflow:hidden;margin:0 3%}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:center 58%;animation:hero-image 1.6s ease-out both}.hero-image:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#172219aa)}.hero-image figcaption{position:absolute;bottom:28px;left:4%;right:4%;z-index:1;display:flex;justify-content:space-between;gap:20px;color:white;font-size:13px}.hero-image figcaption span:first-child{font-size:10px;letter-spacing:.15em}.hero-stamp{position:absolute;top:30px;right:30px;border:1px solid white;color:white;border-radius:50%;width:125px;height:125px;display:grid;align-content:center;text-align:center;font:italic 23px/1.05 var(--serif);transform:rotate(12deg)}.hero-copy h1,.hero-copy .eyebrow{animation:headline .9s ease-out both}.ribbon{display:flex;justify-content:space-around;align-items:center;gap:15px;padding:28px 6%;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.15em}.ribbon i{height:5px;width:5px;background:var(--rust);border-radius:50%}.intro{padding:110px 0;display:grid;grid-template-columns:1.3fr 1fr;gap:25px 80px}.intro>.eyebrow{grid-column:1/-1;margin-bottom:0}.intro>div{max-width:445px;padding-top:4px}.text-link{display:inline-block;font-size:13px;border-bottom:1px solid currentColor;padding-bottom:7px;margin-top:25px;line-height:1.6}.finishes{padding:100px 0;background:#e9e6db}.section-head{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:50px}.section-head>p{font-size:15px;color:var(--muted)}.finish-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:35px}.finish-tabs[hidden]{display:none}.finish-tabs button{border:0;background:transparent;text-align:left;padding:22px 12px;font-size:11px;display:flex;gap:22px;align-items:baseline;color:var(--muted)}.finish-tabs span{font-family:var(--serif);font-size:23px;letter-spacing:-.03em}.finish-tabs button[aria-pressed=true]{background:var(--ink);color:white}.finish-panel{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center}.finish-panel[hidden]{display:none}.finish-panel figure{min-width:0}.finish-panel figure>img{height:475px;object-fit:cover}.finish-panel#stamped figure>img{object-position:24% center}.finish-panel figcaption{font-size:11px;padding-top:12px;color:var(--muted)}.finish-panel h3{font-size:45px;margin-bottom:25px}.finish-panel .eyebrow{font-size:9px}.finish-panel p{font-size:15px}.finish-panel dl{font-size:12px;margin:30px 0 0}.finish-panel dl div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:12px 0}.finish-panel dt{color:var(--muted)}.finish-panel dd{margin:0;text-align:right}.work{padding:110px 0}.project-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:10%}.project-main{padding-top:75px}.project-main>img{height:640px;object-fit:cover}.project-grid figcaption{padding:20px 0}.project-grid figcaption>span{font-size:9px;letter-spacing:.16em}.project-grid h3{margin:12px 0;font-size:29px}.project-grid p{font-size:13px;color:var(--muted);max-width:380px}.detail-stack{display:grid;gap:40px}.detail-stack figure>img{width:100%;max-width:390px;height:245px;object-fit:cover}.small-work{display:grid;grid-template-columns:335px 1fr;gap:10%;align-items:center;border-top:1px solid var(--line);margin-top:65px;padding-top:50px}.small-work figure>img{height:223px;object-fit:cover}.small-work figcaption{font-size:10px;margin-top:12px}.small-work p{max-width:530px;font-size:14px;margin-top:20px}.small-work h3{font-size:40px}.small-work .eyebrow{margin-top:0}.craft{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper);overflow:hidden}.craft>figure{overflow:hidden}.craft>figure>img{height:100%;min-height:570px;object-fit:cover}.craft-copy{padding:85px 12%}.craft h2{font-size:clamp(42px,4.6vw,65px)}.craft em{color:#cfb89c}.craft-copy>p:not(.eyebrow){margin:30px 0;font-size:14px;max-width:400px;color:#d6d9d0}.light{border-color:#b5b8ae;background:transparent}.process{padding:110px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;border-top:1px solid var(--line);padding:35px 0 65px}.steps article>span{font:italic 27px var(--serif);color:var(--rust)}.steps h3{font-size:30px;margin:26px 0 18px}.steps p{font-size:14px;color:var(--muted)}.questions{max-width:780px;margin:35px auto 0}.questions>h3{font-size:33px;margin-bottom:25px}.questions details{border-top:1px solid var(--line)}.questions summary{list-style:none;padding:22px 0;display:flex;justify-content:space-between;gap:20px;font-size:14px}.questions summary::-webkit-details-marker{display:none}.questions details p{font-size:14px;color:var(--muted);padding-bottom:25px;max-width:650px}.questions details[open] summary span{transform:rotate(180deg)}.contact{position:relative;overflow:hidden;background:#d9bfa1}.contact-inner{position:relative;z-index:1;padding:75px 0}.contact h2{font-size:clamp(55px,7.2vw,100px)}.contact em{color:#62331f}.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-top:40px}.contact-bottom p{max-width:250px;font-size:14px}.contact-bottom a{display:block}.call{font:36px var(--serif);letter-spacing:-.04em}.email{font-size:14px;text-decoration:underline;margin-top:10px;overflow-wrap:anywhere}.texture{position:absolute;inset:0;opacity:.08;mix-blend-mode:multiply;pointer-events:none}.texture img{width:100%;height:100%;object-fit:cover}.contact-bottom a:hover{color:var(--rust)}footer{display:flex;align-items:center;gap:30px;padding:40px 0;font-size:11px}footer>span{font-weight:bold;letter-spacing:.09em;margin-right:auto}footer small{display:block;font-weight:400;letter-spacing:0;margin-top:7px}footer p{max-width:160px;color:var(--muted);font-size:10px}.project-main.arrived>img,.craft.arrived>figure>img{animation:entry 1.2s ease-out both}@keyframes headline{from{transform:translateY(20px);opacity:.35}to{transform:none;opacity:1}}@keyframes hero-image{from{transform:scale(1.045)}to{transform:scale(1)}}@keyframes entry{from{clip-path:inset(0 0 8% 0);filter:brightness(.83)}to{clip-path:inset(0);filter:brightness(1)}}
@media(min-width:1600px){.hero-copy{max-width:1500px;margin:auto}.hero-image{max-width:1600px;margin:auto}}
@media(max-width:800px){header{padding:12px 5%;min-height:80px;gap:15px}.brand{font-size:11px;gap:9px}.brand img{width:38px;height:48px}.brand small{font-size:6px}.header-call,header nav{display:none}.menu{display:block;font-size:12px}.menu summary{padding:10px;border-bottom:1px solid var(--ink);list-style:none}.menu summary::-webkit-details-marker{display:none}.menu div{position:absolute;right:5%;top:70px;background:white;box-shadow:0 10px 30px #0002;padding:20px;min-width:200px;display:grid;gap:15px}.hero-copy{padding:45px 6% 30px}.hero h1{font-size:clamp(48px,11.6vw,82px)}.hero-bottom{display:block;margin-top:25px}.hero-bottom p{font-size:14px}.hero-bottom .button{margin-top:23px}.hero-image{height:390px;margin:0 4%}.hero-image>img{object-position:55% center}.hero-stamp{width:90px;height:90px;font-size:18px;right:20px;top:20px}.hero-image figcaption{display:block;bottom:20px;font-size:11px}.hero-image figcaption span{display:block;margin-top:6px}.ribbon{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:25px 6%;font-size:8px}.ribbon i{display:none}.wrap{width:88%}.intro{display:block;padding:65px 0}.intro .eyebrow{margin-bottom:22px}.intro>div{margin-top:30px}.intro p{font-size:14px}.finishes{padding:65px 0}.section-head{display:block;margin-bottom:32px}.section-head>p{margin-top:25px;font-size:13px}h2{font-size:42px}.finish-tabs{gap:0;margin-bottom:28px}.finish-tabs button{display:block;padding:14px 8px;font-size:9px}.finish-tabs span{font:15px/1.25 Arial;display:block;margin-top:8px;min-height:38px;letter-spacing:0}.finish-panel{display:block}.finish-panel figure>img{height:330px}.finish-panel>div{margin-top:32px}.finish-panel h3{font-size:37px}.finish-panel dl div{display:block}.finish-panel dd{text-align:left;margin-top:5px}.finish-panel .text-link{font-size:12px}.work{padding:65px 0}.project-grid{display:block}.project-main{padding-top:0;margin-bottom:30px}.project-main>img{height:460px}.detail-stack{grid-template-columns:1fr;gap:25px}.detail-stack figure>img{height:auto;max-width:100%}.project-grid h3{font-size:29px}.small-work{display:block;margin-top:40px;padding-top:35px}.small-work figure{max-width:335px;margin-bottom:30px}.small-work h3{font-size:35px}.craft{display:flex;flex-direction:column}.craft>figure>img{height:390px;min-height:0}.craft-copy{padding:45px 6% 55px}.craft h2{font-size:43px}.process{padding:65px 0}.steps{display:block;padding:15px 0}.steps article{padding:24px 0;border-bottom:1px solid var(--line)}.steps h3{margin:12px 0}.questions{margin-top:35px}.questions>h3{font-size:29px}.questions summary{font-size:13px}.contact-inner{padding:55px 0}.contact h2{font-size:51px}.contact-bottom{display:block;margin-top:30px}.contact-bottom>div{margin-top:30px}.call{font-size:33px}.email{font-size:12px}footer{display:block;padding:30px 0}footer>a{display:inline-block;margin:22px 0}footer p{max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Original driveway photo includes a black side mat; crop it in layout. */
#stamped figure{overflow:hidden}#stamped figure>img{width:133.333%;max-width:none;object-position:left center}


/* Motion acceptance repair: visible, replayable section choreography. */
.motion-enter{animation:sb-rise 1s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--motion-delay,0ms)}
[data-motion="photo"].motion-enter{animation-name:sb-photo;animation-duration:1.25s}
[data-motion="card"].motion-enter{animation-name:sb-card;animation-duration:1s}
[data-motion="heading"].motion-enter{animation-name:sb-heading;animation-duration:1.15s}
@keyframes sb-rise{from{opacity:.18;transform:translateY(48px)}to{opacity:1;transform:none}}
@keyframes sb-heading{from{opacity:.12;transform:translateY(65px);clip-path:inset(0 0 70% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes sb-photo{from{opacity:.4;clip-path:inset(var(--wipe,0 28% 0 0));transform:translateY(28px)}to{opacity:1;clip-path:inset(0);transform:none}}
@keyframes sb-card{from{opacity:.15;transform:translate(var(--card-x,0px),52px)}to{opacity:1;transform:none}}
@media(max-width:760px){.motion-enter{animation-delay:0ms!important}@keyframes sb-heading{from{opacity:.15;transform:translateY(45px);clip-path:inset(0 0 65% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}}
@media(prefers-reduced-motion:reduce){.motion-enter{animation:none!important;transform:none!important;clip-path:none!important;opacity:1!important}}
:root{--wipe:0 0 32% 0;--card-x:0px}
.hero-image{width:86%;max-width:1100px;margin-inline:auto;height:660px}.hero-image>img{width:133.333%;max-width:none;object-position:left 48%}.hero-image figcaption{background:#20231bd9;padding:12px 16px;bottom:18px}.hero-stamp{display:none}@media(max-width:800px){.hero-image{width:92%;height:430px}.hero-image>img{object-position:left center}}
