/* CONSULIGENCE v18.9 — intentional contrast: scattered BEFORE, calm AFTER.
   Brand palette, pure-black canvas, approved typography and logo are unchanged. */
:root {--cg-royal-purple:#7851D9}

/* A concise, open-ended catalogue entry. Never compete with the main hero CTAs. */
.v17-hero .cg-hero-services{max-width:620px;margin-top:24px;gap:11px;}
.cg-capability-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.cg-capability-note{color:#9fa0aa;font:600 .55rem/1.4 var(--fb);letter-spacing:.09em;}
.v17-hero .cg-hero-services-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
.v17-hero .cg-hero-services-links a{min-height:51px;padding:10px 10px;font-size:.66rem;line-height:1.38;border-radius:9px;background:#080809;border-color:rgba(255,255,255,.15);}
.v17-hero .cg-hero-services-links a:hover{border-color:rgba(249,3,101,.6);background:#140b10;}
.cg-capability-more{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px 3px;border-top:1px solid rgba(255,255,255,.17);color:#fff!important;text-decoration:none!important;}
.cg-capability-more>span:first-child{display:flex;flex-direction:column;gap:3px;}
.cg-capability-more strong{font:750 .7rem/1.3 var(--fb);letter-spacing:.12em;color:#ffd166;}
.cg-capability-more small{font:500 .72rem/1.5 var(--fb);color:#d0d0d8;}
.cg-capability-more>span:last-child{font-size:1.25rem;color:#f90365;transition:transform .18s ease;}
.cg-capability-more:hover>span:last-child{transform:translate(3px,-2px);}

/* A scattered *visual*, not an inaccessible or overlapping reading experience. */
#problem .cg-before-card{position:relative;overflow:hidden;background:#070708!important;}
#problem .cg-before-card::before{content:"";pointer-events:none;position:absolute;inset:80px 6px 40px;opacity:.55;
 background-image:repeating-linear-gradient(118deg,transparent 0 38px,rgba(249,3,101,.16) 39px,transparent 40px,transparent 88px),
 repeating-linear-gradient(17deg,transparent 0 85px,rgba(255,209,102,.085) 86px,transparent 87px,transparent 120px);mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 85%,transparent);}
#problem .cg-before-card::after{content:"?";position:absolute;right:29px;top:32px;font:400 3rem/1 var(--fd);color:rgba(249,3,101,.45);pointer-events:none;}
#problem .cg-before-card .v17-panel-label,#problem .cg-before-card .cg-compare-intro,#problem .cg-before-card .cg-compare-bottom{position:relative;z-index:2;}
#problem .cg-before-card .cg-compare-intro{max-width:43ch;}
#problem .cg-tool-groups{position:relative;z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 11px;align-content:space-between;padding:15px 3px 13px;}
#problem .cg-tool-group{position:relative;overflow:visible;min-width:0;background:transparent;border:0;border-radius:0;padding:7px 4px 11px;box-shadow:none;}
#problem .cg-tool-group h3{position:relative;z-index:2;color:#91919e;font-size:.53rem;letter-spacing:.13em;margin:0 0 8px;}
#problem .cg-tool-group ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 7px;align-items:start;}
#problem .cg-tool-group li{position:relative;display:flex;align-items:center;min-width:0;min-height:34px;padding:7px 8px;background:#17161a;border:1px solid rgba(255,255,255,.25);border-radius:6px;box-shadow:2px 6px 14px rgba(0,0,0,.38);font-size:.61rem;line-height:1.3;font-weight:600;transform-origin:center;overflow-wrap:break-word;white-space:normal;transition:transform .3s ease,border-color .3s ease;}
#problem .cg-tool-group:nth-child(1){transform:translate(-4px,-1px) rotate(-1.8deg);}
#problem .cg-tool-group:nth-child(2){transform:translate(3px,10px) rotate(2.3deg);}
#problem .cg-tool-group:nth-child(3){transform:translate(2px,9px) rotate(1.7deg);}
#problem .cg-tool-group:nth-child(4){transform:translate(-3px,-4px) rotate(-2.1deg);}
#problem .cg-tool-group li:nth-child(6n+1){transform:translate(-3px,-1px) rotate(-4deg);border-color:rgba(249,3,101,.44);}
#problem .cg-tool-group li:nth-child(6n+2){transform:translate(2px,3px) rotate(3deg);}
#problem .cg-tool-group li:nth-child(6n+3){transform:translate(4px,-1px) rotate(-2deg);border-color:rgba(255,209,102,.35);}
#problem .cg-tool-group li:nth-child(6n+4){transform:translate(-1px,4px) rotate(3.3deg);}
#problem .cg-tool-group li:nth-child(6n+5){transform:translate(2px,1px) rotate(-3deg);border-color:rgba(6,214,160,.32);}
#problem .cg-tool-group li:nth-child(6n+6){transform:translate(-3px,-2px) rotate(2.4deg);}
#problem .cg-tool-group li:hover{transform:translate(0,0) rotate(0);z-index:3;border-color:#f90365;}
#problem .cg-compare-bottom{padding-top:10px;border-top:1px dashed rgba(255,255,255,.19);}

/* The demonstration actions must always align, even at intermediate widths. */
.v17-demo-side .v17-actions{display:grid;grid-template-columns:minmax(0,1fr);width:min(100%,370px);align-items:stretch;gap:10px;margin-top:24px;}
.v17-demo-side .v17-actions>.v17-btn{display:flex;width:100%;max-width:100%;min-height:49px;padding:12px 17px;border-radius:10px;justify-content:center;align-items:center;text-align:center;line-height:1.35;white-space:normal;overflow-wrap:break-word;}
.v17-demo-side .v17-actions .v17-secondary{border-color:rgba(255,255,255,.34);background:#101012;}

/* Founder credentials: a refined editorial exhibit. No cards or boxes. */
.v17-founder-copy .cg-founder-credentials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:27px;row-gap:22px;margin:29px 0 26px;padding:0;background:transparent;border:0;}
.v17-founder-copy .cg-qualification-heading{grid-column:1/-1;margin:0 0 4px;padding:0 0 14px;border-bottom:1px solid rgba(255,209,102,.55);font:750 .7rem/1.4 var(--fb);letter-spacing:.16em;color:#ffd166;}
.v17-founder-copy .cg-credential{position:relative;padding:14px 0 0;min-height:116px;border:0!important;border-top:1px solid rgba(255,255,255,.23)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;min-width:0;}
.v17-founder-copy .cg-credential::before{content:counter(cgqual,decimal-leading-zero);position:absolute;right:0;top:15px;font:650 .63rem/1 var(--fb);letter-spacing:.1em;color:#ffd166;opacity:.8;}
.v17-founder-copy .cg-founder-credentials{counter-reset:cgqual;}
.v17-founder-copy .cg-credential{counter-increment:cgqual;}
.v17-founder-copy .cg-credential strong{display:block;margin:0 30px 6px 0;font:400 clamp(1.8rem,2.4vw,2.65rem)/1 var(--fd);text-transform:uppercase;color:#fff;letter-spacing:.025em;}
.v17-founder-copy .cg-credential span{display:block;margin:0 0 5px;font:750 .76rem/1.42 var(--fb);color:#ffd166;}
.v17-founder-copy .cg-credential small{display:block;color:#c5c5ce;font:450 .7rem/1.55 var(--fb);}
.v17-founder-copy .cg-founder-principle{margin-top:15px;padding-left:16px;border-left:2px solid #f90365;color:#f3f3f5;}

@media(max-width:1024px){
  .v17-hero .cg-hero-services-links{grid-template-columns:repeat(2,minmax(0,1fr));}
  #problem .cg-tool-groups{gap:13px 17px;}
}
@media(max-width:800px){
  #problem .cg-tool-groups{grid-template-columns:repeat(2,minmax(0,1fr));}
  #problem .cg-tool-group li{min-height:35px;font-size:.64rem;}
}
@media(max-width:600px){
  .v17-hero .cg-hero-services-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
  .cg-capability-note{font-size:.53rem;}
  #problem .cg-tool-groups{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 5px;padding:12px 0;}
  #problem .cg-tool-group{padding:5px 2px 9px;}
  #problem .cg-tool-group ul{grid-template-columns:minmax(0,1fr);gap:6px;}
  #problem .cg-tool-group li{min-height:31px;padding:6px 7px;font-size:.6rem;}
  #problem .cg-tool-group h3{font-size:.48rem;}
  #problem .cg-tool-group:nth-child(n){transform:none;}
  #problem .cg-tool-group li:nth-child(n){transform:none;}
  #problem .cg-tool-group li:nth-child(odd){transform:rotate(-2.5deg) translateX(-2px);}
  #problem .cg-tool-group li:nth-child(even){transform:rotate(2deg) translateX(2px);}
  .v17-founder-copy .cg-founder-credentials{grid-template-columns:minmax(0,1fr);gap:12px;}
  .v17-founder-copy .cg-credential{min-height:0;padding:13px 0 5px;}
  .v17-founder-copy .cg-credential strong{font-size:2.2rem;}
}
@media(max-width:360px){
  .v17-hero .cg-hero-services-links{grid-template-columns:minmax(0,1fr);}
  #problem .cg-tool-group li{font-size:.56rem;}
}
@media(prefers-reduced-motion:reduce){
  #problem .cg-tool-group li,.cg-capability-more>span:last-child{transition:none!important;}
}

/* Win over legacy yellow-background and credential-card !important rules. */
.v17-founder-copy .cg-founder-credentials{
  background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;padding:0!important;margin:29px 0 26px!important;
  gap:22px 27px!important;
}
.v17-founder-copy .cg-founder-credentials .cg-qualification-heading{
  color:#ffd166!important;margin:0 0 4px!important;padding:0 0 14px!important;
  border-bottom:1px solid rgba(255,209,102,.55)!important;
  font:750 .7rem/1.4 var(--fb)!important;letter-spacing:.16em!important;
}
.v17-founder-copy .cg-founder-credentials .cg-credential{
  padding:14px 0 0!important;min-height:116px!important;
  background:transparent!important;border:0!important;
  border-top:1px solid rgba(255,255,255,.23)!important;
  border-radius:0!important;box-shadow:none!important;
}
.v17-founder-copy .cg-founder-credentials .cg-credential strong{
  color:#fff!important;font:400 clamp(1.8rem,2.4vw,2.65rem)/1 var(--fd)!important;
  letter-spacing:.025em!important;text-transform:uppercase!important;margin:0 30px 6px 0!important;
}
.v17-founder-copy .cg-founder-credentials .cg-credential span{
  color:#ffd166!important;font:750 .76rem/1.42 var(--fb)!important;
  margin:0 0 5px!important;
}
.v17-founder-copy .cg-founder-credentials .cg-credential small{
  color:#c5c5ce!important;font:450 .7rem/1.55 var(--fb)!important;
  margin:0!important;
}
@media(max-width:600px){
  .v17-founder-copy .cg-founder-credentials{grid-template-columns:minmax(0,1fr)!important;gap:14px!important;}
  .v17-founder-copy .cg-founder-credentials .cg-credential{min-height:0!important;padding:14px 0 5px!important;}
}
/* Keep every tool name readable even though the collage is deliberately uneven. */
@media(min-width:601px){#problem .cg-tool-group ul{row-gap:18px!important;}}


/* v18.10 — make AFTER / ONE CONNECTED FLOW feel genuinely connected */
#problem .cg-after-card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 14%, rgba(120,81,217,.16), transparent 24%),
    radial-gradient(circle at 10% 88%, rgba(6,214,160,.10), transparent 22%),
    linear-gradient(180deg,#0b0b0f 0%,#09090c 100%)!important;
}
#problem .cg-after-card::before{
  content:"";
  position:absolute;
  inset:76px 26px 58px;
  pointer-events:none;
  opacity:.55;
  background:
    linear-gradient(180deg, rgba(249,3,101,.09), rgba(255,209,102,.08) 45%, rgba(6,214,160,.08));
  mask:
    linear-gradient(to right, transparent 0, #000 16%, #000 84%, transparent 100%);
}
#problem .cg-after-card::after{
  content:"";
  position:absolute;
  left:41px;
  top:145px;
  bottom:102px;
  width:2px;
  background:linear-gradient(180deg, rgba(249,3,101,.85), rgba(255,209,102,.9), rgba(6,214,160,.85), rgba(120,81,217,.9));
  box-shadow:0 0 20px rgba(255,209,102,.18);
  border-radius:999px;
}
#problem .cg-after-card .cg-compare-intro,
#problem .cg-after-card .v17-panel-label,
#problem .cg-after-card .cg-compare-bottom{position:relative;z-index:2;}
#problem .cg-joined-steps{position:relative;z-index:2;gap:12px;}
#problem .cg-joined-steps::before{
  content:"";
  position:absolute;
  left:41px;
  top:18px;
  bottom:18px;
  width:2px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(249,3,101,.18), rgba(255,209,102,.18) 45%, rgba(6,214,160,.18), rgba(120,81,217,.18));
}
#problem .cg-joined-steps::after{
  content:"";
  position:absolute;
  left:35px;
  top:18px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%, #fff 0 18%, #f90365 30%, #ffd166 62%, #06d6a0 100%);
  box-shadow:0 0 0 6px rgba(255,255,255,.03), 0 0 16px rgba(249,3,101,.28), 0 0 30px rgba(6,214,160,.15);
  animation:cgFlowPulse 4.2s linear infinite;
}
#problem .cg-joined-steps li{
  overflow:visible;
  padding:16px 16px 16px 0;
  grid-template-columns:82px minmax(0,1fr);
  align-items:center;
  gap:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03), 0 14px 34px rgba(0,0,0,.26);
}
#problem .cg-joined-steps li::before{
  content:"";
  position:absolute;
  left:42px;
  top:50%;
  width:30px;
  height:2px;
  background:linear-gradient(90deg, rgba(255,209,102,.75), rgba(6,214,160,.45));
  transform:translateY(-50%);
}
#problem .cg-joined-steps li::after{
  content:"";
  position:absolute;
  right:15px;
  top:50%;
  width:9px;
  height:9px;
  border-radius:50%;
  transform:translateY(-50%);
  background:#fff;
  opacity:.9;
  box-shadow:0 0 0 3px rgba(255,255,255,.04), 0 0 14px rgba(255,255,255,.12);
}
#problem .cg-joined-steps li:nth-child(1){border-color:rgba(249,3,101,.28)}
#problem .cg-joined-steps li:nth-child(1)::after{background:#f90365; box-shadow:0 0 0 3px rgba(249,3,101,.08), 0 0 16px rgba(249,3,101,.28)}
#problem .cg-joined-steps li:nth-child(2){border-color:rgba(255,209,102,.28)}
#problem .cg-joined-steps li:nth-child(2)::after{background:#ffd166; box-shadow:0 0 0 3px rgba(255,209,102,.09), 0 0 16px rgba(255,209,102,.22)}
#problem .cg-joined-steps li:nth-child(3){border-color:rgba(6,214,160,.28)}
#problem .cg-joined-steps li:nth-child(3)::after{background:#06d6a0; box-shadow:0 0 0 3px rgba(6,214,160,.08), 0 0 16px rgba(6,214,160,.22)}
#problem .cg-joined-steps li:nth-child(4){border-color:rgba(120,81,217,.33)}
#problem .cg-joined-steps li:nth-child(4)::after{background:#7851D9; box-shadow:0 0 0 3px rgba(120,81,217,.08), 0 0 16px rgba(120,81,217,.26)}
#problem .cg-step-number{
  position:relative;
  justify-self:center;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font:800 .72rem/1 var(--fb);
  letter-spacing:.08em;
  color:#fff;
  background:#121216;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 0 0 8px rgba(255,255,255,.015);
}
#problem .cg-joined-steps li>span:last-child{position:relative; padding-right:14px;}
#problem .cg-joined-steps li>span:last-child::after{
  content:"";
  position:absolute;
  left:0;
  right:22px;
  bottom:-10px;
  height:1px;
  background:linear-gradient(90deg, rgba(255,255,255,.12), transparent);
}
#problem .cg-joined-steps li:last-child>span:last-child::after{display:none;}
#problem .cg-joined-steps strong{font-size:.74rem; letter-spacing:.14em;}
#problem .cg-joined-steps small{font-size:.78rem; line-height:1.55; color:#e1e1e7;}
#problem .cg-after-note{
  display:flex;
  align-items:center;
  gap:10px;
}
#problem .cg-after-note span{
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:rgba(6,214,160,.12);
  color:#06d6a0;
  box-shadow:0 0 0 1px rgba(6,214,160,.22) inset;
}
@keyframes cgFlowPulse{
  0%{transform:translateY(0); opacity:0;}
  10%{opacity:1;}
  28%{transform:translateY(56px);}
  52%{transform:translateY(122px);}
  76%{transform:translateY(188px);}
  100%{transform:translateY(244px); opacity:0;}
}
@media(max-width:800px){
  #problem .cg-after-card::after,
  #problem .cg-joined-steps::before{left:28px;}
  #problem .cg-joined-steps::after{left:22px;}
  #problem .cg-joined-steps li{grid-template-columns:56px minmax(0,1fr); padding:14px 14px 14px 0;}
  #problem .cg-joined-steps li::before{left:28px; width:18px;}
  #problem .cg-step-number{width:36px; height:36px; font-size:.68rem;}
}
@media(max-width:600px){
  #problem .cg-after-card::after{display:none;}
  #problem .cg-joined-steps{gap:10px;}
  #problem .cg-joined-steps::before{left:24px; top:16px; bottom:16px;}
  #problem .cg-joined-steps::after{left:18px; width:12px; height:12px;}
  #problem .cg-joined-steps li{grid-template-columns:48px minmax(0,1fr); padding:12px 12px 12px 0; border-radius:14px;}
  #problem .cg-joined-steps li::before{left:24px; width:14px;}
  #problem .cg-step-number{width:32px; height:32px; font-size:.64rem;}
  #problem .cg-joined-steps strong{font-size:.68rem;}
  #problem .cg-joined-steps small{font-size:.73rem;}
}
@media(prefers-reduced-motion:reduce){
  #problem .cg-joined-steps::after{animation:none; opacity:.9;}
}
