/* Crafted Pixel homepage section audit — November 2026.
   One deliberate type scale, readable light/dark colours, restrained spacing.
   Scoped to homepage; other service pages remain untouched. */
.home{
  --cp-home-ink:#16242e;
  --cp-home-muted:#465660;
  --cp-home-light:#f5f7f8;
  --cp-home-dark:#0b1118;
  --cp-home-dark-copy:#c4ced4;
  --cp-home-cyan:#00ccff;
  --cp-home-cyan-ink:#183b50; /* charcoal-blue readable text on pale backgrounds, no teal */
}
.home section.cp-section{
  padding-top:clamp(78px,7vw,112px)!important;
  padding-bottom:clamp(78px,7vw,112px)!important;
}
.home section.cp-section h2{
  font-family:var(--cp-head)!important;
  font-size:clamp(34px,3.55vw,52px)!important;
  line-height:1.1!important;
  font-weight:800!important;
  letter-spacing:-.038em!important;
  text-wrap:balance;
}
.home section.cp-section .cp-kicker{
  font-size:12px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:.09em;
  margin-bottom:16px;
}
.home .cp-services-showcase,
.home .cp-why-v7,
.home .cp-proof-v1,
.home .cp-about-v3{
  background:var(--cp-home-light)!important;
  color:var(--cp-home-ink)!important;
}
.home .cp-work-v5,
.home .cp-process-v1,
.home .cp-locations-v1,
.home .cp-final-cta{
  background:var(--cp-home-dark)!important;
  color:#f5f7f8!important;
}
/* Strong contrast on each surface, without neon copy on white. */
.home .cp-services-showcase h2,
.home .cp-why-v7 h2,
.home .cp-proof-v1 h2,
.home .cp-about-v3 h2{
  color:var(--cp-home-ink)!important;
}
/* The signature cyan is #00ccff; its deep-blue tone preserves contrast on white. */
.home .cp-services-showcase h2 .cp-accent,
.home .cp-why-v7 h2 .cp-accent,
.home .cp-proof-v1 h2 .cp-accent,
.home .cp-about-v3 h2 .cp-accent{
  color:var(--cp-home-cyan-ink)!important;
}
.home .cp-work-v5 h2,
.home .cp-process-v1 h2,
.home .cp-locations-v1 h2,
.home .cp-final-cta h2{color:#f5f7f8!important}
.home .cp-work-v5 .cp-accent,
.home .cp-process-v1 .cp-accent,
.home .cp-locations-v1 .cp-accent,
.home .cp-final-cta .cp-accent{color:var(--cp-home-cyan)!important}
.home .cp-services-showcase .cp-kicker,
.home .cp-why-v7 .cp-kicker,
.home .cp-proof-v1 .cp-kicker,
.home .cp-about-v3 .cp-kicker{color:var(--cp-home-cyan-ink)!important}
.home .cp-work-v5 .cp-kicker,
.home .cp-process-v1 .cp-kicker,
.home .cp-locations-v1 .cp-kicker,
.home .cp-final-cta .cp-kicker{color:var(--cp-home-cyan)!important}
/* Copy baseline across sections */
.home .cp-services-showcase-head > p,
.home .cp-work-v5-head-copy p,
.home .cp-why-v7-intro,
.home .cp-why-v7-note,
.home .cp-why-v7-point p,
.home .cp-process-intro p,
.home .cp-process-step p,
.home .cp-proof-google p,
.home .cp-locations-intro p,
.home .cp-about-v3-intro p,
.home .cp-about-v3-line p,
.home .cp-final-cta-copy p{
  font-family:var(--cp-body);
  font-size:16px!important;
  line-height:1.68!important;
  letter-spacing:normal;
}
.home .cp-services-showcase-head > p,
.home .cp-why-v7-intro,
.home .cp-why-v7-note,
.home .cp-why-v7-point p,
.home .cp-proof-google p,
.home .cp-about-v3-intro p,
.home .cp-about-v3-line p{
  color:var(--cp-home-muted)!important;
}
.home .cp-work-v5-head-copy p,
.home .cp-process-intro p,
.home .cp-process-step p,
.home .cp-locations-intro p,
.home .cp-final-cta-copy p{
  color:var(--cp-home-dark-copy)!important;
}
.home .cp-why-v7-point h3,
.home .cp-about-v3-line h3{
  font-family:var(--cp-head);
  font-size:clamp(23px,2.1vw,29px)!important;
  font-weight:700;
  line-height:1.14!important;
  color:var(--cp-home-ink)!important;
}
.home .cp-process-step h3{
  font-size:clamp(23px,2.1vw,29px)!important;
  line-height:1.14!important;
  color:#f5f7f8!important;
}
.home .cp-work-v5 .cp-feature-v5-copy h3{
  font-size:clamp(30px,3vw,43px)!important;
  line-height:1.1!important;
}
.home .cp-work-v5 .cp-project-card-copy-v5 h3{
  font-size:clamp(22px,2vw,26px)!important;
  line-height:1.15!important;
}
.home .cp-work-v5 .cp-project-card-copy-v5 p,
.home .cp-work-v5 .cp-feature-v5-copy p{color:#b7c5cd!important}
.home .cp-work-v5 .cp-feature-v5-lead{color:#f2f6f8!important}
.home .cp-about-v3 .cp-about-v3-copy .cp-text-link,
.home .cp-proof-google .cp-text-link{
  color:var(--cp-home-cyan-ink)!important;
}
.home .cp-work-v5 .cp-text-link,
.home .cp-process-v1 .cp-text-link,
.home .cp-locations-v1 .cp-text-link,
.home .cp-final-cta .cp-text-link{color:var(--cp-home-cyan)!important}
.home .cp-services-showcase .cp-showcase-tile .cp-showcase-description{color:#465660!important}
.home .cp-services-showcase .cp-showcase-feature .cp-showcase-description{color:#d6e3ea!important}
/* A small link to the industries hub replaces the oversized homepage directory. */
.home .cp-home-industry-path{
  margin-top:30px;
  padding:22px 0 0;
  border-top:1px solid rgba(12,34,46,.14);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px 28px;
}
.home .cp-home-industry-path p{
  max-width:660px;
  margin:0;
  color:var(--cp-home-muted)!important;
  font-size:15px;
  line-height:1.65;
}
.home .cp-home-industry-path a{
  color:var(--cp-home-cyan-ink)!important;
  flex:none;
  white-space:normal;
}
/* Remaining small cyan text on a light panel needs the ink variant. */
.home .cp-why-v7 .cp-why-v7-flow span:last-of-type{
  color:var(--cp-home-cyan-ink)!important;
}
.home .cp-proof-v1 .cp-proof-google-label,
.home .cp-proof-v1 .cp-proof-google-rating span{
  color:#47606c!important;
}
.home .cp-services-showcase .cp-showcase-tile .cp-showcase-top{
  color:#455964!important;
}
/* Final cross-section contrast and small-label audit. */
.home .cp-why-v7 .cp-why-v7-flow {
  border-top-color:rgba(22,36,46,.18)!important;
  border-bottom-color:rgba(22,36,46,.18)!important;
}
.home .cp-why-v7 .cp-why-v7-flow i,
.home .cp-why-v7 .cp-why-v7-flow span:not(:last-of-type) {
  color:#334853!important;
}
.home .cp-process-v1 .cp-process-num,
.home .cp-process-v1 .cp-process-meta {
  color:#b4c1c8!important;
}
.home .cp-work-v5 .cp-project-tags {
  color:#a7bfc9!important;
}
.home .cp-work-v5 .cp-project-card-copy-v5 a,
.home .cp-work-v5 .cp-feature-v5-copy .cp-text-link {
  color:#e9f4f9!important;
}
.home .cp-proof-v1 .cp-proof-feature footer span,
.home .cp-proof-v1 .cp-proof-secondary footer span {
  color:#c1ccd2!important;
}
.home .cp-services-showcase .cp-showcase-tile .cp-showcase-top {
  color:#425661!important;
}
.home .cp-services-showcase .cp-home-industry-path .cp-text-link,
.home .cp-proof-v1 .cp-text-link,
.home .cp-about-v3 .cp-text-link {
  color:#00718e!important;
}
.home .cp-reveal{
  opacity:1!important;
  transform:none!important;
}
/* Eliminate empty corridors and oversized decorative areas. */
.home .cp-work-v5-head,
.home .cp-proof-head{margin-bottom:36px!important}
.home .cp-process-head{margin-bottom:44px!important}
.home .cp-process-step{
  min-height:0!important;
  padding-bottom:20px;
}
.home .cp-process-step p{margin-bottom:16px}
.home .cp-process-num{margin-bottom:26px}
.home .cp-process-footer{margin-top:32px!important}
.home .cp-why-v7 .cp-why-v7-grid{gap:clamp(36px,5vw,84px)}
.home .cp-why-v7 .cp-why-v7-point{margin-bottom:18px;padding-bottom:18px}
.home .cp-locations-v1 .cp-locations-top{margin-bottom:35px!important}
.home .cp-locations-v1 .cp-locations-stage{
  min-height:310px!important;
}
.home .cp-locations-v1 .cp-locations-word{display:none!important}
.home .cp-locations-v1 .cp-locations-copy{padding-bottom:25px}
.home .cp-locations-v1 .cp-locations-regions .cp-location-area{
  min-height:52px;
  font-size:clamp(18px,1.6vw,23px);
}
.home .cp-locations-v1 .cp-locations-footer{padding-top:20px}
.home .cp-about-v3 .cp-about-v3-head{margin-bottom:36px!important}
.home .cp-about-v3 .cp-about-v3-brand{
  min-height:420px!important;
}
.home .cp-about-v3 .cp-about-v3-line{padding-bottom:18px;margin-bottom:18px}
.home .cp-final-cta .cp-final-cta-card{gap:clamp(30px,4vw,62px)}
.home .cp-final-cta .cp-final-cta-copy p{max-width:540px}
.home .cp-button:not(.cp-button-ghost){
  background:var(--cp-home-cyan);
  color:#061823;
  border-color:var(--cp-home-cyan);
}
/* Keep interactive elements usable and reduce copy jumps on narrow screens. */
@media(max-width:980px){
  .home .cp-home-industry-path{display:block}
  .home .cp-home-industry-path a{display:inline-flex;margin-top:14px}
}
@media(max-width:720px){
  .home section.cp-section{
    padding-top:60px!important;
    padding-bottom:60px!important;
  }
  .home section.cp-section h2{
    font-size:clamp(28px,7.4vw,36px)!important;
    line-height:1.12!important;
    letter-spacing:-.03em!important;
    overflow-wrap:normal;
  }
  .home section.cp-section .cp-kicker{
    font-size:11px!important;
    margin-bottom:13px!important;
  }
  .home .cp-hero h1{
    font-size:clamp(39px,10.7vw,52px)!important;
    line-height:1!important;
    letter-spacing:-.04em;
    overflow-wrap:normal;
  }
  .home .cp-hero .cp-hero-copy{
    font-size:16px!important;
    line-height:1.65!important;
  }
  .home .cp-work-v5 .cp-feature-v5-copy h3{
    font-size:clamp(27px,7.3vw,33px)!important;
    line-height:1.12!important;
  }
  .home .cp-work-v5 .cp-project-card-copy-v5 h3{font-size:23px!important}
  .home .cp-services-showcase .cp-showcase-service-name{font-size:25px!important}
  .home .cp-services-showcase .cp-showcase-feature .cp-showcase-service-name{font-size:clamp(32px,8vw,38px)!important}
  .home .cp-services-showcase-head{margin-bottom:26px}
  .home .cp-why-v7 .cp-why-v7-grid{gap:28px!important}
  .home .cp-process-step{padding-bottom:28px!important}
  .home .cp-process-num{margin-bottom:14px!important}
  .home .cp-proof-feature blockquote > p{
    font-size:clamp(21px,5.8vw,29px)!important;
    line-height:1.33!important;
  }
  .home .cp-proof-head,
  .home .cp-work-v5-head{margin-bottom:28px!important}
  .home .cp-locations-v1 .cp-locations-stage{
    min-height:0!important;
    padding:26px 0!important;
    gap:20px!important;
  }
  .home .cp-locations-v1 .cp-locations-copy{padding:0!important}
  .home .cp-locations-v1 .cp-locations-top{margin-bottom:22px!important}
  .home .cp-locations-v1 .cp-locations-footer{display:block}
  .home .cp-locations-v1 .cp-locations-footer a{display:inline-flex;margin-top:14px}
  .home .cp-about-v3 .cp-about-v3-brand{min-height:320px!important}
  .home .cp-about-v3 .cp-about-v3-head{margin-bottom:26px!important}
  .home .cp-final-cta .cp-final-cta-card{gap:24px;padding:24px 18px!important}
  .home .cp-final-cta .cp-final-cta-copy h2{font-size:clamp(28px,7.4vw,36px)!important}
}


/* Brand colour sign-off: no teal headings on light sections.
   True brand cyan #00ccff provides the decoration; dark text remains legible. */
.home .cp-services-showcase h2 .cp-accent,
.home .cp-why-v7 h2 .cp-accent,
.home .cp-proof-v1 h2 .cp-accent,
.home .cp-about-v3 h2 .cp-accent{
  color:var(--cp-home-ink)!important;
  text-decoration-line:underline;
  text-decoration-color:#00ccff;
  text-decoration-thickness:3px;
  text-underline-offset:.16em;
}
.home .cp-services-showcase .cp-kicker,
.home .cp-why-v7 .cp-kicker,
.home .cp-proof-v1 .cp-kicker,
.home .cp-about-v3 .cp-kicker{
  color:#16242e!important;
  border-left:3px solid #00ccff;
  padding-left:10px;
}
.home .cp-services-showcase .cp-home-industry-path .cp-text-link,
.home .cp-proof-v1 .cp-text-link,
.home .cp-about-v3 .cp-text-link{
  color:#16242e!important;
  border-bottom:2px solid #00ccff;
}
.home .cp-why-v7 .cp-why-v7-flow span:last-of-type{
  color:#16242e!important;
  border-bottom:2px solid #00ccff;
}
.home .cp-why-v7 .cp-why-v7-point:hover h3{color:#16242e!important}
.home .cp-hero .cp-accent,
.home .cp-work-v5 h2 .cp-accent,
.home .cp-process-v1 h2 .cp-accent,
.home .cp-locations-v1 h2 .cp-accent,
.home .cp-final-cta h2 .cp-accent{color:#00ccff!important}
@media(max-width:720px){
  .home .cp-services-showcase h2 .cp-accent,
  .home .cp-why-v7 h2 .cp-accent,
  .home .cp-proof-v1 h2 .cp-accent,
  .home .cp-about-v3 h2 .cp-accent{ text-decoration-thickness:2px;text-underline-offset:.12em }
}

/* Online collaboration replaces the outdated geographical coverage grid.
   Use existing dark-section spacing/type scales, with no location chips. */
.home .cp-collab .cp-locations-top{
  margin-bottom:32px!important;
}
.home .cp-collab .cp-locations-stage{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
  gap:clamp(32px,5vw,82px)!important;
  min-height:0!important;
  padding:30px 0!important;
  overflow:visible;
}
.home .cp-collab .cp-locations-copy{
  align-self:center;
  padding:0!important;
  min-width:0;
}
.home .cp-collab .cp-locations-copy p{
  font-family:var(--cp-head);
  font-size:clamp(26px,2.4vw,38px)!important;
  line-height:1.16!important;
  letter-spacing:-.035em;
  color:#f5f7f8!important;
}
.home .cp-collab .cp-collab-points{
  min-width:0;
  width:100%;
}
.home .cp-collab .cp-collab-point{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:14px;
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.13);
}
.home .cp-collab .cp-collab-point:first-child{padding-top:2px}
.home .cp-collab .cp-collab-point:last-child{border-bottom:0}
.home .cp-collab .cp-collab-number{
  padding-top:6px;
  font-size:12px;
  font-weight:700;
  color:#00ccff;
}
.home .cp-collab .cp-collab-point h3{
  margin:0 0 7px;
  font-family:var(--cp-head);
  font-size:clamp(21px,1.8vw,25px);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.2;
  color:#f5f7f8;
}
.home .cp-collab .cp-collab-point p{
  max-width:530px;
  margin:0;
  color:#bdc9d0!important;
  font-size:15px!important;
  line-height:1.65!important;
}
@media(max-width:980px){
  .home .cp-collab .cp-locations-stage{
    grid-template-columns:minmax(0,1fr)!important;
    gap:22px!important;
  }
  .home .cp-collab .cp-locations-copy{justify-self:start}
}
@media(max-width:720px){
  .home .cp-collab .cp-locations-top{margin-bottom:22px!important}
  .home .cp-collab .cp-locations-stage{padding:20px 0!important;gap:18px!important}
  .home .cp-collab .cp-locations-copy p{font-size:clamp(25px,6.7vw,31px)!important}
  .home .cp-collab .cp-collab-point{gap:12px;grid-template-columns:28px minmax(0,1fr);padding:16px 0}
  .home .cp-collab .cp-collab-point h3{font-size:22px!important}
  .home .cp-collab .cp-collab-point p{font-size:14px!important}
}

/* Compact, three-stat proof strip — featured web-project count.
   Responsive cards replace four narrow cells without affecting testimonial cards. */
.home .cp-stats-redesign{
  padding:20px 0;
  background:#070d12;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.home .cp-stats-redesign .cp-proof-band-inner-v2{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(0,1fr))!important;
  align-items:stretch;
  gap:12px;
  min-height:0;
}
.home .cp-stats-redesign .cp-proof-stat-v2,
.home .cp-stats-redesign .cp-proof-stat-v2:nth-child(3){
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  min-height:143px!important;
  padding:26px clamp(18px,2.6vw,36px)!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:12px;
  background:linear-gradient(145deg,#101b23,#0b131b);
}
.home .cp-stats-redesign .cp-proof-stat-v2::before{
  content:"";
  position:absolute;
  top:0;left:20px;right:20px;
  height:2px;
  background:rgba(0,204,255,.35);
}
.home .cp-stats-redesign .cp-stat-feature{
  background:linear-gradient(116deg,#102833,#0b1822 70%)!important;
  border-color:rgba(0,204,255,.32)!important;
}
.home .cp-stats-redesign .cp-stat-feature::before{
  left:0;right:auto;width:85px;
  height:3px;
  background:#00ccff;
  border-radius:12px 0 0 0;
}
.home .cp-stats-redesign .cp-proof-stat-v2 strong{
  display:block;
  margin:0 0 12px!important;
  font-size:clamp(38px,3.6vw,55px)!important;
  line-height:1!important;
  font-weight:800;
  letter-spacing:-.055em;
  color:#f5f7f8!important;
  white-space:nowrap;
}
.home .cp-stats-redesign .cp-stat-feature strong{
  font-size:clamp(55px,5.4vw,80px)!important;
}
.home .cp-stats-redesign .cp-stat-plus,
.home .cp-stats-redesign .cp-stat-star{color:#00ccff}
.home .cp-stats-redesign .cp-stat-star{
  display:inline-block;
  margin-left:3px;
  font-size:.64em;
  vertical-align:9%;
  letter-spacing:0;
}
.home .cp-stats-redesign .cp-proof-stat-v2 > span{
  display:block;
  margin:0;
  color:#c9d5dc!important;
  font-size:clamp(11px,1vw,13px)!important;
  font-weight:600;
  line-height:1.4;
  letter-spacing:.025em;
  text-transform:none;
}
@media(max-width:820px){
  .home .cp-stats-redesign .cp-proof-band-inner-v2{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px;
  }
  .home .cp-stats-redesign .cp-stat-feature{
    grid-column:1/-1;
    min-height:128px!important;
  }
  .home .cp-stats-redesign .cp-proof-stat-v2,
  .home .cp-stats-redesign .cp-proof-stat-v2:nth-child(3){
    padding:23px 20px!important;
    min-height:113px!important;
    border:1px solid rgba(255,255,255,.13)!important;
  }
  .home .cp-stats-redesign .cp-stat-feature strong{font-size:clamp(56px,10vw,74px)!important}
  .home .cp-stats-redesign .cp-proof-stat-v2:not(.cp-stat-feature) strong{
    font-size:clamp(35px,7vw,46px)!important;
  }
}
@media(max-width:480px){
  .home .cp-stats-redesign{padding:14px 0}
  .home .cp-stats-redesign .cp-proof-band-inner-v2{gap:8px}
  .home .cp-stats-redesign .cp-proof-stat-v2,
  .home .cp-stats-redesign .cp-proof-stat-v2:nth-child(3){
    padding:20px 15px!important;
    min-height:111px!important;
  }
  .home .cp-stats-redesign .cp-stat-feature{min-height:121px!important}
  .home .cp-stats-redesign .cp-proof-stat-v2 > span{
    font-size:11px!important;
  }
}

