.pcr-references,.pcr-detail,.pcr-reviews{max-width:1200px;margin:auto;padding:clamp(24px,4vw,64px) 20px}
.pcr-filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:22px;background:#f4f4f2;border-radius:12px;margin-bottom:30px}.pcr-filter{flex:1 1 170px}.pcr-filter select,.pcr-filter input{width:100%;border:1px solid #ccc;background:#fff;border-radius:5px;padding:11px}.pcr-filters button,.pcr-next>a{background:#ba2034;color:#fff;text-decoration:none;border:0;border-radius:5px;padding:12px 18px;cursor:pointer}.pcr-filters>a{font-size:13px;color:#424242}
.pcr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.pcr-card{border:1px solid #e3e5e7;border-radius:9px;overflow:hidden;background:#fff;transition:transform .18s,box-shadow .18s}.pcr-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px #0001}.pcr-card>a{display:block;height:100%;text-decoration:none;color:#222}
.pcr-card-photo{position:relative;aspect-ratio:4/3;background:#e5e5e5}.pcr-card-photo img{width:100%;height:100%;object-fit:cover}.pcr-chip{position:absolute;left:12px;bottom:12px;background:#fff;padding:5px 11px;border-radius:4px;font-size:12px;font-weight:750;max-width:calc(100% - 24px)}.pcr-photo-empty{display:grid;place-items:center;height:100%;color:#666}
.pcr-card-body{padding:20px}.pcr-card-body h3{font-size:21px;line-height:1.24;margin:0 0 8px}.pcr-location{color:#bf1f36;font-weight:650;font-size:13px}.pcr-teaser{font-size:14px;line-height:1.55;color:#5f6266}.pcr-more{font-size:13px;font-weight:750;text-decoration:underline;text-underline-offset:5px}.pcr-pagination ul{display:flex;gap:10px;justify-content:center;margin:35px 0 0;padding:0;list-style:none}
.pcr-crumb{font-size:13px;color:#65676a;margin-bottom:38px}.pcr-crumb a{color:#65676a}.pcr-detail-intro{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);align-items:start;gap:55px;margin-bottom:42px}.pcr-eyebrow{color:#bf1f36;font-size:12px;letter-spacing:.12em;font-weight:800}.pcr-detail h1{font-size:clamp(35px,4.5vw,67px);line-height:1.08;letter-spacing:-.04em;margin:6px 0 20px}.pcr-lead{font-size:17px;color:#50545a;line-height:1.7;white-space:pre-wrap}.pcr-facts{padding:22px 28px;background:#f4f4f3;border-radius:8px;margin:0}.pcr-facts>div{padding:13px 0;border-bottom:1px solid #dedfdf}.pcr-facts>div:last-child{border:0}.pcr-facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#777}.pcr-facts dd{margin:5px 0 0;font-weight:650}
.pcr-cover{max-height:610px;overflow:hidden;border-radius:12px}.pcr-cover img{width:100%;max-height:610px;object-fit:cover}.pcr-stage{margin:65px 0}.pcr-stage h2{font-size:clamp(26px,3.5vw,41px);letter-spacing:-.025em}.pcr-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pcr-gallery figure{margin:0;background:#f1f1f1;border-radius:6px;overflow:hidden}.pcr-gallery img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}.pcr-video{max-width:960px;margin:28px auto;aspect-ratio:16/9}.pcr-video iframe,.pcr-video video{width:100%;height:100%}.pcr-followup{font-weight:750;color:#ba2034}
.pcr-reviews{padding-top:40px;padding-bottom:40px}.pcr-reviews h2{font-size:30px}.pcr-reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.pcr-quote{margin:0;padding:26px;background:#f7f7f5;border-left:3px solid #ba2034;border-radius:7px}.pcr-quote p{line-height:1.7;font-size:16px}.pcr-quote footer{font-weight:750;font-size:14px;color:#5b5b5b}
.pcr-next{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#171a1d;color:#fff;padding:27px 36px;border-radius:10px}.pcr-next h2{color:#fff;margin:0;font-size:24px}.pcr-next p{color:#d0d0d0;margin-bottom:0}.pcr-next>a{display:inline-block;white-space:nowrap}
.pcr-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.93);display:grid;place-items:center;padding:55px 20px}.pcr-lightbox img{max-width:100%;max-height:85vh;object-fit:contain}.pcr-lightbox button{position:absolute;right:24px;top:12px;font-size:40px;background:none;border:0;color:white;cursor:pointer}
@media(max-width:950px){.pcr-grid,.pcr-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.pcr-detail-intro{grid-template-columns:1fr;gap:20px}}
@media(max-width:620px){.pcr-grid,.pcr-gallery{grid-template-columns:1fr}.pcr-filters{display:block}.pcr-filter{display:block;margin:10px 0}.pcr-next{display:block}.pcr-next>a{margin-top:20px}.pcr-detail,.pcr-references{padding-left:16px;padding-right:16px}}

/* v0.7.1 – Pro Carpenter Gallery Experience. No theme dependency. */
.pcr-gallery figure>a.pcr-gallery-link{display:block;position:relative;cursor:zoom-in;overflow:hidden;border-radius:6px;outline-offset:4px}
.pcr-gallery figure>a.pcr-gallery-link>img{transition:transform .32s ease,filter .32s ease}
.pcr-gallery figure>a.pcr-gallery-link:hover>img,.pcr-gallery figure>a.pcr-gallery-link:focus-visible>img{transform:scale(1.035);filter:brightness(.78)}
.pcr-gallery-hint{position:absolute;bottom:14px;right:14px;display:flex;align-items:center;gap:6px;background:#fff;color:#141b22;font-size:12px;font-weight:800;border-radius:4px;box-shadow:0 6px 20px #0002;padding:8px 13px;opacity:0;transform:translateY(5px);transition:opacity .22s,transform .22s;pointer-events:none}
.pcr-gallery-magnifier{font-size:22px;line-height:.55;color:#b8092c}
.pcr-gallery-link:hover .pcr-gallery-hint,.pcr-gallery-link:focus-visible .pcr-gallery-hint{opacity:1;transform:none}
@media(hover:none){.pcr-gallery-hint{opacity:1;transform:none;bottom:9px;right:9px;font-size:11px;padding:5px 9px}}

.pcr-lightbox{--pcr-view-red:#c3082a;--pcr-view-soft:#a5adb9;position:fixed;inset:0;z-index:2147483000;display:block;padding:0;background:radial-gradient(ellipse at 52% 32%,#202732 0,#131921 58%,#080d13 100%);color:#fff;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:14px;line-height:1.45;isolation:isolate}
.pcr-lightbox *{box-sizing:border-box}
.pcr-lightbox button{appearance:none;position:static;margin:0;background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0}
.pcr-lightbox button:hover{color:#fff}
.pcr-lightbox a{color:inherit}
.pcr-lightbox button:focus-visible,.pcr-lightbox a:focus-visible{outline:3px solid #f04b6b;outline-offset:3px}
.pcr-viewer__shell{height:100vh;height:100dvh;width:100%;max-width:1800px;min-height:0;margin:0 auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;position:relative;overflow:hidden}
.pcr-viewer__topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:74px;padding:12px clamp(16px,3vw,46px);border-bottom:1px solid #ffffff21;background:#0b1119d9;position:relative;z-index:5}
.pcr-viewer__topbar:after{content:"";height:3px;width:94px;position:absolute;top:100%;left:clamp(16px,3vw,46px);background:var(--pcr-view-red);z-index:1;clip-path:polygon(0 0,100% 0,95% 100%,0 100%)}
.pcr-viewer__heading{display:flex;align-items:center;gap:18px;min-width:0;max-width:calc(100% - 330px)}
.pcr-viewer__brand{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:3px;width:150px;height:49px;padding:7px 10px;flex:none;color:#111;font-size:14px;font-weight:900}
.pcr-viewer__brand img.pcr-viewer__brand-img{width:100%;height:100%;max-height:100%;object-fit:contain}
.pcr-viewer__project{max-width:580px;min-width:0;font-size:14px;font-weight:700;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#f7f7f9}
.pcr-viewer__tools{display:flex;align-items:center;gap:8px;flex:none}
.pcr-lightbox button.pcr-viewer__tool{height:40px;min-width:40px;border:1px solid #ffffff26;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 10px;color:#e8eef5;transition:background .15s,border-color .15s}
.pcr-lightbox button.pcr-viewer__tool:hover,.pcr-lightbox button.pcr-viewer__tool[aria-expanded=true]{background:#ffffff1b;border-color:#ffffff70}
.pcr-viewer__tool svg,.pcr-viewer__arrow svg{display:block;flex:none}
.pcr-viewer__tool span{font-size:12px;font-weight:700}
.pcr-lightbox button.pcr-viewer__close{background:#bb0d2d;border-color:#bb0d2d;margin-left:7px}
.pcr-lightbox button.pcr-viewer__close:hover{background:#e1264a;border-color:#e1264a}
.pcr-viewer__content{position:relative;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}
.pcr-viewer__stage{min-height:0;position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) 72px;align-items:stretch;transition:padding .25s ease}
.pcr-viewer__photo-viewport{min-width:0;min-height:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;touch-action:none;cursor:zoom-in}
.pcr-lightbox img.pcr-viewer__image{display:block;position:relative;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center center;transition:transform .22s ease,opacity .18s ease;opacity:0;user-select:none;-webkit-user-drag:none;will-change:transform}
.pcr-lightbox img.pcr-viewer__image.pcr-image-ready{opacity:1}
.pcr-lightbox.pcr-is-zoomed .pcr-viewer__photo-viewport{cursor:grab}
.pcr-lightbox.pcr-is-dragging img.pcr-viewer__image{transition:none}
.pcr-lightbox.pcr-is-zoomed.pcr-is-dragging .pcr-viewer__photo-viewport{cursor:grabbing}
.pcr-viewer__loading,.pcr-viewer__error{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);color:#c5cbd3;text-align:center;font-size:13px;min-width:200px}
.pcr-viewer__error{background:#1e2732;padding:20px 25px;border:1px solid #ffffff29;border-radius:6px;color:#f2f3f5}
.pcr-viewer__error a{display:block;margin-top:8px;text-decoration:underline;text-underline-offset:4px}
.pcr-lightbox [hidden]{display:none!important}
.pcr-lightbox button.pcr-viewer__arrow{display:grid;place-items:center;align-self:center;justify-self:center;width:45px;height:56px;background:#ffffff12;border:1px solid #ffffff2d;border-radius:5px;transition:background .17s,transform .17s;z-index:2}
.pcr-lightbox button.pcr-viewer__arrow:hover{background:#c3082a;transform:translateY(-1px)}
.pcr-viewer__arrow svg{width:30px;height:30px}
.pcr-viewer__info{position:absolute;z-index:4;top:0;right:0;bottom:0;width:min(370px,100%);padding:27px 27px 25px;overflow-y:auto;background:#19212b;box-shadow:-18px 0 54px #0008;transition:transform .25s ease;transform:translateX(105%);visibility:hidden}
.pcr-is-info .pcr-viewer__info{transform:translateX(0);visibility:visible}
.pcr-viewer__info-header{display:flex;align-items:center;justify-content:space-between;color:#ed748a;font-size:10px;letter-spacing:.17em;font-weight:850}
.pcr-lightbox h2.pcr-viewer__info-title{color:#fff;font-size:clamp(22px,2.5vw,28px);margin:25px 0 24px;letter-spacing:-.035em}
.pcr-viewer__facts{margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.pcr-viewer__facts dt{border-top:1px solid #ffffff23;color:#aeb8c4;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;padding:16px 0 3px}
.pcr-viewer__facts dd{margin:0;font-size:15px;color:#f7f8fb;font-weight:650;padding:0 0 14px;overflow-wrap:anywhere}
.pcr-viewer__info-note{color:#acb6c1;font-size:12px;line-height:1.7;margin:22px 0}
.pcr-lightbox button.pcr-viewer__back{display:flex;align-items:center;gap:9px;justify-content:center;background:#be092a;padding:12px 16px;border-radius:4px;width:100%;font-weight:750;font-size:12px;margin:20px 0}
.pcr-viewer__back svg{width:16px;height:16px}
.pcr-viewer__footer{position:relative;z-index:5;background:#0b1119eb;border-top:1px solid #ffffff21;min-height:120px;padding:10px clamp(16px,3vw,46px) 13px}
.pcr-viewer__bottomline{display:flex;align-items:center;gap:14px;margin:1px 0 10px;min-height:23px}
.pcr-viewer__stage-pill{display:inline-flex;align-items:center;padding:4px 10px;border:1px solid #be1135;background:#b10b2a26;color:#ffafbe;font-size:10px;letter-spacing:.045em;font-weight:800;text-transform:uppercase;border-radius:3px;white-space:nowrap}
.pcr-viewer__counter{font-weight:800;font-size:12px;color:#f5f6f9;font-variant-numeric:tabular-nums}
.pcr-viewer__help{font-size:11px;color:#8e98a5;margin-left:auto;text-align:right}
.pcr-viewer__filmstrip{display:flex;align-items:center;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#5c6878 transparent;min-height:64px;padding:4px 0 7px}
.pcr-lightbox button.pcr-viewer__thumb{position:relative;display:block;flex:0 0 84px;width:84px;height:55px;border:2px solid transparent;border-radius:4px;overflow:hidden;opacity:.67;scroll-snap-align:center;transition:opacity .18s,border-color .18s}
.pcr-lightbox button.pcr-viewer__thumb:hover{opacity:1}
.pcr-lightbox button.pcr-viewer__thumb.pcr-is-active{border-color:#ed2348;opacity:1}
.pcr-lightbox button.pcr-viewer__thumb img{width:100%;height:100%;max-height:none;object-fit:cover;display:block}
.pcr-viewer__thumb span{position:absolute;bottom:1px;right:2px;font-size:9px;line-height:1;padding:3px;background:#061018bd;border-radius:2px;color:#fff}
.pcr-viewer__progress{height:2px;width:100%;background:#ffffff24;overflow:hidden;border-radius:2px;margin-top:3px}
.pcr-viewer__progress span{display:block;height:100%;background:#ed1741;transition:width .2s ease}
@media(min-width:920px){.pcr-lightbox.pcr-is-info .pcr-viewer__stage{padding-right:350px}}
@media(max-width:920px){.pcr-viewer__project{display:none}.pcr-viewer__heading{max-width:none}.pcr-viewer__stage{grid-template-columns:54px minmax(0,1fr) 54px}.pcr-viewer__topbar{padding:10px 18px;min-height:66px}.pcr-viewer__brand{width:131px;height:44px}.pcr-viewer__footer{padding:10px 16px 12px}.pcr-viewer__help{display:none}.pcr-viewer__info{width:min(345px,88vw)}}
@media(max-width:600px){
 .pcr-viewer__topbar{padding:7px 11px;min-height:57px;gap:4px}
 .pcr-viewer__brand{width:116px;height:39px;padding:5px 6px}
 .pcr-viewer__tools{gap:4px}
 .pcr-lightbox button.pcr-viewer__tool{height:36px;min-width:36px;padding:0 6px}
 .pcr-viewer__tool span{display:none}
 .pcr-viewer__fullscreen{display:none!important}
 .pcr-viewer__stage{grid-template-columns:37px minmax(0,1fr) 37px}
 .pcr-lightbox button.pcr-viewer__arrow{width:30px;height:48px;background:#1b253096;border-color:#ffffff12;border-radius:3px}
 .pcr-viewer__arrow svg{width:20px;height:20px}
 .pcr-viewer__footer{padding:10px 11px calc(12px + env(safe-area-inset-bottom,0px));min-height:108px}
 .pcr-viewer__bottomline{margin-bottom:8px}
 .pcr-lightbox button.pcr-viewer__thumb{flex-basis:67px;width:67px;height:48px}
 .pcr-viewer__filmstrip{min-height:55px}
 .pcr-viewer__info{position:fixed;z-index:10;inset:auto 0 0 0;top:auto;bottom:0;width:100%;max-height:min(72dvh,600px);border-radius:16px 16px 0 0;padding:21px 22px calc(20px + env(safe-area-inset-bottom,0px));transform:translateY(110%);box-shadow:0 -18px 45px #000a}
 .pcr-is-info .pcr-viewer__info{transform:translateY(0)}
 .pcr-lightbox h2.pcr-viewer__info-title{font-size:23px}
}
@media(max-width:360px){.pcr-viewer__brand{width:93px}.pcr-lightbox button.pcr-viewer__tool{min-width:33px;width:33px}.pcr-viewer__stage{grid-template-columns:31px minmax(0,1fr) 31px}}
@media(prefers-reduced-motion:reduce){.pcr-viewer__info,.pcr-lightbox img.pcr-viewer__image,.pcr-viewer__progress span,.pcr-gallery-hint,.pcr-gallery figure>a.pcr-gallery-link>img{transition:none!important}}

.pcr-viewer__gesture-hint{display:none}
@media(max-width:600px){.pcr-viewer__gesture-hint{display:block;position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 65px);color:#bdc7d4;background:#0b131cbb;border:1px solid #ffffff23;box-shadow:0 3px 15px #0004;font-size:9px;font-weight:600;letter-spacing:.025em;text-align:center;padding:7px 9px;border-radius:20px;pointer-events:none}}

/* v0.7.4: CSS-white original transparent logo, without a white backing card. */
.pcr-viewer__brand{position:relative;background:transparent;border:0;box-shadow:none;border-radius:0;padding:0;width:155px;height:48px}
.pcr-viewer__brand img.pcr-viewer__brand-img{position:absolute;inset:0;width:100%;height:100%;max-height:100%;object-fit:contain;display:block;filter:brightness(0) invert(1);background:transparent;clip-path:none}
/* Only explicitly categorized photos receive colored phase labels. */
.pcr-viewer__photo-phase{position:absolute;z-index:2;top:clamp(9px,2.2vw,24px);left:clamp(8px,2vw,24px);pointer-events:none;max-width:calc(100% - 24px);padding:7px 12px;border:1px solid #ffffff49;border-radius:3px;background:#293542e8;color:#fff;font-size:12px;font-weight:850;line-height:1.2;letter-spacing:.075em;text-transform:uppercase;box-shadow:0 3px 16px #0006}
.pcr-viewer__photo-phase[data-pcr-phase="during"]{background:#7c513af0}
.pcr-viewer__photo-phase[data-pcr-phase="after"]{background:#b50b2eea}
.pcr-viewer__photo-phase[data-pcr-phase="longterm"]{background:#385c54eb}
.pcr-viewer__thumb small.pcr-viewer__thumb-phase{position:absolute;top:2px;left:2px;z-index:1;display:block;max-width:calc(100% - 4px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 4px;border-radius:2px;background:#293542e8;color:#fff;font-size:8px;font-weight:900;letter-spacing:.02em;text-transform:uppercase;line-height:1.2;pointer-events:none}
.pcr-viewer__thumb small.pcr-viewer__thumb-phase[data-pcr-phase="during"]{background:#7c513aee}
.pcr-viewer__thumb small.pcr-viewer__thumb-phase[data-pcr-phase="after"]{background:#b50b2eee}
.pcr-viewer__thumb small.pcr-viewer__thumb-phase[data-pcr-phase="longterm"]{background:#385c54ee}
.pcr-viewer__stage-pill[data-pcr-phase="before"]{border-color:#8191a6;color:#e4e9ef;background:#56616b4d}
.pcr-viewer__stage-pill[data-pcr-phase="during"]{border-color:#b78b6b;color:#ffe4cd;background:#78503655}
.pcr-viewer__stage-pill[data-pcr-phase="after"]{border-color:#e23756;color:#ffcad3;background:#bc102f55}
.pcr-viewer__stage-pill[data-pcr-phase="longterm"]{border-color:#789c93;color:#c4eadf;background:#375c5255}
@media(max-width:920px){.pcr-viewer__brand{width:133px;height:43px}}
@media(max-width:600px){.pcr-viewer__brand{width:116px;height:39px}.pcr-viewer__photo-phase{font-size:10px;padding:5px 8px;top:10px;left:5px}}
@media(max-width:360px){.pcr-viewer__brand{width:93px}}

.pcr-lightbox.pcr-is-zoomed .pcr-viewer__photo-phase{display:none!important}

/* v0.7.4: the filmstrip scrolls inside the viewport, never expands the page. */
.pcr-lightbox{width:100%;max-width:100vw;overflow:hidden;overscroll-behavior:contain}
.pcr-viewer__shell{box-sizing:border-box;min-width:0;max-width:min(1800px,100%);width:100%;grid-template-columns:minmax(0,1fr);overflow:hidden}
.pcr-viewer__topbar,.pcr-viewer__content,.pcr-viewer__stage,.pcr-viewer__footer,.pcr-viewer__bottomline{min-width:0;max-width:100%;box-sizing:border-box}
.pcr-viewer__footer{width:100%;overflow:hidden}
.pcr-viewer__bottomline{width:100%;overflow:hidden}
.pcr-viewer__filmstrip{display:flex;flex-wrap:nowrap;width:100%;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity;touch-action:pan-x;contain:inline-size}
.pcr-lightbox button.pcr-viewer__thumb{flex:0 0 84px;width:84px;min-width:84px;max-width:84px}
@media(max-width:600px){.pcr-lightbox button.pcr-viewer__thumb{flex-basis:67px;width:67px;min-width:67px;max-width:67px}}
