:root{--paper:#f6f3ec;--ink:#322c29;--muted:#70645c;--wine:#682e38;--line:#d9d1c5;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15px}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline-offset:5px;outline:3px solid #b87d38}::selection{background:#dfc5bc}.wrap{width:calc(100% - 112px);max-width:1336px;margin-inline:auto}.header{justify-content:space-between;align-items:center;gap:25px;height:120px;display:flex}.brand{font-family:var(--serif);letter-spacing:-1.8px;font-size:35px;line-height:1.1}.brand span{font-family:var(--sans);letter-spacing:2.5px;margin-top:10px;font-size:8px;font-weight:500;display:block}.header nav{gap:35px;font-size:13px;display:flex}.header nav a{padding:12px 0;position:relative}.header nav a:after{content:"";background:var(--wine);width:0;height:1px;transition:width .2s;position:absolute;bottom:5px;left:0}.header nav a:hover:after{width:100%}.button{background:var(--wine);min-height:55px;color:var(--paper);justify-content:space-between;align-items:center;gap:40px;padding:17px 25px;font-size:13px;transition:background .2s;display:inline-flex}.button:hover{background:#4c2028}.button span{font-size:22px;line-height:1}.button.small{gap:28px;min-height:45px;padding:12px 19px}.hero{grid-template-columns:1fr 1.18fr;min-height:640px;margin-top:12px;margin-bottom:56px;display:grid}.hero-photo{min-width:0;position:relative}.hero-photo>img{object-fit:cover;object-position:center 36%;width:100%;height:100%;position:absolute;inset:0}.photo-label{background:var(--paper);letter-spacing:1.5px;align-items:center;gap:13px;padding:13px 19px;font-size:9px;display:flex;position:absolute;bottom:22px;left:22px}.spark{color:var(--wine);font-size:24px}.hero-copy{flex-direction:column;align-items:flex-start;padding:30px 0 0 9%;display:flex}.eyebrow{letter-spacing:2px;margin:0 0 25px;font-size:10px;font-weight:500;line-height:1.8}.dot{background:var(--wine);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:10px;display:inline-block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{letter-spacing:-3.8px;margin-bottom:25px;font-size:clamp(54px,5.8vw,86px);line-height:1.12}em{color:var(--wine);font-weight:400}.intro{color:var(--muted);margin-bottom:26px;font-size:15px;line-height:1.8}.text-link{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;gap:25px;padding-block:10px;font-size:13px;transition:color .2s;display:inline-flex}.text-link:hover{color:var(--wine)}.hero-link{border:0;margin-top:16px;font-size:12px}.hero-bottom{letter-spacing:1.3px;width:100%;color:var(--muted);justify-content:space-between;gap:10px;margin-top:auto;padding-top:32px;padding-bottom:8px;font-size:8px;display:flex}.specialties{border-block:1px solid var(--line);letter-spacing:1.8px;background:#ece7dd;justify-content:center;align-items:center;gap:4%;padding:24px 25px;font-size:10px;display:flex}.specialties i{background:#c8b9aa;flex-shrink:0;width:1px;height:18px}.section{padding-block:105px}h2{letter-spacing:-1.5px;margin-bottom:0;font-size:clamp(36px,3.6vw,52px);line-height:1.2}.about{grid-template-columns:1fr 1fr;gap:12%;display:grid}.about-body{padding-top:6px}.about-body p{color:var(--muted);max-width:475px;margin-bottom:18px;font-size:15px;line-height:1.85}.about-body .text-link{margin-top:5px}.services{background:#ede8df}.section-heading{justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:50px;display:flex}.section-heading>p{color:var(--muted);margin-bottom:4px;font-size:14px;line-height:1.8}.section-heading .eyebrow{margin-bottom:17px}.service-grid{grid-template-columns:repeat(3,1fr);display:grid}.service-grid article{border-left:1px solid #cfc5b7;padding:0 35px}.service-grid article:first-child{border-left:0;padding-left:0}.service-grid article:last-child{padding-right:0}.service-top{color:var(--wine);letter-spacing:1.4px;justify-content:space-between;align-items:center;margin-bottom:24px;font-size:9px;display:flex}h3{letter-spacing:-.8px;margin-bottom:20px;font-size:35px;line-height:1.2}.service-grid p{color:var(--muted);max-width:320px;min-height:94px;font-size:13px;line-height:1.8}.service-grid ul{margin:24px 0;padding:0;font-size:12px;line-height:2.1;list-style:none}.service-grid li:before{content:"—";color:#9c8172;margin-right:12px}.service-grid .text-link{font-size:12px}.pricing-note{color:var(--muted);border-top:1px solid #cfc5b7;align-items:center;gap:13px;margin:45px 0 0;padding-top:24px;font-size:12px;line-height:1.8;display:flex}.pricing-note span{color:var(--wine);font-size:23px}.filters{flex-wrap:wrap;gap:9px;margin:-10px 0 30px;display:flex}.filters button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:2px;min-height:44px;padding:13px 19px;font-size:12px;transition:background .2s,color .2s}.filters button span{margin-left:18px;font-size:9px}.filters button[aria-pressed=true]{background:var(--wine);border-color:var(--wine);color:var(--paper)}.filters button:hover{border-color:var(--wine)}.gallery{grid-template-columns:repeat(3,1fr);gap:35px 25px;display:grid}.gallery figure{min-width:0;margin:0}.gallery figure[hidden]{display:none}.image-button{aspect-ratio:3/4;background:#e2d9cd;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.image-button img{object-fit:cover;width:100%;height:100%;transition:transform .45s}.image-button:hover img{transform:scale(1.035)}.image-open{background:var(--paper);place-items:center;width:34px;height:34px;font-size:22px;display:grid;position:absolute;bottom:15px;right:15px}.gallery figcaption{justify-content:space-between;align-items:center;gap:8px;padding-top:13px;font-size:12px;display:flex}.gallery figcaption span:last-child{color:var(--muted);text-transform:uppercase;letter-spacing:.7px;font-size:9px}.portfolio-count{text-align:center;color:var(--muted);margin:35px 0 0;font-size:11px}.contact{background:var(--wine);color:var(--paper);padding-block:85px}.contact-grid{grid-template-columns:1.5fr 1fr;gap:12%;display:grid}.contact h2{margin-bottom:26px;font-size:clamp(39px,4vw,60px)}.contact em,.contact .eyebrow{color:#e3c8b8}.contact-grid>div>p:not(.eyebrow){color:#e6d8d1;max-width:390px;font-size:14px;line-height:1.9}.contact-buttons{flex-wrap:wrap;align-items:center;gap:25px;margin-top:30px;display:flex}.cream{background:var(--paper);color:var(--wine);min-width:180px}.cream:hover{background:#e3c8b8}.call-link{border-bottom:1px solid #b58c89;padding-block:14px;font-size:12px}.contact-details{flex-direction:column;gap:36px;padding-top:10px;display:flex}.contact-details .eyebrow{margin-bottom:16px;display:block}.contact-details a{font-size:19px;line-height:1.6;display:block}.contact-details a span{margin-left:14px;font-size:19px}.contact-details a:hover{text-underline-offset:5px;text-decoration:underline}.contact-details p{color:#e6d8d1;margin:12px 0 0;font-size:12px;line-height:1.8}.contact-details>div:last-child a{padding-block:5px;font-size:15px}footer{justify-content:space-between;align-items:center;gap:25px;padding-block:38px;display:flex}footer .brand{font-size:28px}footer .brand span{font-size:7px}footer p{font-family:var(--serif);color:var(--muted);margin:0;font-size:15px;font-style:italic}footer>span{color:var(--muted);font-size:10px}.skip{background:var(--wine);color:#fff;z-index:20;padding:15px;position:fixed;top:-80px;left:20px}.skip:focus{top:15px}.lightbox{color:var(--paper);background:#211c1a;border:0;width:min(850px,94vw);max-width:94vw;max-height:95dvh;padding:22px}.lightbox::backdrop{background:#171210e8}.lightbox>img{object-fit:contain;max-width:100%;max-height:69dvh;margin:16px auto;display:block}.lightbox>p{text-align:center;margin:15px 0;font-size:13px}.close-lightbox{margin-left:auto;display:block}.lightbox button{color:var(--paper);background:0 0;border:1px solid #79675d;min-height:44px;padding:12px 18px}.lightbox-controls{justify-content:space-between;display:flex}.lightbox button:hover{background:#42352e}.biography{max-width:485px;font-size:14px;line-height:1.8}.arrow-icon{vertical-align:middle;flex-shrink:0;display:inline-block}.button>span{align-items:center;display:flex}.contact-details a .biography{max-width:485px;font-size:14px;line-height:1.8}.biography p{margin-bottom:14px}.biography p:last-child{margin-bottom:0}.hero-copy:has(.biography) h1{letter-spacing:-2px;margin-bottom:22px;font-size:clamp(46px,4.5vw,66px)}.arrow-icon{width:15px;height:15px}.lightbox-controls button{align-items:center;gap:10px;display:inline-flex}.service-top{min-height:33px}.photo-label{border-left:2px solid var(--wine)}@media (width>=1600px){.hero{min-height:730px}.hero-copy{padding-top:55px}}@media (width<=1050px){.wrap{width:calc(100% - 64px)}.hero{min-height:590px}.hero-copy{padding-top:18px;padding-left:9%}h1{font-size:62px}.hero-bottom{letter-spacing:.8px;font-size:7px}.specialties{gap:3%;font-size:8px}.section{padding-block:80px}.service-grid article{padding-inline:25px}.service-grid p{min-height:120px}.gallery{gap:30px 18px}.gallery figcaption{flex-direction:column;align-items:flex-start;gap:6px}.contact-grid{gap:8%}.contact-buttons{gap:15px}.header nav{gap:22px}}@media (width<=700px){.wrap{width:calc(100% - 40px)}.header{height:95px}.brand{font-size:29px}.brand span{letter-spacing:1.6px;font-size:7px}.header nav{display:none}.button.small{gap:18px;padding:11px 14px;font-size:11px}.hero{grid-template-columns:1fr;gap:30px;margin-top:0;margin-bottom:35px}.hero-photo{height:440px}.hero-photo>img{object-position:center 33%}.hero-copy{padding:0 3px}.hero-copy .eyebrow{margin-bottom:16px;font-size:9px}h1{letter-spacing:-2.5px;font-size:clamp(55px,10vw,75px);line-height:1.09}.hero .intro{margin-bottom:22px;font-size:14px}.hero-link{margin-top:8px}.hero-bottom{padding-top:25px;font-size:7px}.photo-label{padding:10px 14px;font-size:8px;bottom:15px;left:15px}.specialties{text-align:center;grid-template-columns:1fr 1fr;gap:16px 20px;padding:22px 20px;font-size:8px;line-height:1.8;display:grid}.specialties i{display:none}.section{padding-block:60px}h2{letter-spacing:-1px;font-size:37px}.about{grid-template-columns:1fr;gap:26px}.eyebrow{margin-bottom:15px}.about-body p{font-size:14px}.section-heading{flex-direction:column;align-items:flex-start;gap:23px;margin-bottom:35px}.section-heading>p{font-size:13px}.service-grid{grid-template-columns:1fr;gap:34px}.service-grid article{border-bottom:1px solid #cfc5b7;border-left:0;grid-template-columns:1fr 1fr;column-gap:24px;display:grid;padding:0 0 30px!important}.service-grid article:last-child{border-bottom:0;padding-bottom:0!important}.service-top{grid-column:1/-1;margin-bottom:15px}.service-grid h3{font-size:30px}.service-grid p{grid-area:2/2/4;min-height:0;font-size:12px}.service-grid ul{margin:0 0 12px;font-size:11px}.service-grid .text-link{justify-self:start;font-size:11px}.pricing-note{align-items:flex-start;margin-top:32px;font-size:11px}.filters{gap:7px;margin-top:0}.filters button{padding:11px 12px;font-size:11px}.filters button span{margin-left:9px}.gallery{grid-template-columns:1fr 1fr;gap:23px 14px}.gallery figcaption{font-size:11px}.gallery figcaption span:last-child{font-size:8px}.image-open{width:28px;height:28px;font-size:18px;bottom:9px;right:9px}.contact{padding-block:60px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact h2{font-size:44px}.contact-details{border-top:1px solid #9c626a;grid-template-columns:1fr 1fr;gap:25px;padding-top:30px;display:grid}.contact-details a{font-size:15px}.contact-details a span{margin-left:2px}.contact-details>div:last-child a{overflow-wrap:anywhere;font-size:12px}.contact-details p{font-size:10px}.contact-details .eyebrow{letter-spacing:1.5px;font-size:8px}footer{flex-wrap:wrap;gap:26px;padding-block:30px}footer p{display:none}footer>span{font-size:9px}.lightbox{padding:15px}.hero{grid-template-columns:minmax(0,1fr)}.hero-copy{min-width:0}h1 br:nth-of-type(2){display:block}}@media (width<=380px){.hero-photo{height:390px}h1{font-size:51px}.contact-buttons{flex-direction:column;align-items:flex-start}.gallery{grid-template-columns:1fr}.filters button{padding-inline:10px}.contact-details{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
