
.cpg-portfolio{
    box-sizing:border-box;
    max-width:100%;
    margin:0 auto;
    padding:0;
    color:#17233a;
    font-family:inherit;
}
.cpg-portfolio *{box-sizing:border-box; margin-top: 3px;}
.cpg-heading{text-align:center;margin-bottom:8px}
.cpg-heading h2{
    font-family: "Playfair Display", Sans-serif;
    font-size: 36px;
    font-weight: 700;
    color: #0A2545;
}
.cpg-heading-line{
    display:block;
    width:290px;
    height:2px;
    margin:14px auto 18px;
    background:#d8b15a;
}
.cpg-tabs{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px 24px;
    margin:0 0 40px;
}
.cpg-portfolio .cpg-tab{
    border:0;
    background:transparent;
    padding:5px 10px;
    color:#202020;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    transition:color .2s ease;
}
.cpg-portfolio .cpg-tab:hover,
.cpg-portfolio .cpg-tab.is-active {color:#fff; background:#008080;}
.cpg-feature{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);
    gap:70px;
    align-items:center;
    margin:0 0 42px;
}
.cpg-feature-copy{padding-left:36px}
.cpg-feature.is-media-left{
    grid-template-columns:minmax(330px,.85fr) minmax(0,1.15fr);
}
.cpg-feature.is-media-left .cpg-feature-copy{
    order:2;
    padding-left:0;
    padding-right:36px;
}
.cpg-feature.is-media-left .cpg-feature-media{order:1}
.cpg-eyebrow{
    font-family: Montserrat, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #008080;
    margin-bottom: 6px;
}
.cpg-feature-title{
    font-family: "Playfair Display", Sans-serif;
    font-size: 25px;
    font-weight: 700;
    color: #0A2545;
}
.cpg-feature-name{
    margin-top:7px;
    color:#596675;
    font-size:15px;
    font-weight:600;
}
.cpg-feature-rule{
    width:50%;
    height:3px;
    background:#d8b15a;
    margin:15px 0 20px;
}
.cpg-feature-rule-n{
    width:50%;
    height:3px;
    background:#008080;
    margin:15px 0 20px;
}
.cpg-feature-description{
    color:#555;
    font-size:15px;
    line-height:1.8;
    white-space:normal;
}
.cpg-feature-description p{margin:0 0 .85em}
.cpg-feature-description p:last-child{margin-bottom:0}
.cpg-feature-description ul,
.cpg-feature-description ol{margin:0 0 .85em;padding-left:1.2em}
.cpg_button {
        background-color: #008080;
    font-family: "Montserrat", Sans-serif;
    font-size: 14px;
    font-weight: 600;
    fill: #ffffff;
    color: #ffffff !important;
    border-radius: 4px 4px 4px 4px;
    padding: 13px 28px 13px 28px;
    text-decoration: none !important;
    margin-top: 20px;
    display: table;
}
.cpg-feature-description a{color:#d8b15a;text-decoration:underline}
.cpg-feature-description h3,
.cpg-feature-description h4{
    margin:.2em 0 .5em;
    font-family:"Montserrat", Sans-serif;
    color:#24364e;
}
.cpg-feature-media{overflow:hidden}
.cpg-feature-image,
.cpg-feature-video{
    display:block;
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    background:#ddd;
}
.cpg-feature-image{transition:opacity .16s ease}
.cpg-feature-video{height:auto}
.cpg-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
}
.cpg-thumb{
    border:0;
    padding:0;
    margin:0;
    cursor:pointer;
    background:#ddd;
    overflow:hidden;
    position:relative;
    aspect-ratio:1.38/1;
    display:block;
}
.cpg-thumb img,
.cpg-thumb-video{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    pointer-events:none;
    transition:transform .3s ease,opacity .2s ease;
    background:#1d2327;
}
.cpg-thumb:hover img,
.cpg-thumb:hover .cpg-thumb-video{transform:scale(1.04)}
.cpg-thumb.is-selected{outline:3px solid #d8b15a;outline-offset:-3px}
.cpg-thumb[hidden],
.cpg-thumb.is-hidden{
    display:none !important;
}
.cpg-thumb-fallback{
    display:block;
    width:100%;
    height:100%;
    background:#1d2327;
}
.cpg-play-badge{
    position:absolute;
    left:50%;
    top:50%;
    width:42px;
    height:42px;
    border-radius:50%;
    background:rgba(0,0,0,.58);
    transform:translate(-50%,-50%);
    pointer-events:none;
}
.cpg-play-badge::after{
    content:"";
    position:absolute;
    top:50%;
    left:54%;
    width:0;
    height:0;
    border-top:8px solid transparent;
    border-bottom:8px solid transparent;
    border-left:13px solid #fff;
    transform:translate(-50%,-50%);
}

button.cpg-show-all-button {
    display: block;
    margin: 30px auto 0;
    padding: 12px 28px;
    cursor: pointer;
    background: #008080 !important;
    border: 0;
    color: #fff;
}

/* Prevent gallery images from flashing before JavaScript initializes */
.cpg-portfolio:not(.cpg-js-ready) .cpg-gallery-image {
    display: none;
}

/* Show the gallery after JavaScript has initialized */
.cpg-portfolio.cpg-js-ready .cpg-gallery-image {
    display: block;
}

@media(max-width:900px){
    .cpg-feature{grid-template-columns:1fr;gap:28px}
    .cpg-feature-copy,
    .cpg-feature.is-media-left .cpg-feature-copy{padding-left:0;padding-right:0;order:2}
    .cpg-feature-media,
    .cpg-feature.is-media-left .cpg-feature-media{order:-1}
    .cpg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:620px){
    .cpg-portfolio{padding:34px 16px 45px}
    .cpg-heading h2{font-size:28px}
    .cpg-tabs{gap:7px 15px;margin-bottom:28px}
    .cpg-tab{font-size:12px}
    .cpg-feature-title{font-size:26px}
    .cpg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
}

/* Lightbox */
body.cpg-lightbox-open{overflow:hidden}
.cpg-lightbox[hidden]{display:none !important}
.cpg-lightbox{
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px 72px;
    background:rgba(0,0,0,.88);
}
.cpg-lightbox-stage{
    width:min(1180px,92vw);
    max-height:92vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:14px;
}
.cpg-lightbox-media{
    width:100%;
    max-height:82vh;
    display:flex;
    align-items:center;
    justify-content:center;
}
.cpg-lightbox-image,
.cpg-lightbox-video{
    display:block;
    max-width:100%;
    max-height:82vh;
    width:auto;
    height:auto;
    object-fit:contain;
    box-shadow:0 8px 40px rgba(0,0,0,.35);
}
.cpg-lightbox-video{width:min(1100px,92vw)}
.cpg-lightbox-caption{
    text-align:center;
    color:#fff;
    max-width:90vw;
}
.cpg-lightbox-title{font-size:18px;font-weight:700;line-height:1.35}
.cpg-lightbox-name{font-size:13px;opacity:.75;margin-top:3px}
.cpg-lightbox-close,
.cpg-lightbox-prev,
.cpg-lightbox-next{
    position:absolute;
    border:0;
    background:rgba(255,255,255,.12);
    color:#fff;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .2s ease,transform .2s ease;
}
.cpg-lightbox-close:hover,
.cpg-lightbox-prev:hover,
.cpg-lightbox-next:hover{background:rgba(255,255,255,.24)}
.cpg-lightbox-close{
    top:18px;
    right:22px;
    width:46px;
    height:46px;
    border-radius:50%;
    font-size:34px;
    line-height:1;
}
.cpg-lightbox-prev,
.cpg-lightbox-next{
    top:50%;
    width:52px;
    height:52px;
    margin-top:-26px;
    border-radius:50%;
    font-size:28px;
}
.cpg-lightbox-prev{left:18px}
.cpg-lightbox-next{right:18px}
.cpg-lightbox button:focus-visible{outline:3px solid #d8b15a;outline-offset:3px}
@media(max-width:620px){
    .cpg-lightbox{padding:20px 14px}
    .cpg-lightbox-stage{width:100%;max-height:90vh}
    .cpg-lightbox-media{max-height:76vh}
    .cpg-lightbox-image,.cpg-lightbox-video{max-height:76vh}
    .cpg-lightbox-prev,.cpg-lightbox-next{width:42px;height:42px;margin-top:-21px;font-size:22px}
    .cpg-lightbox-prev{left:8px}.cpg-lightbox-next{right:8px}
    .cpg-lightbox-close{right:10px;top:10px;width:40px;height:40px;font-size:29px}
}

.cpg-gallery-images-wrap{margin-top:30px}
.cpg-gallery-images-group[hidden]{display:none!important}
.cpg-gallery-images-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cpg-gallery-image{display:block;padding:0;border:0;background:none;cursor:pointer;overflow:hidden;aspect-ratio:1/1}
.cpg-gallery-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.cpg-gallery-image:hover img{transform:scale(1.04)}
.cpg-gallery-image:focus-visible{outline:3px solid #d8b15a;outline-offset:2px}
@media(max-width:900px){.cpg-gallery-images-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.cpg-gallery-images-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}}
@media (max-width: 767px) {
    .cpg-feature.is-media-left {
        grid-template-columns: 1fr;
    }
}
