:root{--paper:#f5f2eb;--ink:#252d29;--green:#283e33;--sage:#64765e;--line:#cfcec2;--white:#fdfbf6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #397cc0;outline-offset:4px}img{max-width:100%;display:block}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(40px,5.4vw,82px);margin:22px 0 30px;overflow-wrap:break-word}h2{font-size:clamp(30px,3.5vw,50px);margin:10px 0 26px}h3{font-size:27px;margin:16px 0}p{margin:0 0 22px}figure{margin:0}.review-bar{background:#e4ded0;padding:8px 5%;font-size:11px;letter-spacing:.05em}.site-header{padding:20px 5%;display:flex;gap:25px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;text-decoration:none;gap:15px}.brand img{width:66px;height:72px;object-fit:contain;mix-blend-mode:multiply}.brand strong{font-size:25px;letter-spacing:7px;font-weight:500}.brand small{display:block;font-size:9px;letter-spacing:2px}.main-nav{display:flex;align-items:center;gap:27px;font-size:13px}.main-nav>a{text-decoration:none}.main-nav>a[aria-current=page]{border-bottom:1px solid var(--ink)}.nav-cta{padding:12px 18px;border:1px solid var(--ink)}.nav-dropdown{position:relative}.nav-dropdown summary{list-style:none;padding:12px 0}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary:after{content:' +';font-size:16px}.nav-dropdown[open] summary:after{content:' −'}.dropdown{position:absolute;z-index:5;top:100%;left:-25px;width:260px;background:var(--white);padding:15px 25px;box-shadow:0 16px 35px #172b241f}.dropdown a{display:block;text-decoration:none;padding:9px 0;border-bottom:1px solid var(--line)}.menu-button{display:none}.skip{position:absolute;top:-100px;left:10px;background:var(--white);padding:15px;z-index:10}.skip:focus{top:0}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.hero-copy{padding:76px 9% 70px 10%}.eyebrow{font-size:11px;letter-spacing:2.6px;text-transform:uppercase;color:var(--sage)}.lead{font-size:17px;max-width:520px}.hero figure{position:relative;min-height:430px;background:#c9cebe}.hero figure>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero figcaption{position:absolute;bottom:0;left:0;right:0;background:#24382ee8;color:var(--white);padding:11px 22px;font-size:11px}.button{display:inline-block;text-decoration:none;padding:15px 24px;background:var(--green);color:var(--white);border:1px solid var(--green);font-size:13px;margin:12px 0;max-width:100%}.button:hover{background:#3c5443}.button.light{background:var(--paper);color:var(--green);border-color:var(--paper)}.text-link{display:inline-block;margin:8px 25px 8px 0;font-size:14px}.section{padding:80px 6%}.section-heading{display:flex;gap:8%;justify-content:space-between;align-items:end;margin-bottom:35px}.section-heading>p{max-width:330px}.band{padding:26px 6%;border-block:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.band p{margin:0;font-size:14px}.service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:60px}.service-tile{padding:24px 38px 26px 0;border-top:1px solid var(--line);text-decoration:none;position:relative}.service-tile:last-child{grid-column:1/-1}.service-tile h3{margin:10px 0 15px}.service-tile p{font-size:14px;max-width:500px;margin:0}.service-tile>span:last-child{position:absolute;right:5px;top:38px;font-size:23px}.service-tile:hover h3{text-decoration:underline;text-underline-offset:6px}.number{font-size:11px;letter-spacing:2px;color:var(--sage)}.dark,.cta{background:var(--green);color:var(--paper)}.dark .eyebrow,.cta .eyebrow{color:#bbc8ac}.dark .caption{color:#d1d7c6}.dark .text-link{color:var(--paper)}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0}.photo{border:0;padding:0;text-align:left;background:transparent;color:inherit;position:relative;overflow:hidden}.photo img{width:100%;aspect-ratio:4/3;object-fit:cover;height:auto;transition:transform .3s}.photo span{position:absolute;bottom:0;left:0;padding:8px 14px;background:#23382ee8;color:var(--white);font-size:11px}.photo:hover img{transform:scale(1.025)}.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin-top:40px}.editorial-grid article{border-top:1px solid var(--line);padding-top:22px}.editorial-grid p{font-size:15px}.local,.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}.narrow{max-width:950px;margin:auto}.narrow p{font-size:17px}.narrow h2{margin-top:48px}.faq{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{font-size:18px}.faq p{margin:18px 0 5px;font-size:15px}.related{display:flex;flex-wrap:wrap;gap:10px}.related a{padding:12px 0;margin:0 30px 0 0}.cta{padding:70px 6%}.cta p{max-width:650px}.caption{font-size:12px;color:var(--sage);max-width:850px}.filters{display:flex;flex-wrap:wrap;gap:12px}.filters button{padding:12px 20px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:13px}.filters button[aria-pressed=true]{background:var(--green);color:var(--white);border-color:var(--green)}[hidden]{display:none!important}.portfolio-group{padding-top:50px}.article-list article{border-top:1px solid var(--line);padding:24px 0}.article-list h2{font-size:30px}.article-list a{font-family:Georgia,serif;font-size:30px;line-height:1.3}.site-footer{padding:50px 6% 25px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.footer-grid h2{font-size:25px}.footer-grid a{display:block;font-size:13px;margin:8px 0}.footer-bottom{border-top:1px solid var(--line);margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;font-size:11px}.contact-layout label{display:block;font-size:13px;margin-bottom:22px}.contact-layout input,.contact-layout textarea,.contact-layout select{display:block;width:100%;border:0;border-bottom:1px solid #859681;background:#eceee5;color:var(--ink);padding:14px;margin-top:7px;border-radius:0;font-size:16px}.contact-layout textarea{resize:vertical}dialog{border:0;padding:20px;background:var(--paper);color:var(--ink);max-width:min(1000px,95%);max-height:94vh}dialog::backdrop{background:#14251fed}dialog img{max-height:75vh;width:auto;max-width:100%;margin:auto;object-fit:contain}dialog button{display:block;margin:0 0 12px auto;background:transparent;color:var(--ink);border:1px solid var(--line);padding:9px 18px}dialog p{font-size:12px;margin:15px 0 0}@media(min-width:1400px){.hero-copy{padding-top:100px}.hero{min-height:730px}}@media(max-width:900px){.main-nav{gap:15px}.brand strong{font-size:20px}.brand small{font-size:8px}.hero-copy{padding:50px 9%}.hero{min-height:550px}.editorial-grid{gap:25px}.hero h1{font-size:48px}}@media(max-width:700px){.site-header{flex-wrap:wrap;padding:15px 5%}.brand img{width:49px;height:55px}.menu-button{display:block;background:transparent;border:1px solid var(--ink);padding:10px 15px;font-size:13px}.main-nav{display:none;width:100%;align-items:stretch;flex-direction:column;gap:0}.main-nav.is-open{display:flex}.main-nav>a,.nav-dropdown summary{padding:15px 0}.main-nav .nav-cta{padding:12px 18px;text-align:center;margin:10px 0}.dropdown{position:static;box-shadow:none;width:100%;padding:10px 20px}.hero{display:block}.hero-copy{padding:48px 6%}.hero h1{font-size:clamp(40px,9.5vw,60px)}.hero figure{min-height:340px}.section{padding:50px 6%}.section-heading{display:block}.section-heading>p{max-width:100%}.service-grid,.editorial-grid,.local,.contact-layout,.footer-grid{grid-template-columns:1fr}.service-grid{gap:0}.editorial-grid{gap:25px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery .photo:first-child:nth-last-child(3){grid-column:1/-1}.band{align-items:start;flex-direction:column;gap:5px}.local,.contact-layout{gap:35px}.cta{padding:50px 6%}.footer-grid{gap:20px}.narrow p{font-size:16px}.review-bar{font-size:10px}.article-list a{font-size:25px}.filters button{padding:11px 15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img{transition:none}}
