/* Concept E only: native content remains editable; no global element selectors. */
.pcs-e.pcs-e{box-sizing:border-box;width:100%;max-width:none;margin:0;color:var(--pcs-section-body,#666);font:400 16px/var(--pcs-section-leading,1.9375) var(--wp--preset--font-family--sans, "Varela Round", Arial, Helvetica, sans-serif);overflow-wrap:anywhere}
.pcs-e.pcs-e *{box-sizing:border-box}
.pcs-e.pcs-e h2,.pcs-e.pcs-e h3,.pcs-e.pcs-e p,.pcs-e.pcs-e figure{margin:0}
.pcs-e.pcs-e h2{font:700 clamp(25px,2.2vw,34px)/var(--pcs-section-heading-leading,normal) var(--wp--preset--font-family--display, "Open Sans", Arial, Helvetica, sans-serif);letter-spacing:-1px}
.pcs-e.pcs-e h3{font:700 22px/var(--pcs-section-heading-leading,normal) var(--wp--preset--font-family--display, "Open Sans", Arial, Helvetica, sans-serif);letter-spacing:-.5px}
.pcs-e.pcs-e p{font:inherit}
.pcs-e.pcs-e a{color:inherit;text-decoration:none}
.pcs-e.pcs-e a:hover{color:#c34d43}
.pcs-e.pcs-e :focus-visible{outline:3px solid #b84b43;outline-offset:4px}
.pcs-e.pcs-e img{display:block;width:100%;max-width:100%;height:auto}
.pcs-e.pcs-e em{color:var(--pcs-burnt-orange,#c54c27)}
.pcs-e.pcs-e .pcs-e-eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:5px}
.pcs-e.pcs-e .pcs-e-link{font:700 15px/1.4 var(--wp--preset--font-family--sans, "Varela Round", Arial, Helvetica, sans-serif);margin-top:16px}
.pcs-e-link span{display:inline-block;margin-left:10px}
.pcs-e.pcs-e-services{padding:18px 0;background:#fbfaf8}
.pcs-e-intro{text-align:center;margin-bottom:30px}
.pcs-e.pcs-e .pcs-e-intro h2{font-size:28px}.pcs-e.pcs-e .pcs-e-intro>p:last-child{font-size:14px;line-height:var(--pcs-section-leading,1.9375);margin-top:var(--pcs-section-heading-gap,30px)}
.pcs-e .pcs-e-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
:where(.pcs-e-service-grid){gap:0}
.pcs-e-service{min-width:0;padding:4px}
:where(.pcs-e-service){background-color:#fcece3}
:where(.pcs-e-tone-1){background-color:#e1f2fa}:where(.pcs-e-tone-2){background-color:#eaf8e9}
.pcs-e-service-photo{height:clamp(150px,11.5vw,180px);overflow:hidden}
.pcs-e-service-photo img{height:100%!important;object-fit:cover}
.pcs-e-service-copy{position:relative;padding:20px 34px 11px;min-height:167.4px}
.pcs-e.pcs-e .pcs-e-service-icon{width:70px;height:70px;margin-top:-75px;margin-bottom:10px;border:2px solid white;border-radius:50%;background:var(--pcs-burnt-orange,#c54c27);padding:16px}
.pcs-e-tone-1 .pcs-e-service-icon{background:#505a60!important}.pcs-e-tone-2 .pcs-e-service-icon{background:#83bc83!important}
.pcs-e.pcs-e .pcs-e-service-copy>p{margin-top:10px;min-height:0}
.pcs-e-portfolio{display:grid;grid-template-columns:33% 67%}
.pcs-e-portfolio-copy{padding:25px clamp(25px,5.5vw,80px);background:#333741;color:#fff}
.pcs-e.pcs-e .pcs-e-portfolio-copy h2{font-size:clamp(24px,2.05vw,31px);font-weight:700;line-height:var(--pcs-section-heading-leading,normal);letter-spacing:-.5px}
.pcs-e.pcs-e .pcs-e-portfolio-copy .pcs-e-link{margin-top:25px}
.pcs-e-collage{background-color:#e5d5bf;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px 18px;align-content:center;padding:14px 32px}
.pcs-e-project{position:relative;grid-column:span 2;background:#fff;min-width:0;box-shadow:0 3px 10px #0002}
.pcs-e-project:nth-child(4){grid-column:2/span 2}.pcs-e-project:nth-child(5){grid-column:4/span 2}
.pcs-e-project-frame{aspect-ratio:2.3;overflow:hidden;position:relative;margin:5px 5px 0}
.pcs-e-project-frame>.wp-block-image{position:absolute;inset:0;margin:0}
.pcs-e-project-frame .pcs-e-thumbnail img{height:100%;object-fit:cover;object-position:top}
.pcs-e-project-frame .pcs-e-tall{opacity:0;pointer-events:none}
.pcs-e-project-frame .pcs-e-tall img{width:100%;max-width:none;height:auto;transform:translateY(0);transition:transform var(--pcs-preview-time,8s) linear}
.pcs-e-project.has-tall:is(:hover,:focus-within) .pcs-e-tall{opacity:1}
.pcs-e-project.has-tall:is(:hover,:focus-within) .pcs-e-tall img{transform:translateY(calc(-1 * var(--pcs-preview-distance,0px)))}
.pcs-e-project.has-tall:not(:hover):not(:focus-within) .pcs-e-tall{opacity:1}
.pcs-e-project:not(:hover):not(:focus-within) .pcs-e-tall img{transition-duration:1.2s;transition-timing-function:ease-out}
.pcs-e-project-copy{padding:8px 16px}
.pcs-e.pcs-e .pcs-e-project-copy h3{font-size:12px;letter-spacing:0;line-height:var(--pcs-section-heading-leading,normal)}
.pcs-e-project-copy h3 a{display:flex;justify-content:space-between;gap:8px}
.pcs-e.pcs-e .pcs-e-project-copy p{font-size:11px;margin-top:3px}
.pcs-e-testimonials{display:grid;grid-template-columns:33% 67%;background:#fbfaf8}
.pcs-e-testimonial-copy{padding:25px clamp(25px,5.5vw,80px)}
.pcs-e.pcs-e .pcs-e-testimonial-copy h2{font-size:24px;line-height:var(--pcs-section-heading-leading,normal)}
.pcs-e.pcs-e .pcs-e-testimonial-copy>p:not(.pcs-e-eyebrow){font-size:12px;letter-spacing:.5px;margin-top:var(--pcs-section-heading-gap,30px)}
.pcs-e-testimonial-stage{padding:30px 32px;background-color:#cdb99e;overflow:hidden;min-width:0}
.pcs-e-testimonial-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:center;position:relative}
.pcs-e-quote{padding:16px 20px;background:#fff;color:var(--pcs-section-body,#666);min-width:0;box-shadow:0 3px 8px #0002}
.pcs-e.pcs-e .pcs-e-quote>p{font:400 15px/var(--pcs-section-leading,1.9375) var(--wp--preset--font-family--sans, "Varela Round", Arial, Helvetica, sans-serif)}
.pcs-e.pcs-e .pcs-e-quote .pcs-e-quote-mark{color:var(--pcs-burnt-orange,#c54c27);font:700 42px/.75 var(--wp--preset--font-family--sans, "Varela Round", Arial, Helvetica, sans-serif);margin-bottom:6px}
.pcs-e.pcs-e .pcs-e-quote .pcs-e-attribution{font:700 12px/var(--pcs-section-leading,1.9375) var(--wp--preset--font-family--sans, "Varela Round", Arial, Helvetica, sans-serif);margin-top:var(--pcs-section-paragraph-gap,20px)}
.pcs-e-controls{display:flex;align-items:center;gap:20px;margin-top:16px}
.pcs-e-controls button{background:transparent;color:#333741;border:1px solid #333741;border-radius:50%;width:32px;height:32px;padding:0;font:20px/1 var(--wp--preset--font-family--sans, "Varela Round", Arial, Helvetica, sans-serif);cursor:pointer}
.pcs-e-controls button:disabled{opacity:.4;cursor:default}.pcs-e-controls output{font-size:12px}
.pcs-e-testimonials.is-enhanced .pcs-e-testimonial-track{display:block;--pcs-visible:3}
.is-enhanced .pcs-e-quote{position:absolute;top:50%;left:50%;width:calc((100% - 40px)/3);transform:translate(calc(-50% + var(--pcs-offset)* (100% + 20px)),-50%) scale(var(--pcs-scale,1));transition:transform .4s ease,opacity .4s ease;opacity:var(--pcs-opacity,1)}
.is-enhanced .pcs-e-quote.is-current{z-index:2;box-shadow:0 6px 20px #0003}
@media(max-width:980px){.pcs-e-service-copy{padding-inline:20px}.pcs-e-portfolio-copy{padding:25px}.pcs-e-collage{padding:18px}.pcs-e-testimonial-copy{padding:25px}.pcs-e-testimonials.is-enhanced .pcs-e-testimonial-track{--pcs-visible:2}.is-enhanced .pcs-e-quote{width:calc((100% - 20px)/2)}.pcs-e-testimonial-stage{padding:25px 18px}}
@media(max-width:767px){.pcs-e .pcs-e-service-grid{grid-template-columns:1fr}.pcs-e-service-photo{height:200px}.pcs-e-service-copy{padding:20px 30px 21px;min-height:165.8px}.pcs-e.pcs-e .pcs-e-service-copy>p:not(.pcs-e-link){min-height:0}.pcs-e-portfolio,.pcs-e-testimonials{grid-template-columns:1fr}.pcs-e-collage{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px;gap:16px}.pcs-e-project,.pcs-e-project:nth-child(4),.pcs-e-project:nth-child(5){grid-column:auto}.pcs-e-project:last-child{grid-column:1/-1;width:calc(50% - 8px);justify-self:center}.pcs-e-testimonials.is-enhanced .pcs-e-testimonial-track{--pcs-visible:1}.is-enhanced .pcs-e-quote{width:100%}.pcs-e-testimonial-stage{padding:25px}.pcs-e-testimonial-track{grid-template-columns:1fr}.pcs-e.pcs-e .pcs-e-intro br{display:none}}
@media(max-width:450px){.pcs-e-collage{grid-template-columns:1fr}.pcs-e-project:last-child{width:100%}.pcs-e-project-frame{aspect-ratio:2.3}}
@media(hover:none),(prefers-reduced-motion:reduce){.pcs-e-project.has-tall .pcs-e-tall img{transform:none!important;transition:none!important}}
@media(prefers-reduced-motion:reduce){.pcs-e .pcs-e-quote,.pcs-e .pcs-e-tall img{transition:none!important}}
.editor-styles-wrapper .pcs-e-testimonial-track{display:grid;grid-template-columns:1fr}
.editor-styles-wrapper .pcs-e-project-frame{aspect-ratio:auto;overflow:visible}
.editor-styles-wrapper .pcs-e-project-frame>.wp-block-image{position:relative;inset:auto;opacity:1}
.editor-styles-wrapper .pcs-e-project-frame .pcs-e-tall{pointer-events:auto}
.editor-styles-wrapper .pcs-e-controls{min-height:25px;border:1px dashed #888}
.pcs-e-project.is-offscreen .pcs-e-tall img{transform:none!important;transition:none!important}
/* One native, editable project link provides the full tile target. */
.pcs-e-project-link::after{content:"";position:absolute;inset:0;z-index:3}
.pcs-e-project:has(.pcs-e-project-link:focus-visible){outline:3px solid #b84b43;outline-offset:4px}
.pcs-e-project.has-preview .pcs-e-tall{opacity:1;background:white}
.pcs-e-project.has-preview:not(.has-tall) .pcs-e-tall img{height:100%;object-fit:contain;object-position:center}
.editor-styles-wrapper .pcs-e-project-link::after{display:none}

.pcs-e-project-frame .pcs-e-tall img{margin-inline:auto}

/* Context-aware colors and readable leading; native explicit block styles take precedence. */
:where(.pcs-e) :where(h2,h3){color:var(--pcs-section-heading,#383e4a)}
.pcs-e-portfolio-copy{--pcs-section-heading:#fff;--pcs-section-body:#fff}
.pcs-e.pcs-e .pcs-e-project-copy p{line-height:var(--pcs-section-leading,1.9375)}
.pcs-e.pcs-e .pcs-e-eyebrow{font-family:var(--wp--preset--font-family--display,"Open Sans",Arial,Helvetica,sans-serif);color:var(--pcs-section-body,#666);margin-bottom:0;line-height:normal}

/* Portfolio showcase: native project sources and one runtime featured view. */
.pcs-e.pcs-showcase{padding:48px clamp(20px,4vw,64px)}
.pcs-showcase .pcs-showcase-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,44px);align-items:stretch}
.pcs-showcase-feature,.pcs-showcase-project{min-width:0}
.pcs-showcase-feature{position:relative}
.pcs-showcase-feature>.pcs-showcase-project>.pcs-showcase-project-copy{min-height:var(--pcs-showcase-panel-height,0px)}
.pcs-showcase-panel-measure{position:absolute;top:0;left:0;width:100%;visibility:hidden;pointer-events:none}
.pcs-showcase-panel-measure>.pcs-showcase-project-copy{min-height:0}
.pcs-showcase .pcs-showcase-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;grid-template-rows:repeat(var(--pcs-showcase-rows,3),minmax(0,1fr))}
.pcs-showcase-layout>*,.pcs-showcase-gallery>*{margin-block:0}
.pcs-showcase-project-frame{position:relative;aspect-ratio:1.6;overflow:hidden;background:#fff}
.pcs-showcase-project-frame .pcs-showcase-thumbnail{height:100%}
.pcs-showcase-project-frame .pcs-showcase-thumbnail img{height:100%;object-fit:cover;object-position:top}
.pcs-showcase .pcs-showcase-tall{display:none}
.pcs-showcase-feature .has-preview .pcs-showcase-tall{display:block;position:absolute;inset:0;background:#fff}
.pcs-showcase-feature .pcs-showcase-tall img{width:100%;max-width:none;height:auto;margin:0;transform:translateY(0)}
.pcs-showcase .pcs-showcase-project-copy{padding:14px 20px 16px;--pcs-section-heading:currentColor}
.pcs-e.pcs-showcase .pcs-showcase-project-copy h3{font-size:clamp(25px,2vw,29px);line-height:1.2;letter-spacing:-.8px;color:inherit}
.pcs-e.pcs-showcase .pcs-showcase-project-copy>p:not(.pcs-e-link){margin-top:8px}
.pcs-showcase.is-ready .pcs-showcase-gallery .pcs-showcase-project-frame,.pcs-showcase.is-ready .pcs-showcase-gallery .pcs-showcase-project-copy{display:none}
.pcs-showcase.is-ready .pcs-showcase-gallery>.pcs-showcase-project{position:relative;min-height:0}
.pcs-showcase-selector{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:140px;padding:0;box-sizing:border-box;border:1px solid #ddd;border-radius:0;box-shadow:none;background:transparent;cursor:pointer;overflow:hidden}
.pcs-showcase .pcs-showcase-selector img{width:100%;height:100%;object-fit:cover;object-position:top;filter:grayscale(1);transition:filter .3s ease}
.pcs-showcase .pcs-showcase-selector:is(:hover,[aria-pressed="true"]) img{filter:grayscale(0)}
.pcs-showcase-selector:focus:not(:focus-visible){outline:none}
.pcs-showcase .pcs-showcase-selector:focus-visible{outline:3px solid #b84b43;outline-offset:3px}
.pcs-showcase>.wp-block-buttons{display:flex;justify-content:center;margin-top:36px}
.pcs-showcase-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pcs-showcase-motion{display:block;margin-top:16px;padding:0;background:none;border:0;color:inherit;font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}
.pcs-showcase-motion[hidden]{display:none}
.pcs-showcase-feature:empty{display:none}
.pcs-showcase:not(.is-ready) .pcs-showcase-gallery{grid-column:1/-1}
.editor-styles-wrapper .pcs-showcase .pcs-showcase-tall{display:block;position:relative}
.editor-styles-wrapper .pcs-showcase-project-frame{aspect-ratio:auto;overflow:visible}
@media(max-width:980px){.pcs-showcase .pcs-showcase-layout{grid-template-columns:minmax(0,1fr)}.pcs-showcase-selector{position:relative;aspect-ratio:1.25;min-height:0}.pcs-showcase .pcs-showcase-gallery{grid-template-rows:auto}}
@media(prefers-reduced-motion:reduce){.pcs-showcase-selector img{transition:none!important}.pcs-showcase-feature .has-tall .pcs-showcase-tall{overflow-y:auto}}
/* Kind Words: native buttons retain accessible labels and keyboard behavior. */
.pcs-e-controls button{width:40px;height:40px;background:var(--pcs-burnt-orange,#c54c27);color:#fff;border:0;border-radius:50%;position:relative;isolation:isolate;overflow:hidden;transition:color .3s ease}
.pcs-e-controls button::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--pcs-blue,#333741);transform:translateY(-101%);transition:transform .3s ease}
.pcs-e-controls button:is(:hover,:focus-visible):not(:disabled)::before{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.pcs-e-controls button,.pcs-e-controls button::before{transition:none}}

/* Native service groups permit independent labels/icons and variable counts. */
.pcs-showcase .pcs-showcase-services{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:16px}
.pcs-showcase .pcs-showcase-service{display:flex;align-items:center;gap:8px;margin:0;min-width:0}
.pcs-e.pcs-showcase .pcs-showcase-service-icon{width:24px;flex:0 0 24px;margin:0}
.pcs-e.pcs-showcase .pcs-showcase-service p{font-size:13px;line-height:1.5}
.pcs-e.pcs-showcase .pcs-showcase-project-copy>.pcs-showcase-description{margin-top:14px;font-size:16px;line-height:1.45}

/* Approved panel reference; native inline text/background choices stay authoritative. */
.pcs-showcase-project-copy::before{content:"";display:block;width:40px;height:4px;margin-bottom:6px;background:var(--pcs-burnt-orange,#c54c27)}
.pcs-e.pcs-showcase .pcs-showcase-project-copy>.pcs-showcase-category{font-size:16px;line-height:1.5;margin-top:4px}
.pcs-e.pcs-showcase .pcs-showcase-project-copy>.pcs-e-link{margin-top:12px}
.pcs-showcase-project-copy .pcs-primary-link a{font-size:16px;line-height:22px}
/* Empty service labels are editor-only slots, never public editorial placeholders. */
.pcs-showcase-service:has(p:empty){display:none}
.pcs-showcase-services:not(:has(p:not(:empty))){display:none}
.editor-styles-wrapper .pcs-showcase-service:has(p:empty){display:flex}
.editor-styles-wrapper .pcs-showcase-services:not(:has(p:not(:empty))){display:flex}

/* Runtime-only browser chrome: native project blocks and selectors stay unchanged. */
.pcs-showcase-browser{border:1px solid #ddd;border-radius:4px 4px 0 0;overflow:hidden;background:#fff}
.pcs-showcase-browser-bar{display:flex;align-items:center;gap:10px;height:30px;padding:5px 10px;background:#f5f6f6;border-bottom:1px solid #ddd}
.pcs-showcase-browser-dots{color:#aaa;font:15px/1 Arial,sans-serif;letter-spacing:2px;flex:none}
.pcs-showcase-address{display:block;min-width:0;flex:1;padding:1px 8px;border:1px solid #e5e5e5;border-radius:3px;background:white;color:#666;font:400 10px/16px var(--wp--preset--font-family--sans,"Varela Round",Arial,sans-serif);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pcs-showcase-browser .pcs-showcase-project-frame>.pcs-showcase-thumbnail{width:calc(100% - 12px)}
.pcs-showcase-browser .pcs-showcase-project-frame>.pcs-showcase-tall{right:12px}
.pcs-showcase-scroll-track{position:absolute;right:0;top:0;bottom:0;width:12px;background:#f3f3f3;border-left:1px solid #e5e5e5;pointer-events:none}
.pcs-showcase-scroll-track[hidden]{display:none}
.pcs-showcase-scroll-thumb{width:6px;margin-left:2px;border-radius:4px;background:#aaa;will-change:transform}
@media(prefers-reduced-motion:reduce){.pcs-showcase-browser .pcs-showcase-tall{scrollbar-width:none}.pcs-showcase-browser .pcs-showcase-tall::-webkit-scrollbar{display:none}}

/* Runtime selector feedback preserves screenshot dimensions. */
.pcs-showcase-selector[aria-pressed="true"]::before{content:"";position:absolute;inset:0;border:2px solid var(--pcs-burnt-orange,#c54c27);z-index:1;pointer-events:none}
.pcs-showcase-selector[aria-pressed="true"]::after{content:"\2713";position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:50%;background:var(--pcs-burnt-orange,#c54c27);color:#fff;font:bold 14px/20px Arial,sans-serif;text-align:center;pointer-events:none}
.pcs-showcase .pcs-showcase-project-copy .pcs-primary-link a{padding:11px 22px;font-size:15px;line-height:22px}
.pcs-showcase .pcs-e-intro>p:last-child{max-width:75%;margin-inline:auto}
.pcs-showcase-browser .pcs-showcase-tall{overflow-y:auto;scrollbar-width:none;scroll-behavior:auto;cursor:grab}
.pcs-showcase-browser .pcs-showcase-tall::-webkit-scrollbar{display:none}
.pcs-showcase-browser .pcs-showcase-tall:active{cursor:grabbing}
.pcs-showcase-browser .pcs-showcase-tall:focus-visible{outline:3px solid var(--pcs-burnt-orange,#c54c27);outline-offset:-3px}
.pcs-showcase-browser .pcs-showcase-tall img{user-select:none}
.pcs-showcase-browser .pcs-showcase-scroll-track{pointer-events:auto;touch-action:none;cursor:ns-resize}
@media(max-width:980px){.pcs-showcase .pcs-e-intro>p:last-child{max-width:100%}}
