:root{--paper:#f4f1eb;--ink:#282722;--muted:#666259;--accent:#8d260e;--line:#d5d0c5;--white:#fffdf9;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.6}a{color:inherit;text-underline-offset:4px}button,input,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%;height:auto;outline:1px solid #00000012;outline-offset:-1px}figure{margin:0}button,summary{cursor:pointer}p{max-width:65ch;margin:0 0 1.2em}h1,h2,h3{font-weight:500;line-height:1.04;margin:0;text-wrap:balance}h1{font-size:clamp(3rem,6.7vw,6.5rem);letter-spacing:-.065em}h2{font-size:clamp(2rem,3.8vw,3.6rem);letter-spacing:-.05em}h3{font-size:clamp(1.4rem,2.3vw,2.2rem);letter-spacing:-.035em}::selection{background:#8d260e;color:#fff}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #1b67ba;outline-offset:5px}.skip{position:absolute;top:-100px;left:15px;z-index:20;background:white;padding:12px}.skip:focus{top:8px}.preview-note{background:var(--ink);color:var(--paper);padding:7px 24px;text-align:center;font-size:12px}.preview-note a{margin-left:8px}header{padding:22px 4vw;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line)}.brand{display:block;flex-shrink:0}.brand img{width:140px;height:auto}.header-location{font-size:12px;line-height:1.5;color:var(--muted)}nav{display:flex;align-items:center;gap:32px;margin-left:auto}.nav-group{position:relative;font-size:14px}.nav-group summary{padding:12px 6px}.nav-group>div{position:absolute;top:100%;right:0;min-width:245px;padding:15px 22px;z-index:4;background:var(--white);box-shadow:0 3px 5px #00000010,0 12px 35px #00000015}.nav-group .text-link{display:flex;font-size:14px;min-height:48px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:54px;padding:12px 22px;background:var(--accent);color:var(--white);border:0;border-radius:3px;text-decoration:none;font-size:15px;font-weight:500;cursor:pointer}.button.small{min-height:46px}.button.light{background:var(--paper);color:var(--ink)}.button:disabled{background:#b5aea1;color:var(--ink);cursor:default}.button:hover{background:#6c1e0b}.button.light:hover{background:white}.text-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;text-decoration:none;line-height:1.3}.text-link:hover{text-decoration:underline}.nucleo-icon{flex:0 0 18px}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;margin-bottom:25px;color:var(--accent)}.intro{font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.5;max-width:43ch}.hero{display:grid;grid-template-columns:1fr 1.15fr;gap:5vw;padding:65px 4vw 75px;align-items:center}.hero h1{margin-bottom:25px}.hero-copy>p:not(.intro):not(.eyebrow){max-width:41ch;color:var(--muted);font-size:15px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:28px 0}.hero .appointment{font-size:12px!important}.hero-work{position:relative;padding-bottom:82px;margin-top:18px}.hero-after{margin-left:8%;background:#e0dbd1;padding:14px 14px 0}.hero-after img{width:100%;aspect-ratio:1.34;object-fit:contain}.hero-after figcaption{display:flex;justify-content:space-between;font-size:10px;padding:11px 0 13px;text-transform:uppercase;letter-spacing:.08em}.hero-before{width:42%;position:absolute;bottom:0;left:0;background:var(--paper);padding:9px;box-shadow:0 4px 20px #00000013;transform:rotate(-4deg)}.hero-before img{aspect-ratio:1.34;object-fit:contain}.hero-before figcaption{font-size:10px;margin-top:8px}.facts{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);padding:25px 4vw;gap:32px}.facts p{margin:0}.facts strong{display:block;font-size:18px;font-weight:500}.facts span{font-size:12px;color:var(--muted)}.service-index{padding:85px 4vw}.section-heading{display:grid;grid-template-columns:1fr 2fr 1.7fr;align-items:start;gap:30px;margin-bottom:48px}.section-heading p{font-size:14px}.section-heading .eyebrow{font-size:11px}.service-row{display:grid;grid-template-columns:.35fr 1.5fr 1.35fr 160px 20px;gap:30px;align-items:center;border-top:1px solid var(--line);padding:25px 0;text-decoration:none}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row p{font-size:14px;color:var(--muted);margin:0}.service-row img{width:160px;aspect-ratio:1.5;object-fit:contain;background:#e2ddd4}.service-row:hover h3{text-decoration:underline;text-underline-offset:6px}.index-number{align-self:start;font-size:13px;color:var(--accent);font-variant-numeric:tabular-nums}.home-work{padding:55px 4vw 75px;background:#e9e4da;display:grid;grid-template-columns:1.5fr 1fr;gap:8vw}.home-work>div:first-child>img{width:160px;float:right;margin:0 0 20px 24px}.home-work h2{margin-bottom:25px}.home-work p:not(.eyebrow){font-size:15px}.gallery-links{align-self:center;display:grid;gap:18px}.gallery-links>a{font-size:24px;border-bottom:1px solid #b6ada1;padding:18px 0;justify-content:space-between}.contact-band{background:var(--accent);color:var(--paper);padding:60px 4vw;display:flex;justify-content:space-between;align-items:center;gap:35px}.contact-band h2{font-size:clamp(2.5rem,4.8vw,4.5rem);margin-bottom:22px}.contact-band p{font-size:15px;margin-bottom:0}.contact-band .eyebrow{color:#f4dacf;font-size:11px;margin-bottom:20px}.contact-band>div:last-child{display:grid;gap:18px;justify-items:start}.telephone{font-size:23px;text-decoration:none}footer{padding:45px 4vw 25px}.footer-top{display:flex;align-items:center;gap:30px;justify-content:space-between;margin-bottom:35px}.footer-name{font-size:32px;font-weight:500;letter-spacing:-.05em;text-decoration:none}.footer-top p{font-size:13px;margin:0}.footer-columns{display:grid;grid-template-columns:1.35fr 1fr 1.1fr .5fr;gap:32px}.footer-columns .eyebrow{margin-bottom:13px}.footer-columns a{display:flex;font-size:13px;line-height:1.5;min-height:36px;gap:7px;text-decoration:none;overflow-wrap:anywhere;align-items:center}.footer-columns a:hover{text-decoration:underline}.footer-columns .nucleo-icon{display:none}.footer-columns span{color:var(--muted)}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;margin-top:35px;display:flex;justify-content:space-between;align-items:start;gap:25px;font-size:11px;color:var(--muted)}.footer-bottom details{max-width:250px}.footer-bottom a{display:block;padding:8px 0}.footer-bottom summary{min-height:32px}.service-hero{padding:60px 4vw;display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;align-items:center}.service-hero h1{font-size:clamp(3rem,6vw,6rem);margin-bottom:25px}.service-hero .button{margin-top:12px}.service-hero figure{background:#e2ddd4;padding:18px}.service-hero figure>img{width:100%;max-height:310px;object-fit:contain}.service-hero figcaption{font-size:11px;padding-top:15px}.service-detail{display:grid;grid-template-columns:1fr 1.2fr;gap:10vw;padding:55px 4vw 75px;border-top:1px solid var(--line)}.service-detail p{font-size:16px}.service-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin-top:30px}.service-list li{border-top:1px solid var(--line);padding:15px 0;font-size:15px}.small-projects{padding:30px 4vw 60px}.project-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.project-strip img{max-width:220px;width:100%;aspect-ratio:1.47;object-fit:contain}.project-strip .zoom-label{display:none}.project-strip figcaption{font-size:12px}.gallery-next{padding:10px 4vw 70px}.gallery-intro{padding:60px 4vw 45px;max-width:1100px}.gallery-intro h1{margin-bottom:30px}.archive-nav{display:flex;gap:30px;flex-wrap:wrap;margin-top:20px}.archive-nav .text-link{font-size:14px}.work-pair{margin:0 4vw;padding:35px 0 55px;border-top:1px solid var(--line)}.pair-heading{display:flex;align-items:center;gap:24px;margin-bottom:25px}.pair-heading .eyebrow{margin:0}.pair-heading h2{font-size:26px}.pair-heading .text-link{margin-left:auto;font-size:13px}.pair-images{display:grid;grid-template-columns:1fr 1fr;gap:30px}.pair-images figure{min-width:0}.zoom-image{display:block;position:relative;background:#e3ded5}.pair-images img{width:100%;height:460px;object-fit:contain}.zoom-label{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;gap:12px;font-size:11px;background:var(--white);color:var(--ink);padding:9px 12px}.pair-images figcaption{padding-top:12px;font-size:13px}.contact-intro{padding:60px 4vw 40px;max-width:1020px}.contact-intro h1{margin-bottom:30px}.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:10vw;padding:20px 4vw 90px}.contact-layout h2{font-size:32px;margin-bottom:25px}.contact-details{display:grid;gap:12px;margin-bottom:25px}.contact-details a{font-size:26px;text-decoration:none}.contact-details small{display:block;font-size:12px;color:var(--muted)}.contact-details a.email{font-size:16px;overflow-wrap:anywhere}.prepare{background:#e7e1d8;padding:25px;margin:30px 0}.prepare h3{font-size:20px;margin-bottom:15px}.prepare p{font-size:14px;margin:0}.service-area img{max-width:360px}.service-area figcaption{font-size:12px;max-width:360px;padding-top:10px}form{background:var(--white);padding:32px;align-self:start}form h2{font-size:32px!important}#form-notice{font-size:13px;background:#ede7db;padding:15px;color:#514a3e}.form-fields{display:grid;gap:20px}label{font-size:14px;display:block}label span{color:var(--muted);font-size:12px}input,textarea{display:block;width:100%;background:transparent;border:1px solid #a29b8e;border-radius:0;min-height:48px;padding:10px;margin-top:8px;color:var(--ink);font-size:16px}textarea{resize:vertical}form .button{margin-top:24px}#form-status{font-size:14px;margin:20px 0 0}#form-status{min-height:1.5em}form .text-link{font-size:13px;margin-top:15px}dialog{border:0;background:var(--white);color:var(--ink);padding:20px;max-width:95vw;width:min(1100px,95vw);max-height:94dvh;overscroll-behavior:contain}dialog::backdrop{background:#171612e8}dialog>img{margin:auto;width:auto;max-height:72dvh;object-fit:contain}dialog>p{font-size:11px;text-align:center;margin:12px 0 0}.lightbox-top{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:15px}.lightbox-top p{margin:0}.icon-button{border:1px solid var(--line);background:var(--paper);min-height:44px;min-width:44px;display:grid;place-content:center}
@media(prefers-reduced-motion:no-preference){.button,.icon-button{transition:background-color .15s,transform .15s}.button:active,.icon-button:active{transform:scale(.96)}}
@media(max-width:1000px){.header-location{display:none}.hero{gap:28px}.hero h1{font-size:clamp(3rem,7vw,5rem)}.hero-actions{gap:12px}.hero-actions .text-link{font-size:14px}.service-row{grid-template-columns:24px 1fr 1fr 100px 18px;gap:20px}.service-row img{width:100px}.section-heading{grid-template-columns:1fr 1.5fr}.section-heading>.eyebrow{grid-column:1/-1;margin-bottom:0}.pair-images img{height:360px}.footer-columns{grid-template-columns:1fr 1fr}.contact-layout{gap:40px}.hero-before{width:49%}}
@media(max-width:680px){body{font-size:16px}header{padding:16px 5vw;gap:15px;flex-wrap:wrap}.brand img{width:110px}nav{gap:12px}.nav-group{font-size:12px}.nav-group summary{padding:12px 3px}nav .button{padding:10px 12px;font-size:12px;gap:10px}nav .button svg{display:none}.preview-note{font-size:10px;padding:8px 5vw}.preview-note a{display:inline-block}.hero{display:flex;flex-direction:column;padding:35px 5vw 45px;gap:20px;align-items:stretch}.hero h1{font-size:clamp(3.4rem,12vw,5rem)}.hero .eyebrow{margin-bottom:22px}.hero .intro{font-size:19px}.hero-work{padding-bottom:68px;margin:10px 0 0}.hero-after{margin-left:15%}.hero-before{width:43%}.hero-after figcaption{font-size:8px}.hero-actions{gap:25px}.facts{padding:25px 5vw;grid-template-columns:1fr 1fr;gap:24px}.facts strong{font-size:16px}.facts span{font-size:11px}.service-index{padding:45px 5vw}.section-heading{display:block;margin-bottom:30px}.section-heading h2{margin-bottom:20px}.section-heading .eyebrow{margin-bottom:20px}.service-row{grid-template-columns:24px 1fr 80px;gap:12px;padding:22px 0}.service-row h3{font-size:23px;grid-column:2/3}.service-row p{grid-column:2/3;font-size:13px}.service-row img{grid-column:3;grid-row:1/3;width:80px}.service-row>.nucleo-icon{display:none}.service-row>.index-number{grid-column:1;grid-row:1}.home-work{padding:40px 5vw;grid-template-columns:1fr;gap:25px}.home-work>div:first-child>img{width:110px}.gallery-links>a{font-size:20px}.contact-band{padding:40px 5vw;display:block}.contact-band>div:last-child{margin-top:30px}.contact-band h2{font-size:42px}footer{padding:35px 5vw}.footer-top{display:block}.footer-name{font-size:28px}.footer-top p{margin-top:8px}.footer-columns{gap:28px 18px;grid-template-columns:1fr 1fr}.footer-columns>div:first-child{grid-column:1/-1}.footer-columns a{min-height:44px;font-size:12px}.footer-bottom{display:block}.footer-bottom details{margin-top:15px}.service-hero{display:block;padding:40px 5vw}.service-hero h1{font-size:clamp(2.8rem,11vw,4rem)}.service-hero figure{margin-top:35px}.service-detail{display:block;padding:35px 5vw}.service-detail h2{margin-bottom:25px}.service-list{column-gap:20px}.service-list li{font-size:13px}.small-projects{padding:25px 5vw 35px}.project-strip{grid-template-columns:1fr 1fr;gap:25px 15px}.gallery-next{padding:20px 5vw 40px}.gallery-intro{padding:40px 5vw 25px}.gallery-intro h1{font-size:48px}.gallery-intro .intro{font-size:18px}.archive-nav{gap:12px}.work-pair{margin:0 5vw;padding:25px 0 35px}.pair-heading{flex-wrap:wrap;gap:12px;margin-bottom:20px}.pair-heading h2{font-size:24px}.pair-heading .text-link{margin-left:0;flex-basis:100%;font-size:12px}.pair-images{gap:20px;grid-template-columns:1fr}.pair-images img{height:auto;max-height:480px;object-fit:contain}.pair-images figcaption{font-size:13px}.contact-intro{padding:40px 5vw 20px}.contact-intro h1{font-size:46px}.contact-layout{display:block;padding:20px 5vw 45px}.contact-layout>div{margin-bottom:40px}form{padding:22px}.service-area img{width:100%;max-width:360px}.zoom-label{font-size:10px}.nav-group>div{right:-55px}dialog{padding:15px}.lightbox-top p{font-size:14px}}
@media(max-width:360px){header{justify-content:center}nav{margin:0;width:100%;justify-content:space-between}.hero-actions{gap:14px}.footer-columns{grid-template-columns:1fr}.footer-columns>div:first-child{grid-column:auto}.hero-before{width:48%}}
/* Keep comparison labels visible above the overlapping source photograph. */
.hero-after{display:flex;flex-direction:column-reverse;padding:0 14px 14px}.hero-after figcaption{padding:12px 0}
@media(max-width:680px){.hero-actions{gap:14px;flex-wrap:nowrap}.hero-actions .button{font-size:14px;gap:12px;padding-inline:16px}.hero-actions .text-link{font-size:13px;gap:10px}.hero-actions .nucleo-icon{width:16px;flex-basis:16px}.hero-copy>p:not(.intro):not(.eyebrow){font-size:14px}.hero .appointment{margin-bottom:0}.hero-work{margin-top:0}}
@media(max-width:360px){.hero-actions{flex-wrap:wrap}}

.low-res .pair-images{max-width:650px}.low-res .pair-images img{max-width:220px;height:auto;margin:auto}.low-res .zoom-image{padding:16px}.low-res .pair-heading .text-link{margin-left:20px}
.hero-after figcaption,.hero-before figcaption{font-size:11px}.hero-after figcaption{flex-wrap:wrap;gap:6px}
