:root{--blue:#626047;--ink:#292119;--paper:#fcf8f3;--gray:#f1e3dc;--line:#dccdc0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}header{height:104px;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:white}.brand{width:164px;display:flex;flex-direction:column;align-items:center;line-height:1}.brand span{font-size:23px;font-weight:800;letter-spacing:1.8px}.brand em{font-family:Georgia,serif;font-size:26px;font-weight:400;font-style:italic;margin-top:3px}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav a:hover,.text-link:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);border:1px solid var(--blue);color:white;padding:15px 25px;border-radius:0;font-weight:600;font-size:15px;min-height:50px;transition:background .15s}.button:hover{background:#494733;color:white}.button.small{font-size:14px;padding:11px 19px;min-height:44px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:640px}.hero-copy{padding:80px 10% 30px;display:flex;align-items:flex-start;flex-direction:column}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:700;margin:0 0 24px}.hero h1{font-family:Georgia,serif;font-size:clamp(56px,5.8vw,86px);font-weight:400;line-height:1.05;letter-spacing:-3px;margin:0 0 25px}h1 em,h2 em{font-weight:400;color:var(--blue)}.intro{font-size:18px;max-width:340px;margin:0 0 32px;line-height:1.65}.text-link{font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:5px}.hero .text-link{margin:19px 0 40px}.hero-note{margin-top:auto;width:100%;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:end;font-size:14px}.hero-note strong{font-weight:500}.note-number{font-size:12px;color:#666}.hero-image{position:relative;background:#f3f3f3;overflow:hidden;margin:24px 24px 24px 0}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 48%}.image-caption{position:absolute;bottom:18px;left:18px;right:18px;display:flex;justify-content:space-between;gap:15px;padding:12px 15px;background:white;font-size:12px}.image-caption span:last-child{letter-spacing:1px}.service-strip{background:var(--ink);color:white;display:flex;justify-content:center;align-items:center;gap:34px;padding:23px 5%;font-size:13px}.service-strip i{font-size:18px;color:#e8b2a2}.section{padding:95px 6%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:44px}.section-heading p:last-child{font-size:15px;color:#5b5b5b;margin:0 0 8px}h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(36px,4vw,56px);line-height:1.15;letter-spacing:-1.7px;margin:0}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 24px}.photo-card{border:0;background:none;padding:0;text-align:left;color:var(--ink)}.photo-wrap{height:410px;overflow:hidden;position:relative;background:var(--gray)}.photo-wrap img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.photo-card:hover img{transform:scale(1.03)}.view{position:absolute;bottom:14px;right:14px;background:white;padding:7px 12px;font-size:12px;opacity:0;transition:opacity .2s}.photo-card:hover .view,.photo-card:focus-visible .view{opacity:1}.photo-label{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:14px}.photo-label strong{font-size:15px;font-weight:500}.photo-label>span{font-size:12px;color:#666}.gallery-foot{text-align:center;font-size:14px;margin:40px 0 0;color:#555}.services{background:var(--gray);max-width:none}.service-list article{border-top:1px solid #ccc;display:grid;grid-template-columns:50px 1fr 1fr;gap:20px;padding:30px 0;align-items:baseline}.service-list article:last-child{border-bottom:1px solid #ccc}.index{font-size:13px;color:var(--blue)}h3{font-size:25px;font-weight:500;letter-spacing:-.6px;margin:0}.service-list p{margin:0;color:#555;font-size:16px;max-width:480px}.price-note{display:grid;grid-template-columns:1fr 1.2fr auto;gap:30px;margin-top:36px;align-items:center}.price-note strong{font-size:16px;font-weight:500}.price-note p{margin:0;font-size:14px;color:#555}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about-image{height:530px}.about-image img{width:100%;height:100%;object-fit:cover}.about-copy p:not(.eyebrow){max-width:465px;color:#555}.about-copy h2{margin-bottom:28px}.signature{font-family:Georgia,serif;font-style:italic;font-size:37px;transform:rotate(-5deg);display:inline-block;margin:8px 0 20px}.local{font-size:14px;border-top:1px solid var(--line);padding-top:24px}.process{border-top:1px solid var(--line);padding-top:75px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:50px}.steps span{font-size:12px;letter-spacing:1px;color:var(--blue)}.steps h3{margin-top:16px;font-size:24px}.steps p{font-size:15px;color:#555;max-width:320px}.inquire{max-width:none;background:var(--blue);color:white;display:grid;grid-template-columns:.85fr 1.15fr;gap:9%}.inquire h2{font-size:clamp(40px,4.7vw,67px);margin-bottom:30px}.inquire h2 em{color:white}.inquire-copy>p:not(.eyebrow){max-width:370px}.inquiry-note{font-size:14px;opacity:.85;margin:24px 0 40px}details{border-top:1px solid #ffffff60;padding:17px 0;font-size:14px;max-width:420px}summary{cursor:pointer;font-weight:600}details p{opacity:.9}form{background:white;padding:32px;color:var(--ink);align-self:start}label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500;margin-bottom:20px}label span{font-size:12px;color:#666}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}input,select,textarea{min-width:0;width:100%;padding:12px;border:1px solid #c9cbd1;border-radius:0;background:white;color:var(--ink);font-size:16px;line-height:1.4}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:1px}textarea{resize:vertical}form>.button{width:100%}#inquiry-result{margin-top:25px;border-top:1px solid var(--line);padding-top:25px}.secondary{background:white;color:var(--blue)}#copy-status{font-size:14px}footer{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:40px 6%;font-size:12px}footer p{font-size:14px}dialog{border:0;background:white;padding:18px;max-width:90vw;max-height:94vh;text-align:center}dialog::backdrop{background:#000b}dialog img{max-width:100%;max-height:78vh;object-fit:contain;display:block;margin:auto}dialog p{font-size:14px;margin:12px 36px 0}.close{position:absolute;top:24px;right:24px;z-index:1;background:white;border:1px solid #aaa;font-size:28px;line-height:1;width:42px;height:42px}[hidden]{display:none!important}@media(min-width:1500px){.hero{max-width:1600px;margin:auto}}@media(max-width:1050px){nav{gap:18px}.hero-copy{padding:65px 9% 25px}.photo-wrap{height:340px}.photo-label{flex-direction:column;gap:2px}.inquire{gap:6%}.service-strip{gap:20px}.price-note{grid-template-columns:1fr 1.3fr}.price-note a{grid-column:2}}@media(max-width:760px){html{scroll-padding-top:20px}header{height:85px;padding:18px 6%}header nav{display:none}.brand{width:140px}.brand span{font-size:20px}.brand em{font-size:23px}.menu{display:block;border:1px solid var(--ink);background:white;padding:8px 14px;font-size:14px}#mobile-nav{padding:22px 6%;display:flex;align-items:flex-start;flex-direction:column;gap:18px;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:44px 6% 25px}.hero h1{font-size:64px;letter-spacing:-2px}.eyebrow{font-size:12px;margin-bottom:20px}.intro{font-size:17px;max-width:350px}.hero .text-link{margin-bottom:25px}.hero-note{display:none}.hero-image{margin:10px 6% 28px;height:440px}.image-caption{font-size:11px;left:12px;right:12px;bottom:12px;padding:10px}.service-strip{flex-wrap:wrap;gap:9px 17px;padding:19px 6%;font-size:12px}.service-strip i{font-size:14px}.service-strip i:nth-of-type(3){display:none}.section{padding:60px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px!important}.section-heading p br{display:none}h2{font-size:40px;letter-spacing:-1px}.gallery-grid{grid-template-columns:1fr 1fr;gap:25px 15px}.photo-wrap{height:270px}.photo-label strong{font-size:14px}.photo-label>span{font-size:12px}.view{display:none}.gallery-foot{margin-top:30px}.service-list article{grid-template-columns:28px 1fr;gap:10px;padding:25px 0}.service-list h3{font-size:24px}.service-list p{grid-column:2;font-size:15px}.price-note{display:block;margin-top:28px}.price-note p{margin:12px 0 18px}.about{grid-template-columns:1fr;gap:34px}.about-image{height:390px}.about-copy h2{margin-bottom:22px}.steps{grid-template-columns:1fr;gap:23px;margin-top:35px}.steps p{max-width:none}.steps h3{margin-top:8px}.inquire{grid-template-columns:1fr;gap:35px}.inquire h2{font-size:50px}.inquire-copy>p:not(.eyebrow){max-width:none}form{padding:24px}.field-row{grid-template-columns:1fr;gap:0}footer{flex-direction:column;text-align:center;gap:16px;padding:35px 6%}footer p{margin:0}}@media(max-width:390px){.hero h1{font-size:55px}.hero-image{height:365px}.gallery-grid{grid-template-columns:1fr}.photo-wrap{height:420px}.photo-label{flex-direction:row}.inquire h2{font-size:45px}form{padding:19px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.contact-link{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}#email-inquiry{margin:0 10px 10px 0}#copy-message{margin-bottom:10px}

#send-inquiry:disabled{opacity:.65;cursor:wait}#inquiry-status:not(:empty){margin-top:18px;line-height:1.6}#inquiry-fallback{margin-top:10px}



.about-image{height:auto;aspect-ratio:1001/1322}.about-image img{display:block;object-fit:cover;object-position:center}

/* Show complete portfolio photos at their natural proportions. */
.gallery-grid{display:block;columns:3;column-gap:24px}
.gallery-grid .photo-card{display:block;width:100%;break-inside:avoid;margin:0 0 24px}
.gallery-grid .photo-wrap{height:auto;background:transparent;overflow:visible}
.gallery-grid .photo-wrap img{display:block;width:100%;height:auto;object-fit:contain;transform:none}
.gallery-grid .photo-card:hover img{transform:none}
@media(max-width:760px){.gallery-grid{columns:2;column-gap:15px}.gallery-grid .photo-card{margin-bottom:15px}}
@media(max-width:390px){.gallery-grid{columns:1}}

/* Palette and finishes drawn from Nichole's supplied logo. */
html{scroll-padding-top:145px}
header{height:140px;background:var(--paper);padding:12px 5%}
.brand{width:112px;flex-shrink:0}
.brand-logo{display:block;width:112px;height:112px;object-fit:contain;border-radius:50%}
.button{border-radius:8px}
.hero-copy{padding-top:68px}
.hero-image{border-radius:110px 110px 16px 16px}
.hero-image,.photo-wrap{background:var(--gray)}
.hero-note{border-color:var(--line)}
.eyebrow{font-size:14px;letter-spacing:1.4px;color:#655345}
.service-strip{background:#292119;color:#fcf8f3}
.service-strip i{color:#e8b2a2}
.services{background:#f1e3dc}
.service-list article{border-color:#d3bfb2}
.photo-wrap img{border-radius:10px}
.about-image img{border-radius:120px 120px 12px 12px}
.process{background:#f7f0e8}
.inquire{background:#626047}
.inquire .eyebrow{color:#f5e2d7}
.inquire form{border-radius:16px;background:#fffdf9}
input,select,textarea{border-radius:6px;background:#fffdf9;border-color:#cdbfb2}
footer{background:#f1e3dc;font-size:14px}
footer .brand,footer .brand-logo{width:100px;height:100px}
.menu{border-radius:6px;background:transparent}
.view{background:#fffdf9;border-radius:6px}
dialog{background:#fffdf9;border-radius:12px}
@media(max-width:760px){html{scroll-padding-top:20px}header{height:112px;padding:10px 6%}.brand,.brand-logo{width:90px;height:90px}.hero-copy{padding-top:38px}.hero-image{border-radius:80px 80px 12px 12px}.about-image img{border-radius:90px 90px 12px 12px}.eyebrow{font-size:14px}.inquire form{padding:24px}footer .brand,footer .brand-logo{width:112px;height:112px}}

.hero-image{aspect-ratio:3/4;height:auto;align-self:center}.hero-image img{object-fit:contain;object-position:center}@media(max-width:760px){.hero-image{height:auto;aspect-ratio:3/4}}
