:root{color:#20221e;font-synthesis:none;text-rendering:optimizelegibility;--color-ink:#20221e;--color-muted:#686a62;--color-paper:#f7f6f2;--color-sage:#78866a;--color-sage-tint:color-mix(in srgb, var(--color-sage) 20%, var(--color-paper));--color-link:#53008a;--color-line:var(--color-sage);--page-gutter:clamp(1.25rem, 5vw, 5rem);background:#f7f6f2;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit;transition:color .16s,border-color .16s,text-shadow .16s}a:not(.wordmark,.nav-links a,.service-link):hover,.button:hover{text-shadow:0 0 .6px,0 0 .6px}a:focus-visible{outline:2px solid var(--color-link);outline-offset:4px}.page-width{width:min(100% - var(--page-gutter) * 2, 1440px);margin-inline:auto}.skip-link{z-index:10;background:var(--color-ink);color:#fff;padding:.75rem 1rem;position:absolute;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--color-line)}.header-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:92px;display:flex}.wordmark{align-items:center;text-decoration:none;display:inline-flex}.wordmark-logo{width:clamp(8rem,15vw,11rem);height:auto;display:block}.nav-links{align-items:center;gap:clamp(1rem,3vw,2.75rem);margin:0;padding:0;list-style:none;display:flex}.nav-links a,.header-contact,.text-link{font-size:.83rem;text-decoration:none}.nav-links a,.header-contact{font-size:1rem}.nav-links a{color:var(--color-muted);padding:.55rem .9rem;transition:color .16s,background-color .16s;display:block}.nav-links a:hover{color:var(--color-link)}.nav-links a[aria-current=page],.nav-links a[aria-current=page]:hover{background:var(--color-link);color:#fff}.menu-toggle{border:1px solid var(--color-line);width:2.75rem;height:2.75rem;color:var(--color-ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;display:none}.menu-toggle:hover{color:var(--color-link);border-color:var(--color-link)}.menu-toggle:focus-visible{outline:2px solid var(--color-link);outline-offset:3px}.menu-bars,.menu-bars:before,.menu-bars:after{background:currentColor;width:1.4rem;height:2px;transition:transform .16s,background-color .16s;display:block}.menu-bars{position:relative}.menu-bars:before,.menu-bars:after{content:"";position:absolute;left:0}.menu-bars:before{top:-.45rem}.menu-bars:after{top:.45rem}[data-nav-open] .menu-bars{background:0 0}[data-nav-open] .menu-bars:before{transform:translateY(.45rem)rotate(45deg)}[data-nav-open] .menu-bars:after{transform:translateY(-.45rem)rotate(-45deg)}.header-contact{border-bottom:1px solid var(--color-ink);padding-bottom:.3rem}.header-contact:hover,.text-link:hover{color:var(--color-link)}.header-contact .arrow-icon,.text-link .arrow-icon{margin-left:.3rem}.hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(3rem,9vw,9rem);min-height:min(700px,100svh - 92px);padding-block:clamp(4rem,9vw,8rem);display:grid}.hero-copy{max-width:35rem}.eyebrow{color:var(--color-muted);letter-spacing:.13em;text-transform:uppercase;margin:0 0 1.25rem;font-size:.68rem;font-weight:700;line-height:1.5}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.045em;font-family:Georgia,Times New Roman,serif;font-weight:400}h1{max-width:11ch;margin-bottom:1.5rem;font-size:clamp(3.4rem,7.5vw,7.5rem);line-height:.98}.intro{max-width:30rem;color:var(--color-muted);margin-bottom:2rem;font-size:clamp(1rem,1.35vw,1.15rem);line-height:1.7}.button-row{align-items:center;gap:1.6rem;display:flex}.button{justify-content:center;align-items:center;gap:.75rem;min-height:3.2rem;padding:.85rem 1.2rem;font-size:.83rem;text-decoration:none;transition:background-color .16s,color .16s,text-shadow .16s;display:inline-flex}.button-dark{background:var(--color-ink);color:#fff}.button-dark:hover{background:var(--color-link)}.text-link{border-bottom:1px solid;padding-bottom:.25rem;display:inline-block}.hero-image{aspect-ratio:4/3;object-fit:cover;background:var(--color-sage-tint);width:100%;height:auto;display:block}.intro-section{border-top:1px solid var(--color-line);grid-template-columns:.7fr 1.3fr;gap:2rem;padding-block:clamp(5rem,10vw,10rem);display:grid}.intro-section h2,.section-heading h2,.contact-cta h2,.page-heading h1{max-width:15ch;margin-bottom:1.25rem;font-size:clamp(2.4rem,5vw,5rem);line-height:1.04}.intro-section>div>p{max-width:38rem;color:var(--color-muted);line-height:1.7}.intro-section h2,.section-heading h2,.content-section h2{color:var(--color-sage)}.intro-section .text-link{margin-top:.5rem}.services-preview{border-top:1px solid var(--color-line);padding-block:clamp(4rem,8vw,7rem)}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem;display:flex}.section-heading h2{margin-bottom:0}.service-list{margin:0;padding:0;list-style:none}.service-item{border-bottom:1px solid var(--color-line)}.service-link{grid-template-columns:8rem 1fr auto;align-items:center;gap:1.5rem;padding-block:1.5rem;text-decoration:none;display:grid}.service-link:hover h3,.service-link:hover .service-arrow{color:var(--color-link)}.service-arrow{background-color:currentColor;width:.75rem;height:.75rem;display:inline-block;-webkit-mask:url(/images/link-arrow.png) 50%/contain no-repeat;mask:url(/images/link-arrow.png) 50%/contain no-repeat}.service-item:first-child{border-top:1px solid var(--color-line)}.service-media{aspect-ratio:4/3;background:var(--color-sage-tint);overflow:hidden}.service-media img{object-fit:cover;width:100%;height:100%;display:block}.service-media-thumb{width:8rem}.arrow-icon{vertical-align:middle;background-color:currentColor;width:.75rem;height:.75rem;display:inline-block;-webkit-mask:url(/images/link-arrow.png) 50%/contain no-repeat;mask:url(/images/link-arrow.png) 50%/contain no-repeat}.service-item h3{margin:0 0 .5rem;font-family:Georgia,Times New Roman,serif;font-size:1.6rem;font-weight:400}.service-copy p{max-width:42rem;color:var(--color-muted);margin-bottom:0;line-height:1.7}.contact-cta{background:var(--color-sage-tint);margin-block:clamp(4rem,10vw,9rem);padding:clamp(2rem,6vw,5rem)}.contact-cta-content{justify-content:space-between;align-items:end;gap:2rem;display:flex}.contact-cta h2{margin-bottom:0}.button-light{background:var(--color-paper);flex:none}.button-light:hover{background:var(--color-link);color:#fff}.page-heading{border-bottom:1px solid var(--color-line);padding-block:clamp(5rem,12vw,10rem) clamp(3rem,7vw,6rem)}.page-heading h1{max-width:13ch;margin-bottom:1.25rem}.page-heading .intro{margin-bottom:0}.content-section{padding-block:clamp(4rem,9vw,8rem)}.content-section h2{margin-bottom:1.25rem;font-size:clamp(2rem,4vw,3.6rem)}.content-section>p{max-width:42rem;color:var(--color-muted);line-height:1.8}.service-item strong{font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:400}.placeholder-notice{color:var(--color-muted);border:1px dashed #898b80;padding:1rem 1.2rem;font-size:.9rem;line-height:1.6;display:inline-block}.site-footer{border-top:1px solid var(--color-line)}.footer-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:130px;display:flex}.footer-legal{color:#fff;background:#3a3d38}.footer-legal-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 2rem;padding-block:1.1rem;display:flex}.footer-legal p{margin:0;font-size:.75rem;line-height:1.6}.footer-legal a{text-underline-offset:.2em}.footer-legal a:hover{color:var(--color-sage-tint)}.footer-legal a:focus-visible{outline-color:#fff}.footer-links{flex-wrap:wrap;gap:1.5rem;display:flex}.footer-wordmark .wordmark-logo{width:clamp(8rem,13vw,10rem)}@media (width<=760px){.header-inner{flex-wrap:wrap;gap:.5rem 1rem;min-height:76px;padding-block:1rem}.header-contact{display:none}.header-inner{flex-wrap:wrap;justify-content:space-between}[data-nav-ready] .menu-toggle{display:inline-flex}.site-nav{flex-basis:100%;order:3}[data-nav-ready]:not([data-nav-open]) .site-nav{display:none}.nav-links{flex-direction:column;align-items:stretch;gap:.25rem;padding-bottom:.75rem}.nav-links a{padding:.85rem 1rem}.hero{grid-template-columns:1fr;gap:2.5rem;min-height:auto;padding-block:4rem}.intro-section{grid-template-columns:1fr;gap:0;padding-block:4rem}.contact-cta-content{flex-direction:column;align-items:start}.footer-inner{flex-wrap:wrap;align-items:start;padding-block:2rem}}@media (width<=430px){.wordmark-logo{width:clamp(7rem,38vw,9rem)}.button-row{flex-direction:column;align-items:start;gap:1.2rem}.section-heading{flex-direction:column;align-items:start;gap:1rem}.service-link{grid-template-columns:5.5rem 1fr auto;gap:.9rem}.service-media-thumb{width:5.5rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important}}.inquiry-form{gap:2.25rem;max-width:44rem;margin-top:2.5rem;display:grid}.field{border:0;gap:.6rem;min-width:0;margin:0;padding:0;display:grid}.field label,.field legend{color:var(--color-muted);letter-spacing:.13em;text-transform:uppercase;padding:0;font-size:.68rem;font-weight:700;line-height:1.5}.field-hint{max-width:34rem;color:var(--color-muted);margin:0;font-size:.95rem;line-height:1.7}.inquiry-form input[type=text],.inquiry-form input[type=email],.inquiry-form textarea{border:0;border-bottom:1px solid var(--color-line);width:100%;color:var(--color-ink);letter-spacing:-.02em;background:0 0;border-radius:0;padding:.6rem 0 .8rem;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;transition:border-color .16s}.inquiry-form textarea{resize:vertical;line-height:1.5}.inquiry-form ::placeholder{color:color-mix(in srgb, var(--color-muted) 65%, transparent);opacity:1}.inquiry-form input:focus,.inquiry-form textarea:focus{border-bottom-color:var(--color-link);outline:0}.radio-group{flex-wrap:wrap;gap:.75rem;margin-top:.4rem;display:flex}.radio-option{cursor:pointer;display:inline-flex;position:relative}.radio-option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.radio-option span{border:1px solid var(--color-line);min-height:3.2rem;color:var(--color-ink);letter-spacing:normal;text-transform:none;align-items:center;padding:.85rem 1.4rem;font-family:Georgia,Times New Roman,serif;font-size:1.1rem;font-weight:400;transition:background-color .16s,color .16s,border-color .16s;display:inline-flex}.radio-option:hover span{border-color:var(--color-link);color:var(--color-link)}.radio-option input:checked+span{border-color:var(--color-ink);background:var(--color-ink);color:#fff}.radio-option input:focus-visible+span{outline:2px solid var(--color-link);outline-offset:4px}.inquiry-form .button{cursor:pointer;border:0;justify-self:start;font-family:inherit}@media (width<=520px){.radio-option{flex:calc(50% - .75rem)}.radio-option span{justify-content:center;width:100%}}.form-error{color:var(--color-link);margin:0;font-size:.95rem;line-height:1.7}.form-success{background:var(--color-sage-tint);max-width:44rem;margin-top:2.5rem;padding:clamp(1.5rem,4vw,2.5rem)}.form-success:focus{outline:0}.form-success h3{margin-bottom:.75rem;font-family:Georgia,Times New Roman,serif;font-size:1.6rem;font-weight:400}.form-success p{color:var(--color-muted);margin:0;line-height:1.7}.inquiry-form .button:disabled{cursor:progress;opacity:.7}.inquiry-form[hidden]{display:none}.service-gallery{gap:1rem;display:grid}.service-gallery-1{max-width:32rem}.service-gallery-2{grid-template-columns:repeat(2,1fr)}.service-gallery-3{grid-template-columns:repeat(3,1fr)}.service-accordion summary{cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:1.5rem;padding-block:1.5rem;list-style:none;display:grid}.service-accordion summary::-webkit-details-marker{display:none}.service-accordion summary:focus-visible{outline:2px solid var(--color-link);outline-offset:4px}.service-accordion summary:hover h3,.service-accordion summary:hover .service-toggle{color:var(--color-link)}.service-toggle{width:1.25rem;height:1.25rem;color:var(--color-ink);transition:color .16s;position:relative}.service-toggle:before,.service-toggle:after{content:"";background:currentColor;width:100%;height:2px;transition:transform .16s;position:absolute;top:50%;left:0}.service-toggle:after{transform:rotate(90deg)}.service-accordion[open] .service-toggle:after{transform:rotate(0)}.service-panel{gap:1.5rem;padding:0 0 2rem;display:grid}.service-panel>p{max-width:42rem;color:var(--color-muted);margin:0;line-height:1.7}@media (width<=760px){.service-gallery-2,.service-gallery-3{grid-template-columns:1fr}}
