:root{--paper:#f8f6f2;--white:#fff;--ink:#272820;--muted:#62635b;--line:#d8d6ce;--focus:#913e2d;--space:clamp(24px,5vw,80px);--body:1rem;--small:.875rem;--heading:clamp(2rem,3.5vw,3.25rem);--content:1240px}
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--body)/1.6 "Helvetica Neue",Helvetica,system-ui,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{overflow-wrap:anywhere;font-weight:400;line-height:1.12;text-wrap:balance;letter-spacing:-.035em}h1{font-size:clamp(3rem,5.5vw,5.5rem)}h2{font-size:var(--heading)}h3{font-size:1.375rem;letter-spacing:-.02em}p{max-width:65ch;text-wrap:pretty}a{color:inherit;text-underline-offset:5px;overflow-wrap:anywhere}img{display:block;max-width:100%;height:auto;outline:1px solid oklch(0 0 0 / .1);outline-offset:-1px}button,input,textarea,summary{font:inherit}button,summary{cursor:pointer}button{color:inherit}a,button,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:5px}button:disabled{opacity:.5;cursor:wait}.icon{width:18px;height:18px;flex:none;vertical-align:middle}.skip-link{position:absolute;top:8px;left:8px;z-index:20;background:white;padding:12px;transform:translateY(-180%)}.skip-link:focus{transform:none}
.concept-note{padding:7px 20px;text-align:center;background:#ebe9e3;color:var(--muted);font-size:.75rem}.site-header{max-width:calc(var(--content) + 2*var(--space));padding:25px var(--space);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;text-decoration:none;font-size:1.7rem;letter-spacing:-.045em;line-height:1}.brand-sub{display:block;font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;margin-top:10px;color:var(--muted)}.desktop-nav{display:flex;align-items:center;gap:28px;font-size:.8125rem}.desktop-nav a{padding-block:12px;text-decoration:none}.desktop-nav a:hover{text-decoration:underline}.desktop-nav .nav-contact{margin-left:12px;border-bottom:1px solid var(--ink);padding-bottom:5px}.mobile-menu{display:none}
.eyebrow{font-size:.6875rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:22px;line-height:1.6}.hero{margin:0 auto;max-width:1600px}.hero-copy{text-align:center;padding:42px var(--space) 44px}.hero-copy .eyebrow{margin-inline:auto;margin-bottom:22px}.hero h1{font-size:clamp(3.25rem,5.6vw,5.25rem);line-height:1.05;letter-spacing:-.04em}.hero-description{color:var(--muted);font-size:.9375rem;margin:24px auto 26px;line-height:1.6}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:48px;padding:13px 23px;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:white;text-decoration:none;font-size:.8125rem}.button:hover{background:#45463d}.hero-image{margin:0 var(--space);overflow:hidden;background:#e7ddd4}.hero-image img{width:100%;height:clamp(350px,43vw,630px);object-fit:cover;object-position:center 50%}.hero-caption{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 var(--space);padding-top:14px;color:var(--muted);font-size:.75rem}.hero-caption a{display:inline-flex;gap:12px;align-items:center;min-height:36px;flex:none;text-decoration:none;color:var(--ink)}
.section{max-width:calc(var(--content) + 2*var(--space));margin:auto;padding:100px var(--space) 0;scroll-margin-top:24px}.section-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:10%;align-items:start}.section-intro .eyebrow{grid-column:1/-1}.section-intro>p:last-child{color:var(--muted);font-size:.9375rem}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}.service-number{display:block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px;color:var(--muted)}.service-list p{color:var(--muted);font-size:.875rem;margin-top:15px;max-width:37ch}.service-list .text-button{margin-top:12px;font-size:.8125rem}.section-top{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}.section-top>p{font-size:.875rem;color:var(--muted);max-width:34ch}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 28px}.work-piece{min-width:0}.gallery-link{display:block;position:relative;background:#eeebe4;overflow:hidden}.gallery-link img{width:100%;height:auto;aspect-ratio:1.2;object-fit:contain}.view-photo{position:absolute;right:12px;bottom:12px;display:flex;gap:7px;align-items:center;padding:7px 10px;background:var(--paper);color:var(--ink);font-size:.6875rem}.work-piece figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;font-size:.875rem}.text-button{border:0;background:transparent;padding:8px 0;text-decoration:underline;text-underline-offset:5px;display:inline-flex;align-items:center;gap:10px;font-size:.875rem;line-height:1.5;min-height:44px}.work-piece .text-button{font-size:.75rem;flex:none}.more-work{margin-top:35px}.more-work>summary{min-height:58px;padding:15px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.875rem;list-style:none}.more-work>summary::-webkit-details-marker{display:none}.more-work>summary span{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:.75rem}.more-work[open]>summary .icon{rotate:90deg}.more-work>.work-grid{margin-top:35px}
.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;align-items:start}.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:left center}.portrait>p{margin-top:18px;font-size:.875rem}.portrait>p span{color:var(--muted);font-size:.75rem}.about-copy{padding-top:10px}.about-copy>p:not(.eyebrow){margin-top:25px;color:var(--muted);font-size:.9375rem;line-height:1.7}.about-copy>.text-button{margin-top:22px}.process{margin-top:100px;padding-block:56px;background:#eeece6}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:36px}.process-grid article>span{font-size:.6875rem;display:block;margin-bottom:15px;color:var(--muted)}.process-grid h3{font-size:1.25rem}.process-grid p{color:var(--muted);font-size:.875rem;margin-top:15px}.questions{display:grid;grid-template-columns:1fr 1.3fr;gap:9%}.questions>div>p:last-child{margin-top:24px;color:var(--muted);font-size:.875rem}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 0;font-size:1rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list details[open] summary .icon{rotate:90deg}.faq-list details>p{padding-bottom:24px;color:var(--muted);font-size:.9375rem;overflow-wrap:anywhere}
.inquire{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-bottom:90px}.inquire-copy>p:not(.eyebrow){margin-top:23px;font-size:.9375rem;color:var(--muted)}.inquire-copy .contact-email{font-size:clamp(1rem,1.55vw,1.35rem);color:var(--ink);overflow-wrap:anywhere}.small{font-size:var(--small);color:var(--muted)}.form-wrap{padding:32px;background:#eeece6}.form-wrap h3{font-size:1.5rem;margin-bottom:15px}.form-wrap .small{font-size:.8125rem}.form-wrap form{margin-top:24px}.form-wrap label{display:block;margin:18px 0 7px;font-size:.8125rem}.form-wrap label span{color:var(--muted)}input,textarea{display:block;width:100%;border:1px solid #aaa99f;border-radius:0;background:var(--paper);padding:12px;color:var(--ink);font-size:1rem}textarea{resize:vertical}.form-wrap form>.small{margin-top:12px}.form-wrap .button{margin-top:22px}.form-wrap #copy-message{margin-top:14px}#form-status:not(:empty){margin-top:20px;padding:14px;background:var(--paper);font-size:.875rem}#form-status[data-error]{color:#8b3021}
footer{background:#272820;color:var(--paper);padding:48px max(var(--space),calc((100vw - var(--content))/2));display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.footer-brand{font-size:1.875rem;letter-spacing:-.04em;line-height:1.2}.footer-brand img{display:inline-block;vertical-align:middle;width:28px;height:28px;margin-right:12px;outline:0}.footer-brand span{display:block;font-size:.6875rem;letter-spacing:.07em;text-transform:uppercase;margin-top:12px;color:#d4d2c8}footer nav{display:flex;justify-content:end;gap:28px;font-size:.8125rem}footer .small{font-size:.75rem;color:#d4d2c8}footer>a{justify-self:end;font-size:.75rem}
.honeypot,.js-only{display:none!important}body.js .js-only{display:inline-flex!important}dialog{overflow:auto;border:0;padding:20px 28px;background:var(--paper);color:var(--ink);width:min(100% - 32px,1050px);max-height:calc(100dvh - 30px);overscroll-behavior:contain}dialog::backdrop{background:rgba(15,21,23,.85)}.dialog-top,.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-top{margin-bottom:14px;font-size:.8125rem}.icon-button{width:44px;height:44px;border:1px solid var(--line);background:transparent;display:inline-flex;align-items:center;justify-content:center;flex:none}.icon-button:hover{background:#e8e4dc}dialog figure img{height:min(65dvh,650px);width:100%;object-fit:contain;outline:0}dialog figcaption{text-align:center;padding:12px;font-size:.875rem}.dialog-actions{padding-top:10px}.private-link-status:not(:empty){position:fixed;bottom:10px;left:16px;right:16px;padding:15px;background:var(--white);box-shadow:0 2px 12px #0002;z-index:20}.review-action-button{border:0;font:inherit;text-decoration:underline;text-underline-offset:5px;cursor:pointer;background:transparent;padding:0;color:inherit}
@media(prefers-reduced-motion:no-preference){.button,.icon-button{transition:background-color .15s ease-out,scale .15s ease-out}.button:active,.icon-button:active{scale:.96}.view-photo{transition:background-color .15s ease-out}.gallery-link:hover .view-photo{background:white}}
@media(min-width:1600px){.hero-image{margin-inline:auto;max-width:1440px}.hero-caption{margin-inline:auto;max-width:1440px}}
@media(max-width:1000px){.desktop-nav{gap:18px}.desktop-nav .nav-contact{margin-left:0}.section{padding-top:76px}.service-list{gap:28px}.about{gap:6%}.questions,.inquire{gap:7%}.process{margin-top:76px;padding-block:45px}.process-grid{gap:28px}}
@media(max-width:740px){:root{--space:24px}.concept-note{font-size:.625rem;padding:7px 12px}.site-header{padding-block:22px}.brand{font-size:1.5rem}.brand-sub{font-size:.5625rem;letter-spacing:.08em}.desktop-nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu>summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 0 10px 12px;font-size:.8125rem}.mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;right:0;top:50px;z-index:10;background:var(--paper);border:1px solid var(--line);padding:15px;width:200px;box-shadow:0 5px 20px #0001}.mobile-menu nav a{display:block;padding:12px}.hero-copy{padding:28px var(--space) 32px}.hero-copy .eyebrow{max-width:none;font-size:.625rem;margin-bottom:20px}.hero h1{font-size:clamp(2.875rem,10.5vw,4.5rem)}.hero-description{font-size:.875rem;margin-top:20px;margin-bottom:24px;max-width:33ch}.hero-image{margin-inline:16px}.hero-image img{height:auto;aspect-ratio:1.1;object-fit:cover}.hero-caption{margin-inline:24px;align-items:start;font-size:.6875rem;gap:18px;padding-top:12px}.hero-caption>span{max-width:23ch}.hero-caption a{font-size:.6875rem;max-width:16ch}.hero-caption .icon{width:15px;height:15px}.section{padding-top:66px}.eyebrow{font-size:.625rem;margin-bottom:18px}.section-intro{display:block}.section-intro>p:last-child{margin-top:24px}.service-list{grid-template-columns:1fr;gap:28px;margin-top:30px;padding-top:26px}.service-list article{display:grid;grid-template-columns:1fr;gap:0}.service-number{margin-bottom:12px}.service-list p{max-width:45ch;margin-top:10px}.section-top{display:block;margin-bottom:28px}.section-top>p{margin-top:20px;max-width:40ch}.work-grid{grid-template-columns:1fr;gap:28px 18px}.gallery-link img{aspect-ratio:1.15;object-fit:contain}.work-piece figcaption{display:flex;font-size:.8125rem}.work-piece .text-button{font-size:.75rem;min-height:44px}.view-photo{right:7px;bottom:7px;padding:5px 6px;font-size:.625rem;gap:3px}.view-photo .icon{width:14px;height:14px}.more-work{margin-top:25px}.more-work>summary{font-size:.8125rem}.more-work>summary span{font-size:.6875rem;gap:8px}.about{grid-template-columns:1fr;gap:28px}.portrait a{display:block;background:#eeebe4}.portrait img{aspect-ratio:1.5;object-position:center;object-fit:contain}.portrait>p{margin-top:14px}.about-copy{padding:0}.about-copy>p:not(.eyebrow){margin-top:22px}.process{margin-top:66px;padding-block:36px}.process-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}.process-grid article{display:grid;grid-template-columns:28px 1fr;column-gap:18px}.process-grid article>span{margin-bottom:0;line-height:2}.process-grid p{grid-column:2;margin-top:10px}.questions,.inquire{display:block}.faq-list{margin-top:28px}.faq-list summary{padding-block:21px;font-size:.9375rem}.inquire{padding-bottom:60px}.form-wrap{margin-top:32px;padding:24px}.inquire-copy .contact-email{font-size:1.0625rem}.form-wrap .small{font-size:.8125rem}footer{grid-template-columns:1fr;gap:28px;padding:36px 24px}footer nav{justify-content:start;flex-wrap:wrap;gap:24px}footer>a{justify-self:start}dialog{padding:12px}.dialog-actions .text-button{font-size:.75rem}.dialog-top{margin-bottom:8px}}
@media(max-width:380px){:root{--space:22px}.hero h1{font-size:2.875rem}.hero-copy{padding-top:22px}.gallery-link img{aspect-ratio:1.1}.hero-caption>span{max-width:19ch}.form-wrap{padding:22px}}
@media(forced-colors:active){a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline-color:Highlight}.button,.icon-button{border:1px solid ButtonText}}

.hardware-detail{position:relative}.hardware-detail img{width:44px;height:44px;object-fit:cover;margin-right:4px}.service-list .hardware-detail{min-height:48px}
