:root{--cp-aqua:#92d9de;--cp-aqua-dark:#0d858b;--cp-pale:#edf9f9;--cp-navy:#102c43;--cp-green:#347f19;--cp-red:#c83c32;--cp-text:#46545c;--cp-line:#dbe8e8;--cp-cream:#faf9f5;--cp-shadow:0 15px 36px rgba(15,51,62,.09)}
.cp-page main{font-family:"Poppins",sans-serif;color:var(--cp-text);overflow:hidden}.cp-page main *{box-sizing:border-box}.cp-page main img{display:block;max-width:100%}.cp-page main h1,.cp-page main h2,.cp-page main h3{font-family:"Playfair Display",Georgia,serif;color:var(--cp-navy);letter-spacing:-.03em;font-weight:600!important}.cp-page main p{font-family:"Poppins",sans-serif;color:var(--cp-text);font-size:.88rem;line-height:1.78;text-align:left}.cp-page main .container{max-width:1180px}.cp-section{padding:82px 0}.cp-kicker{display:flex;align-items:center;gap:10px;margin:0 0 13px;color:var(--cp-green);font-size:.67rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.cp-kicker:before{content:"";width:25px;height:2px;background:var(--cp-aqua-dark)}.cp-title{font-size:clamp(2.15rem,4vw,4rem);line-height:1.06;margin:0 0 24px}.cp-title em{font-style:normal;color:var(--cp-aqua-dark)}.cp-lead{font-size:1rem!important;color:var(--cp-navy)!important}.cp-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.cp-btn{min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 21px;border:1px solid var(--cp-green);border-radius:4px;background:var(--cp-green);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none!important}.cp-btn:hover{background:#245f10;color:#fff}.cp-btn.outline{background:transparent;color:var(--cp-green)}.cp-btn.outline:hover{background:var(--cp-green);color:#fff}
.cp-subhero .container-fluid{padding:0 15px}.cp-subhero .about-banner{margin-top:10px}.cp-subhero .breadcrumb{margin:0}.cp-page-hero{padding:82px 0;background:linear-gradient(135deg,#fff 0%,#f3faf9 100%)}.cp-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:76px;align-items:center}.cp-hero-media{position:relative;height:520px}.cp-hero-media>img{width:88%;height:100%;object-fit:cover;border-radius:12px;box-shadow:var(--cp-shadow)}.cp-hero-media .cp-inset{position:absolute;right:0;bottom:-26px;width:43%;height:220px;border:8px solid #fff;border-radius:8px;object-fit:cover;box-shadow:var(--cp-shadow)}.cp-hero-note{position:absolute;left:-18px;bottom:28px;padding:18px 20px;background:var(--cp-aqua);color:var(--cp-navy);border-radius:7px;font-size:.71rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.cp-contact-line{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px;font-size:.76rem;color:var(--cp-navy)}.cp-contact-line a{color:var(--cp-navy);font-weight:600}.cp-contact-line i{color:var(--cp-aqua-dark);margin-right:5px}
.cp-stats{background:linear-gradient(90deg,#e7f7f7,#f4fbfb);border-block:1px solid var(--cp-line)}.cp-stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.cp-stat{min-height:125px;padding:27px 30px;display:flex;align-items:center;gap:16px;border-right:1px solid #d3e7e8}.cp-stat:last-child{border:0}.cp-stat strong{font-family:"Playfair Display",serif;color:var(--cp-green);font-size:2rem}.cp-stat span{font-size:.69rem;line-height:1.5;color:var(--cp-text)}.cp-stat span b{display:block;color:var(--cp-navy);font-size:.78rem}.cp-stat-note{padding:0 0 12px;text-align:right!important;font-size:.62rem!important;margin:0}
.cp-split{display:grid;grid-template-columns:1fr 1fr;gap:74px;align-items:center}.cp-split.reverse .cp-media{order:2}.cp-media{position:relative}.cp-media img{width:100%;height:470px;object-fit:cover;border-radius:10px;box-shadow:var(--cp-shadow)}.cp-media--certificate{display:flex;align-items:center;justify-content:center;background:#f6f9f9;border-radius:10px;box-shadow:var(--cp-shadow)}.cp-media--certificate img{height:auto;max-height:470px;object-fit:contain;background:#fff;padding:16px;box-shadow:none}.cp-media-tag{position:absolute;right:-18px;bottom:25px;padding:18px 22px;background:var(--cp-aqua);color:var(--cp-navy);border-radius:6px;font-weight:700;font-size:.75rem}.cp-copy p+p{margin-top:15px}.cp-copy ul{list-style:none;padding:0;margin:24px 0}.cp-copy li{display:flex;gap:11px;padding:10px 0;border-bottom:1px solid var(--cp-line);font-size:.82rem}.cp-copy li:before{content:"✓";color:var(--cp-aqua-dark);font-weight:800}
.cp-band{background:var(--cp-cream)}.cp-heading{text-align:center;max-width:780px;margin:0 auto 42px}.cp-heading .cp-kicker{justify-content:center}.cp-heading p{max-width:680px;margin-inline:auto;text-align:center}.cp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.cp-card{padding:29px 25px;background:#fff;border:1px solid #e2eceb;border-radius:8px;box-shadow:0 7px 20px rgba(20,55,64,.05);transition:.25s}.cp-card:hover{transform:translateY(-5px);box-shadow:var(--cp-shadow);border-color:var(--cp-aqua)}.cp-card i{width:42px;height:42px;display:grid;place-items:center;margin-bottom:20px;border-radius:50%;background:var(--cp-pale);color:var(--cp-aqua-dark);font-size:1.15rem}.cp-card h3{font-family:"Poppins",sans-serif;font-size:1rem;letter-spacing:0;margin-bottom:10px}.cp-card p{font-size:.76rem;margin:0}.cp-card a{color:var(--cp-red);font-size:.69rem;font-weight:700;text-transform:uppercase;text-decoration:none}.cp-card small{display:block;color:var(--cp-aqua-dark);font-size:.64rem;margin-top:12px}
.cp-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.cp-step{position:relative;padding:27px 19px;background:#fff;border:1px solid var(--cp-line);border-radius:8px}.cp-step>span{display:block;color:var(--cp-aqua-dark);font-size:.66rem;font-weight:700;margin-bottom:18px}.cp-step i{font-size:1.45rem;color:var(--cp-aqua-dark);margin-bottom:17px}.cp-step h3{font-family:"Poppins",sans-serif;font-size:.92rem;letter-spacing:0}.cp-step p{font-size:.72rem;margin:0}.cp-timeline.nine{grid-template-columns:repeat(3,1fr)}
.cp-feature{background:linear-gradient(135deg,#e7f7f7,#f7fcfc)}.cp-feature-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}.cp-checks{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #cfe4e5;border-left:1px solid #cfe4e5}.cp-check{min-height:128px;padding:25px;display:flex;gap:14px;background:rgba(255,255,255,.64);border-right:1px solid #cfe4e5;border-bottom:1px solid #cfe4e5}.cp-check i{color:var(--cp-aqua-dark);font-size:1.05rem}.cp-check b{display:block;color:var(--cp-navy);font-size:.8rem;margin-bottom:6px}.cp-check span{font-size:.7rem;line-height:1.5;color:var(--cp-text)}
.cp-showcase{display:grid;grid-template-columns:1.1fr .9fr;min-height:510px;background:var(--cp-navy);overflow:hidden}.cp-showcase img{width:100%;height:100%;object-fit:cover}.cp-showcase-copy{padding:58px;color:#fff}.cp-showcase-copy .cp-title,.cp-showcase-copy p{color:#fff}.cp-showcase-copy .cp-kicker{color:#bdebef}.cp-showcase-copy .cp-btn{background:var(--cp-aqua);border-color:var(--cp-aqua);color:var(--cp-navy)}
.cp-values{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.cp-value{padding:27px 20px;text-align:center;background:#fff;border:1px solid var(--cp-line);border-radius:8px}.cp-value i{font-size:1.5rem;color:var(--cp-aqua-dark);margin-bottom:15px}.cp-value h3{font-family:"Poppins",sans-serif;font-size:.88rem;letter-spacing:0}.cp-value p{text-align:center;font-size:.7rem;margin:0}
.cp-compare{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cp-compare>article{padding:34px;background:#fff;border:1px solid var(--cp-line);border-radius:9px}.cp-compare>article:first-child{border-top:4px solid var(--cp-aqua-dark)}.cp-compare>article:last-child{border-top:4px solid var(--cp-red)}.cp-compare h3{font-family:"Poppins",sans-serif;font-size:1.1rem}.cp-compare ul{padding-left:18px}.cp-compare li{margin:10px 0;font-size:.78rem}
.cp-faq-grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:75px;align-items:start}.cp-faq-intro{position:sticky;top:30px}.cp-faq-item{border-top:1px solid var(--cp-line)}.cp-faq-item:last-child{border-bottom:1px solid var(--cp-line)}.cp-faq-item button{width:100%;padding:21px 3px;border:0;background:none;display:grid;grid-template-columns:28px 1fr 20px;gap:12px;text-align:left;color:var(--cp-navy)}.cp-faq-item button span{font-size:.62rem;color:#94a4aa}.cp-faq-item button b{font-family:"Poppins",sans-serif;font-size:.82rem}.cp-faq-item button i{color:var(--cp-aqua-dark);transition:.25s}.cp-faq-item.open button i{transform:rotate(45deg)}.cp-faq-answer{display:grid;grid-template-rows:0fr;transition:.3s}.cp-faq-answer p{overflow:hidden;margin:0 38px 0 43px;font-size:.76rem}.cp-faq-item.open .cp-faq-answer{grid-template-rows:1fr}.cp-faq-item.open .cp-faq-answer p{padding-bottom:20px}
.cp-cta{position:relative;padding:90px 0;background:linear-gradient(90deg,rgba(7,28,40,.94),rgba(7,28,40,.7)),url('../banner/explore-bg.webp') center/cover;color:#fff}.cp-cta .cp-title,.cp-cta p{color:#fff}.cp-cta .cp-kicker{color:#bdebef}.cp-cta-inner{max-width:720px}.cp-cta .cp-btn.outline{border-color:#fff;color:#fff}
.cp-reveal{opacity:1}.cp-js .cp-reveal{opacity:0;transform:translateY(28px);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.7,.25,1);transition-delay:var(--cp-delay,0ms)}.cp-js .cp-reveal.from-left{transform:translateX(-32px)}.cp-js .cp-reveal.from-right{transform:translateX(32px)}.cp-js .cp-reveal.visible{opacity:1;transform:none}
@media(max-width:991px){.cp-section{padding:68px 0}.cp-hero-grid,.cp-split,.cp-feature-grid,.cp-faq-grid{grid-template-columns:1fr;gap:48px}.cp-hero-media{height:460px}.cp-split.reverse .cp-media{order:0}.cp-stats-grid{grid-template-columns:1fr 1fr}.cp-stat:nth-child(2){border-right:0}.cp-stat:nth-child(-n+2){border-bottom:1px solid #d3e7e8}.cp-cards{grid-template-columns:1fr 1fr}.cp-timeline{grid-template-columns:repeat(3,1fr)}.cp-values{grid-template-columns:repeat(3,1fr)}.cp-faq-intro{position:static}.cp-showcase{grid-template-columns:1fr}.cp-showcase img{height:400px}}
@media(max-width:767px){.cp-section{padding:56px 0}.cp-page main .container{padding-inline:18px}.cp-page-hero{padding:58px 0}.cp-hero-media{height:390px}.cp-hero-media>img{width:90%;height:330px}.cp-hero-media .cp-inset{height:170px}.cp-hero-note{left:0}.cp-stats-grid{grid-template-columns:1fr 1fr}.cp-stat{min-height:105px;padding:20px 15px}.cp-stat strong{font-size:1.55rem}.cp-cards,.cp-timeline,.cp-timeline.nine,.cp-checks,.cp-values,.cp-compare{grid-template-columns:1fr}.cp-card{padding:25px 21px}.cp-media img{height:340px}.cp-showcase-copy{padding:42px 24px}.cp-showcase img{height:300px}.cp-faq-grid{gap:35px}.cp-btns .cp-btn{width:100%}.cp-contact-line{display:grid}.cp-subhero .container-fluid{padding:0}.cp-subhero .about-banner{margin-top:0;border-radius:0}}
@media(prefers-reduced-motion:reduce){.cp-js .cp-reveal{opacity:1;transform:none;transition:none}}
.cp-card-photo{padding:0;overflow:hidden}.cp-card-photo__image{width:100%;height:190px;object-fit:cover;transition:transform .45s ease}.cp-card-photo:hover .cp-card-photo__image{transform:scale(1.045)}.cp-card-photo__body{padding:24px}.cp-card-photo__body>i{margin-top:-46px;position:relative;background:#fff;box-shadow:0 7px 18px rgba(15,51,62,.12)}
.cp-timeline.six{grid-template-columns:repeat(3,1fr)}
@media(max-width:767px){.cp-timeline.six{grid-template-columns:1fr}}

/* Direct service overview placed near the top of About and Services pages. */
.cp-service-overview{padding:72px 0 80px;background:#fff}
.cp-service-overview--process{background:var(--cp-cream);border-block:1px solid var(--cp-line)}
.cp-service-overview__head{display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:end;margin-bottom:32px}
.cp-service-overview__head h2{margin:0;font-family:"Playfair Display",Georgia,serif;color:var(--cp-navy);font-size:clamp(2rem,3.4vw,3.35rem);line-height:1.08;letter-spacing:-.03em}
.cp-service-overview__head h2 em{font-style:normal;color:var(--cp-aqua-dark)}
.cp-service-overview__head>p{margin:0!important;font-size:.86rem!important;line-height:1.7!important}
.cp-service-overview__grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--cp-line);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(15,51,62,.06)}
.cp-service-overview__item{min-height:230px;padding:28px 23px;display:flex;flex-direction:column;color:var(--cp-navy)!important;text-decoration:none!important;border-right:1px solid var(--cp-line);transition:.25s ease}
.cp-service-overview__item:last-child{border-right:0}
.cp-service-overview__item>i{width:45px;height:45px;display:grid;place-items:center;margin-bottom:25px;border-radius:8px;background:var(--cp-pale);color:var(--cp-aqua-dark);font-size:1.15rem}
.cp-service-overview__item b{font-size:.91rem;margin-bottom:10px}
.cp-service-overview__item span{color:var(--cp-text);font-size:.73rem;line-height:1.65}
.cp-service-overview__item small{margin-top:auto;padding-top:20px;color:var(--cp-red);font-size:.65rem;font-weight:700;text-transform:uppercase}
a.cp-service-overview__item:hover{background:var(--cp-pale)}
@media(max-width:991px){.cp-service-overview__head{grid-template-columns:1fr;gap:14px}.cp-service-overview__grid{grid-template-columns:1fr 1fr}.cp-service-overview__item{border-bottom:1px solid var(--cp-line)}.cp-service-overview__item:nth-child(2){border-right:0}}
@media(max-width:600px){.cp-service-overview{padding:54px 0 60px}.cp-service-overview__grid{grid-template-columns:1fr}.cp-service-overview__item{min-height:190px;border-right:0}.cp-service-overview__item:last-child{border-bottom:0}}

.cp-hero-copy .cp-title{max-width:720px;font-size:clamp(2.4rem,4.2vw,4.1rem)}
.cp-service-overview--about .cp-service-overview__grid{grid-template-columns:1fr 1fr;gap:16px;border:0;border-radius:0;overflow:visible;box-shadow:none}
.cp-service-overview--about .cp-service-overview__item{min-height:190px;border:1px solid var(--cp-line)!important;border-radius:8px}
.cp-service-overview--process .cp-service-overview__grid{border:0;border-radius:0;overflow:visible;background:transparent;box-shadow:none;gap:18px}
.cp-service-overview--process .cp-service-overview__item{min-height:185px;border:0;border-top:3px solid var(--cp-aqua-dark);background:#fff;box-shadow:0 8px 24px rgba(15,51,62,.06)}
@media(max-width:767px){.cp-service-overview--about .cp-service-overview__grid,.cp-service-overview--process .cp-service-overview__grid{grid-template-columns:1fr}.cp-service-overview--process .cp-service-overview__item{min-height:165px}}

/* Readable heading scale and guaranteed contrast on dark feature panels. */
.cp-page main .cp-title{font-size:clamp(2rem,3vw,3.15rem);line-height:1.1}
.cp-page main .cp-hero-copy .cp-title{font-size:clamp(2.25rem,3.4vw,3.45rem);line-height:1.08}
.cp-page main .cp-showcase-copy p{color:#dbe8ed!important}
.cp-page main .cp-showcase-copy .cp-kicker{color:#aee7eb!important}
.cp-page main .cp-showcase-copy .cp-title{color:#fff!important}
.cp-page main .cp-showcase-copy .cp-title em{color:#35b8c0!important}
@media(max-width:767px){.cp-page main .cp-title{font-size:clamp(1.85rem,8vw,2.55rem)}.cp-page main .cp-hero-copy .cp-title{font-size:clamp(2rem,9vw,2.7rem)}.cp-service-overview__head h2{font-size:clamp(1.85rem,8vw,2.45rem)}}

/* Shared homepage title theme for the About and Services pages. */
.cp-page main .cp-kicker{
  display:flex;
  align-items:center;
  gap:11px;
  margin:0 0 18px;
  color:#16324a;
  font-family:"Poppins",sans-serif;
  font-size:clamp(1.6rem,2.4vw,2.25rem);
  font-weight:600;
  line-height:1.2;
  letter-spacing:-.02em;
  text-transform:none;
}
.cp-page main .cp-kicker:before{
  width:27px;
  height:2px;
  flex:0 0 27px;
  background:#2f7d4f;
}
.cp-page main .cp-title,
.cp-page main .cp-service-overview__head h2{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.cp-page main .cp-heading .cp-kicker{
  justify-content:center;
  text-align:center;
}
.cp-page main .cp-showcase-copy .cp-kicker,
.cp-page main .cp-cta .cp-kicker{
  color:#fff!important;
}
.cp-page main .cp-showcase-copy .cp-kicker:before,
.cp-page main .cp-cta .cp-kicker:before{
  background:#8bd0aa;
}
@media(max-width:767px){
  .cp-page main .cp-kicker{
    font-size:1.4rem;
  }
}

/* Centre the closing CTA and keep every line readable over its dark image. */
.cp-page main .cp-cta-inner{
  max-width:780px;
  margin:0 auto;
  text-align:center;
}
.cp-page main .cp-cta .cp-kicker{
  justify-content:center;
  color:#fff!important;
  text-align:center;
}
.cp-page main .cp-cta p{
  max-width:650px;
  margin-right:auto;
  margin-left:auto;
  color:#e7f1f2!important;
  text-align:center!important;
}
.cp-page main .cp-cta .cp-btns{
  justify-content:center;
}

/* ---- Shared full-width blue system for About and Services ---- */
:root{
  --cp-aqua:#b9dce9;
  --cp-aqua-dark:#246b8e;
  --cp-pale:#eef7fb;
  --cp-navy:#16324a;
  --cp-green:#246b8e;
  --cp-red:#246b8e;
  --cp-line:#d2e4ec;
  --cp-cream:#f4f9fc;
  --cp-shadow:0 18px 42px rgba(22,50,74,.1);
}
.cp-page main .container{width:min(100% - 48px,1320px);max-width:1320px;padding:0}
.cp-page main>section:not(.cp-subhero):not(.cp-cta){background:#fff}
.cp-page main>section:nth-of-type(even):not(.cp-subhero):not(.cp-cta){background:#eef7fb}
.cp-page main .cp-section{padding:72px 0}
.cp-page main .cp-page-hero{padding:76px 0;background:#eef7fb}
.cp-page main .cp-kicker{display:block;margin:0 0 12px;color:#246b8e;font-size:.7rem;font-weight:800;line-height:1.3;letter-spacing:.14em;text-transform:uppercase}
.cp-page main .cp-kicker:before{display:none}
.cp-page main .cp-title,
.cp-page main .cp-service-overview__head h2{position:static!important;width:auto!important;height:auto!important;margin:0 0 22px!important;padding:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important;border:0!important;color:#16324a;font-size:clamp(2rem,3.2vw,3.45rem);line-height:1.07}
.cp-page main .cp-title em,.cp-page main .cp-service-overview__head h2 em{color:#246b8e}
.cp-page main .cp-hero-copy .cp-title{font-size:clamp(2.5rem,4.2vw,4.65rem);line-height:1.02}
.cp-page main .cp-btn{border-color:#246b8e;border-radius:999px;background:#246b8e;text-transform:none;letter-spacing:0;font-size:.76rem}
.cp-page main .cp-btn:hover{background:#174f6d}
.cp-page main .cp-btn.outline{color:#246b8e;background:transparent}
.cp-page main .cp-btn.outline:hover{color:#fff;background:#246b8e}
.cp-page main .cp-hero-grid{grid-template-columns:.95fr 1.05fr;gap:clamp(50px,7vw,100px)}
.cp-page main .cp-hero-media>img{border-radius:18px;box-shadow:0 22px 52px rgba(22,50,74,.13)}
.cp-page main .cp-hero-media .cp-inset{border-radius:16px;box-shadow:0 18px 40px rgba(22,50,74,.14)}
.cp-page main .cp-hero-note,.cp-page main .cp-media-tag{background:#d9edf5;color:#16324a;border-radius:999px}
.cp-page main .cp-stats{background:#e3f1f7;border-color:#c8dee9}
.cp-page main .cp-stat strong{color:#246b8e}

/* Connected grids replace floating card islands. */
.cp-page main .cp-service-overview{padding:64px 0;background:inherit}
.cp-page main .cp-service-overview__grid,
.cp-page main .cp-service-overview--about .cp-service-overview__grid,
.cp-page main .cp-service-overview--process .cp-service-overview__grid{display:grid;gap:1px;border:1px solid #c9dfe9;border-radius:16px;overflow:hidden;background:#c9dfe9;box-shadow:none}
.cp-page main .cp-service-overview--about .cp-service-overview__grid{grid-template-columns:repeat(4,1fr)}
.cp-page main .cp-service-overview__item,
.cp-page main .cp-service-overview--about .cp-service-overview__item,
.cp-page main .cp-service-overview--process .cp-service-overview__item{min-height:190px;padding:26px 24px;border:0!important;border-radius:0;background:#fff;box-shadow:none}
.cp-page main .cp-service-overview__item>i{width:38px;height:38px;margin-bottom:20px;border-radius:10px;background:#e6f2f7;color:#246b8e;font-size:.95rem}
.cp-page main a.cp-service-overview__item:hover{background:#f6fbfd}
.cp-page main .cp-cards{gap:1px;border:1px solid #cddfe8;border-radius:16px;overflow:hidden;background:#cddfe8}
.cp-page main .cp-card{border:0;border-radius:0;box-shadow:none}
.cp-page main .cp-card:hover{transform:none;border:0;box-shadow:none;background:#f7fbfd}
.cp-page main .cp-card i{background:#e8f3f8;color:#246b8e}
.cp-page main .cp-card a{color:#246b8e}
.cp-page main .cp-card-photo__image{transition:none}
.cp-page main .cp-card-photo:hover .cp-card-photo__image{transform:none}
.cp-page main .cp-feature{background:#eaf5f9}
.cp-page main .cp-checks{border-color:#c5dce7}
.cp-page main .cp-check{min-height:112px;background:rgba(255,255,255,.72);border-color:#c5dce7}
.cp-page main .cp-check i{color:#246b8e}
.cp-page main .cp-timeline{gap:1px;border:1px solid #cddfe8;border-radius:16px;overflow:hidden;background:#cddfe8}
.cp-page main .cp-step{border:0;border-radius:0;background:#fff}
.cp-page main .cp-step>span,.cp-page main .cp-step i{color:#246b8e}
.cp-page main .cp-values{gap:1px;border:1px solid #cddfe8;border-radius:16px;overflow:hidden;background:#cddfe8}
.cp-page main .cp-value{border:0;border-radius:0}
.cp-page main .cp-value i{color:#246b8e}
.cp-page main .cp-media img{border-radius:16px;box-shadow:var(--cp-shadow)}
.cp-page main .cp-showcase{background:#16324a;border-radius:0}
.cp-page main .cp-cta{background:linear-gradient(90deg,rgba(9,36,51,.94),rgba(9,36,51,.68)),url('../banner/explore-bg.webp') center/cover}
.cp-page main .cp-cta .cp-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em}
.cp-page main .cp-cta .cp-title{color:#fff!important;margin-bottom:20px!important}

@media(max-width:991px){
  .cp-page main .cp-service-overview--about .cp-service-overview__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
  .cp-page main .container{width:min(100% - 36px,1320px)}
  .cp-page main .cp-section{padding:56px 0}
  .cp-page main .cp-hero-grid{grid-template-columns:1fr;gap:44px}
  .cp-page main .cp-service-overview--about .cp-service-overview__grid{grid-template-columns:1fr}
  .cp-page main .cp-title,.cp-page main .cp-service-overview__head h2{font-size:clamp(1.9rem,8vw,2.6rem)}
  .cp-page main .cp-hero-copy .cp-title{font-size:clamp(2.25rem,10vw,3rem)}
}

/* ---- Open, title-led About and Services layout ---- */
.cp-page main .cp-kicker{margin-bottom:18px;color:#1f6b8f;font-family:"Poppins",sans-serif;font-size:clamp(1.65rem,2.7vw,2.65rem);font-weight:600;line-height:1.12;letter-spacing:-.025em;text-transform:none}
.cp-page main .cp-title,.cp-page main .cp-service-overview__head h2{display:none!important}
.cp-page main .cp-heading{max-width:760px;margin-bottom:34px}
.cp-page main .cp-heading .cp-kicker{justify-content:center;text-align:center}
.cp-page main .cp-heading>p{margin-top:0}
.cp-page main .cp-hero-copy .cp-kicker{font-size:clamp(2.6rem,5vw,5rem);color:#16324a;letter-spacing:-.045em}
.cp-page main .cp-hero-copy .cp-lead{max-width:650px;font-size:1.04rem!important}

/* Remove card containers while preserving clear groups and dividers. */
.cp-page main .cp-service-overview__grid,
.cp-page main .cp-service-overview--about .cp-service-overview__grid,
.cp-page main .cp-service-overview--process .cp-service-overview__grid{gap:0;border:0;border-radius:0;overflow:visible;background:transparent}
.cp-page main .cp-service-overview__item,
.cp-page main .cp-service-overview--about .cp-service-overview__item,
.cp-page main .cp-service-overview--process .cp-service-overview__item{min-height:165px;padding:24px 24px 24px 0;background:transparent;border:0!important;border-top:1px solid #bdd5e1!important;box-shadow:none}
.cp-page main .cp-service-overview__item:not(:first-child){padding-left:24px}
.cp-page main a.cp-service-overview__item:hover{background:transparent;color:#246b8e!important}
.cp-page main .cp-cards{gap:26px;border:0;border-radius:0;overflow:visible;background:transparent}
.cp-page main .cp-card{padding:24px 8px 24px 0;background:transparent;border:0;border-top:1px solid #bdd5e1;box-shadow:none}
.cp-page main .cp-card:hover{background:transparent}
.cp-page main .cp-card>i{background:transparent;border:1px solid #afd0df}
.cp-page main .cp-card-photo{padding:0;border-top:0}
.cp-page main .cp-card-photo__body{padding:22px 0}
.cp-page main .cp-card-photo__body>i{margin-top:-42px;margin-left:18px;background:#fff}
.cp-page main .cp-card-photo__image{border-radius:0}
.cp-page main .cp-checks{gap:0 32px;border:0;background:transparent}
.cp-page main .cp-check{min-height:96px;padding:20px 0;background:transparent;border:0;border-bottom:1px solid #bdd5e1}
.cp-page main .cp-timeline,.cp-page main .cp-values{gap:20px;border:0;border-radius:0;overflow:visible;background:transparent}
.cp-page main .cp-step,.cp-page main .cp-value{padding:24px 10px 24px 0;background:transparent;border:0;border-top:1px solid #bdd5e1;border-radius:0}
.cp-page main .cp-compare{gap:40px}
.cp-page main .cp-compare>article{padding:28px 0;background:transparent;border:0;border-top:1px solid #bdd5e1;border-radius:0}
.cp-page main .cp-compare>article:first-child,.cp-page main .cp-compare>article:last-child{border-top:1px solid #bdd5e1}
.cp-page main .cp-feature{background:#edf7fb}

/* Two-image recognition viewer. */
.cp-page main .cp-recognition{background:#e9f4f9!important}
.cp-recognition-gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.cp-recognition-card{position:relative;height:500px;padding:0;border:0;background:#d9e8ef;overflow:hidden;cursor:zoom-in;text-align:left}
.cp-recognition-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.75,.25,1),filter .55s ease}
.cp-recognition-card:nth-child(2) img{object-fit:contain;padding:24px;background:#fff}
.cp-recognition-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,35,50,.9),rgba(8,35,50,.08) 62%);transition:background .35s ease}
.cp-recognition-card>span{position:absolute;z-index:2;left:28px;right:28px;bottom:25px;color:#fff;transform:translateY(28px);transition:transform .35s ease}
.cp-recognition-card small,.cp-recognition-card b,.cp-recognition-card em{display:block}
.cp-recognition-card small{margin-bottom:7px;color:#bfe5f3;font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.cp-recognition-card b{font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.4rem,2.4vw,2.35rem);line-height:1.08}
.cp-recognition-card em{margin-top:12px;color:#dcecf3;font-size:.68rem;font-style:normal;opacity:0;transition:opacity .35s ease}
.cp-recognition-card:hover img,.cp-recognition-card:focus-visible img{transform:scale(1.035);filter:saturate(1.08)}
.cp-recognition-card:hover>span,.cp-recognition-card:focus-visible>span{transform:none}
.cp-recognition-card:hover em,.cp-recognition-card:focus-visible em{opacity:1}
.cp-recognition-card:focus-visible{outline:3px solid #246b8e;outline-offset:4px}
.cp-recognition-notes{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:22px}
.cp-recognition-notes p{margin:0;padding-top:18px;border-top:1px solid #b9d3df}

.cp-image-lightbox{position:fixed;z-index:99999;inset:0;display:grid;place-items:center;padding:28px;visibility:hidden;opacity:0;transition:opacity .25s ease,visibility .25s ease}
.cp-image-lightbox.is-open{visibility:visible;opacity:1}
.cp-image-lightbox__backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(5,20,29,.86);cursor:zoom-out}
.cp-image-lightbox__panel{position:relative;z-index:1;display:grid;grid-template-rows:minmax(0,1fr) auto;width:min(1050px,94vw);height:min(820px,88vh);padding:18px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.cp-image-lightbox__panel img{width:100%;height:100%;object-fit:contain}
.cp-image-lightbox__panel p{margin:12px 40px 0 0!important;color:#16324a!important;font-weight:600}
.cp-image-lightbox__close{position:absolute;z-index:2;top:18px;right:18px;width:44px;height:44px;border:0;border-radius:50%;background:#16324a;color:#fff;font-size:1.1rem}
body.cp-lightbox-open{overflow:hidden}

@media(max-width:767px){
  .cp-page main .cp-hero-copy .cp-kicker{font-size:clamp(2.5rem,12vw,3.6rem)}
  .cp-page main .cp-kicker{font-size:1.6rem}
  .cp-page main .cp-service-overview__item:not(:first-child){padding-left:0}
  .cp-recognition-gallery,.cp-recognition-notes{grid-template-columns:1fr}
  .cp-recognition-card{height:340px}
  .cp-recognition-card>span{transform:none}
  .cp-recognition-card em{opacity:1}
  .cp-image-lightbox{padding:14px}
  .cp-image-lightbox__panel{width:96vw;height:84vh;padding:10px}
}

/* ---- Homepage-style opening sections ---- */
.cp-hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:26px 0 4px;padding:19px 0;border-top:1px solid #bdd5e1;border-bottom:1px solid #bdd5e1}
.cp-hero-proof>div{padding:0 17px;border-right:1px solid #c8dee8}
.cp-hero-proof>div:first-child{padding-left:0}
.cp-hero-proof>div:last-child{padding-right:0;border-right:0}
.cp-hero-proof strong{display:block;color:#246b8e;font-family:"Playfair Display",Georgia,serif;font-size:1.7rem;line-height:1}
.cp-hero-proof span{display:block;margin-top:6px;color:#647b88;font-size:.63rem;font-weight:600;line-height:1.35;text-transform:uppercase;letter-spacing:.04em}

/* About story: editorial image-and-copy composition with three concise proof points. */
.cp-page main .cp-about-story{background:#fff!important}
.cp-about-story .cp-split{grid-template-columns:1.08fr .92fr;gap:clamp(48px,7vw,96px)}
.cp-about-story .cp-media img{height:540px;border-radius:0;box-shadow:none}
.cp-about-story .cp-media-tag{right:24px;bottom:24px}
.cp-about-story__facts{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.cp-about-story__facts span{padding:9px 14px;border:1px solid #bfd7e2;border-radius:999px;color:#246b8e;font-size:.68rem;font-weight:700}

/* What we do: one compact end-to-end service rail instead of another card grid. */
.cp-page main .cp-what-we-do{background:#eaf5f9!important}
.cp-what-we-do .cp-heading{margin-left:0;text-align:left}
.cp-what-we-do .cp-heading .cp-kicker{justify-content:flex-start;text-align:left}
.cp-page main .cp-what-we-do .cp-cards{grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid #b9d3df;border-bottom:1px solid #b9d3df}
.cp-page main .cp-what-we-do .cp-card{position:relative;min-height:230px;padding:30px 25px;border:0;border-left:1px solid #b9d3df;background:transparent}
.cp-page main .cp-what-we-do .cp-card:first-child{border-left:0}
.cp-page main .cp-what-we-do .cp-card>i{width:auto;height:auto;margin:36px 0 22px;border:0;background:transparent;font-size:1.35rem}
.cp-what-number{position:absolute;top:22px;right:22px;color:#8da9b6;font-size:.62rem;font-weight:700;letter-spacing:.1em}
.cp-page main .cp-what-we-do .cp-card h3{font-size:.95rem}
.cp-page main .cp-what-we-do .cp-card p{font-size:.72rem}
.cp-page main .cp-what-we-do .cp-card a{display:inline-flex;align-items:center;gap:7px;margin-top:18px}
.cp-page main .cp-what-we-do .cp-card a i{width:auto;height:auto;margin:0;border:0;background:transparent;font-size:.65rem}

/* Services testimonials: same staggered interaction and visual language as home. */
.cp-page main .cp-testimonial-section{position:relative;overflow:hidden;background:#e9f4f9!important;padding-bottom:86px}
.cp-testimonial-head{display:flex;align-items:end;justify-content:space-between;gap:36px}
.cp-testimonial-head>p:last-child{max-width:520px;margin:0 0 18px}
.cp-testimonial-stack{position:relative;height:430px;margin-top:8px}
.cp-testimonial-card{position:absolute;left:50%;top:50%;width:360px;height:300px;padding:34px;background:#fff;border:1px solid #bed7e3;clip-path:polygon(42px 0,calc(100% - 42px) 0,100% 42px,100% 100%,42px 100%,0 100%,0 0);cursor:pointer;transition:transform .55s cubic-bezier(.2,.75,.25,1),opacity .4s ease,background .4s ease,box-shadow .4s ease;transform:translate(-50%,-48%)}
.cp-testimonial-card:before{content:"";position:absolute;right:-1px;top:40px;width:60px;height:1px;background:#bed7e3;transform:rotate(45deg);transform-origin:right center}
.cp-testimonial-card[data-position="-2"]{z-index:1;transform:translate(-145%,-45%) rotate(-4deg);opacity:.46}
.cp-testimonial-card[data-position="-1"]{z-index:2;transform:translate(-95%,-52%) rotate(-2.5deg);opacity:.76}
.cp-testimonial-card[data-position="0"]{z-index:5;transform:translate(-50%,-57%);background:#246b8e;color:#fff;border-color:#246b8e;box-shadow:0 11px 0 #b7d3e0,0 24px 50px rgba(22,50,74,.18)}
.cp-testimonial-card[data-position="1"]{z-index:2;transform:translate(-5%,-48%) rotate(2.5deg);opacity:.76}
.cp-testimonial-card[data-position="2"]{z-index:1;transform:translate(45%,-43%) rotate(4deg);opacity:.46}
.cp-testimonial-card[aria-hidden="true"]{visibility:hidden;opacity:0}
.cp-testimonial-card blockquote{margin:20px 0;color:#16324a;font-family:"Playfair Display",Georgia,serif;font-size:1.12rem;line-height:1.55}
.cp-testimonial-card.is-active blockquote{color:#fff}
.cp-testimonial-card footer{position:absolute;left:34px;right:34px;bottom:28px;display:flex;align-items:center;gap:12px;padding-top:15px;border-top:1px solid #d5e4eb}
.cp-testimonial-card.is-active footer{border-color:rgba(255,255,255,.28)}
.cp-testimonial-avatar{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:#e9f4f9;color:#246b8e}
.cp-testimonial-card footer>span:last-child{display:grid}
.cp-testimonial-card footer b{color:#16324a;font-size:.78rem}
.cp-testimonial-card footer small{color:#708691;font-size:.63rem}
.cp-testimonial-card.is-active footer b{color:#fff}
.cp-testimonial-card.is-active footer small{color:#d9eaf2}
.cp-testimonial-controls{position:absolute;z-index:10;left:50%;bottom:34px;display:flex;gap:8px;transform:translateX(-50%)}
.cp-testimonial-controls button{width:50px;height:50px;border:1px solid #9fc3d4;background:#fff;color:#174f6d}
.cp-testimonial-controls button:hover{background:#246b8e;color:#fff}

@media(max-width:1100px){
  .cp-page main .cp-what-we-do .cp-cards{grid-template-columns:repeat(3,1fr)}
  .cp-page main .cp-what-we-do .cp-card:nth-child(4){border-left:0;border-top:1px solid #b9d3df}
  .cp-page main .cp-what-we-do .cp-card:nth-child(5){border-top:1px solid #b9d3df}
}
@media(max-width:767px){
  .cp-hero-proof{grid-template-columns:1fr;gap:12px}
  .cp-hero-proof>div,.cp-hero-proof>div:first-child{display:flex;align-items:baseline;justify-content:space-between;padding:0;border:0}
  .cp-about-story .cp-split{grid-template-columns:1fr}
  .cp-about-story .cp-media img{height:370px}
  .cp-page main .cp-what-we-do .cp-cards{grid-template-columns:1fr}
  .cp-page main .cp-what-we-do .cp-card,.cp-page main .cp-what-we-do .cp-card:nth-child(4),.cp-page main .cp-what-we-do .cp-card:nth-child(5){min-height:175px;padding:24px 0;border-left:0;border-top:1px solid #b9d3df}
  .cp-testimonial-head{display:block}
  .cp-testimonial-stack{height:390px}
  .cp-testimonial-card{width:290px;height:300px;padding:28px}
  .cp-testimonial-card[data-position="-2"],.cp-testimonial-card[data-position="2"]{visibility:hidden;opacity:0}
  .cp-testimonial-card[data-position="-1"]{transform:translate(-82%,-49%) rotate(-3deg);opacity:.5}
  .cp-testimonial-card[data-position="1"]{transform:translate(-18%,-47%) rotate(3deg);opacity:.5}
  .cp-testimonial-card[data-position="0"]{transform:translate(-50%,-54%)}
  .cp-testimonial-card footer{left:28px;right:28px}
}
