.exterior-strip{justify-content:space-between;gap:18px;flex-wrap:wrap;letter-spacing:1px;font-size:12px}.exterior-strip>span{font-size:11px;color:#5c6753;letter-spacing:.3px}.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:26px 0 8px}.gallery-controls p{font-size:12px;color:#61685b}.gallery-controls button{width:44px;height:44px;background:#fff;border:1px solid #b9c4af;border-radius:3px;font-size:20px}.gallery-controls button:hover{background:#f3f5ef}.gallery{display:flex;overflow-x:auto;gap:24px;scroll-snap-type:x mandatory;padding:12px 0 22px;scrollbar-color:#4c861b #e8ece3;scrollbar-width:thin;overscroll-behavior-x:contain}.gallery .project{flex:0 0 calc((100% - 24px)/2);min-width:0;scroll-snap-align:start}.gallery .project img,.gallery .project:first-child img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.gallery .project button{width:100%}.gallery:focus-visible{outline:2px solid #4c861b;outline-offset:4px}footer{flex-wrap:wrap}.legal-links{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #dce2d5;padding-top:22px;margin-top:10px;font-size:11px;color:#5d6655}.legal-links>div{display:flex;gap:20px}.legal-links a{text-decoration:underline;text-underline-offset:4px}.legal-dialog{position:fixed;max-width:740px;width:92vw;max-height:85vh;padding:60px 34px 34px;border:1px solid #dce2d5;background:#fff;color:#1b2119;overflow-y:auto;border-radius:4px}.legal-dialog h2{font-size:34px;line-height:1.15}.legal-dialog h3{font-size:17px;margin:27px 0 8px}.legal-dialog p{font-size:14px;line-height:1.75}.legal-dialog a{color:#386c17;text-decoration:underline;overflow-wrap:anywhere}.legal-date{font-size:11px!important;color:#61685b}.legal-close{position:absolute;right:15px;top:12px;border:1px solid #b9c4af;color:#1b2119;background:#f3f5ef;padding:10px 15px;border-radius:3px}@media(max-width:600px){.exterior-strip{justify-content:center;text-align:center;gap:9px;padding:20px 6%}.exterior-strip strong{font-size:12px}.gallery .project{flex-basis:88%}.gallery-controls p{max-width:180px;line-height:1.5}.legal-links{align-items:start;flex-direction:column;gap:15px}.legal-dialog{padding:62px 22px 25px}.legal-dialog h2{font-size:29px}}

.full-review-button{align-self:flex-start;background:none;border:0;padding:0 0 18px;color:#386c17;font-size:12px;text-decoration:underline;text-underline-offset:4px;text-align:left}.full-review-dialog blockquote{margin:24px 0}.full-review-dialog blockquote p{font-size:16px;line-height:1.8}.full-review-meta{font-size:12px!important;color:#61685b}.full-review-meta span{color:#4c861b;letter-spacing:2px}.full-review-dialog>a{font-size:13px}
/* Consistent vector icons: no platform-dependent arrow emoji. */
.ui-icon{display:inline-block;width:18px;height:18px;vertical-align:middle;flex-shrink:0;margin-left:6px;position:relative;top:-1px}
.header-call,.button,.image-link,.mobile-contact a{display:inline-flex;align-items:center;justify-content:center;gap:9px}
.header-call .ui-icon,.button .ui-icon,.image-link .ui-icon,.mobile-contact .ui-icon{margin:0;top:0}
.gallery-controls button .ui-icon,.review-controls button .ui-icon{margin:0;top:0}
.project button:after{content:'';background:#fff;box-shadow:0 2px 10px #0002}
.project button:before{content:'';position:absolute;bottom:23px;right:23px;width:16px;height:16px;background:var(--ink);z-index:1;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3H3v5m13-5h5v5M3 16v5h5m13-5v5h-5'/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none}
@media(max-width:800px){.mobile-contact a{min-height:56px;padding:16px 12px}.mobile-contact .ui-icon{width:18px;height:18px}.header-call .ui-icon{width:16px;height:16px}}
/* Frame the supplied photograph without its screenshot letterboxing. */
.hero-image{height:auto;aspect-ratio:706/530}
.hero-image>img{width:100%;height:auto;max-width:none;top:50%;left:0;transform:translateY(-50%)}
.commitment{display:grid;grid-template-columns:1fr 1.25fr;gap:65px;background:#f3f5ef;border-bottom:1px solid #dce2d5}
.commitment-heading .eyebrow{color:var(--green);margin:0 0 24px}.commitment h2{font-size:clamp(34px,3.5vw,48px);line-height:1.13}.commitment h2 em{color:var(--green)}
.values-words{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:30px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#5c6753}.values-words span+span{border-left:1px solid #b9c4af;padding-left:18px}
.commitment-copy p{font-size:15px;line-height:1.85;margin:0 0 20px;color:#4d5746}.commitment-copy .commitment-lead{font-size:18px;line-height:1.7;color:var(--ink)}.commitment-copy .commitment-promise{border-left:3px solid var(--green);padding-left:20px;margin:26px 0 0;color:var(--ink);font-weight:600}
@media(max-width:800px){.commitment{grid-template-columns:1fr;gap:30px}.commitment-heading .eyebrow{margin-bottom:18px}.values-words{margin-top:22px}.commitment-copy .commitment-lead{font-size:17px}.commitment-copy p{font-size:14px}.hero-image{height:auto;min-height:0}}
