.elementor-2963 .elementor-element.elementor-element-5000009{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2963 .elementor-element.elementor-element-5000008{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2963 .elementor-element.elementor-element-5000004{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2963 .elementor-element.elementor-element-5000007{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2963 .elementor-element.elementor-element-500000d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2963 .elementor-element.elementor-element-500000c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-2963 .elementor-element.elementor-element-5000019{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2963 .elementor-element.elementor-element-5000018{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2963 .elementor-element.elementor-element-5000012{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2963 .elementor-element.elementor-element-5000017{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2963 .elementor-element.elementor-element-5000027{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2963 .elementor-element.elementor-element-5000026{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2963 .elementor-element.elementor-element-5000025{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2963 .elementor-element.elementor-element-500001e{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2963 .elementor-element.elementor-element-5000023{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2963 .elementor-element.elementor-element-500002e{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2963 .elementor-element.elementor-element-500002a{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2963 .elementor-element.elementor-element-500002d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS *//* ===== PORTFOLIO SINGLE TEMPLATE 2963 ===== */
.elementor-2963{--pc-primary:#FE4E27;--pc-cream:#FFFCFA;--pc-charcoal:#1C1C1C;
  --pc-ink-70:rgba(28,28,28,.70);--pc-ink-50:rgba(28,28,28,.50);--pc-ink-12:rgba(28,28,28,.12);
  --gutter:clamp(20px,5vw,80px);--maxw:1240px;--section-y:clamp(56px,8vw,104px);overflow:hidden}
.elementor-2963,.elementor-2963 *{font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.elementor-2963 .elementor-widget-text-editor p{margin:0}

#cs-intro-grid,#cs-ps-grid,#cs-results-inner,#cs-gallery-head,#cs-gallery-wrap,#cs-cta-inner{
  max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);width:100%}

/* INTRO */
#cs-intro{padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(32px,4vw,52px);position:relative}
#cs-intro::before{content:"";position:absolute;top:20%;right:7%;width:14px;height:14px;background:var(--pc-primary);transform:rotate(15deg);pointer-events:none}
#cs-intro::after{content:"";position:absolute;bottom:12%;left:4%;width:34px;height:34px;border:2px solid var(--pc-ink-12);transform:rotate(-12deg);pointer-events:none}
#cs-intro-grid{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,56px);align-items:end}
.elementor-2963 .cs-index{margin-bottom:20px}
.elementor-2963 .cs-index .elementor-heading-title{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--pc-ink-50);display:inline-flex;align-items:center}
.elementor-2963 .cs-index .elementor-heading-title::before{content:"";width:34px;height:2px;background:var(--pc-primary);display:inline-block;margin-right:14px}
.elementor-2963 .cs-title .elementor-heading-title{font-size:clamp(3rem,9vw,7rem);font-weight:800;line-height:.9;letter-spacing:-.03em;text-transform:uppercase;color:var(--pc-charcoal)}
.elementor-2963 .cs-tagline .elementor-heading-title{font-size:clamp(1.05rem,1.8vw,1.5rem);font-weight:500;color:var(--pc-ink-70);font-style:italic;line-height:1.3}

/* HERO */
#cs-hero{padding-inline:var(--gutter)}
#cs-hero-frame{max-width:var(--maxw);margin:0 auto;border:2px solid var(--pc-charcoal);box-shadow:6px 6px 0 0 var(--pc-charcoal);aspect-ratio:16/8;overflow:hidden;background:#eee}
.elementor-2963 .cs-hero-img,.elementor-2963 .cs-hero-img .elementor-widget-container,.elementor-2963 .cs-hero-img figure,.elementor-2963 .cs-hero-img img{height:100%;width:100%;margin:0}
.elementor-2963 .cs-hero-img img{object-fit:cover;display:block}

/* PROBLEM / SOLUTION */
#cs-ps{padding-block:var(--section-y)}
#cs-ps-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px)}
.elementor-2963 .eyebrow .elementor-heading-title{font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--pc-primary);display:inline-flex;align-items:center}
.elementor-2963 .eyebrow .elementor-heading-title::before{content:"";width:28px;height:2px;background:var(--pc-primary);display:inline-block;margin-right:12px}
.elementor-2963 .cs-block-h2 .elementor-heading-title{font-size:clamp(1.4rem,2.4vw,2rem);font-weight:700;line-height:1.05;text-transform:uppercase;letter-spacing:-.01em;color:var(--pc-charcoal);margin:16px 0 18px}
.elementor-2963 .cs-block-p,.elementor-2963 .cs-block-p .elementor-widget-container,.elementor-2963 .cs-block-p p{font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.7;color:var(--pc-ink-70)}

/* RESULTS (dark) */
#cs-results{background:var(--pc-charcoal);padding-block:clamp(48px,6vw,80px);border-top:2px solid var(--pc-charcoal);border-bottom:2px solid var(--pc-charcoal)}
.elementor-2963 .cs-results__label{margin-bottom:36px}
.elementor-2963 .cs-results__label .elementor-heading-title{font-size:.78rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--pc-primary);display:inline-flex;align-items:center}
.elementor-2963 .cs-results__label .elementor-heading-title::before{content:"";width:34px;height:2px;background:var(--pc-primary);display:inline-block;margin-right:14px}
#cs-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(24px,4vw,56px);max-width:none;padding-inline:0}
.elementor-2963 .cs-stat__n .elementor-heading-title{font-size:clamp(3.4rem,8vw,6rem);font-weight:800;line-height:.85;letter-spacing:-.03em;color:var(--pc-primary)}
.elementor-2963 .cs-stat__l .elementor-heading-title{font-size:.86rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,252,250,.82);max-width:22ch;margin-top:10px}
/* Empty dynamic heading widgets are omitted from the DOM, so their stat container
   renders empty. Hide an empty stat by id; hide the whole band when stat-1 is empty
   (0 stats). Single-level :has (valid, non-nested). */
#cs-stat-1:not(:has(*)),#cs-stat-2:not(:has(*)){display:none}
#cs-results:not(:has(#cs-stat-1 *)){display:none}

/* GALLERY */
#cs-gallery{padding-block:var(--section-y)}
#cs-gallery-head{margin-bottom:40px}
.elementor-2963 .cs-gallery-h2 .elementor-heading-title{font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:700;line-height:1.05;text-transform:uppercase;letter-spacing:-.01em;color:var(--pc-charcoal);margin-top:12px}
.elementor-2963 .cs-gallery-html .wp-block-gallery{display:block!important;columns:3;column-gap:24px;gap:0}
.elementor-2963 .cs-gallery-html figure.wp-block-image{width:100%!important;max-width:100%!important;margin:0 0 24px!important;break-inside:avoid;border:2px solid var(--pc-charcoal);overflow:hidden;transition:transform .32s,box-shadow .32s}
.elementor-2963 .cs-gallery-html figure.wp-block-image:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 0 var(--pc-primary)}
.elementor-2963 .cs-gallery-html figure.wp-block-image img{display:block;width:100%;height:auto;margin:0}
@media(max-width:900px){.elementor-2963 .cs-gallery-html .wp-block-gallery{columns:2}}
@media(max-width:520px){.elementor-2963 .cs-gallery-html .wp-block-gallery{columns:1}}

/* CTA (coral) */
#cs-cta{background:var(--pc-primary);border-top:2px solid var(--pc-charcoal);padding-block:clamp(56px,8vw,120px);position:relative;overflow:hidden}
#cs-cta::before{content:"";position:absolute;top:-50px;right:8%;width:170px;height:170px;border:2px solid rgba(255,255,255,.16);transform:rotate(12deg);pointer-events:none}
#cs-cta::after{content:"";position:absolute;bottom:-40px;left:6%;width:110px;height:110px;background:rgba(255,255,255,.06);transform:rotate(-9deg);pointer-events:none}
#cs-cta-inner{text-align:center;position:relative;z-index:1;align-items:center}
.elementor-2963 .cs-cta-h2 .elementor-heading-title{font-size:clamp(2.2rem,5.5vw,4.5rem);font-weight:800;line-height:.95;letter-spacing:-.02em;text-transform:uppercase;color:#fff}
.elementor-2963 .cs-btn{display:inline-block;margin-top:36px}
.elementor-2963 .cs-btn .elementor-button-wrapper,.elementor-2963 .cs-btn .elementor-widget-container{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
.elementor-2963 .cs-btn .elementor-button{background:var(--pc-primary);border:2px solid var(--pc-primary);color:#fff;font-weight:600;font-size:.875rem;letter-spacing:.04em;text-transform:uppercase;padding:18px 34px;border-radius:0!important;transition:background .32s,border-color .32s,color .32s}
.elementor-2963 .cs-btn .elementor-button:hover{background:#fff;color:var(--pc-charcoal);border-color:#fff}
.elementor-2963 .cs-back{display:block;margin-top:26px}
.elementor-2963 .cs-back .elementor-button-wrapper,.elementor-2963 .cs-back .elementor-widget-container{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
.elementor-2963 .cs-back .elementor-button{background:transparent;border:0;padding:0;color:rgba(255,255,255,.78);font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.elementor-2963 .cs-back .elementor-button:hover{color:#fff}

@media(max-width:760px){#cs-ps-grid{grid-template-columns:1fr;gap:40px}}
@media(max-width:720px){#cs-intro-grid{grid-template-columns:1fr;gap:14px;align-items:start}}
.single-portfolio .entry-title,.single-portfolio .page-header{display:none!important}

/* PCC tweak 20260714 hero-align+gallery-gap */
.elementor-2963 #cs-hero-frame{max-width:calc(var(--maxw) - var(--gutter)*2) !important}
.elementor-2963 .wp-block-gallery{column-gap:40px !important}/* End custom CSS */