
:root{--ivory:#f5f3ec;--green:#233d33;--ink:#26322b;--muted:#6e746b;--line:#d9dacf;--gold:#bca27c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #aa784c;outline-offset:6px}img{display:block;max-width:100%}header{height:116px;display:flex;align-items:center;justify-content:space-between;padding:20px 5.5%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;font:29px Georgia,serif;line-height:1}.brand img{width:57px;height:62px;object-fit:contain;mix-blend-mode:multiply}.brand small{font:10px Arial,sans-serif;letter-spacing:4px;text-transform:uppercase;display:block;margin-top:9px}header nav{display:flex;gap:38px;align-items:center;font-size:13px}header nav a{padding:10px 0;border-bottom:1px solid transparent}header nav a:hover,header nav a[aria-current]{border-color:var(--green)}header nav a:last-child{border:1px solid var(--green);padding:14px 24px}.menu{display:none}.skip{position:absolute;top:-100px}.skip:focus{top:10px;z-index:10;background:white;padding:10px}.hero{display:grid;grid-template-columns:42% 58%;min-height:620px;background:var(--green);color:var(--ivory)}.hero-copy{padding:70px 11% 70px 13%;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:10px;line-height:1.8;color:var(--muted)}.hero .eyebrow{color:#d0d5c9}.hero h1{font:clamp(48px,4.7vw,78px)/1.06 Georgia,serif;letter-spacing:-2px;margin:32px 0 42px;font-weight:400}.hero h1 em{color:#d9c5a4;font-weight:400}.hero-image{overflow:hidden;min-height:620px}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;padding:17px 23px;background:var(--green);color:white;border:1px solid var(--green);cursor:pointer;font-size:13px}.button.light{background:transparent;border-color:#8eaa96}.button:hover{background:#345644}.button span{font-size:18px}.wrap{width:89%;max-width:1360px;margin:auto}.about{padding:100px 0 90px;display:grid;grid-template-columns:1fr 2.3fr;gap:20px 75px;border-bottom:1px solid var(--line)}.about .eyebrow{padding-top:10px}.about p{font:clamp(22px,2.4vw,35px)/1.48 Georgia,serif;margin:0;max-width:890px}.text-link{font-size:12px;letter-spacing:1px;border-bottom:1px solid var(--ink);padding:10px 0;display:inline-flex;gap:35px;width:fit-content}.about .text-link{grid-column:2}.portfolio-home{padding:75px 0 100px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}h2{font:40px/1.2 Georgia,serif;font-weight:400;margin:0}.categories{display:grid;grid-template-columns:1fr 1fr;gap:40px 26px}.category{overflow:hidden}.category img{width:100%;height:420px;object-fit:cover;transition:transform .5s}.category:hover img{transform:scale(1.025)}.category span{display:flex;justify-content:space-between;padding:18px 0;font:25px Georgia,serif}.category b{font:22px Arial,sans-serif;font-weight:400}footer{background:var(--green);color:#cbd1c7;padding:43px 5.5%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;flex-wrap:wrap}.footer-brand{font:24px Georgia,serif;color:var(--ivory)}.page-heading{padding:70px 0 48px}.page-heading h1{font:clamp(46px,6vw,76px)/1.15 Georgia,serif;font-weight:400;letter-spacing:-1.5px;margin:20px 0 0}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-top:40px}.filters a{font-size:12px;padding:12px 18px;border:1px solid var(--line)}.filters a:hover,.filters a[aria-current]{background:var(--green);color:white;border-color:var(--green)}.gallery{columns:3;column-gap:24px;padding-bottom:80px}.photo{display:block;padding:0;text-align:left;border:0;background:transparent;color:inherit;width:100%;margin:0 0 28px;break-inside:avoid;cursor:zoom-in}.photo img{width:100%;height:auto;transition:opacity .2s}.photo:hover img{opacity:.85}.photo span{display:block;font:17px Georgia,serif;padding:13px 0}.process{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;padding-bottom:90px}.process-photo img{width:100%;height:650px;object-fit:cover}.step{display:flex;gap:26px;padding:0 0 32px;margin-bottom:28px;border-bottom:1px solid var(--line)}.step-number{font-size:11px;letter-spacing:2px;color:var(--muted);padding-top:10px}.step h2{font-size:33px}.step p{font-size:15px;line-height:1.9;color:#586255;margin:17px 0 0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-bottom:100px}.contact-details{padding:35px 0}.contact-details h2{font-size:30px}.contact-details p{line-height:1.8;color:var(--muted);margin:24px 0}.contact-details>a{display:block;margin:16px 0;font-size:16px}.contact-details>a:hover{text-decoration:underline}form{padding-top:12px}form label{display:block;font-size:12px;margin:0 0 22px}input,textarea,select{display:block;width:100%;border:0;border-bottom:1px solid #acb6a6;border-radius:0;background:#eeeee6;padding:14px 12px;margin-top:10px;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:2px solid #7e987f}textarea{resize:vertical}.form-note,#form-status{font-size:12px;line-height:1.6;color:var(--muted)}dialog{border:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:55px 60px;background:#16221cf7;color:white}dialog::backdrop{background:#16221c}dialog figure{height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}dialog figure img{max-height:calc(100vh - 150px);max-width:90%;object-fit:contain}dialog figcaption{font:17px Georgia,serif}dialog button{position:absolute;background:transparent;color:white;border:0;font-size:42px;cursor:pointer;padding:10px}.close{right:18px;top:5px}.prev{left:8px;top:45%}.next{right:8px;top:45%}body.modal-open{overflow:hidden}@media(min-width:1600px){.hero{min-height:760px}.hero-image{min-height:760px}}@media(max-width:900px){header{height:96px}.brand{font-size:24px}header nav{gap:20px;font-size:12px}header nav a:last-child{padding:12px}.hero{grid-template-columns:46% 54%;min-height:530px}.hero-image{min-height:530px}.hero-copy{padding:50px 10%}.hero h1{font-size:51px}.about{gap:30px}.category img{height:300px}.gallery{columns:2}.process{gap:5%}.process-photo img{height:600px}.contact{gap:5%}}@media(max-width:650px){header{height:90px;padding:15px 6%;position:relative}.brand img{width:43px;height:48px}.brand{font-size:23px}.brand small{font-size:8px;letter-spacing:3px}.menu{display:block;background:transparent;color:var(--green);border:0;font-size:24px;cursor:pointer}header nav{display:none;position:absolute;top:90px;left:0;right:0;z-index:5;background:var(--ivory);padding:20px 6%;box-shadow:0 10px 10px #0001;flex-direction:column;align-items:stretch;gap:10px}header.open nav{display:flex}header nav a:last-child{border:0;padding:10px 0}.hero{display:flex;flex-direction:column}.hero-copy{padding:44px 6%;min-height:400px}.hero h1{font-size:55px;margin:24px 0 30px}.hero-image{min-height:0;height:350px}.hero-image img{object-position:center}.wrap{width:88%}.about{padding:55px 0;display:block}.about p{font-size:25px;margin:22px 0}.portfolio-home{padding:45px 0 55px}.section-title h2{font-size:34px}.categories{grid-template-columns:1fr;gap:20px}.category img{height:350px}.category span{font-size:23px}.page-heading{padding:45px 0 30px}.page-heading h1{font-size:47px}.filters{gap:8px;margin-top:25px}.filters a{padding:10px 12px;font-size:11px}.gallery{columns:1;padding-bottom:45px}.process{grid-template-columns:1fr;gap:35px}.process-photo img{height:370px}.step{gap:18px}.step h2{font-size:30px}.contact{grid-template-columns:1fr;gap:15px;padding-bottom:55px}.contact-details{padding:10px 0 20px}.contact-details>a{font-size:15px}footer{padding:35px 6%;flex-direction:column;align-items:flex-start;gap:18px}dialog{padding:50px 30px}dialog figure img{max-width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
