:root{--plaster:#ece9e1;--limestone:#dad5c9;--slate:#1e2a2e;--oak:#7e5e3f;--cream:#f5f3ee;--ink:#1c1a16;--muted:#6b645a;--line:#1e2a2e24;--paper:#fffdf8;--serif:"Instrument Serif", "Times New Roman", serif;--sans:"Manrope", "Helvetica Neue", sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}body{background:var(--plaster);color:var(--ink);font-family:var(--sans);text-align:left;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}h1,h2,h3,p{text-align:left}img{max-width:100%;display:block}a{color:inherit}button,input,textarea,select{font:inherit}.root{min-height:100vh}.wrap{width:min(1180px,100% - 48px);margin:0 auto}.kicker{letter-spacing:.02em;color:var(--oak);margin:0 0 14px;font-size:13px;font-weight:600}.h2{font-family:var(--serif);margin:0 0 18px;font-size:clamp(32px,5vw,52px);font-weight:400;line-height:1.12}.btn{background:var(--slate);min-height:46px;color:var(--cream);cursor:pointer;letter-spacing:.02em;border:0;justify-content:center;align-items:center;gap:8px;padding:0 20px;text-decoration:none;display:inline-flex}.btn:hover{background:#3c3832}.btn-ghost{color:var(--cream);background:0 0;border:1px solid #f8f4ec73}.btn-ghost:hover{background:#f8f4ec14}.btn-line{color:var(--slate);border:1px solid var(--slate);background:0 0}.btn-line:hover{background:var(--slate);color:var(--cream)}.btn-oak{background:var(--oak)}.btn-oak:hover{background:#b08454}.nav{z-index:40;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#f3eee6eb;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:24px;width:min(1180px,100% - 48px);min-height:72px;margin:0 auto;display:flex}.wordmark{flex-direction:column;justify-content:center;min-width:0;line-height:1.1;text-decoration:none;display:flex}.wordmark-name{font-family:var(--serif);letter-spacing:.02em;color:var(--ink);font-size:clamp(16px,2.4vw,22px)}.wordmark-sub{font-family:var(--sans);color:var(--muted);margin-top:4px;font-size:12px;font-weight:500}.nav-links{align-items:center;gap:22px;margin:0;padding:0;list-style:none;display:flex}.nav-links a{color:var(--muted);font-size:14px;text-decoration:none}.nav-links a:hover{color:var(--ink)}.nav-cta{min-height:40px;padding:0 16px;font-size:14px}.nav-toggle{border:1px solid var(--slate);min-height:40px;color:var(--slate);cursor:pointer;letter-spacing:.02em;background:0 0;justify-content:center;align-items:center;padding:0 14px;font-size:14px;display:none}.nav-toggle:hover{background:#1e2a2e0d}.nav-panel{border-top:1px solid var(--line);background:var(--plaster)}.nav-panel[hidden]{display:none}.nav-panel ul{width:min(1180px,100% - 48px);margin:0 auto;padding:8px 0 18px;list-style:none}.nav-panel a{border-bottom:1px solid var(--line);color:var(--ink);padding:14px 0;font-size:17px;text-decoration:none;display:block}.nav-panel a:hover{color:var(--oak)}.hero{min-height:92vh;color:var(--cream);background:var(--slate);position:relative;overflow:hidden}.hero-slide{opacity:0;transition:opacity 1.2s;position:absolute;inset:0}.hero-slide.is-active{opacity:1}.hero-slide img{object-fit:cover;width:100%;height:100%}.hero-overlay{background:linear-gradient(#1c1a1600 0%,#1c1a162e 48%,#1c1a1685 76%,#1c1a16b8 100%),#1c1a1624;position:absolute;inset:0}.hero-content .h1,.hero-content p,.hero-content .btn-ghost{text-shadow:0 1px 2px #0000008c,0 10px 28px #0006}.hero-content{z-index:2;flex-direction:column;justify-content:flex-end;width:min(1180px,100% - 48px);min-height:92vh;margin:0 auto;padding:0 0 72px;display:flex;position:relative}.h1{font-family:var(--serif);max-width:14ch;margin:0 0 18px;font-size:clamp(44px,8vw,86px);font-weight:400;line-height:.98}.hero-lead{color:#f8f4eceb;max-width:46ch;margin:0 0 28px;font-size:18px}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-dots{z-index:3;gap:8px;display:flex;position:absolute;bottom:28px;right:24px}.hero-dots button{cursor:pointer;background:#f8f4ec59;border:0;border-radius:50%;width:8px;height:8px;padding:0}.hero-dots button.is-active{background:var(--cream)}.section{padding:clamp(56px,8vw,112px) 0}.section-tight{padding:clamp(56px,6vw,72px) 0}.cream{background:var(--cream)}.paper{background:var(--paper)}.slate{background:var(--slate);color:var(--cream)}.gallery-head{justify-content:space-between;align-items:end;gap:24px 48px;margin-bottom:20px;display:flex}.gallery-head .h2{margin:0}.gallery-blurb{max-width:36ch;color:var(--muted);margin:0;font-size:16px}.filters{flex-wrap:wrap;gap:8px;margin:0 0 28px;padding:0;list-style:none;display:flex}.filters button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;padding:6px 12px}.filters button.is-active,.filters button:hover{border-color:var(--slate);color:var(--ink)}.masonry{column-count:3;column-gap:14px}.masonry-item{break-inside:avoid;cursor:zoom-in;background:0 0;border:0;width:100%;margin:0 0 14px;padding:0;position:relative}.masonry-item img{width:100%;height:auto;display:block}.masonry-item figcaption{color:var(--cream);text-align:left;opacity:0;background:linear-gradient(#0000,#1c1a169e);padding:28px 12px 10px;font-size:13px;transition:opacity .2s;position:absolute;bottom:0;left:0;right:0}.masonry-item:hover figcaption{opacity:1}.empty{color:var(--muted);margin:24px 0 0}.lightbox{z-index:80;background:#1c1a16eb;justify-content:center;align-items:center;padding:56px 24px 24px;display:flex;position:fixed;inset:0}.lightbox-frame{flex-direction:column;width:min(1100px,100%);max-height:calc(100vh - 80px);display:flex}.lightbox-stage{touch-action:pan-y;flex:auto;justify-content:center;align-items:center;min-height:0;display:flex}.lightbox-stage img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 200px)}.lightbox-chrome{border-top:1px solid #f8f4ec29;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-top:16px;padding-top:14px;display:flex}.lightbox-cap{color:var(--cream);flex:220px;margin:0;font-size:14px}.lightbox-controls{flex-shrink:0;gap:8px;display:flex}.lightbox-close,.lightbox-prev,.lightbox-next{color:var(--cream);cursor:pointer;background:0 0;border:0;font-size:16px}.lightbox-close{position:absolute;top:18px;right:22px}.lightbox-prev,.lightbox-next{border:1px solid #f8f4ec59;padding:8px 14px;font-size:14px}.lightbox-prev:hover,.lightbox-next:hover{border-color:var(--cream)}.grid-2{grid-template-columns:1fr 1fr;gap:28px 48px;display:grid}.service h3,.step h3{font-family:var(--serif);margin:0 0 8px;font-size:28px;font-weight:400}.service p,.step p{color:var(--muted);margin:0}.step-num{letter-spacing:.16em;color:var(--oak);margin-bottom:8px;font-size:12px;display:block}.about-grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:56px;display:grid}.about-photo{aspect-ratio:4/5;object-fit:cover;object-position:center 20%;background:var(--limestone,#dad5c9);border-radius:2px;width:100%;height:auto}.about-grid p{color:var(--muted);text-align:left;margin:0 0 16px}.about-creds{grid-template-columns:1fr 1fr;gap:0 24px;margin-top:28px;font-size:15px;display:grid}.about-creds div{border-top:1px solid var(--line);padding:12px 0}.about-creds strong{color:var(--slate);font-weight:600;display:block}.about-creds span{color:var(--muted)}.reg+.reg{margin-top:22px}.reg p{color:var(--muted);margin-top:4px;font-size:15px}.todo{color:#6b5216;background:#f3e8c8;border:1px dashed #c9b26f;border-radius:2px;margin:6px 0 10px;padding:3px 8px;font-size:12.5px;display:inline-block}.quote{border-top:1px solid var(--line);margin:0;padding:22px 0}.quote p{font-family:var(--serif);color:var(--slate);max-width:40ch;font-size:clamp(20px,1.7vw,25px);line-height:1.3}.quote footer{color:var(--muted);margin-top:10px;font-size:14px}.lead-grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:56px;display:grid}.lead .h2{color:var(--cream)}.lead p{color:#f8f4ecbd}.progress{gap:8px;margin:0 0 22px;display:flex}.progress span{background:#f8f4ec33;width:36px;height:3px}.progress span.is-done{background:var(--oak)}.form label{margin-bottom:16px;font-size:13px;display:block}.form p{margin:0 0 16px}.choices{gap:8px;display:grid}.choices button,.form input,.form textarea{text-align:left;width:100%;color:var(--cream);background:0 0;border:1px solid #f8f4ec38;padding:12px 14px}.choices button.is-active,.choices button:hover{border-color:var(--limestone);background:#f8f4ec0f}.form input::placeholder,.form textarea::placeholder{color:#f8f4ec66}.hp{position:absolute;left:-9999px}.form-nav{gap:10px;margin-top:8px;display:flex}.form-nav .btn{background:var(--oak)}.form-nav .btn:hover{background:#b08454}.error{color:#e8b3a0;font-size:14px}.thanks{font-family:var(--serif);margin:0;font-size:28px}.footer{border-top:1px solid var(--line);padding:56px 0 120px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:32px;display:grid}.footer h2{font-family:var(--serif);margin:0 0 12px;font-size:28px;font-weight:400}.footer p,.footer a{color:var(--muted);text-decoration:none}.footer a:hover{color:var(--ink)}.footer ul{margin:0;padding:0;list-style:none}.footer li{margin:0 0 8px}.legal{color:var(--muted);margin-top:36px;font-size:13px}.sticky{z-index:50;background:var(--slate);color:var(--cream);position:fixed;bottom:0;left:0;right:0}.sticky-inner{justify-content:space-between;align-items:center;gap:16px;width:min(1180px,100% - 48px);min-height:58px;margin:0 auto;display:flex}.sticky a{color:var(--cream);text-decoration:none}.sticky .btn{background:var(--oak);min-height:38px;font-size:14px}@media (width<=880px){.nav-links,.nav-cta{display:none}.nav-toggle{display:inline-flex}.masonry{column-count:2}.grid-2,.about-grid,.lead-grid,.footer-grid,.gallery-head{grid-template-columns:1fr;display:block}.gallery-head .h2{margin:0 0 12px}.about-photo{margin-bottom:24px}.lead-grid>div+div{margin-top:36px}#work{padding-top:56px}}@media (width>=881px){.nav-panel{display:none!important}}@media (width<=560px){.masonry{column-count:1}.wrap,.nav-inner,.hero-content,.sticky-inner,.nav-panel ul{width:min(1180px,100% - 32px)}.lightbox{padding:52px 16px 20px}.lightbox-stage img{max-height:calc(100vh - 220px)}.lightbox-chrome{align-items:stretch}.lightbox-controls{justify-content:space-between;width:100%}}
