body:has(.chp-page) .chp-page{background:#f5f1e8;color:#292b27;font-family:Arial,sans-serif;}
body:has(.chp-page) .chp-main{padding:var(--site-portfolio-top,0) 0 0!important;max-width:none!important;}
.chp-page *{box-sizing:border-box;}
.chp-page [hidden]{display:none!important;}
.chp-page h1,
.chp-page h2,
.chp-page h3{color:#292b27;line-height:1.12;letter-spacing:-.025em;}
.chp-page h1{font-size:clamp(38px,5vw,72px);margin:12px 0 24px;}
.chp-page h2{font-size:clamp(26px,3vw,40px);}
.chp-page p{line-height:1.7;}
.chp-page a{color:inherit;}
.chp-page a:focus-visible,
.chp-page button:focus-visible{outline:3px solid #8b581b!important;outline-offset:5px!important;}
.chp-intro,
.chp-project-heading{max-width:1380px;margin:0 auto;padding:70px 5% 42px;}
.chp-intro>p:last-child,
.chp-summary{max-width:750px;font-size:18px;}
.chp-eyebrow{font-size:12px!important;font-weight:600;letter-spacing:.12em;line-height:1.5!important;text-transform:uppercase;}
.chp-projects,
.chp-gallery-section,
.chp-related,
.chp-video{max-width:1380px;margin:0 auto;padding:24px 5% 64px;}
.chp-filters,
.chp-room-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px;}
.chp-filters a,
.chp-room-filters a{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid #6d7663;border-radius:2px;text-decoration:none;font-size:15px;}
.chp-filters a[aria-current=true],
.chp-room-filters a[aria-current=true]{background:#3e4d38;color:#fff;border-color:#3e4d38;}
.chp-count{font-size:14px;margin:0 0 20px;min-height:24px;}
.chp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start;}
.chp-card{min-width:0;background:white;border:1px solid #ded9ce;}
.chp-card-link{display:block;height:100%;text-decoration:none;}
.chp-card-image{aspect-ratio:4/3;overflow:hidden;background:#e6e2d9;}
.chp-card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 45%;}
.chp-card-image img.chp-collage,
.chp-card-image img.ch-image-portrait{object-fit:contain;}
.chp-card-copy{padding:24px;}
.chp-card-copy h2{font-size:27px;margin:12px 0 14px;}
.chp-card-copy p:not(.chp-eyebrow){font-size:15px;margin:0 0 24px;}
.chp-card-action{font-size:14px;font-weight:bold;border-bottom:1px solid #aa8b58;padding-bottom:4px;}
.chp-card-link:hover .chp-card-action{border-color:#3e4d38;}
.chp-back{display:inline-flex;min-height:44px;align-items:center;margin-bottom:24px;font-size:15px;}
.chp-lead{max-width:1380px;margin:0 auto 44px;padding:0 5%;}
.chp-lead img{display:block;width:100%;height:auto;max-height:780px;object-fit:contain;}
.chp-gallery{columns:2;column-gap:24px;}
.chp-gallery figure{break-inside:avoid;margin:0 0 24px;}
.chp-gallery a{display:block;}
.chp-gallery img{display:block;width:100%;height:auto;}
.chp-related{border-top:1px solid #ccc5b7;}
.chp-video video{width:100%;height:auto;max-height:80vh;}
.chp-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:64px max(5%,calc((100vw - 1242px)/2));background:#3e4d38;color:#fff;}
.chp-cta h2,
.chp-cta p{color:#fff;}
.chp-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 22px;border:1px solid #c9b486;text-decoration:none;color:#fff!important;white-space:normal;}
.chp-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:28px 5%;font-size:14px;}
.chp-lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:16px 24px;background:#151813;color:#fff;}
.chp-lightbox::backdrop{background:#151813;}
.chp-lightbox[open]{display:flex;flex-direction:column;}
.chp-lightbox-bar,
.chp-lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;}
.chp-lightbox button{background:#36422f;color:#fff;border:1px solid #adbb9e;padding:10px 16px;min-height:44px;font-size:15px;cursor:pointer;}
.chp-lightbox figure{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:12px 0;gap:8px;}
.chp-lightbox img{display:block;max-width:100%;max-height:calc(100% - 64px);object-fit:contain;min-height:0;}
.chp-lightbox figcaption{text-align:center;line-height:1.4;font-size:15px;max-width:900px;color:#fff;}
@media(max-width:1100px){
.chp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.chp-intro,
.chp-project-heading{padding-top:40px}
.chp-card-copy{padding:18px}
.chp-card-copy h2{font-size:25px}
.chp-cta{padding:40px 5%}
}
@media(max-width:600px) and (orientation:portrait){
.chp-grid{grid-template-columns:1fr}
.chp-gallery{columns:1}
.chp-intro,
.chp-project-heading{padding-top:32px}
.chp-filters{gap:8px}
.chp-filters a{padding:9px 13px}
.chp-cta{flex-direction:column;align-items:flex-start}
.chp-lightbox{padding:12px}
.chp-lead{padding:0}
.chp-projects,
.chp-gallery-section,
.chp-related{padding-bottom:40px}
}
@media(prefers-reduced-motion:reduce){
.chp-page *{scroll-behavior:auto!important;transition:none!important}
}
@media (max-width:600px) and (orientation:portrait){body:has(.chp-page) .crafted-page.chp-page .crafted-page-header{position:relative!important;top:auto!important;left:auto!important;right:auto!important;width:100%!important;}}
body:has(.chp-page) .crafted-page.chp-page{padding-top:0!important;}
body:has(.chp-page) .site-footer{display:none!important;}
@media(max-width:600px) and (orientation:portrait){
@media (max-width:600px) and (orientation:portrait){body:has(.chp-page) .crafted-page.chp-page .crafted-page-header{position:fixed!important;top:0!important;left:0!important;right:0!important;}}
body:has(.chp-page) .crafted-page.chp-page{padding-top:64px!important;}
@media (max-width:600px) and (orientation:portrait){body.admin-bar:has(.chp-page) .crafted-page.chp-page .crafted-page-header{top:46px!important;}}
}
body:has(.chp-page) .chp-page .chp-gallery figure{margin:0 0 24px!important;}
body:has(.chp-page) .chp-page .chp-gallery-section>p{font-size:16px!important;line-height:1.6!important;}
body:has(.chp-page) .chp-page .chp-card{background:#fff!important;border:1px solid #ded9ce!important;}
body:has(.chp-page) .chp-page .chp-card-copy{padding:22px!important;}
.chp-projects .chp-grid{grid-template-columns:1fr;gap:36px;}
.chp-row{display:grid;grid-template-columns:minmax(230px, .8fr) minmax(0,2fr);align-items:center;}
.chp-row .chp-card-copy h2{font-size:clamp(25px,2.5vw,36px);}
.chp-carousel{min-width:0;background:#eae6dd;}
body:has(.chp-page) .chp-page .chp-carousel figure{margin:0!important;}
.chp-slide{height:clamp(320px,40vw,570px);display:flex;touch-action:pan-x pan-y pinch-zoom;cursor:grab;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;}
.chp-slide::-webkit-scrollbar{display:none;}
.chp-carousel-slide{flex:0 0 100%;width:100%;min-width:0;height:100%;scroll-snap-align:start;scroll-snap-stop:always;}
.chp-slide.chp-dragging{scroll-snap-type:none;cursor:grabbing;}
.chp-slide img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none;-webkit-user-drag:none;}
.chp-carousel figcaption{font-size:14px;line-height:1.45;padding:14px 20px 4px;min-height:48px;}
.chp-carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 16px 14px;}
.chp-slide-count{font-size:14px;}
.chp-carousel-controls>div{display:flex;gap:8px;}
.chp-carousel-controls button{min-width:48px;min-height:44px;padding:8px 15px;border:1px solid #6d7663;background:#fff;color:#34442f;font-size:22px;cursor:pointer;}
.chp-carousel-controls button:hover{background:#3e4d38;color:#fff;}
.chp-carousel button,
.chp-lightbox button{touch-action:manipulation;user-select:none;-webkit-user-select:none;}
.chp-photo-wrap{position:relative;min-width:0;}
.chp-carousel .chp-photo-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:48px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:2px;background:rgb(35 40 33 / 52%);color:#fff;font:32px/1 Arial,sans-serif;cursor:pointer;}
.chp-carousel .chp-photo-arrow:hover,
.chp-carousel .chp-photo-arrow:focus-visible{background:rgb(35 40 33 / 75%);}
.chp-photo-prev{left:8px;}
.chp-photo-next{right:8px;}
.chp-thumbnails{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:4px 16px 16px;scrollbar-width:thin;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;}
.chp-carousel .chp-thumbnail{display:block;flex:0 0 78px;width:78px;min-width:78px;height:62px;min-height:44px;padding:3px;border:2px solid transparent;border-radius:2px;background:#d8d4ca;cursor:pointer;}
.chp-carousel .chp-thumbnail[aria-current=true]{border-color:#3e4d38;background:#fff;}
.chp-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;}
.chp-video-preview{position:relative;display:block;width:100%;height:100%;text-decoration:none;touch-action:manipulation;}
.chp-video-preview .chp-play-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 18px;border:1px solid rgb(255 255 255 / 65%);border-radius:3px;background:rgb(25 31 22 / 85%);color:#fff;white-space:nowrap;font:16px/1.3 Arial,sans-serif;pointer-events:none;}
.chp-video-preview:hover .chp-play-label{background:#3e4d38;}
.chp-thumbnail-video{position:relative;}
.chp-thumbnail-video::after{content:'▶';position:absolute;inset:0;display:grid;place-items:center;background:rgb(0 0 0 / 25%);color:#fff;font-size:22px;text-shadow:0 1px 4px #000;pointer-events:none;}
.chp-video-viewport{position:relative;display:flex;align-items:center;justify-content:center;width:100%;flex:1;min-height:0;}
.chp-video-viewport video{display:block;width:100%;height:100%;min-height:0;object-fit:contain;background:#111;}
.chp-video-error{position:absolute;inset:auto 12px 64px;padding:16px;background:#151813;color:#fff;text-align:center;}
.chp-video-error a{color:#fff;text-decoration:underline;}
.chp-slide:focus-visible{outline:3px solid #8b581b;outline-offset:-3px;}
.chp-lightbox{padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));}
.chp-lightbox figure{width:100%;gap:10px;}
.chp-zoom-viewport{position:relative;width:100%;flex:1;min-height:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;cursor:zoom-in;}
.chp-zoom-viewport.chp-is-zoomed{cursor:grab;}
.chp-lightbox .chp-zoom-viewport img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;transform-origin:center;pointer-events:none;-webkit-user-drag:none;}
.chp-lightbox figcaption{flex:none;max-height:4.2em;overflow-y:auto;}
.chp-zoom-controls{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;flex:none;margin:0 0 10px;}
.chp-zoom-controls span{font:12px/1.4 Arial,sans-serif;color:#ddd;}
.chp-zoom-controls button{min-width:44px;padding:8px 12px;}
@media(max-width:600px) and (orientation:portrait){
.chp-carousel .chp-photo-arrow{width:44px;height:44px;font-size:28px}
.chp-photo-prev{left:4px}
.chp-photo-next{right:4px}
.chp-thumbnails{padding-inline:10px}
.chp-carousel .chp-thumbnail{flex-basis:72px;width:72px;min-width:72px;height:58px}
.chp-zoom-controls span{flex-basis:100%;text-align:center}
}
@media(orientation:landscape) and (max-height:500px){
.chp-lightbox{padding:6px 12px}
.chp-lightbox figure{margin:4px 0;gap:4px}
.chp-lightbox figcaption{font-size:12px;max-height:1.5em}
.chp-zoom-controls{position:absolute;right:120px;top:6px;margin:0;gap:4px}
.chp-zoom-controls span{display:none}
.chp-lightbox-controls button{padding:6px 12px}
}
@media(max-width:600px) and (orientation:portrait){
.chp-row{grid-template-columns:1fr}
.chp-slide{height:clamp(300px,85vw,520px)}
.chp-projects .chp-grid{gap:26px}
}
@media(max-width:760px) and (orientation:landscape){
.chp-row{grid-template-columns:minmax(165px,.8fr) minmax(0,1.4fr)}
.chp-slide{height:clamp(200px,58vh,300px)}
.chp-row .chp-card-copy h2{font-size:23px}
}

/* Quiet service paths sit below the introduction and each project summary. */
.chp-page .chp-service-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:24px;}
.chp-page .chp-service-links a{font-size:13px;line-height:1.5;min-height:36px;display:inline-flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #b89871;text-decoration:none;color:#3f4e3b;}
.chp-page .chp-service-links a:hover{border-color:#3f4e3b;color:#242f20;}
.chp-page .chp-service-links-hero{gap:8px 28px;margin-top:28px;padding:24px 28px;background:#fff;border-left:4px solid #3f4e3b;}
.chp-page .chp-service-links-hero a{font-size:15px;font-weight:600;min-height:44px;border:0;text-decoration:underline!important;text-underline-offset:5px;text-decoration-thickness:1px;}
.chp-page .chp-service-links-heading{flex-basis:100%;}
.chp-page .chp-service-links-heading h2{font-size:22px;line-height:1.3;margin:0 0 6px;}
.chp-page .chp-service-links-heading p{font-size:15px;line-height:1.6;margin:0 0 4px;color:#45483e;}
@media(max-width:600px){.chp-page .chp-service-links-hero{padding:20px;}.chp-page .chp-service-links-heading h2{font-size:20px;}}
.chp-intro>p:not(.chp-eyebrow){max-width:750px;font-size:18px;}
@media(max-width:600px){.chp-page .chp-service-links{gap:6px 16px;}.chp-page .chp-service-links a{min-height:44px;}}
