.elementor-33494 .elementor-element.elementor-element-ccicswrap{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for container, class: .elementor-element-ccicswrap *//* CCI — Partners. Measured off Derek's /partners pages, 31 Aug. */

.cci-pt{
  --pt-cream:#FAF9F4; --pt-cream2:#F3EFE8; --pt-line:#E0D8CD;
  --pt-ink:#15171E; --pt-ink60:#5B5E67; --pt-soft:#B5B2AB;
  --pt-red:#E43C3A; --pt-red-dk:#C52B2B;
  --pt-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  background:var(--pt-cream);
}
.cci-pt *{box-sizing:border-box;}
.cci-pt-wrap{max-width:1400px;margin:0 auto;padding:0 24px;}

/* --- hero (dark) --------------------------------------------------- */
.cci-pt-hero{background:var(--pt-ink);padding:128px 0 56px;}
.cci-pt .cci-pt-back{
  display:inline-block;font-family:var(--pt-mono);font-size:11px;line-height:16px;
  letter-spacing:2.2px;text-transform:uppercase;color:rgba(250,249,244,.7);
  text-decoration:none;margin:0 0 28px;
}
.cci-pt .cci-pt-back:hover{color:#fff;}
.cci-pt-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 24px;}
.cci-pt .cci-pt-pill{
  display:inline-flex;align-items:center;border-radius:9999px;padding:4px 10px;
  font-family:var(--pt-mono);font-size:10px;line-height:15px;letter-spacing:1px;
  text-transform:uppercase;
}
.cci-pt .cci-pt-pill--tier{background:var(--pt-red-dk);color:#fff;}
.cci-pt .cci-pt-pill--ghost{
  border:1px solid rgba(250,249,244,.25);color:rgba(250,249,244,.8);background:transparent;
}
.cci-pt .cci-pt-since{
  font-family:var(--pt-mono);font-size:10px;line-height:15px;letter-spacing:1px;
  text-transform:uppercase;color:var(--pt-soft);
}
.cci-pt-id{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.cci-pt .cci-pt-logo{
  display:inline-flex;align-items:center;justify-content:center;
  background:#fff;border-radius:12px;padding:12px 20px;min-height:80px;max-width:220px;
}
.cci-pt .cci-pt-logo img{display:block;max-width:100%;height:auto;max-height:56px;width:auto;}
.cci-pt h1.cci-pt-h1{
  font-size:60px !important;line-height:1 !important;font-weight:800 !important;
  letter-spacing:-1.5px !important;color:var(--pt-cream) !important;margin:0 !important;
  overflow-wrap:break-word;
}
.cci-pt .cci-pt-tag{
  font-size:18px;line-height:28px;color:rgba(250,249,244,.75);margin:22px 0 0;max-width:720px;
}
.cci-pt .cci-pt-quote{
  border-left:3px solid var(--pt-red);margin:24px 0 0;padding:2px 0 2px 16px;
  font-size:18px;line-height:29px;font-style:italic;color:rgba(250,249,244,.85);max-width:720px;
}

/* --- shared label -------------------------------------------------- */
.cci-pt .cci-pt-lab{
  font-family:var(--pt-mono);font-size:10px;line-height:15px;letter-spacing:2.8px;
  text-transform:uppercase;color:var(--pt-ink60);margin:0 0 16px;
}
.cci-pt .cci-pt-lab--dark{color:rgba(250,249,244,.6);}

/* --- what they do / deliver ---------------------------------------- */
.cci-pt-main{background:var(--pt-cream);padding:64px 0;}
.cci-pt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:start;}
.cci-pt .cci-pt-prose p{font-size:16px;line-height:26px;color:rgba(21,23,30,.75);margin:0 0 18px;}
.cci-pt .cci-pt-prose p:last-child{margin-bottom:0;}
.cci-pt .cci-pt-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.cci-pt .cci-pt-list li{
  display:flex;gap:12px;align-items:flex-start;
  font-size:14px;line-height:22.75px;color:rgba(21,23,30,.75);margin:0;
}
.cci-pt .cci-pt-dot{
  flex:0 0 6px;width:6px;height:6px;margin-top:9px;border-radius:9999px;background:var(--pt-red);
}
.cci-pt .cci-pt-dot--muted{background:rgba(21,23,30,.3);}
.cci-pt .cci-pt-card{
  margin-top:32px;background:#fff;border:1px solid var(--pt-line);
  border-radius:8px;padding:22px 24px;
}
.cci-pt .cci-pt-lab--card{margin-bottom:14px;}

/* --- workshop / podcast tiles -------------------------------------- */
.cci-pt-cards{background:var(--pt-cream);padding:8px 0 64px;}
.cci-pt-cards__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;}
.cci-pt .cci-pt-tile{
  background:#fff;border:1px solid var(--pt-line);border-radius:8px;padding:24px;
}
.cci-pt .cci-pt-tile__h{
  font-size:18px;line-height:26px;font-weight:700;color:var(--pt-ink);margin:0;
}
.cci-pt .cci-pt-tile__go{
  display:inline-block;margin-top:16px;font-size:14px;line-height:20px;font-weight:700;
  color:var(--pt-red-dk);text-decoration:none;
}
.cci-pt .cci-pt-tile__go:hover{color:var(--pt-red);}

/* --- dark CTA ------------------------------------------------------ */
.cci-pt-cta{background:var(--pt-ink);}
.cci-pt-cta__inner{
  display:flex;align-items:center;justify-content:space-between;gap:32px;
  flex-wrap:wrap;padding-top:80px;padding-bottom:80px;
}
.cci-pt h2.cci-pt-cta__h{
  font-size:30px !important;line-height:38px !important;font-weight:800 !important;
  letter-spacing:-.6px !important;color:#fff !important;margin:0 !important;max-width:620px;
}
.cci-pt-cta__meta{display:flex;flex-wrap:wrap;gap:24px;margin-top:16px;}
.cci-pt .cci-pt-cta__link{
  font-size:14px;line-height:22px;color:rgba(250,249,244,.75);text-decoration:none;
}
.cci-pt a.cci-pt-cta__link:hover{color:#fff;text-decoration:underline;}
.cci-pt .cci-pt-cta__btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:0 32px;border-radius:6px;background:var(--pt-red-dk);
  color:#fff;text-decoration:none;font-size:16px;font-weight:600;
  letter-spacing:.8px;text-transform:uppercase;white-space:nowrap;
}
.cci-pt .cci-pt-cta__btn:hover{background:#A82323;color:#fff;}

/* --- responsive ---------------------------------------------------- */
@media (max-width:900px){
  .cci-pt-grid,.cci-pt-cards__grid{grid-template-columns:minmax(0,1fr);gap:36px;}
  .cci-pt h1.cci-pt-h1{font-size:44px !important;}
}
@media (max-width:767px){
  .cci-pt-hero{padding:104px 0 48px;}
  .cci-pt h1.cci-pt-h1{font-size:34px !important;letter-spacing:-1px !important;}
  .cci-pt .cci-pt-logo{min-height:64px;padding:10px 16px;}
  .cci-pt .cci-pt-tag,.cci-pt .cci-pt-quote{font-size:16px;line-height:26px;}
  .cci-pt-main{padding:48px 0;}
  .cci-pt h2.cci-pt-cta__h{font-size:24px !important;line-height:31px !important;}
  .cci-pt-cta__inner{padding-top:56px;padding-bottom:56px;}
}

/* ---- Parity pass, 31 Aug: measured against his /partners/hatchworks-ai ----
   His partner page body runs in a 1024px container (container max-w-5xl),
   not the 1400px site container the header and footer use. */
.cci-pt .cci-pt-wrap{ max-width:1024px; }

/* Hero canvas: 72px grid at 7% plus a red glow from the TOP RIGHT.
   (The case study hero uses 56px and glows from the bottom left - these
   are deliberately different in his build, so do not unify them.) */
.cci-pt-hero{ position:relative; overflow:hidden; }
.cci-pt-hero::before,
.cci-pt-hero::after{ content:""; position:absolute; inset:0; pointer-events:none; }
.cci-pt-hero::before{
  background-image:
    linear-gradient(#FAF9F4 1px, rgba(0,0,0,0) 1px),
    linear-gradient(90deg, #FAF9F4 1px, rgba(0,0,0,0) 1px);
  background-size:72px 72px, 72px 72px;
  opacity:.07;
}
.cci-pt-hero::after{
  background:radial-gradient(ellipse at 80% 0%, rgba(228,60,58,.2), rgba(0,0,0,0) 60%);
}
.cci-pt-hero .cci-pt-wrap{ position:relative; z-index:1; }

/* Hero detail */
.cci-pt .cci-pt-back{ line-height:16.5px; letter-spacing:2.42px; color:#B5B2AB; }
.cci-pt .cci-pt-meta{ gap:12px; }
.cci-pt .cci-pt-id{ gap:20px; }
.cci-pt .cci-pt-tag{ max-width:672px; margin-top:20px; }
.cci-pt .cci-pt-quote{ max-width:672px; border-left-width:2px; }

/* Call-them-when card */
.cci-pt .cci-pt-card{ border-radius:16px; border-color:rgba(21,23,30,.1); padding:24px; }
.cci-pt .cci-pt-dot{ margin-top:8px; }

/* CTA band */
.cci-pt .cci-pt-cta__h{
  font-size:24px; line-height:30px; letter-spacing:normal;
  color:#FAF9F4; max-width:512px;
}
.cci-pt .cci-pt-cta__btn{ height:48px; min-height:48px; line-height:48px; }
.cci-pt .cci-pt-cta__meta{ gap:20px; }
.cci-pt .cci-pt-cta__link{ letter-spacing:normal; display:inline-flex; align-items:center; gap:8px; }
.cci-pt .cci-pt-cta__link svg{ width:16px; height:16px; flex:0 0 16px; }

/* Workshops / podcast tiles - top rule, as on his build */
.cci-pt .cci-pt-cards{ border-top:1px solid rgba(21,23,30,.1); }

/* Other firms on the bench */
.cci-pt-more{ background:#FAF9F4; padding:64px 0; }
.cci-pt .cci-pt-more__h{
  font-family:inherit; font-size:30px; line-height:36px; font-weight:800;
  letter-spacing:-.75px; color:#15171E; margin:0;
}
.cci-pt .cci-pt-more__grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:32px;
}
.cci-pt .cci-pt-more__card{
  display:flex; flex-direction:column; gap:12px;
  background:#FFFFFF; border:1px solid rgba(21,23,30,.1);
  border-radius:16px; padding:24px;
}
.cci-pt .cci-pt-more__cat{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:10px; line-height:15px; letter-spacing:2.8px;
  text-transform:uppercase; color:#5B5E67; margin:0;
}
.cci-pt .cci-pt-more__name{
  font-size:20px; line-height:26px; font-weight:800; letter-spacing:-.4px;
  color:#15171E; margin:0;
}
.cci-pt .cci-pt-more__tag{
  font-size:14px; line-height:22px; color:rgba(21,23,30,.75); margin:0;
}
.cci-pt .cci-pt-more__go{
  margin-top:auto; font-size:14px; line-height:22px; font-weight:500;
  color:#C52B2B; text-decoration:none;
}
.cci-pt .cci-pt-more__go:hover{ text-decoration:underline; }

@media (max-width:900px){
  .cci-pt .cci-pt-more__grid{ grid-template-columns:1fr; }
}


/* ---- 13 Sep 2026 (Kim): body at the header's width with 3/5 + 2/5 columns;
   "Call them when" leads the right column with Derek's target icon; list copy
   +2px; the contact card sits full width and rounded between the body and
   the tiles; bench cards get more padding. */
.cci-pt .cci-pt-wrap{ max-width:1120px; } /* every section at 1200 (Kim, 13 Sep: 1400 stretched the CTA) */
@media (min-width:901px){
  .cci-pt-grid{ grid-template-columns:minmax(0,3fr) minmax(0,2fr); }
}
.cci-pt .cci-pt-list li{ font-size:16px; line-height:26px; }
.cci-pt .cci-pt-lab--card{ display:flex; align-items:center; gap:8px; }
.cci-pt .cci-pt-lab__ico{ width:14px; height:14px; flex:0 0 14px; }
.cci-pt .cci-pt-col > .cci-pt-card:first-child{ margin-top:0; }
.cci-pt .cci-pt-col > .cci-pt-deliver:not(:first-child){ margin-top:32px; }
.cci-pt .cci-pc{ background:transparent; padding:0 0 64px; }
.cci-pt .cci-pc__wrap{ max-width:1120px; } /* 1120 = 40 tighter each side than 1200 (Kim, 13 Sep) */
.cci-pt .cci-pt-more__card{ padding:28px; }

/* 13 Sep, later (Kim): hero + body copy narrower than the header width;
   downloads sit in the contact card's right column under the website button. */
.cci-pt-hero .cci-pt-wrap, .cci-pt-main .cci-pt-wrap{ max-width:1120px; }
.cci-pt .cci-pc__card{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto auto 1fr; column-gap:48px; align-items:start; }
.cci-pt .cci-pc__eyebrow{ grid-column:1 / -1; }
.cci-pt .cci-pc__grid{ display:contents; }
.cci-pt .cci-pc__grid > div:first-child{ grid-row:2 / span 2; }
.cci-pt .cci-pc__side{ grid-row:2; }
.cci-pt .cci-pc__dls{ grid-column:2; grid-row:3; align-self:start; margin-top:28px; border-top:0; padding-top:0; }
.cci-pt .cci-pc__dlgrid{ grid-template-columns:1fr; }
@media (max-width:860px){
  .cci-pt .cci-pc__card{ grid-template-columns:1fr; grid-template-rows:none; row-gap:34px; }
  .cci-pt .cci-pc__eyebrow{ margin-bottom:0; }
  .cci-pt .cci-pc__grid > div:first-child{ grid-row:auto; }
  .cci-pt .cci-pc__side{ grid-row:auto; }
  .cci-pt .cci-pc__dls{ grid-column:1; grid-row:auto; margin-top:0; }
}

/* ---- TWO partner contacts, 13 Sep 2026 ----
   [stated] Kim: put the second contact UNDER the first so the website button and the
   downloads keep the right-hand column. So both people stay in column 1 - contact 1
   on row 2, contact 2 on row 3 - and .cci-pc__side (row 2, col 2) and .cci-pc__dls
   (row 3, col 2) are left exactly as the one-contact layout already had them.
   The only thing that changes for contact 1 is losing its `span 2`, which existed
   purely to let one person's block run the height of both right-hand cells. */
.cci-pt .cci-pc__grid--two > .cci-pc__contact:nth-child(1){ grid-row:2; grid-column:1; }
.cci-pt .cci-pc__grid--two > .cci-pc__contact:nth-child(2){ grid-row:3; grid-column:1; margin-top:34px; }
@media (max-width:860px){
  .cci-pt .cci-pc__grid--two > .cci-pc__contact:nth-child(1),
  .cci-pt .cci-pc__grid--two > .cci-pc__contact:nth-child(2){ grid-row:auto; grid-column:1; margin-top:0; }
}

/* 13 Sep (Kim): workshop + podcast tiles always shown, between the body and
   the contact card, no divider; tile padding as Derek's (p-8). */
.cci-pt .cci-pt-cards{ border-top:0; padding:0 0 64px; }
.cci-pt .cci-pt-tile{ padding:32px; border-radius:16px; border-color:rgba(21,23,30,.1); }
.cci-pt .cci-pt-tile__sub{ font-family:var(--pt-mono); font-size:10px; line-height:15px; letter-spacing:2.8px; text-transform:uppercase; color:var(--pt-ink60); margin:8px 0 0; }

/* 13 Sep (Kim): tried a 25px outdent on the Call them when card, reverted - the box edge must sit on the video edge. */

/* 13 Sep (Kim): What they deliver boxed the same as Call them when. */
.cci-pt .cci-pt-deliver{ background:transparent; border:1px solid rgba(21,23,30,.1); border-radius:16px; padding:24px; }
.cci-pt .cci-pt-deliver .cci-pt-lab{ margin-bottom:14px; }/* End custom CSS */