/* CPM Folio v1.0 — CPM Blocks aligned portfolio system */
#cpm-folio-single,#cpm-folio-single *{box-sizing:border-box}
#cpm-folio-single{width:100%;overflow:hidden;font-family:Poppins,Arial,sans-serif;color:#090b0c;text-align:left}
#cpm-folio-single .elementor-widget-container{margin:0;padding:0}
#cpm-folio-single h1,#cpm-folio-single h2,#cpm-folio-single h3,#cpm-folio-single h4{font-family:Poppins,Arial,sans-serif;font-weight:900;letter-spacing:-.05em;text-align:left}
#cpm-folio-single p,#cpm-folio-single li,#cpm-folio-single button{font-family:Poppins,Arial,sans-serif}
.cpm-folio-inner{width:100%;max-width:1600px;margin:0 auto;padding-left:clamp(28px,5.7vw,92px);padding-right:clamp(28px,5.7vw,92px);text-align:left}
.cpm-folio-eyebrow{font:700 11px/1.2 Poppins,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#e63b35;margin:0 0 18px;text-align:left}

/* HERO */
.cpm-folio-hero{position:relative;min-height:86vh;overflow:hidden;background:#0b0c0d;color:#fff;text-align:left}
.cpm-folio-hero-media{position:absolute;inset:0;z-index:0}
.cpm-folio-hero-media img,.cpm-folio-hero-media video{width:100%;height:100%;object-fit:cover;object-position:var(--cpm-hero-pos,center center);display:block}
.cpm-folio-hero-solid-overlay,.cpm-folio-hero-gradient{position:absolute;inset:0;z-index:1;pointer-events:none}.cpm-folio-hero-gradient{z-index:2}
.cpm-folio-hero-inner{position:relative;z-index:3;min-height:inherit;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding-top:150px;padding-bottom:64px;text-align:left}
.cpm-folio-hero h1{font:900 clamp(56px,7.3vw,124px)/.89 Poppins,Arial,sans-serif;letter-spacing:-.06em;text-transform:uppercase;color:#fff;margin:0;max-width:1400px;text-align:left}
.cpm-folio-hero-meta{width:100%;display:grid;grid-template-columns:repeat(var(--cpm-meta-count,4),minmax(0,1fr));column-gap:var(--cpm-meta-gap,34px);border-top:1px solid rgba(255,255,255,.38);margin-top:46px;padding-top:0;text-align:left}
.cpm-folio-hero-meta>div{padding:20px 10px 0 0;min-width:0;text-align:left}
.cpm-folio-hero-meta span{display:block;font:600 10px/1.25 Poppins,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.64);margin-bottom:8px;text-align:left}
.cpm-folio-hero-meta strong{display:block;font:700 13px/1.35 Poppins,Arial,sans-serif;text-transform:uppercase;color:#fff;text-align:left;overflow-wrap:anywhere}
.cpm-folio-hero .cpm-folio-actions{margin-top:var(--cpm-actions-gap,34px);width:100%;margin-top:34px;padding:0;background:transparent;color:#fff;text-align:left}
.cpm-folio-actions-label{font:700 10px/1 Poppins,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.66);margin:0 0 12px;text-align:left}
.cpm-folio-action-row{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:12px}
.cpm-folio-action{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;border:1px solid rgba(255,255,255,.38);background:rgba(7,9,10,.26);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff;border-radius:10px;padding:14px 20px;font:700 10px/1 Poppins,Arial,sans-serif;letter-spacing:.075em;text-transform:uppercase;cursor:pointer;transition:background .22s ease,border-color .22s ease,transform .22s ease}
.cpm-folio-action:hover{background:#e63b35;border-color:#e63b35;transform:translateY(-1px)}.cpm-folio-action span{font-size:13px}

/* HERO HEADER ALIGNMENT */
#cpm-folio-single .cpm-folio-hero.align-left .cpm-folio-hero-inner{align-items:flex-start;text-align:left}
#cpm-folio-single .cpm-folio-hero.align-left .cpm-folio-eyebrow,#cpm-folio-single .cpm-folio-hero.align-left h1,#cpm-folio-single .cpm-folio-hero.align-left .cpm-folio-hero-meta>div,#cpm-folio-single .cpm-folio-hero.align-left .cpm-folio-hero-meta span,#cpm-folio-single .cpm-folio-hero.align-left .cpm-folio-hero-meta strong,#cpm-folio-single .cpm-folio-hero.align-left .cpm-folio-actions,#cpm-folio-single .cpm-folio-hero.align-left .cpm-folio-actions-label{text-align:left}

#cpm-folio-single .cpm-folio-hero.align-center .cpm-folio-hero-inner{align-items:center;text-align:center}
#cpm-folio-single .cpm-folio-hero.align-center .cpm-folio-eyebrow,#cpm-folio-single .cpm-folio-hero.align-center h1,#cpm-folio-single .cpm-folio-hero.align-center .cpm-folio-hero-meta>div,#cpm-folio-single .cpm-folio-hero.align-center .cpm-folio-hero-meta span,#cpm-folio-single .cpm-folio-hero.align-center .cpm-folio-hero-meta strong,#cpm-folio-single .cpm-folio-hero.align-center .cpm-folio-actions,#cpm-folio-single .cpm-folio-hero.align-center .cpm-folio-actions-label{text-align:center}
#cpm-folio-single .cpm-folio-hero.align-center .cpm-folio-action-row{justify-content:center!important}

#cpm-folio-single .cpm-folio-hero.align-right .cpm-folio-hero-inner{align-items:flex-end;text-align:right}
#cpm-folio-single .cpm-folio-hero.align-right .cpm-folio-eyebrow,#cpm-folio-single .cpm-folio-hero.align-right h1,#cpm-folio-single .cpm-folio-hero.align-right .cpm-folio-hero-meta>div,#cpm-folio-single .cpm-folio-hero.align-right .cpm-folio-hero-meta span,#cpm-folio-single .cpm-folio-hero.align-right .cpm-folio-hero-meta strong,#cpm-folio-single .cpm-folio-hero.align-right .cpm-folio-actions,#cpm-folio-single .cpm-folio-hero.align-right .cpm-folio-actions-label{text-align:right}
#cpm-folio-single .cpm-folio-hero.align-right .cpm-folio-action-row{justify-content:flex-end!important}

/* DEPTH HERO */
.cpm-folio-depth-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .3s ease;pointer-events:none}.cpm-folio-hero-media.is-depth-ready .cpm-folio-depth-canvas{opacity:1}.cpm-folio-hero-media.is-depth-ready .cpm-folio-hero-fallback{opacity:0}.cpm-folio-hero-fallback{transition:opacity .3s ease}

/* COPY / BODY SECTIONS */
.cpm-folio-content-sections{background:#fff}
.cpm-folio-copy-section{padding:clamp(84px,8vw,132px) 0;border-top:1px solid #ececea}
.cpm-folio-copy-section:first-child{border-top:0}
.cpm-folio-copy-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(48px,7vw,118px);align-items:start}
.cpm-folio-copy-heading h2{font:900 clamp(42px,5vw,84px)/.93 Poppins,Arial,sans-serif;letter-spacing:-.055em;text-transform:uppercase;color:#090b0c;margin:0;max-width:980px}
.cpm-folio-copy-body{font:400 15px/1.78 Poppins,Arial,sans-serif;color:#35383a;max-width:760px;padding-top:30px}
.cpm-folio-copy-body p:first-child{margin-top:0}.cpm-folio-copy-body p:last-child{margin-bottom:0}.cpm-folio-copy-body ul,.cpm-folio-copy-body ol{padding-left:1.25em}.cpm-folio-copy-body strong{font-weight:700;color:#17191a}
.cpm-folio-copy-section.layout-wide .cpm-folio-copy-inner{grid-template-columns:1fr}.cpm-folio-copy-section.layout-wide .cpm-folio-copy-body{max-width:1050px;padding-top:0}
.cpm-folio-copy-section.layout-narrow .cpm-folio-copy-inner{grid-template-columns:minmax(260px,.7fr) minmax(320px,.8fr);justify-content:space-between}.cpm-folio-copy-section.layout-narrow .cpm-folio-copy-body{max-width:620px}
.cpm-folio-copy-section.layout-dark{background:#0b0c0d;border-color:#0b0c0d}.cpm-folio-copy-section.layout-dark h2{color:#fff}.cpm-folio-copy-section.layout-dark .cpm-folio-copy-body{color:#c9ccce}.cpm-folio-copy-section.layout-dark .cpm-folio-copy-body strong{color:#fff}
.cpm-folio-stats{display:grid;grid-template-columns:repeat(var(--cpm-stat-count,4),minmax(0,1fr));gap:0;border-top:1px solid #d8d8d8;margin-top:68px}.cpm-folio-stats>div{padding:24px 28px 0 0}.cpm-folio-stats strong{display:block;font:900 clamp(24px,2.6vw,38px)/1 Poppins,Arial,sans-serif;letter-spacing:-.04em;color:#090b0c}.cpm-folio-stats span{display:block;margin-top:8px;font:600 9px/1.25 Poppins,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#777}
.layout-dark .cpm-folio-stats{border-color:rgba(255,255,255,.24)}.layout-dark .cpm-folio-stats strong{color:#fff}.layout-dark .cpm-folio-stats span{color:#aeb1b3}

/* Legacy story widget remains available but follows the same design language */
.cpm-folio-story{padding:clamp(84px,8vw,132px) 0;background:#fff}.cpm-folio-story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(48px,7vw,118px);align-items:start}.cpm-folio-story h2{font:900 clamp(42px,5vw,84px)/.93 Poppins,Arial,sans-serif;text-transform:uppercase;margin:0}.cpm-folio-story-copy{font:400 15px/1.78 Poppins,Arial,sans-serif;color:#35383a;padding-top:30px}

/* GALLERY */
.cpm-folio-gallery-section{padding:clamp(90px,8vw,136px) 0;background:#fff}.cpm-folio-section-head{margin:0 0 clamp(34px,4vw,58px)}.cpm-folio-gallery-section h2{font:900 clamp(46px,5.6vw,92px)/.92 Poppins,Arial,sans-serif;letter-spacing:-.055em;text-transform:uppercase;margin:0;color:#090b0c}
.cpm-folio-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--cpm-gallery-gap,18px);align-items:start;padding-bottom:calc(var(--cpm-wave,34px) * .7)}
.cpm-folio-gallery-item{position:relative;border:0;padding:0;overflow:hidden;background:#ddd;cursor:pointer;border-radius:var(--cpm-gallery-radius,0);min-height:0;aspect-ratio:4/3;transition:transform .4s cubic-bezier(.2,.75,.25,1),box-shadow .4s ease;will-change:transform}
.cpm-folio-gallery-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.75,.25,1)}
.cpm-folio-gallery.layout-wave .cpm-folio-gallery-item{grid-column:span 4}.cpm-folio-gallery.layout-wave .pattern-0,.cpm-folio-gallery.layout-wave .pattern-5{grid-column:span 7;aspect-ratio:16/10}.cpm-folio-gallery.layout-wave .pattern-1,.cpm-folio-gallery.layout-wave .pattern-4{grid-column:span 5;aspect-ratio:4/5}.cpm-folio-gallery.layout-wave .pattern-2,.cpm-folio-gallery.layout-wave .pattern-7{grid-column:span 4;aspect-ratio:1/1;transform:translateY(calc(var(--cpm-wave,34px) * .55))}.cpm-folio-gallery.layout-wave .pattern-3,.cpm-folio-gallery.layout-wave .pattern-6{grid-column:span 8;aspect-ratio:16/9;transform:translateY(calc(var(--cpm-wave,34px) * -.28))}
.cpm-folio-gallery.layout-packed .pattern-0,.cpm-folio-gallery.layout-packed .pattern-6{grid-column:span 8;aspect-ratio:16/9}.cpm-folio-gallery.layout-packed .pattern-1,.cpm-folio-gallery.layout-packed .pattern-7{grid-column:span 4;aspect-ratio:4/5}.cpm-folio-gallery.layout-packed .pattern-2,.cpm-folio-gallery.layout-packed .pattern-3,.cpm-folio-gallery.layout-packed .pattern-4,.cpm-folio-gallery.layout-packed .pattern-5{grid-column:span 6;aspect-ratio:4/3}
.cpm-folio-gallery.layout-editorial .pattern-0,.cpm-folio-gallery.layout-editorial .pattern-4{grid-column:span 12;aspect-ratio:16/8}.cpm-folio-gallery.layout-editorial .pattern-1,.cpm-folio-gallery.layout-editorial .pattern-2,.cpm-folio-gallery.layout-editorial .pattern-5,.cpm-folio-gallery.layout-editorial .pattern-6{grid-column:span 6;aspect-ratio:4/3}.cpm-folio-gallery.layout-editorial .pattern-3,.cpm-folio-gallery.layout-editorial .pattern-7{grid-column:span 12;aspect-ratio:16/9}
.cpm-folio-gallery.layout-masonry{display:block;columns:3;column-gap:var(--cpm-gallery-gap,18px);padding-bottom:0}.cpm-folio-gallery.layout-masonry .cpm-folio-gallery-item{display:block;width:100%;margin:0 0 var(--cpm-gallery-gap,18px);break-inside:avoid;aspect-ratio:auto}.cpm-folio-gallery.layout-masonry .cpm-folio-gallery-item img{position:relative;height:auto}
.cpm-folio-gallery.hover-zoom .cpm-folio-gallery-item:hover img{transform:scale(1.035)}.cpm-folio-gallery.hover-lift .cpm-folio-gallery-item:hover{transform:translateY(-7px)!important;box-shadow:0 22px 55px rgba(0,0,0,.14)}.cpm-folio-gallery.hover-none .cpm-folio-gallery-item:hover img{transform:none}
.cpm-folio-caption{position:absolute;left:16px;bottom:16px;max-width:calc(100% - 32px);background:rgba(0,0,0,.52);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);color:#fff;padding:9px 11px;font:600 9px/1.2 Poppins,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-align:left}

/* TEAM */
.cpm-folio-team{background:#f2f2ef;padding:clamp(86px,7vw,122px) 0}.cpm-folio-team>.cpm-folio-inner{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(60px,7vw,118px);align-items:start}.cpm-folio-team h2{font:900 clamp(44px,5vw,82px)/.94 Poppins,Arial,sans-serif;text-transform:uppercase;margin:0}.cpm-folio-team-list{border-top:1px solid #ccc}.cpm-folio-team-row{display:grid;grid-template-columns:160px 1fr;align-items:center;min-height:96px;border-bottom:1px solid #ccc}.cpm-folio-team-logo img{max-width:120px;max-height:55px;object-fit:contain;object-position:left center}.cpm-folio-team-row strong{font:700 13px/1.3 Poppins,Arial,sans-serif;color:#090b0c}.cpm-folio-team-row span{display:block;font:500 9px/1.3 Poppins,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#777;margin-top:5px}

/* POPUP / LIGHTBOX */
.cpm-folio-popup{display:flex;visibility:hidden;opacity:0;pointer-events:none;position:fixed;inset:0;z-index:999999;align-items:center;justify-content:center;padding:12px;background:rgba(2,3,4,.965);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:opacity .28s ease,visibility .28s ease}.cpm-folio-popup.is-open{visibility:visible;opacity:1;pointer-events:auto}.cpm-folio-popup-shell{position:relative;width:calc(100vw - 24px);height:calc(100vh - 24px);max-width:none;max-height:none;background:transparent;overflow:hidden;transform:scale(.975);opacity:0;transition:transform .32s cubic-bezier(.2,.75,.25,1),opacity .28s ease}.cpm-folio-popup.is-open .cpm-folio-popup-shell{transform:scale(1);opacity:1}.cpm-folio-popup-media{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:opacity .18s ease,transform .24s ease}.cpm-folio-popup-media iframe,.cpm-folio-popup-media video,.cpm-folio-popup-media img{display:block;width:100%;height:100%;border:0;object-fit:contain;background:transparent}.cpm-folio-popup-media.is-next{opacity:0;transform:translateX(-26px)}.cpm-folio-popup-media.is-prev{opacity:0;transform:translateX(26px)}
.cpm-folio-popup-close,.cpm-folio-popup-prev,.cpm-folio-popup-next{position:absolute;z-index:8;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.34);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.cpm-folio-popup-close:hover,.cpm-folio-popup-prev:hover,.cpm-folio-popup-next:hover{background:#e63b35;border-color:#e63b35}.cpm-folio-popup-close{right:14px;top:14px;width:50px;height:50px;border-radius:10px;font-size:27px}.cpm-folio-popup-prev,.cpm-folio-popup-next{top:50%;transform:translateY(-50%);width:58px;height:74px;border-radius:10px;font:300 38px/1 Arial,sans-serif}.cpm-folio-popup-prev{left:14px}.cpm-folio-popup-next{right:14px}.cpm-folio-popup-prev[hidden],.cpm-folio-popup-next[hidden]{display:none}.cpm-folio-popup-caption{position:absolute;z-index:7;left:18px;bottom:16px;max-width:min(760px,72%);padding:11px 14px;background:rgba(0,0,0,.58);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font:600 10px/1.35 Poppins,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-align:left;border-radius:8px}.cpm-folio-popup-caption[hidden]{display:none}.cpm-folio-popup-counter{position:absolute;z-index:7;right:18px;bottom:18px;color:#fff;font:700 10px/1 Poppins,Arial,sans-serif;letter-spacing:.12em;background:rgba(0,0,0,.42);padding:10px 12px;border-radius:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cpm-folio-popup-counter[hidden]{display:none}.cpm-folio-lock{overflow:hidden}

/* CPM Blocks project widget when embedded as More From The Folio */
#cpm-folio-single .elementor-widget-cpm-projects{margin:0}.cpm-folio-single .cpm-projects{margin:0}

@media(max-width:1100px){.cpm-folio-hero-meta{grid-template-columns:repeat(3,minmax(0,1fr))!important;row-gap:18px}.cpm-folio-copy-inner,.cpm-folio-team>.cpm-folio-inner{grid-template-columns:1fr;gap:38px}.cpm-folio-copy-body{padding-top:0}.cpm-folio-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cpm-folio-gallery.layout-masonry{columns:2}}
@media(max-width:760px){.cpm-folio-inner{padding-left:22px;padding-right:22px}.cpm-folio-hero h1{font-size:clamp(48px,15vw,76px)}.cpm-folio-hero-meta{grid-template-columns:1fr 1fr!important;column-gap:18px}.cpm-folio-action-row{justify-content:flex-start!important}.cpm-folio-action{padding:13px 15px;min-height:42px}.cpm-folio-copy-section{padding:72px 0}.cpm-folio-copy-heading h2{font-size:clamp(38px,11vw,58px)}.cpm-folio-stats{grid-template-columns:1fr 1fr;gap:22px 14px}.cpm-folio-gallery.layout-wave .cpm-folio-gallery-item,.cpm-folio-gallery.layout-packed .cpm-folio-gallery-item,.cpm-folio-gallery.layout-editorial .cpm-folio-gallery-item{grid-column:span 12;aspect-ratio:4/3;transform:none}.cpm-folio-gallery.layout-masonry{columns:1}.cpm-folio-popup{padding:6px}.cpm-folio-popup-shell{width:calc(100vw - 12px);height:calc(100vh - 12px)}.cpm-folio-popup-prev,.cpm-folio-popup-next{width:44px;height:58px}.cpm-folio-popup-prev{left:6px}.cpm-folio-popup-next{right:6px}.cpm-folio-popup-close{right:7px;top:7px;width:44px;height:44px}.cpm-folio-popup-caption{left:10px;bottom:10px;max-width:calc(100% - 80px)}.cpm-folio-popup-counter{right:10px;bottom:10px}.cpm-folio-team-row{grid-template-columns:120px 1fr}}
@media (prefers-reduced-motion:reduce){.cpm-folio-depth-canvas{display:none!important}.cpm-folio-hero-fallback{opacity:1!important}.cpm-folio-popup,.cpm-folio-popup-shell,.cpm-folio-popup-media,.cpm-folio-gallery-item,.cpm-folio-gallery-item img{transition:none!important;animation:none!important}}

/* Project-level hero action alignment */
#cpm-folio-single .cpm-folio-hero.actions-left .cpm-folio-action-row{justify-content:flex-start!important}
#cpm-folio-single .cpm-folio-hero.actions-center .cpm-folio-action-row{justify-content:center!important}
#cpm-folio-single .cpm-folio-hero.actions-right .cpm-folio-action-row{justify-content:flex-end!important}
#cpm-folio-single .cpm-folio-hero.actions-spread .cpm-folio-action-row{justify-content:space-between!important}
#cpm-folio-single .cpm-folio-hero.actions-spread .cpm-folio-action{flex:1 1 0;justify-content:space-between}

/* CPM Folio v1.2 — simplified project narrative system */
.cpm-folio-project-info{padding:clamp(92px,8vw,138px) 0;background:#fff;text-align:left}
.cpm-folio-project-info-head{max-width:1100px;margin:0 0 clamp(42px,5vw,72px);text-align:left}
.cpm-folio-project-info-head h2{font:900 clamp(48px,5.8vw,94px)/.92 Poppins,Arial,sans-serif;letter-spacing:-.055em;text-transform:uppercase;margin:0;color:#090b0c;text-align:left}
.cpm-folio-info-list{border-top:1px solid #d9d9d6}
.cpm-folio-info-block{display:grid;grid-template-columns:90px minmax(0,1fr);gap:clamp(24px,4vw,62px);padding:clamp(36px,4.5vw,68px) 0;border-bottom:1px solid #d9d9d6;align-items:start;text-align:left}
.cpm-folio-info-number{font:700 11px/1.2 Poppins,Arial,sans-serif;letter-spacing:.14em;color:#e63b35;padding-top:8px;text-align:left}
.cpm-folio-info-content{max-width:1050px;text-align:left}
.cpm-folio-info-content h3{font:900 clamp(30px,3.2vw,54px)/.98 Poppins,Arial,sans-serif;letter-spacing:-.045em;text-transform:uppercase;margin:0 0 22px;color:#090b0c;text-align:left}
.cpm-folio-info-copy{font:400 15px/1.78 Poppins,Arial,sans-serif;color:#35383a;text-align:left}
.cpm-folio-info-copy>*:first-child{margin-top:0}.cpm-folio-info-copy>*:last-child{margin-bottom:0}
.cpm-folio-info-copy p{margin:0 0 1.15em}.cpm-folio-info-copy ul,.cpm-folio-info-copy ol{margin:0 0 1.2em;padding-left:1.35em}.cpm-folio-info-copy li{margin:.35em 0}.cpm-folio-info-copy strong{font-weight:700}.cpm-folio-info-copy a{text-decoration:underline;text-underline-offset:3px}

/* Intro remains the opening editorial section, followed by its value/stat rail. */
.cpm-folio-story{padding:clamp(96px,8vw,138px) 0;background:#fff;text-align:left}
.cpm-folio-story-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(56px,7vw,120px);align-items:start;text-align:left}
.cpm-folio-story h2{font:900 clamp(44px,5.3vw,88px)/.93 Poppins,Arial,sans-serif;letter-spacing:-.055em;text-transform:uppercase;margin:0;color:#090b0c;text-align:left}
.cpm-folio-story-copy{font:400 15px/1.78 Poppins,Arial,sans-serif;color:#35383a;padding-top:29px;text-align:left}
.cpm-folio-story-copy>*:first-child{margin-top:0}.cpm-folio-story-copy ul,.cpm-folio-story-copy ol{padding-left:1.35em}
.cpm-folio-stats{display:grid;grid-template-columns:repeat(var(--cpm-stat-count,4),minmax(0,1fr));gap:0;border-top:1px solid #d9d9d6;margin-top:clamp(54px,6vw,88px);text-align:left}
.cpm-folio-stats>div{padding:24px clamp(12px,2vw,30px) 0 0;min-width:0;text-align:left}
.cpm-folio-stats strong{display:block;font:900 clamp(24px,2.3vw,38px)/1 Poppins,Arial,sans-serif;letter-spacing:-.04em;color:#090b0c;text-align:left}
.cpm-folio-stats span{display:block;margin-top:7px;font:600 9px/1.3 Poppins,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#7a7c7d;text-align:left}

@media(max-width:900px){.cpm-folio-story-grid{grid-template-columns:1fr;gap:34px}.cpm-folio-story-copy{padding-top:0}.cpm-folio-info-block{grid-template-columns:48px minmax(0,1fr)}.cpm-folio-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cpm-folio-info-block{grid-template-columns:1fr;gap:10px}.cpm-folio-info-number{padding-top:0}.cpm-folio-stats{grid-template-columns:1fr 1fr}}

/* ========================================================================== */
/* v1.3 — CPM Blocks-style Before / After + rebuilt packed gallery            */
/* ========================================================================== */
.cpm-folio-before-after{padding:clamp(88px,8vw,132px) 0;background:#fff;color:#0b0c0d}
.cpm-folio-before-after .cpm-folio-inner{max-width:1600px;margin:0 auto;padding-left:clamp(24px,5vw,90px);padding-right:clamp(24px,5vw,90px)}
.cpm-ba-marker{display:flex;gap:12px;align-items:center;margin-bottom:34px;font:700 10px/1 Poppins,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#0b0c0d}
.cpm-ba-marker span{color:var(--cpm-ba-marker,#e43d37)}
.cpm-ba-intro{display:grid;grid-template-columns:minmax(0,var(--cpm-ba-content,59%)) minmax(280px,1fr);gap:var(--cpm-ba-intro-gap,184px);align-items:start;margin-bottom:var(--cpm-ba-bottom-gap,69px)}
.cpm-ba-heading h2{margin:0;font:900 clamp(46px,5.6vw,90px)/.92 Poppins,Arial,sans-serif;letter-spacing:-.055em;text-transform:uppercase;color:#090b0c;text-align:left}
.cpm-ba-heading .cpm-folio-eyebrow{margin-bottom:14px}
.cpm-ba-copy{padding-top:var(--cpm-ba-body-offset,17px);font:400 14px/1.78 Poppins,Arial,sans-serif;color:#343739;text-align:left}
.cpm-ba-copy>*:first-child{margin-top:0}.cpm-ba-copy>*:last-child{margin-bottom:0}
.cpm-ba-labels{display:flex;justify-content:space-between;gap:30px;margin:0 0 14px;font:700 10px/1 Poppins,Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:#16191b}
.cpm-ba-stage{position:relative;height:var(--cpm-ba-height,735px);overflow:hidden;background:#dadcdd;isolation:isolate;touch-action:pan-y}
.cpm-ba-stage>img,.cpm-ba-after-wrap,.cpm-ba-after-wrap img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.cpm-ba-after-wrap{clip-path:inset(0 0 0 50%);z-index:2;will-change:clip-path}
.cpm-ba-range{position:absolute;inset:0;z-index:7;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.cpm-ba-handle{position:absolute;z-index:5;left:50%;top:0;bottom:0;width:2px;background:#fff;transform:translateX(-1px);pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.cpm-ba-handle:before{content:"";position:absolute;left:50%;top:50%;width:56px;height:56px;border-radius:50%;transform:translate(-50%,-50%);background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.16)}
.cpm-ba-handle span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;color:#111;font:500 18px/1 Arial,sans-serif}
.cpm-ba-captions{position:absolute;z-index:4;left:18px;right:18px;bottom:18px;display:flex;justify-content:space-between;pointer-events:none}
.cpm-ba-captions span{background:rgba(5,7,8,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;padding:9px 11px;border-radius:6px;font:700 9px/1 Poppins,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}

/* Gallery reset: the theme must not style our media buttons. */
#cpm-folio-single .cpm-folio-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--cpm-gallery-gap,18px);align-items:start;padding:0!important;margin:0!important}
#cpm-folio-single .cpm-folio-gallery-item{appearance:none!important;-webkit-appearance:none!important;display:block!important;position:relative!important;grid-column:span 6;min-width:0!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;outline:0!important;background:transparent!important;border-radius:var(--cpm-gallery-radius,0)!important;overflow:visible!important;line-height:0!important;text-align:left!important;box-shadow:none!important;cursor:pointer!important;transform:none;transition:transform .35s cubic-bezier(.2,.75,.25,1)!important}
#cpm-folio-single .cpm-folio-gallery-media{position:relative;display:block;width:100%;overflow:hidden;border-radius:inherit;background:#e8e9ea;aspect-ratio:4/3}
#cpm-folio-single .cpm-folio-gallery-media img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;margin:0!important;padding:0!important;border:0!important;transform:scale(1.001);transition:transform .5s cubic-bezier(.2,.75,.25,1)!important}
#cpm-folio-single .cpm-folio-caption{position:absolute;z-index:3;left:14px;bottom:14px;background:rgba(5,7,8,.68);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);color:#fff;padding:8px 10px;border-radius:6px;font:700 9px/1.2 Poppins,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;line-height:1.2!important}
/* Stable packed-wave rhythm: 12 / 6+6 / 5+7 / 7+5 / repeat. */
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-0{grid-column:span 12}
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-0 .cpm-folio-gallery-media{aspect-ratio:16/7.4}
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-1,#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-2{grid-column:span 6}
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-1 .cpm-folio-gallery-media,#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-2 .cpm-folio-gallery-media{aspect-ratio:4/3}
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-3{grid-column:span 5;transform:translateY(calc(var(--cpm-wave,34px) * .50))}
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-4{grid-column:span 7;transform:translateY(calc(var(--cpm-wave,34px) * -.16))}
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-3 .cpm-folio-gallery-media,#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-4 .cpm-folio-gallery-media{aspect-ratio:4/3}
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-5{grid-column:span 7;transform:translateY(calc(var(--cpm-wave,34px) * .18))}
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-6{grid-column:span 5;transform:translateY(calc(var(--cpm-wave,34px) * -.32))}
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-5 .cpm-folio-gallery-media,#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-6 .cpm-folio-gallery-media{aspect-ratio:4/3}
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-7{grid-column:span 12;transform:translateY(calc(var(--cpm-wave,34px) * .2))}
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-7 .cpm-folio-gallery-media{aspect-ratio:16/8}
#cpm-folio-single .cpm-folio-gallery.layout-packed .pattern-0,#cpm-folio-single .cpm-folio-gallery.layout-packed .pattern-6{grid-column:span 8}
#cpm-folio-single .cpm-folio-gallery.layout-packed .pattern-1,#cpm-folio-single .cpm-folio-gallery.layout-packed .pattern-7{grid-column:span 4}
#cpm-folio-single .cpm-folio-gallery.layout-packed .pattern-2,#cpm-folio-single .cpm-folio-gallery.layout-packed .pattern-3,#cpm-folio-single .cpm-folio-gallery.layout-packed .pattern-4,#cpm-folio-single .cpm-folio-gallery.layout-packed .pattern-5{grid-column:span 6}
#cpm-folio-single .cpm-folio-gallery.layout-editorial .pattern-0,#cpm-folio-single .cpm-folio-gallery.layout-editorial .pattern-4{grid-column:span 12}
#cpm-folio-single .cpm-folio-gallery.layout-editorial .pattern-0 .cpm-folio-gallery-media,#cpm-folio-single .cpm-folio-gallery.layout-editorial .pattern-4 .cpm-folio-gallery-media{aspect-ratio:16/8}
#cpm-folio-single .cpm-folio-gallery.layout-editorial .pattern-1,#cpm-folio-single .cpm-folio-gallery.layout-editorial .pattern-2,#cpm-folio-single .cpm-folio-gallery.layout-editorial .pattern-5,#cpm-folio-single .cpm-folio-gallery.layout-editorial .pattern-6{grid-column:span 6}
#cpm-folio-single .cpm-folio-gallery.layout-editorial .pattern-3,#cpm-folio-single .cpm-folio-gallery.layout-editorial .pattern-7{grid-column:span 12}
#cpm-folio-single .cpm-folio-gallery.layout-editorial .pattern-3 .cpm-folio-gallery-media,#cpm-folio-single .cpm-folio-gallery.layout-editorial .pattern-7 .cpm-folio-gallery-media{aspect-ratio:16/9}
#cpm-folio-single .cpm-folio-gallery.hover-zoom .cpm-folio-gallery-item:hover .cpm-folio-gallery-media img{transform:scale(1.035)}
#cpm-folio-single .cpm-folio-gallery.hover-lift .cpm-folio-gallery-item:hover{transform:translateY(-6px)!important;box-shadow:none!important}
#cpm-folio-single .cpm-folio-gallery.layout-masonry{display:block!important;columns:3;column-gap:var(--cpm-gallery-gap,18px)}
#cpm-folio-single .cpm-folio-gallery.layout-masonry .cpm-folio-gallery-item{display:inline-block!important;width:100%!important;margin:0 0 var(--cpm-gallery-gap,18px)!important;break-inside:avoid}
#cpm-folio-single .cpm-folio-gallery.layout-masonry .cpm-folio-gallery-media{aspect-ratio:auto}
#cpm-folio-single .cpm-folio-gallery.layout-masonry .cpm-folio-gallery-media img{position:relative!important;height:auto!important}

@media(max-width:900px){
 .cpm-ba-intro{grid-template-columns:1fr;gap:28px}.cpm-ba-copy{padding-top:0}.cpm-ba-stage{height:min(var(--cpm-ba-height,735px),62vw)}
 #cpm-folio-single .cpm-folio-gallery.layout-wave .cpm-folio-gallery-item,#cpm-folio-single .cpm-folio-gallery.layout-packed .cpm-folio-gallery-item,#cpm-folio-single .cpm-folio-gallery.layout-editorial .cpm-folio-gallery-item{grid-column:span 12!important;transform:none!important}
 #cpm-folio-single .cpm-folio-gallery.layout-wave .cpm-folio-gallery-media,#cpm-folio-single .cpm-folio-gallery.layout-packed .cpm-folio-gallery-media,#cpm-folio-single .cpm-folio-gallery.layout-editorial .cpm-folio-gallery-media{aspect-ratio:4/3!important}
}
@media(max-width:640px){.cpm-ba-stage{height:62vw;min-height:300px}.cpm-ba-handle:before{width:48px;height:48px}.cpm-ba-captions{left:10px;right:10px;bottom:10px}.cpm-ba-labels{font-size:9px}}


/* CPM Folio v1.4 consolidated design pass */
#cpm-folio-single{--cpm-red:#e63b35;--cpm-ink:#090b0c;--cpm-muted:#707477}
#cpm-folio-single .cpm-folio-eyebrow{color:var(--cpm-red)!important;font-family:Poppins,Arial,sans-serif!important;font-weight:700!important;font-size:11px!important;line-height:1.2!important;letter-spacing:.16em!important;text-transform:uppercase!important;text-align:left!important}
#cpm-folio-single .cpm-folio-hero-inner{padding-bottom:var(--cpm-hero-bottom,64px)!important}
#cpm-folio-single .cpm-folio-hero h1{font-family:Poppins,Arial,sans-serif!important;font-weight:900!important;letter-spacing:-.055em!important;line-height:.9!important;text-align:left!important}
#cpm-folio-single .cpm-folio-hero-meta{grid-template-columns:repeat(var(--cpm-meta-count,4),minmax(0,1fr))!important;gap:0 var(--cpm-meta-gap,34px)!important;margin-top:46px!important}
#cpm-folio-single .cpm-folio-hero-meta>div{padding:20px 0 0!important;min-width:0;text-align:left!important}
#cpm-folio-single .cpm-folio-hero-meta span{font-weight:600!important;color:rgba(255,255,255,.64)!important;text-align:left!important}
#cpm-folio-single .cpm-folio-hero-meta strong{font-weight:700!important;text-align:left!important}
#cpm-folio-single .cpm-folio-hero .cpm-folio-actions{margin-top:var(--cpm-actions-gap,34px)!important}
#cpm-folio-single .cpm-folio-action{border-radius:var(--cpm-action-radius,10px)!important;background:rgba(10,12,14,.26)!important;-webkit-backdrop-filter:blur(var(--cpm-action-blur,14px));backdrop-filter:blur(var(--cpm-action-blur,14px));padding:14px 20px!important}
#cpm-folio-single .cpm-folio-hero.actions-spread .cpm-folio-action-row{justify-content:space-between!important}
#cpm-folio-single .cpm-folio-hero.actions-spread .cpm-folio-action{flex:1 1 0;min-width:150px}
#cpm-folio-single .cpm-folio-hero.actions-center .cpm-folio-action-row{justify-content:center!important}
#cpm-folio-single .cpm-folio-hero.actions-right .cpm-folio-action-row{justify-content:flex-end!important}
#cpm-folio-single .cpm-folio-hero.actions-left .cpm-folio-action-row{justify-content:flex-start!important}

/* Intro + stat bar */
#cpm-folio-single .cpm-folio-story{padding:clamp(92px,8vw,138px) 0 clamp(72px,7vw,116px)!important}
#cpm-folio-single .cpm-folio-story-grid{grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr)!important;align-items:start!important}
#cpm-folio-single .cpm-folio-story h2{font-weight:900!important;line-height:.93!important;letter-spacing:-.05em!important;text-align:left!important}
#cpm-folio-single .cpm-folio-story-copy{font-size:15px!important;line-height:1.8!important;text-align:left!important}
#cpm-folio-single .cpm-folio-stats{width:100%!important;grid-template-columns:repeat(var(--cpm-stat-count,4),minmax(0,1fr))!important}
#cpm-folio-single .cpm-folio-stats>div{text-align:left!important}

/* Before / after — same interaction language as CPM Blocks: pointer follows automatically */
#cpm-folio-single .cpm-folio-before-after{padding:clamp(90px,8vw,132px) 0!important;background:#fff}
#cpm-folio-single .cpm-ba-stage{cursor:ew-resize!important}
#cpm-folio-single .cpm-ba-range{cursor:ew-resize!important}
#cpm-folio-single .cpm-ba-handle{transition:left .08s linear}
#cpm-folio-single .cpm-ba-after-wrap{transition:clip-path .08s linear}

/* Gallery — stable editorial rhythm first, wave second */
#cpm-folio-single .cpm-folio-gallery-section{padding:clamp(92px,8vw,136px) 0!important}
#cpm-folio-single .cpm-folio-gallery{align-items:start!important;grid-auto-flow:row dense!important}
#cpm-folio-single .cpm-folio-gallery-item{overflow:visible!important;background:transparent!important}
#cpm-folio-single .cpm-folio-gallery-media{overflow:hidden!important;background:#e9e9e7!important}
#cpm-folio-single .cpm-folio-caption{display:block!important;margin-top:10px!important;font:600 10px/1.35 Poppins,Arial,sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#6d7173!important;text-align:left!important;line-height:1.35!important}
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-0{grid-column:span 12!important;transform:none!important}
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-1,#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-2{grid-column:span 6!important;transform:none!important}
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-3{grid-column:span 5!important;transform:translateY(calc(var(--cpm-wave,34px) * .48))!important}
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-4{grid-column:span 7!important;transform:translateY(calc(var(--cpm-wave,34px) * -.12))!important}
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-5{grid-column:span 7!important;transform:translateY(calc(var(--cpm-wave,34px) * .16))!important}
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-6{grid-column:span 5!important;transform:translateY(calc(var(--cpm-wave,34px) * -.26))!important}
#cpm-folio-single .cpm-folio-gallery.layout-wave .pattern-7{grid-column:span 12!important;transform:none!important}

/* Project Info — one left-aligned editorial system */
#cpm-folio-single .cpm-folio-project-info{padding:clamp(96px,9vw,150px) 0!important;background:#f4f4f1}
#cpm-folio-single .cpm-folio-project-info-head{margin-bottom:clamp(52px,6vw,92px)!important;text-align:left!important}
#cpm-folio-single .cpm-folio-project-info-head h2{font:900 clamp(48px,6vw,96px)/.92 Poppins,Arial,sans-serif!important;letter-spacing:-.055em!important;text-transform:uppercase!important;margin:0!important;text-align:left!important}
#cpm-folio-single .cpm-folio-info-list{border-top:1px solid #cfd0cd}
#cpm-folio-single .cpm-folio-info-block{display:grid!important;grid-template-columns:80px minmax(0,1fr)!important;gap:clamp(24px,4vw,70px)!important;padding:clamp(36px,4vw,62px) 0!important;border-bottom:1px solid #cfd0cd!important;align-items:start!important}
#cpm-folio-single .cpm-folio-info-number{font:700 11px/1 Poppins,Arial,sans-serif!important;letter-spacing:.1em!important;color:var(--cpm-red)!important;padding-top:8px!important;text-align:left!important}
#cpm-folio-single .cpm-folio-info-content{max-width:980px;text-align:left!important}
#cpm-folio-single .cpm-info-eyebrow{margin-bottom:12px!important}
#cpm-folio-single .cpm-folio-info-content h3{font:900 clamp(28px,3vw,48px)/1 Poppins,Arial,sans-serif!important;letter-spacing:-.045em!important;text-transform:uppercase!important;margin:0 0 20px!important;text-align:left!important}
#cpm-folio-single .cpm-folio-info-copy{font:400 15px/1.8 Poppins,Arial,sans-serif!important;color:#313538!important;text-align:left!important}
#cpm-folio-single .cpm-folio-info-copy ul,#cpm-folio-single .cpm-folio-info-copy ol{padding-left:1.35em!important;margin:1em 0!important}
#cpm-folio-single .cpm-folio-info-copy li{margin:.38em 0!important}

/* Near-fullscreen gallery viewer */
#cpm-folio-single~.cpm-folio-popup,.cpm-folio-popup{padding:10px!important;background:rgba(2,3,4,.97)!important}
.cpm-folio-popup-shell{width:calc(100vw - 20px)!important;height:calc(100vh - 20px)!important}
.cpm-folio-popup-media{width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}
.cpm-folio-popup-media img,.cpm-folio-popup-media video{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important}
.cpm-folio-popup-prev,.cpm-folio-popup-next,.cpm-folio-popup-close{width:54px!important;height:54px!important;min-width:54px!important;border-radius:10px!important;background:rgba(12,14,16,.48)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}

@media(max-width:900px){
 #cpm-folio-single .cpm-folio-hero-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:24px!important}
 #cpm-folio-single .cpm-folio-story-grid{grid-template-columns:1fr!important}
 #cpm-folio-single .cpm-folio-info-block{grid-template-columns:54px minmax(0,1fr)!important}
}
@media(max-width:640px){
 #cpm-folio-single .cpm-folio-hero-meta{grid-template-columns:1fr 1fr!important;column-gap:18px!important}
 #cpm-folio-single .cpm-folio-hero.actions-spread .cpm-folio-action{flex:1 1 calc(50% - 8px)!important;min-width:0!important}
 #cpm-folio-single .cpm-folio-info-block{grid-template-columns:1fr!important;gap:10px!important}
 #cpm-folio-single .cpm-folio-info-number{padding-top:0!important}
}

/* CPM Folio v1.5 control + spacing pass */
#cpm-folio-single .cpm-folio-action,
#cpm-folio-single button.cpm-folio-action,
#cpm-folio-single .cpm-folio-action:link,
#cpm-folio-single .cpm-folio-action:visited{
  color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:none!important;
}
#cpm-folio-single .cpm-folio-action *,#cpm-folio-single button.cpm-folio-action *{color:inherit!important;-webkit-text-fill-color:inherit!important}
#cpm-folio-single .cpm-folio-action:hover,#cpm-folio-single .cpm-folio-action:focus{color:#fff!important;-webkit-text-fill-color:#fff!important;background:#e63b35!important;border-color:#e63b35!important}

#cpm-folio-single .cpm-folio-story{padding:76px 0 72px!important}
#cpm-folio-single .cpm-folio-stats{display:grid!important;grid-template-columns:repeat(var(--cpm-stat-count,4),minmax(0,1fr))!important;width:100%!important;margin-top:48px!important;gap:0!important}
#cpm-folio-single .cpm-folio-stats>div{min-width:0!important;width:100%!important;padding:22px 24px 0 0!important}
#cpm-folio-single .cpm-folio-stats>div:last-child{padding-right:0!important}

#cpm-folio-single .cpm-folio-before-after{padding:72px 0!important}
#cpm-folio-single .cpm-ba-handle,#cpm-folio-single .cpm-ba-after-wrap{transition:none!important}
#cpm-folio-single .cpm-ba-stage{will-change:auto;contain:layout paint}
#cpm-folio-single .cpm-ba-after-wrap{will-change:clip-path}

#cpm-folio-single .cpm-folio-gallery-section{padding:72px 0!important}
#cpm-folio-single .cpm-folio-project-info{padding:82px 0!important}
#cpm-folio-single .cpm-folio-project-info-head{margin-bottom:48px!important}
#cpm-folio-single .cpm-folio-info-block{padding:38px 0!important}
#cpm-folio-single .cpm-folio-team{padding:72px 0!important}

@media(max-width:900px){
 #cpm-folio-single .cpm-folio-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:28px!important}
}
@media(max-width:560px){
 #cpm-folio-single .cpm-folio-stats{grid-template-columns:1fr!important}
 #cpm-folio-single .cpm-folio-stats>div{padding-right:0!important}
}

/* v1.5.1 — PDF / IM popup viewer */
.cpm-folio-pdf-viewer{width:100%;height:100%;padding:58px 18px 18px;box-sizing:border-box;display:flex;align-items:stretch;justify-content:stretch}
.cpm-folio-pdf-frame{width:100%!important;height:100%!important;border:0!important;background:#fff!important;border-radius:10px;overflow:hidden}
.cpm-folio-popup:has(.cpm-folio-pdf-viewer) .cpm-folio-popup-caption{left:30px;bottom:26px;max-width:calc(100% - 60px)}
@media(max-width:700px){.cpm-folio-pdf-viewer{padding:60px 4px 4px}.cpm-folio-pdf-frame{border-radius:6px}}

/* v1.5.2 — unified 75% popup sizing for every media type */
.cpm-folio-popup{padding:0!important;}
.cpm-folio-popup-shell{width:75vw!important;height:75vh!important;max-width:75vw!important;max-height:75vh!important;}
.cpm-folio-popup-media{width:100%!important;height:100%!important;}
.cpm-folio-popup-media iframe,.cpm-folio-popup-media video{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;}
.cpm-folio-popup-media img{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;}
.cpm-folio-pdf-viewer{width:100%!important;height:100%!important;padding:54px 14px 14px!important;}
@media(max-width:700px){
 .cpm-folio-popup-shell{width:75vw!important;height:75vh!important;max-width:75vw!important;max-height:75vh!important;}
 .cpm-folio-pdf-viewer{padding:52px 6px 6px!important;}
}
#cpm-folio-single a.cpm-folio-action,a.cpm-folio-action{text-decoration:none!important;color:#fff!important}
/* 1.6.0: Elementor's `.elementor img{height:auto}` (loaded later, same specificity) shrank the hero image, leaving a black band. */
.cpm-folio-hero .cpm-folio-hero-media > img,.cpm-folio-hero .cpm-folio-hero-media > video{height:100%!important;max-width:none!important}
/* Popup buttons picked up the Elementor kit's 16px button size; link buttons now match, with one size for all. */
#cpm-folio-single .cpm-folio-action,.cpm-folio-action{font-family:Poppins,Arial,sans-serif!important;font-size:16px!important;font-weight:700!important;letter-spacing:1.2px!important;line-height:1.35!important;text-transform:uppercase}
@media(max-width:760px){#cpm-folio-single .cpm-folio-action,.cpm-folio-action{font-size:13px!important;letter-spacing:.9px!important}}
/* 1.7.0: tabs for projects with several before/after pairs */
.cpm-ba-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.cpm-folio-before-after .cpm-ba-tab{appearance:none;border:1px solid #d6d8da!important;background:#fff!important;color:#26292e!important;border-radius:999px!important;padding:10px 18px!important;font:700 12px/1 Poppins,Arial,sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase;cursor:pointer;transition:all .2s ease}
.cpm-folio-before-after .cpm-ba-tab:hover{border-color:#0f1719!important;color:#0f1719!important}
.cpm-folio-before-after .cpm-ba-tab.is-active{background:#D71120!important;border-color:#D71120!important;color:#fff!important}
@media(max-width:900px){#cpm-folio-single .cpm-folio-story-grid{row-gap:22px!important}#cpm-folio-single .cpm-folio-story-copy{padding-top:0!important}}

/* 1.8.0 — lightbox: white icon buttons (the theme was turning the glyphs black) and a full-screen image view
   with controls clear of the photo. Videos / 360 / PDF keep the 75% box. */
#cpmFolioPopup .cpm-folio-popup-close,#cpmFolioPopup .cpm-folio-popup-prev,#cpmFolioPopup .cpm-folio-popup-next{width:48px!important;height:48px!important;min-width:48px!important;padding:0!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.18)!important;background:rgba(255,255,255,.08)!important;color:#fff!important;box-shadow:none!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:none!important;transition:background .2s,border-color .2s}
#cpmFolioPopup .cpm-folio-popup-close:hover,#cpmFolioPopup .cpm-folio-popup-prev:hover,#cpmFolioPopup .cpm-folio-popup-next:hover{background:rgba(255,255,255,.18)!important;border-color:rgba(255,255,255,.34)!important}
#cpmFolioPopup .cpm-folio-popup-close:focus-visible,#cpmFolioPopup .cpm-folio-popup-prev:focus-visible,#cpmFolioPopup .cpm-folio-popup-next:focus-visible{outline:2px solid #FF5A66;outline-offset:3px}
#cpmFolioPopup button svg{width:22px;height:22px;display:block;color:#fff}
#cpmFolioPopup button[hidden]{display:none!important}
#cpmFolioPopup .cpm-folio-popup-close{top:14px!important;right:14px!important;left:auto!important;bottom:auto!important}
#cpmFolioPopup .cpm-folio-popup-counter{left:50%!important;right:auto!important;transform:translateX(-50%)!important;bottom:22px!important;top:auto!important;width:auto!important;min-width:64px;height:32px!important;padding:0 14px!important;display:flex;align-items:center;justify-content:center;border-radius:999px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.14);color:#fff!important;font:600 12px/1 Poppins,system-ui,sans-serif!important;letter-spacing:.06em}
#cpmFolioPopup .cpm-folio-popup-counter[hidden]{display:none!important}

/* Image galleries: use the whole screen. */
#cpmFolioPopup[data-type="image"] .cpm-folio-popup-shell{width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;padding:76px 96px 76px!important;box-sizing:border-box}
#cpmFolioPopup[data-type="image"] .cpm-folio-popup-media{width:100%!important;height:100%!important}
#cpmFolioPopup[data-type="image"] .cpm-folio-popup-media img{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;border-radius:10px}
#cpmFolioPopup[data-type="image"] .cpm-folio-popup-close{top:20px!important;right:20px!important}
#cpmFolioPopup[data-type="image"] .cpm-folio-popup-prev,#cpmFolioPopup[data-type="image"] .cpm-folio-popup-next{top:50%!important;margin-top:-24px!important;bottom:auto!important}
#cpmFolioPopup[data-type="image"] .cpm-folio-popup-prev{left:24px!important;right:auto!important}
#cpmFolioPopup[data-type="image"] .cpm-folio-popup-next{right:24px!important;left:auto!important}
#cpmFolioPopup[data-type="image"] .cpm-folio-popup-caption{left:96px!important;right:96px!important;bottom:28px!important;text-align:left}
@media (max-width:760px){
  #cpmFolioPopup[data-type="image"] .cpm-folio-popup-shell{padding:72px 12px 96px!important}
  #cpmFolioPopup[data-type="image"] .cpm-folio-popup-close{top:14px!important;right:14px!important}
  #cpmFolioPopup[data-type="image"] .cpm-folio-popup-prev,#cpmFolioPopup[data-type="image"] .cpm-folio-popup-next{top:auto!important;margin-top:0!important;bottom:24px!important}
  #cpmFolioPopup[data-type="image"] .cpm-folio-popup-prev{left:16px!important}
  #cpmFolioPopup[data-type="image"] .cpm-folio-popup-next{right:16px!important}
  #cpmFolioPopup[data-type="image"] .cpm-folio-popup-counter{bottom:32px!important}
  #cpmFolioPopup[data-type="image"] .cpm-folio-popup-caption{display:none}
}
