/* Paired field-photo examples keep their original proportions at every size. */
.case-image-note{font:400 10px/1.7 var(--sans);color:#849179;margin:7px 0 0}.portfolio .case-image-note{font-size:9px;color:#c1c9b8}.comparison-modal .case-image-note{text-align:center}
.ba-compare{position:relative;aspect-ratio:1.5;background:#e5e6e0;overflow:hidden;border-radius:4px;isolation:isolate;touch-action:auto}
.ba-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.ba-before{clip-path:inset(0 calc(100% - var(--position)) 0 0)}.ba-after{clip-path:inset(0 0 0 var(--position))}
.ba-photo{display:block;width:100%;height:100%;object-fit:cover;max-width:none}
.ba-photo.ba-paired{position:absolute;width:200%;height:auto;top:50%;transform:translateY(-50%)}.ba-paired-before{left:0}.ba-paired-after{left:-100%}
.ba-label{position:absolute;top:10px;color:white;padding:5px 7px;background:#1a2e22b8;font-size:9px;letter-spacing:.7px;z-index:2;pointer-events:none;border-radius:2px}.ba-label small{font-size:8px;letter-spacing:0;opacity:.85;margin-left:3px}.ba-label-before{left:9px}.ba-label-after{right:9px}
.ba-divider{position:absolute;inset:0;z-index:3;pointer-events:none}.ba-divider:before{content:"";position:absolute;left:var(--position);top:0;bottom:0;width:2px;background:#fffdf2dc;transform:translateX(-1px)}.ba-divider>span{position:absolute;top:50%;left:clamp(22px,var(--position),calc(100% - 22px));transform:translate(-50%,-50%);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fffef8e8;border:1px solid #b7bfb0;box-shadow:0 2px 5px #17231924;font-size:20px;letter-spacing:1px;white-space:nowrap;color:#2f4328}
.ba-compare>.ba-control{position:absolute;left:clamp(22px,var(--position),calc(100% - 22px));top:50%;width:44px;height:44px;transform:translate(-50%,-50%);border-radius:50%;clip-path:circle(50%);opacity:0;margin:0;cursor:grab;z-index:4;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.ba-compare.is-dragging>.ba-control{cursor:grabbing}.ba-compare:focus-within{outline:2px solid #c1a868;outline-offset:3px}
.project-carousel-controls{display:none}
@media(max-width:560px){.ba-divider>span{width:44px;height:44px;font-size:22px}.portfolio .project-grid{touch-action:auto;overscroll-behavior-x:contain;scroll-snap-stop:always}.project-carousel-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin-top:18px}.project-carousel-controls button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 12px;border:1px solid #cbd2c7;border-radius:4px;background:#faf9f6;color:#19372b;font-size:13px;font-weight:600;touch-action:manipulation}.project-carousel-controls button:disabled{opacity:.45;cursor:default}.project-carousel-controls button:focus-visible{outline:3px solid #c1a868;outline-offset:3px}.project-carousel-controls button svg{width:15px;height:15px}.project-carousel-controls .previous-case svg{transform:rotate(180deg)}.project-position{min-width:35px;text-align:center;font-size:12px;color:#e4e8df}.portfolio .project-grid>.project{scroll-snap-stop:always}}
.ba-enlarge{position:absolute;right:9px;bottom:9px;z-index:5;background:#fffef6e8;border:1px solid #d5dcce;border-radius:3px;font-size:9px;color:#38502e;padding:6px 8px;cursor:pointer}
.case-tabs{display:flex;gap:7px;overflow-x:auto;padding:2px 1px 13px;border-bottom:1px solid #dbe1d1;scrollbar-width:thin;position:sticky;top:-1px;background:#faf9f6;z-index:6}.case-tabs button{white-space:nowrap;border:1px solid #d4ddc9;border-radius:4px;padding:9px 11px;font-size:11px;color:#78866b;display:flex;gap:7px;align-items:center}.case-tabs button[aria-selected=true]{background:var(--green);border-color:var(--green);color:#fff}.case-tabs button>span{font-size:9px;opacity:.65}
.case-example{font:400 9px var(--sans);color:#9aa58b;margin-left:9px;letter-spacing:0}.case-region,.project-region{font-size:11px;color:#87957a;line-height:1.8;margin-top:7px}.project-region{color:#b9c7ad}.gallery-description{font-size:11px;line-height:1.9;color:#7e8b72;margin-top:7px}.gallery-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.gallery-empty{font-size:12px;padding:25px;color:#8c987f}
.modal.comparison-modal{width:min(1120px,calc(100% - 32px));padding:34px;max-height:94dvh}.comparison-modal h2{font-size:25px;margin:5px 0}.comparison-modal .case-region{margin:5px 0 18px}.ba-compare.ba-large{aspect-ratio:var(--natural-aspect);width:min(100%,calc(64vh * var(--natural-aspect)));margin:auto}.ba-large .ba-photo:not(.ba-paired){object-fit:contain}.comparison-instruction{font-size:11px;color:#829574;text-align:center;margin-top:15px;line-height:1.9}.comparison-modal .eyebrow{margin:0 0 8px}
@media(max-width:800px){.case-tabs button{font-size:10px;padding:8px 10px}.ba-label{font-size:8px}.ba-label small{font-size:7px}}
@media(max-width:560px){.case-tabs{top:0;margin:0 -2px;padding-bottom:12px}.case-tabs button{font-size:10px;padding:8px 10px}.ba-compare{aspect-ratio:1.35}.ba-label{top:9px;font-size:9px}.ba-label small{font-size:8px}.ba-label-before{left:8px}.ba-label-after{right:8px}.ba-enlarge{font-size:9px;padding:6px 7px}.modal.comparison-modal{padding:31px 18px;width:calc(100% - 18px)}.comparison-modal h2{font-size:21px}.comparison-instruction{font-size:10px}.ba-compare.ba-large{width:min(100%,calc(61vh * var(--natural-aspect)))}.gallery-card-actions .text-link{font-size:10px}.site-footer .admin-entry{font-size:9px}.footer-inner{grid-template-columns:1fr auto auto}.footer-inner>.admin-entry{grid-column:2;grid-row:1}.footer-inner>.back-top{grid-column:3}.footer-inner>button{grid-column:2 / 4}}
.case-pair{position:relative;display:block;margin:0;overflow:hidden;border-radius:4px;background:#e7e6df;line-height:0}
.case-pair>img{width:100%;height:auto;aspect-ratio:2 / 1;object-fit:contain;display:block}
.case-pair figcaption{position:absolute;inset:0;pointer-events:none;line-height:1.2}
.case-phase{position:absolute;top:10px;display:flex;align-items:center;gap:5px;padding:5px 7px;border-radius:2px;background:#18291fba;color:#fff;backdrop-filter:blur(3px)}
.case-phase b{font-size:9px;letter-spacing:1px;font-weight:600}
.case-phase>span{font-size:8px;opacity:.85}
.case-before{left:9px}.case-after{left:calc(50% + 9px)}
.case-divider{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-1px);background:#faf9f6cc}
.portfolio .compare-help{position:static;grid-column:2;text-align:right;margin:13px 0 0;font-size:9px;line-height:1.6;color:#bdc5b5}
.service-image{position:relative;isolation:isolate}
.service-thumbnail-photo{position:absolute;top:50%;left:0;display:block;width:200%;height:auto;max-width:none;transform:translate(-50%,-50%);z-index:-1}
.service-modal-photo.service-detail-natural{height:auto;aspect-ratio:auto;position:relative;overflow:hidden;max-width:380px;margin:20px auto 7px;background:#e7e6df}
.service-detail-natural>img{display:block;width:200%;max-width:none;height:auto;transform:translateX(-50%)}
.service-thumbnail-photo.service-custom-photo{width:100%;height:100%;object-fit:cover;top:0;left:0;transform:none}.service-detail-natural.service-custom-detail{max-width:100%}.service-custom-detail>img{width:100%;height:auto;transform:none;object-fit:contain}
.service-card.service-full-replacement{grid-column:1/-1;display:grid;grid-template-columns:32% minmax(0,1fr);align-items:center;background:#e8ede3;border:1px solid #d5dfcd;border-radius:5px;overflow:hidden;margin-top:10px}.service-full-replacement>.service-image{width:100%;height:auto;aspect-ratio:3/2;align-self:center;border-radius:0;background:#e6e9e1}.service-full-replacement>.service-image>.service-thumbnail-photo{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;transform:none;z-index:0}.service-full-replacement .service-open{z-index:1}.service-full-copy{display:block;padding:23px 30px}.service-full-copy>.eyebrow{display:block;font-size:9px;letter-spacing:1.4px;color:#819176}.service-full-copy>.service-name{font:500 25px var(--serif);margin:7px 0 8px;color:var(--green);letter-spacing:-1px}.service-full-copy>.service-description{font-size:12px;line-height:1.8;margin:0;color:#6c7c62}.service-full-cta{display:block;font-size:11px;margin-top:12px;font-weight:500;color:var(--green)}
@media(max-width:560px){.service-card.service-full-replacement{grid-template-columns:1fr;margin-top:6px}.service-full-copy{padding:19px 20px 21px}.service-full-copy>.eyebrow{font-size:8px}.service-full-copy>.service-name{font-size:23px}.service-full-copy>.service-description{font-size:11px}}
.hero h1{word-break:keep-all}.hero-description{word-break:keep-all;overflow-wrap:break-word}
@media(max-width:560px){.hero h1{font-size:clamp(28px,8.6vw,35px);letter-spacing:-1.3px;line-height:1.45}}
.image-example-note{font-size:9px;color:#939889;text-align:center;line-height:1.7;margin:0 0 20px}
.modal.gallery-modal{width:min(1000px,calc(100% - 40px));padding:39px}
.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 24px;margin-top:24px}
.case-gallery-card{min-width:0;padding-bottom:21px;border-bottom:1px solid #d6dccd}
.case-gallery-card h3{font-size:16px;font-weight:600;letter-spacing:-.5px;margin:0 0 11px}
.case-change{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:11px}
.case-change p{font-size:10px;line-height:1.8;color:#737d68}
.case-change b{display:block;font-size:10px;font-weight:600;color:#53664b;margin-bottom:2px}
.case-gallery-card .text-link{margin-top:12px;font-size:11px;color:var(--green)}
.case-gallery-card .text-link svg{width:17px;height:17px}
.gallery-modal .gallery-footnote{padding:13px 15px;border-radius:3px;background:#eef0e9;font-size:10px;color:#7b8471;line-height:1.9;margin:22px 0 13px}
@media(max-width:1050px){.case-phase{top:7px;padding:4px 5px;gap:3px}.case-phase b{font-size:8px;letter-spacing:.5px}.case-phase>span{font-size:7px}.case-before{left:6px}.case-after{left:calc(50% + 6px)}}
@media(max-width:800px){.portfolio .compare-help{margin-top:14px;font-size:9px}.modal.gallery-modal{padding:34px 26px}.case-gallery{gap:23px 18px}.case-gallery-card h3{font-size:14px}.case-change{gap:10px}.case-change p{font-size:9px}}
@media(max-width:560px){.case-pair .case-phase{top:9px;padding:4px 6px}.case-phase b{font-size:9px;letter-spacing:.6px}.case-phase>span{font-size:8px}.case-before{left:8px}.case-after{left:calc(50% + 8px)}.portfolio .compare-help{font-size:8px;text-align:left;margin-top:17px}.modal.gallery-modal{width:calc(100% - 24px);padding:34px 22px}.case-gallery{grid-template-columns:1fr;gap:24px;margin-top:22px}.case-gallery-card{padding-bottom:22px}.case-gallery-card h3{font-size:15px;margin-bottom:12px}.case-change{gap:16px}.case-change p{font-size:10px}.case-gallery-card .text-link{font-size:11px}.gallery-modal .gallery-footnote{font-size:9px}.service-modal-photo.service-detail-natural{max-width:100%}}
