:root{--ink:#211711;--paper:#f5efe5;--accent:#d6a65f;--interactive:#9f1f24;--surface:#e8ddcc;--footer:#160f0c;--line:rgba(33,23,17,.18);--display:"Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:"Avenir Next",Avenir,"Segoe UI",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}img{display:block;width:100%}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.wrap{width:min(1180px,92vw);margin-inline:auto}.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;padding:.8rem 1rem;background:var(--interactive);color:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{position:sticky;z-index:30;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:88px;padding:0 4vw;border-bottom:1px solid var(--line);background:rgba(245,239,229,.95);backdrop-filter:blur(14px)}.brand{width:145px}.brand img{height:70px;object-fit:contain;object-position:left center}.site-header nav{display:flex;gap:2rem}.site-header nav a{position:relative;padding:.6rem 0;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.site-header nav a:after{position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--interactive);content:"";transform:scaleX(0);transition:transform .2s}.site-header nav a:hover:after,.site-header nav a[aria-current=page]:after{transform:scaleX(1)}.header-cta{display:inline-flex;align-items:center;gap:.5rem;justify-self:end;font-size:.77rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.header-cta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.header-cta:hover{color:var(--interactive)}
.eyebrow{margin:0 0 1.3rem;color:var(--interactive);font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.eyebrow.light{color:var(--accent)}h1,h2,h3{margin-top:0;font-family:var(--display);font-weight:400;letter-spacing:-.045em;text-wrap:balance}h1{font-size:clamp(3.5rem,7.6vw,7.8rem);line-height:.88}h2{font-size:clamp(2.75rem,5vw,5.5rem);line-height:.94}h3{font-size:clamp(2rem,3vw,3.5rem);line-height:1}.lead{font-family:var(--display);font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.48}.button{display:inline-flex;align-items:center;gap:1.1rem;min-height:55px;padding:.9rem 1.25rem;border:1px solid currentColor;font-size:.79rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button svg,.text-link svg,.carousel-arrow svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.primary{border-color:var(--accent);background:var(--accent);color:var(--ink)}.primary:hover{border-color:var(--interactive);background:var(--interactive);color:#fff}.text-link{display:inline-flex;align-items:center;gap:.65rem;border-bottom:1px solid currentColor;padding-bottom:.25rem;font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.text-link svg{transition:transform .2s}.text-link:hover svg{transform:translateX(4px)}
.home-hero{position:relative;height:calc(100svh - 88px);min-height:650px;overflow:hidden;background:#1b130f;color:#fff}.home-hero>img,.home-hero>.hero-overlay{position:absolute;inset:0;width:100%;height:100%}.home-hero>img{object-fit:cover;transform:scale(1.025);transition:transform 1.5s cubic-bezier(.2,.75,.2,1)}.is-ready .home-hero>img{transform:scale(1)}.hero-overlay{background:linear-gradient(90deg,rgba(19,12,8,.92),rgba(19,12,8,.5) 58%,rgba(19,12,8,.08)),linear-gradient(0deg,rgba(19,12,8,.48),transparent 38%)}.hero-copy{position:relative;z-index:3;display:flex;height:100%;flex-direction:column;align-items:flex-start;justify-content:center;padding-bottom:3rem}.hero-copy h1{max-width:920px;margin:0;color:#fff}.hero-copy>p:not(.eyebrow){max-width:620px;margin:1.6rem 0 2rem;font-family:var(--display);font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.5}.hero-stamp{position:absolute;z-index:3;right:4vw;bottom:2.5rem;margin:0;border-top:1px solid rgba(255,255,255,.55);border-bottom:1px solid rgba(255,255,255,.55);padding:.7rem 0;font-size:.67rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.hero-stamp span{margin:0 .65rem;color:var(--accent)}.selected-work{padding:8rem 0;background:var(--footer);color:#fff}.project-heading{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end;margin-bottom:3.5rem}.project-heading h2{max-width:820px;margin-bottom:0}.project-heading>p{max-width:50ch;margin:0;color:rgba(255,255,255,.68);line-height:1.7}.project-carousel{position:relative;padding-bottom:5.5rem}.project-stage{position:relative;height:min(68vw,720px);min-height:560px;overflow:hidden}.project-slide{position:absolute;inset:0;display:grid;grid-template-columns:1.55fr .65fr;gap:0;margin:0;opacity:0;pointer-events:none;transform:translateX(35px);transition:opacity .65s ease,transform .75s cubic-bezier(.2,.75,.2,1)}.project-slide.is-active{opacity:1;pointer-events:auto;transform:none}.project-photo{height:100%;overflow:hidden}.project-photo img{height:100%;object-fit:cover}.project-slide figcaption{display:flex;flex-direction:column;justify-content:space-between;padding:2.5rem;background:var(--interactive)}.project-slide figcaption>span{font-size:.68rem;font-weight:800;letter-spacing:.15em}.project-slide figcaption h3{margin-bottom:0;font-size:clamp(2.5rem,4vw,4.8rem)}.carousel-controls{position:absolute;z-index:5;right:0;bottom:0;display:flex;align-items:center;gap:1rem}.carousel-controls>p{margin:0;font-size:.7rem;font-weight:750;letter-spacing:.1em}.carousel-arrow{display:grid;width:45px;height:45px;place-items:center;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(0,0,0,.15);color:#fff;cursor:pointer}.carousel-arrow:hover{background:var(--accent);color:var(--ink)}.carousel-dots{display:flex}.carousel-dots button{position:relative;width:28px;height:40px;padding:0;border:0;background:transparent;cursor:pointer}.carousel-dots button:after{position:absolute;top:50%;left:50%;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.45);content:"";transform:translate(-50%,-50%)}.carousel-dots button.is-active:after{width:20px;border-radius:4px;background:var(--accent)}
.intro{display:grid;grid-template-columns:.65fr 1.5fr;gap:8vw;padding-block:8rem}.intro h2{max-width:800px}.intro .lead{max-width:690px;margin:1.5rem 0 0}.section-heading{display:grid;grid-template-columns:.65fr 1.5fr;gap:8vw;margin-bottom:4rem}.section-heading h2{max-width:800px}.service-showcase{padding-top:2rem}.service-panels{display:grid;grid-template-columns:1fr 1fr}.service-panel{position:relative;height:760px;overflow:hidden;background:var(--footer);color:#fff}.service-panel>img,.service-shade{position:absolute;inset:0;width:100%;height:100%}.service-panel>img{object-fit:cover;transition:transform .8s cubic-bezier(.2,.75,.2,1)}.service-panel:hover>img{transform:scale(1.035)}.service-shade{background:linear-gradient(0deg,rgba(17,10,7,.96) 0%,rgba(17,10,7,.5) 54%,rgba(17,10,7,.08) 100%);transition:background .3s}.service-panel:hover .service-shade{background:linear-gradient(0deg,rgba(17,10,7,.98) 0%,rgba(17,10,7,.56) 62%,rgba(17,10,7,.12) 100%)}.service-panel-copy{position:relative;z-index:2;display:grid;height:100%;grid-template-rows:1fr auto;padding:2.5rem}.service-index{font-size:.68rem;font-weight:800;letter-spacing:.15em}.service-panel h3{margin-bottom:1rem;font-size:clamp(4rem,7vw,7.5rem)}.service-panel p{max-width:52ch;line-height:1.65}.service-panel ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0;padding:0;list-style:none}.service-panel li{border:1px solid rgba(255,255,255,.35);padding:.5rem .65rem;font-size:.64rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.service-panel .text-link{margin-top:.75rem}
.service-selector{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:700px;margin-bottom:8rem;overflow:hidden;background:var(--footer);box-shadow:0 24px 70px rgba(33,23,17,.16)}.service-tabs{display:grid;grid-template-rows:1fr 1fr;background:var(--surface)}.service-tab{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.55rem;min-width:0;border:0;border-bottom:1px solid rgba(33,23,17,.2);padding:2rem;background:transparent;color:var(--ink);text-align:left;cursor:pointer;transition:background .28s,color .28s,padding .28s}.service-tab:last-child{border-bottom:0}.service-tab:after{position:absolute;right:1.5rem;bottom:1.7rem;font-size:1.35rem;content:"→";opacity:.35;transition:transform .25s,opacity .25s}.service-tab:hover:after,.service-tab.is-active:after{opacity:1;transform:translateX(4px)}.service-tab.is-active{padding-left:2.5rem;background:var(--interactive);color:#fff}.service-tab>span{font-size:.64rem;font-weight:800;letter-spacing:.15em}.service-tab strong{font-family:var(--display);font-size:clamp(2.3rem,3.6vw,4rem);font-weight:400;letter-spacing:-.045em}.service-tab small{font-size:.66rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;opacity:.62}.service-views{min-width:0}.service-view{position:relative;height:100%;min-height:700px;overflow:hidden;color:#fff}.service-view[hidden]{display:none}.service-view>img,.service-view-shade{position:absolute;inset:0;width:100%;height:100%}.service-view>img{object-fit:cover;animation:service-image-in .65s cubic-bezier(.2,.75,.2,1)}.service-view-shade{background:linear-gradient(0deg,rgba(17,10,7,.97) 0%,rgba(17,10,7,.48) 58%,rgba(17,10,7,.06) 100%)}.service-view-copy{position:relative;z-index:2;display:flex;height:100%;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:3rem;animation:service-copy-in .55s ease}.service-view h3{margin-bottom:1rem;font-size:clamp(4rem,8vw,8rem)}.service-view p{max-width:58ch;margin:0;line-height:1.65}.service-view ul{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin:1.5rem 0;padding:0;list-style:none}.service-view li{border:1px solid rgba(255,255,255,.34);padding:.6rem .75rem;font-size:.64rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.service-view .text-link{margin-top:.75rem}@keyframes service-image-in{from{opacity:.55;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes service-copy-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.about-preview{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:start;padding-block:8rem;border-top:1px solid var(--line)}.about-preview .lead{max-width:680px;margin-top:0}.fact-list{display:flex;flex-wrap:wrap;gap:.75rem;margin:2rem 0;padding:0;list-style:none}.fact-list li{border:1px solid var(--line);padding:.65rem .8rem;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.contact-band{padding:8rem 4vw;background:var(--interactive);color:#fff}.contact-band .wrap{position:relative}.contact-band h2{max-width:850px;margin-bottom:2rem;font-size:clamp(3.5rem,7vw,7rem)}.light-button{position:absolute;right:0;bottom:0;border-color:#fff}.light-button:hover{background:#fff;color:var(--interactive)}
.page-hero{position:relative;display:flex;height:75svh;min-height:580px;align-items:flex-end;overflow:hidden;color:#fff}.page-hero>img,.page-hero>.hero-overlay{position:absolute;inset:0;height:100%;object-fit:cover}.page-hero-copy{position:relative;z-index:2;padding-bottom:6rem}.page-hero-copy h1{max-width:900px;margin-bottom:1.5rem}.page-hero-copy>p:last-child{max-width:670px;font-family:var(--display);font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.45}
.profile{display:grid;grid-template-columns:1.05fr .8fr;gap:8vw;align-items:center;padding-block:8rem}.profile-copy>p:last-child{max-width:65ch;line-height:1.7}.profile>img{height:620px;object-fit:cover}.services-detail{padding-block:5rem 9rem}.services-detail>.section-heading{margin-bottom:2rem}.service-detail{display:grid;grid-template-columns:80px .9fr 1fr;gap:3rem;padding:3rem 0;border-top:1px solid var(--line)}.service-detail>span{font-size:.7rem;font-weight:800}.service-detail h3{margin-bottom:1rem}.service-detail p{max-width:52ch;line-height:1.65}.service-detail ul{margin:0;padding:0;list-style:none}.service-detail li{padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.78rem;font-weight:750;letter-spacing:.04em}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding-bottom:8rem}.photo-pair img{height:520px;object-fit:cover}
.contact-main{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;padding-block:8rem}.contact-main h2{max-width:700px}.contact-main .lead{max-width:660px}.contact-form{display:grid;gap:1.4rem;padding:2.25rem;background:var(--surface)}.contact-form>label,.contact-choice label{display:grid;gap:.55rem}.contact-form label>span,.contact-form legend{font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.contact-form fieldset{min-width:0;margin:0;padding:0;border:0}.contact-form legend{margin-bottom:.75rem}.contact-choice{display:grid;grid-template-columns:1fr auto 1fr;gap:.8rem;align-items:end}.contact-choice em{padding-bottom:1rem;color:rgba(33,23,17,.62);font-family:var(--display);font-style:italic}.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(33,23,17,.32);border-radius:0;padding:.95rem 1rem;background:var(--paper);color:var(--ink);font:inherit}.contact-form textarea{resize:vertical;line-height:1.5}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(159,31,36,.22);border-color:var(--interactive)}.contact-form [aria-invalid=true]{border-color:var(--interactive);box-shadow:0 0 0 3px rgba(159,31,36,.14)}.contact-form .button{width:max-content;margin-top:.25rem;cursor:pointer}.photo-drop{position:relative;display:grid!important;min-height:180px;place-content:center;gap:.45rem!important;border:2px dashed rgba(33,23,17,.35);padding:2rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.photo-drop:hover,.photo-drop.is-dragging{border-color:var(--interactive);background:var(--paper);transform:translateY(-2px)}.photo-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;padding:0!important}.photo-drop-title{color:var(--ink);font-family:var(--display);font-size:1.65rem!important;font-weight:400!important;letter-spacing:-.02em!important;text-transform:none!important}.photo-drop-copy{color:var(--interactive);font-size:.74rem!important}.photo-drop-meta{color:rgba(33,23,17,.58);font-size:.62rem!important}.photo-previews{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.photo-preview{position:relative;min-width:0;overflow:hidden;background:var(--paper)}.photo-preview img{height:100px;object-fit:cover}.photo-preview-info{padding:.55rem}.photo-preview strong{display:block;overflow:hidden;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.photo-preview small{color:rgba(33,23,17,.58);font-size:.58rem}.photo-remove{position:absolute;top:.35rem;right:.35rem;display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:50%;background:rgba(22,15,12,.86);color:#fff;cursor:pointer}.form-note,.form-status{max-width:62ch;margin:0;font-size:.72rem;line-height:1.55}.form-note{color:rgba(33,23,17,.68)}.form-status{min-height:1.1em;color:var(--interactive);font-weight:750}.contact-details{margin-bottom:2rem}.contact-details a{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-details .eyebrow{margin:0}.contact-details strong{font-family:var(--display);font-size:clamp(1.35rem,2.8vw,2.6rem);font-weight:400}.contact-help{padding-block:4rem 8rem}.project-list{padding:2rem;background:var(--surface)}.project-list ol{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;margin:0;padding:0;list-style:none}.project-list li{display:grid;grid-template-columns:44px 1fr;gap:1rem;padding:1.35rem 0;border-bottom:1px solid var(--line);font-family:var(--display);font-size:1.25rem}.project-list li span{padding-top:.2rem;color:var(--interactive);font-family:var(--sans);font-size:.65rem;font-weight:800}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:8rem;background:var(--line);border:1px solid var(--line)}.contact-cards article{min-height:220px;padding:2rem;background:var(--paper)}.contact-cards h3{font-size:clamp(1.55rem,2.2vw,2.4rem)}
footer{padding:3rem 4vw;background:var(--footer);color:#fff}.footer-inner{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:2rem;width:min(1180px,92vw);margin:auto}.footer-logo{width:150px;padding:.3rem;background:var(--paper)}footer p{margin:.6rem 0 0;color:rgba(255,255,255,.62);font-size:.72rem;line-height:1.7}footer>div>div:last-child{text-align:right}footer a{font-size:.77rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.js [data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.75,.2,1)}.js [data-reveal].is-visible{opacity:1;transform:none}.js .hero-copy>*{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .8s ease}.js .is-ready .hero-copy>*{opacity:1;transform:none}.is-ready .hero-copy>*{opacity:1;transform:none}.hero-copy>:nth-child(2){transition-delay:.12s}.hero-copy>:nth-child(3){transition-delay:.22s}.hero-copy>:nth-child(4){transition-delay:.32s}
@media(max-width:850px){.site-header{grid-template-columns:1fr;grid-template-rows:64px 44px;min-height:0;padding:0 4vw}.brand{width:128px;justify-self:center}.brand img{height:60px;object-position:center}.site-header nav{position:static;display:grid;width:100%;height:44px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line);background:transparent}.site-header nav a{display:grid;place-items:center;padding:0;text-align:center}.site-header nav a:after{top:auto;bottom:0}.header-cta{display:none}.home-hero{height:calc(100svh - 108px)}.project-heading,.intro,.section-heading,.about-preview,.profile,.contact-main{grid-template-columns:1fr;gap:2rem}.project-stage{height:780px}.project-slide{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.project-slide figcaption{display:grid;grid-template-columns:50px 1fr;gap:1rem;padding:1.75rem}.carousel-controls{right:auto;left:0}.intro{padding-block:6rem}.service-panels{grid-template-columns:1fr}.service-panel{height:680px}.light-button{position:static}.profile>img{height:500px}.service-detail{grid-template-columns:50px 1fr}.service-detail ul{grid-column:2}.project-list ol{grid-template-columns:1fr}.contact-cards{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr}footer>div>div:last-child{text-align:left}}
@media(max-width:560px){.wrap{width:90vw}.site-header{grid-template-rows:54px 42px;padding:0 5vw}.brand{width:108px}.brand img{height:50px}.site-header nav{height:42px}.site-header nav a{font-size:.7rem;letter-spacing:.055em}.home-hero{height:calc(100svh - 96px);min-height:620px}.hero-overlay{background:linear-gradient(0deg,rgba(19,12,8,.93),rgba(19,12,8,.35) 78%)}.hero-copy{justify-content:flex-end;padding-bottom:7rem}.hero-copy h1{font-size:clamp(2.8rem,13.6vw,4.6rem)}.hero-copy>p:not(.eyebrow){font-size:1.1rem}.hero-stamp{display:none}.selected-work{padding:5rem 0}.project-heading{margin-bottom:2rem}.project-stage{height:690px;min-height:0}.project-slide figcaption{grid-template-columns:34px 1fr;padding:1.25rem}.project-slide figcaption h3{font-size:2.1rem}.carousel-dots{display:none}.intro,.about-preview,.profile,.services-detail,.contact-main{padding-block:5rem}.service-showcase{padding-top:0}.service-panel{height:650px}.service-panel-copy{padding:1.5rem}.service-panel h3{font-size:4rem}.contact-band{padding:5rem 5vw}.page-hero{height:72svh;min-height:560px}.page-hero-copy{padding-bottom:4rem}.profile>img{height:430px}.service-detail{grid-template-columns:1fr;gap:.5rem}.service-detail ul{grid-column:auto}.photo-pair{grid-template-columns:1fr;padding-bottom:5rem}.photo-pair img{height:360px}.contact-form{padding:1.4rem}.contact-choice{grid-template-columns:1fr}.contact-choice em{padding:0;text-align:center}.contact-form .button{width:100%}.photo-previews{grid-template-columns:1fr 1fr}.contact-details a{align-items:flex-start;flex-direction:column}.contact-cards{margin-bottom:5rem}.project-list{padding:1.5rem}}
@media(max-width:850px){.service-selector{grid-template-columns:220px minmax(0,1fr)}.service-tab{padding:1.5rem}.service-tab.is-active{padding-left:1.8rem}.service-tab:after{right:1rem}.service-view-copy{padding:2rem}.service-view ul{grid-template-columns:1fr}}
@media(max-width:560px){.service-selector{grid-template-columns:1fr;margin-bottom:5rem}.service-tabs{grid-template-rows:1fr 1fr}.service-tab{min-height:118px;padding:1.2rem 1.5rem}.service-tab.is-active{padding-left:2rem}.service-tab strong{font-size:2.45rem}.service-tab:after{bottom:1.25rem}.service-view{min-height:620px}.service-view-copy{padding:1.5rem}.service-view h3{font-size:4rem}}
.hero-stamp{transition:color .2s,border-color .2s}.hero-stamp:hover{border-color:var(--accent);color:var(--accent)}.service-showcase{scroll-margin-top:110px}
.restoration-story{padding-block:1rem 8rem}.restoration-heading{display:grid;grid-template-columns:.65fr 1.5fr;gap:1rem 8vw;align-items:end;margin-bottom:3rem}.restoration-heading .eyebrow{align-self:start}.restoration-heading h2{max-width:800px;margin-bottom:0}.restoration-heading>p:last-child{grid-column:2;max-width:62ch;margin:0;line-height:1.7}.restoration-story .photo-pair{padding-bottom:0}.photo-pair figure{position:relative;margin:0;overflow:hidden;background:var(--footer)}.photo-pair figure img{transition:transform .65s cubic-bezier(.2,.75,.2,1)}.photo-pair figure:hover img{transform:scale(1.025)}.photo-pair figcaption{position:absolute;right:1rem;bottom:1rem;padding:.55rem .75rem;background:var(--paper);font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-verification{min-height:65px}.cf-turnstile{max-width:100%}.contact-form .button:disabled{cursor:wait;opacity:.62;transform:none}.photo-input:disabled+.photo-drop-title{opacity:.6}
@media(max-width:850px){.restoration-heading{grid-template-columns:1fr;gap:1rem}.restoration-heading>p:last-child{grid-column:auto}}
@media(max-width:560px){.restoration-story{padding-bottom:5rem}.restoration-heading{margin-bottom:2rem}.restoration-story .photo-pair{padding-bottom:0}.photo-pair figure img{height:360px}}
.site-header{border-bottom-color:rgba(33,23,17,.09);background:rgb(245,239,230);box-shadow:0 10px 28px rgba(22,15,12,.05)}
.site-header:after{position:absolute;right:0;bottom:-20px;left:0;height:20px;background:linear-gradient(180deg,rgba(245,239,230,.72),rgba(245,239,230,0));content:"";pointer-events:none}
.home-hero:after{position:absolute;z-index:2;right:0;bottom:-1px;left:0;height:clamp(74px,9vw,118px);background:linear-gradient(180deg,rgba(22,15,12,0),rgba(22,15,12,.7) 72%,var(--footer));content:"";pointer-events:none}
.selected-work{position:relative;z-index:1;margin-top:-1px;padding-top:6rem;padding-bottom:1.5rem}
.js .selected-work[data-reveal]{opacity:1;transform:none;transition:none}
.js .selected-work[data-reveal] .project-heading,.js .selected-work[data-reveal] .project-carousel{opacity:0;transform:translateY(28px);transition:opacity .72s ease,transform .82s cubic-bezier(.2,.75,.2,1)}
.js .selected-work[data-reveal] .project-carousel{transition-delay:.1s}
.js .selected-work[data-reveal].is-visible .project-heading,.js .selected-work[data-reveal].is-visible .project-carousel{opacity:1;transform:none}
body[data-page=home] footer{padding-top:2rem}
@media(max-width:560px){.site-header:after{bottom:-14px;height:14px}.home-hero:after{height:86px}.selected-work{padding-top:4rem;padding-bottom:1rem}}
.site-header{grid-template-columns:minmax(360px,1fr) auto minmax(170px,1fr);min-height:206px;column-gap:clamp(2rem,4vw,5rem)}
.brand{width:360px;height:190px;overflow:hidden}
.brand img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s ease}
.brand:hover img{transform:scale(1.025)}
.site-header nav{align-self:end;margin-bottom:2.6rem}
.header-cta{align-self:end;margin-bottom:2.25rem;border:1px solid var(--interactive);padding:.75rem 1rem;color:var(--interactive)}
.header-cta:hover{background:var(--interactive);color:#fff}
.home-hero{height:calc(100svh - 206px);min-height:620px}
@media(min-width:851px){.site-header nav a:last-child{display:none}}
@media(max-width:850px){.site-header{grid-template-columns:1fr;grid-template-rows:140px 44px;min-height:184px;column-gap:0}.brand{width:260px;height:140px}.site-header nav{align-self:stretch;margin-bottom:0}.home-hero{height:calc(100svh - 184px);min-height:620px}}
@media(max-width:560px){.site-header{grid-template-rows:128px 42px;min-height:170px}.brand{width:240px;height:128px}.home-hero{height:calc(100svh - 170px);min-height:600px}.hero-copy{padding-bottom:5.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js [data-reveal],.js .hero-copy>*{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.js .selected-work[data-reveal] .project-heading,.js .selected-work[data-reveal] .project-carousel{opacity:1;transform:none}}

/* Contact: one clear path from headline to message. */
body[data-page=contact] .page-hero{height:min(48svh,510px);min-height:410px}
body[data-page=contact] .page-hero-copy{padding-bottom:3.5rem}
body[data-page=contact] .page-hero-copy h1{max-width:780px;margin-bottom:1rem;font-size:clamp(3.4rem,6vw,6.25rem)}
body[data-page=contact] .page-hero-copy>p:last-child{max-width:540px;font-size:clamp(1.05rem,1.6vw,1.3rem)}
.contact-main{grid-template-columns:.72fr 1.28fr;gap:clamp(3rem,7vw,7rem);align-items:start;padding-block:5.5rem}
.contact-intro{padding-top:.45rem}
.contact-intro h2{max-width:480px;margin-bottom:1.25rem;font-size:clamp(2.75rem,4.5vw,4.8rem)}
.contact-intro .lead{max-width:460px;margin-bottom:2rem;font-size:clamp(1.15rem,1.7vw,1.45rem)}
.contact-form{gap:1.05rem;padding:clamp(1.35rem,2.5vw,2rem)}
.contact-form textarea{min-height:128px}
.photo-drop{min-height:118px;gap:.25rem!important;padding:1.25rem 1.5rem}
.photo-drop-title{font-size:1.35rem!important}
.photo-drop-title small{margin-left:.35rem;color:rgba(33,23,17,.56);font-family:var(--sans);font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.photo-drop-copy{font-size:.69rem!important}
.form-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.form-actions .form-verification{min-width:min(300px,100%)}
.form-actions .button{flex:0 0 auto;margin:0}
.contact-form .form-status:empty{display:none}
body[data-page=contact] footer{margin-top:0}
@media(max-width:850px){body[data-page=contact] .page-hero{height:440px;min-height:0}.contact-main{grid-template-columns:1fr;gap:2.5rem;padding-block:4.5rem}}
@media(max-width:560px){body[data-page=contact] .page-hero{height:380px}body[data-page=contact] .page-hero-copy{padding-bottom:2.5rem}body[data-page=contact] .page-hero-copy h1{font-size:clamp(2.8rem,13vw,4.2rem)}body[data-page=contact] .page-hero-copy>p:last-child{font-size:1rem}.contact-main{gap:2rem;padding-block:3.25rem}.contact-intro{display:block}.contact-intro h2{margin-bottom:1rem}.contact-intro .lead{margin-bottom:1.4rem}.contact-form{gap:.9rem;padding:1.15rem}.contact-form textarea{min-height:118px}.photo-drop{min-height:105px;padding:1rem}.form-actions{display:grid}.form-actions .button{width:100%}.form-note{font-size:.67rem}}

/* About: work first, then one compact company summary. */
body[data-page=about] .service-showcase{padding-top:clamp(3rem,5vw,4.5rem);scroll-margin-top:206px}
body[data-page=about] .section-heading{align-items:end;margin-bottom:2rem}
body[data-page=about] .section-heading h2{margin-bottom:0;font-size:clamp(2.8rem,4.5vw,4.8rem)}
body[data-page=about] .service-selector{height:clamp(540px,54vw,620px);min-height:0;margin-bottom:0}
body[data-page=about] .service-view{min-height:0}
body[data-page=about] .service-view-copy{padding:clamp(2rem,3.5vw,3rem)}
body[data-page=about] .service-view h3{font-size:clamp(3.75rem,7vw,6.25rem)}
.about-summary{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(2.5rem,7vw,7rem);align-items:center;margin-block:4rem;padding:clamp(2.25rem,4vw,3.5rem);background:var(--surface)}
.about-summary .eyebrow{margin-bottom:1rem}
.about-summary h2{max-width:680px;margin:0;font-size:clamp(2.55rem,4vw,4.35rem)}
.about-summary-copy>p{max-width:58ch;margin:0;font-size:1rem;line-height:1.7}
.about-summary .fact-list{display:grid;grid-template-columns:1fr;margin:1.5rem 0 0}
.about-summary .fact-list li{background:rgba(245,239,229,.45)}
@media(max-width:850px){body[data-page=about] .service-selector{height:600px}.about-summary{grid-template-columns:1fr;gap:1.5rem;margin-block:3rem}}
@media(max-width:560px){body[data-page=about] .service-showcase{padding-top:3rem}body[data-page=about] .section-heading{gap:1rem;margin-bottom:1.5rem}body[data-page=about] .service-selector{height:auto;min-height:0;margin-bottom:0}body[data-page=about] .service-view{min-height:540px}.about-summary{margin-block:2rem;padding:1.5rem}.about-summary h2{font-size:2.7rem}.about-summary .fact-list{gap:.5rem;margin-top:1.25rem}.about-summary .fact-list li{padding:.55rem .65rem}}
