/* Directional merge: Kenan's visual system, PPC Ninja's strategy narrative. */
:root{
  --merge-red:#dc2626;
  --merge-red-dark:#991b1b;
  --merge-ink:#09090b;
  --merge-slate:#525866;
  --merge-line:#dfe2e7;
  --merge-paper:#f6f7f9;
  --merge-navy:#111a2b;
  --trustpilot-green:#00b67a;
}

/* One typographic voice: sentence-case labels and a tighter, predictable scale. */
.kicker,.utility,.row-head .n,.format-caption,.project-meta,.rv-who small,
footer h4,.engine-label,.search-query small{
  text-transform:none!important;
  letter-spacing:.035em!important;
}
.kicker{font-size:.82rem!important;font-weight:650!important}
.service-wordwall,.wordwall{font-size:clamp(3rem,7.4vw,7.2rem)!important;line-height:.94!important}
.intro-title,.statement-s{font-size:clamp(2.25rem,4.5vw,4.6rem)!important;line-height:1.02!important}
#hero .partner-trust img{width:270px!important;height:110px!important;max-width:100%!important;object-fit:cover!important;object-position:center!important}
/* Keep the partner credential prominent once, then let the growth proof breathe. */
#growth .proof-side{display:block!important;min-width:0!important;align-self:center!important}
#growth .proof-side .mkts{padding:0!important;min-width:0!important}
#growth .proof-side .mkts p{max-width:28ch!important;margin:0!important;font-size:1rem!important;line-height:1.45!important}
.row-head .n{display:none!important}
:is(#services,#creative-catalog) .row-head{
  display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;
  grid-template-rows:auto!important;grid-template-areas:"txt plus"!important;
  align-items:start!important;gap:18px!important;padding:34px 38px!important;min-height:210px!important;
}
:is(#services,#creative-catalog) .row-head .txt{grid-area:txt!important;min-width:0!important;margin:0!important;padding:0!important}
:is(#services,#creative-catalog) .row-head .plus{grid-area:plus!important;position:static!important;inset:auto!important;align-self:start!important;justify-self:end!important}
:is(#services,#creative-catalog) .row-head .mk{display:none!important}
:is(#services,#creative-catalog) .row-head .name{min-height:0!important;max-width:none!important;font-size:clamp(1.55rem,2.25vw,2.35rem)!important;line-height:1.03!important}
:is(#services,#creative-catalog) .row-head .desc{
  font-size:1rem!important;line-height:1.45!important;max-width:35ch!important;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}
.service-dialog-body a[href*="forms.gle"]{display:none!important}
.txt-link{text-transform:none!important;letter-spacing:.03em!important}

.legacy-merge-section{display:none!important}

.merge-strategy{background:var(--merge-ink);color:#fff;padding:clamp(78px,10vw,150px) 0}
.merge-section-head{max-width:850px;margin-bottom:clamp(48px,6vw,86px)}
.merge-section-head h2,.merge-search h2{
  margin:18px 0 22px;font-size:clamp(3rem,7.4vw,7.1rem);line-height:.91;letter-spacing:-.06em;
}
.merge-section-head h2 span,.merge-search h2 span{color:#f36a6a}
.merge-section-head>p:last-child{max-width:59ch;color:#b7bac3;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.55}
.engine-system{display:grid;grid-template-columns:minmax(0,1fr) 170px minmax(0,1fr);gap:22px;align-items:center;position:relative}
.engine-system:before{content:"";position:absolute;left:20%;right:20%;top:50%;height:1px;background:#3a3a40;z-index:0}
.engine{position:relative;z-index:1;min-height:390px;border:1px solid #33343a;border-radius:36px;padding:44px;background:#111216;overflow:hidden}
.engine:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-80px;bottom:-105px;border:1px solid rgba(255,255,255,.14);box-shadow:0 0 0 32px rgba(255,255,255,.025),0 0 0 64px rgba(255,255,255,.018)}
.engine-next{background:linear-gradient(145deg,#2b0b0e,#121216 70%)}
.engine-label{color:#f58a8a;font-weight:650;font-size:.9rem}
.engine h3{font-size:clamp(2rem,3.6vw,3.5rem);letter-spacing:-.045em;margin:22px 0 42px}
.engine ul{display:grid;gap:14px;color:#d6d7dc;line-height:1.45;max-width:29ch}
.engine li{padding-left:19px;position:relative}.engine li:before{content:"";width:6px;height:6px;background:#ef4444;border-radius:50%;position:absolute;left:0;top:.6em}
.strategy-core{position:relative;z-index:2;aspect-ratio:1;border:1px solid #45464d;border-radius:50%;background:#fff;color:#111;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:20px;box-shadow:0 0 0 12px #09090b}
.strategy-core small{font-size:.76rem;line-height:1.45;color:#696b75}.strategy-core strong{font-size:1.22rem;line-height:1.1;margin-top:10px}
.engine-feedback{display:flex;align-items:center;justify-content:center;gap:18px;margin:40px auto 0;max-width:760px;color:#b7bac3}
.engine-feedback>span{font-size:2.25rem;color:#ef4444}.engine-feedback strong{color:#fff}

.merge-decisions{padding:clamp(72px,8vw,118px) 0;background:#f4f5f7}
.decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.decision-card{border:1px solid var(--merge-line);border-radius:34px;padding:clamp(34px,4.5vw,62px);background:#fff;min-height:520px;display:flex;flex-direction:column}
.decision-card h2{font-size:clamp(2.2rem,4vw,4.15rem);line-height:.98;letter-spacing:-.055em;max-width:12ch;margin:18px 0 24px}
.decision-card>p:not(.kicker){color:#5d6270;font-size:1.08rem;line-height:1.6;max-width:48ch}
.decision-card ul{display:grid;gap:12px;margin:32px 0 38px;padding-top:26px;border-top:1px solid var(--merge-line)}
.decision-card li{padding-left:18px;position:relative}.decision-card li:before{content:"";width:6px;height:6px;background:var(--merge-red);border-radius:50%;position:absolute;left:0;top:.55em}
.decision-card .btn{margin-top:auto;align-self:flex-start}
.decision-dark{background:#111216;color:#fff;border-color:#111216}.decision-dark>p:not(.kicker){color:#bec1c9}.decision-dark ul{border-color:#34353b}
.decision-dark .btn{border-color:#fff;color:#fff}

.merge-search{background:var(--merge-navy);color:#fff;padding:clamp(78px,9vw,140px) 0}
.search-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(480px,1.15fr);gap:clamp(42px,8vw,120px);align-items:center}
.search-lead{font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.6;color:#b9bbc3;max-width:49ch}
.search-query{border:1px solid #34353b;border-radius:32px;padding:clamp(30px,4vw,54px);background:linear-gradient(145deg,#18191d,#0d0d10)}
.search-query blockquote{font-size:clamp(1.45rem,2.6vw,2.45rem);line-height:1.22;letter-spacing:-.035em;margin:18px 0 38px}
.search-pill-grid{display:grid;gap:12px;margin-bottom:34px}.search-pill-grid article{display:grid;grid-template-columns:68px 1fr;gap:18px;align-items:center;border-top:1px solid #313239;padding-top:15px;color:#c7c9cf}.search-pill-grid b{color:#ff8585;font-size:1.1rem}.search-pill-grid span{line-height:1.45}
.search-query .btn{border-color:#fff;color:#fff}

/* A brief reveal replaces the pinned O fly-through. */
#human.human-story .stage{height:auto!important;min-height:0!important;padding:clamp(76px,9vw,132px) 0!important;background:#f1f3f5!important;color:#0a0a0b!important;overflow:visible!important;border-top:1px solid #d9dce2}
#human .hl-stage{height:auto!important;position:relative!important;max-width:1280px!important;padding:0 24px!important}
#human.human-story .hl-line{position:static!important;transform:none!important;display:block!important;white-space:normal!important;text-align:left!important;font-size:clamp(2.8rem,5.4vw,5.75rem)!important;line-height:.95!important;letter-spacing:-.06em!important;max-width:13ch;color:#111827!important;-webkit-text-fill-color:#111827!important}
#human.human-story .hl-line span{color:#b91c1c!important;-webkit-text-fill-color:#b91c1c!important}
#human .hl-meteor{position:static!important;translate:none!important;margin:36px 0 0!important;width:auto!important;max-width:48ch!important;text-align:left!important;font-size:clamp(1.2rem,2vw,1.75rem)!important;line-height:1.45!important;color:#565c68!important}
#human .hl-meteor span{display:inline!important;opacity:1!important;transform:none!important}
#human .hl-stats{position:static!important;translate:none!important;width:100%!important;opacity:1!important;margin:72px 0 0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important}
#human .hl-stats li{border-top:1px solid #cfd3da;padding:26px 0 0!important;text-align:left!important}
#human .hl-stats li+li:before{display:none!important}
#human .hl-stats b{font-size:clamp(2rem,4.1vw,4rem)!important;line-height:1!important;text-transform:none!important;color:#0a0a0b!important}
#human .hl-stats span{font-size:.9rem!important;text-transform:none!important;letter-spacing:.02em!important;color:#5d6370!important}

#founder{padding-top:clamp(72px,9vw,130px)!important;background:#101114!important;color:#fff!important;border-top:1px solid #2c2d32}
#founder .container.founder-grid{grid-template-columns:minmax(0,.85fr) minmax(480px,1.15fr)!important;align-items:center!important;gap:clamp(42px,7vw,100px)!important}
#founder .founder-copy,#founder .thought-leadership-collage{grid-column:auto!important}
.thought-leadership-collage{margin:0;overflow:hidden;border-radius:22px;background:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:0 28px 68px rgba(0,0,0,.38)}
.thought-leadership-collage img{display:block;width:100%;height:auto;background:#fff}
.thought-leadership-collage figcaption{padding:14px 18px 16px;background:#17181d;color:#a9acb5;font-size:.85rem;line-height:1.45}

.merge-ways{background:#f4f5f7!important}
.merge-ways .light-head h2,.merge-ways .light-head h2 span{color:#0c0d10!important}.merge-ways .light-head>p:last-child{color:#5f6470}
.ways-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #cfd2d9;border-bottom:1px solid #cfd2d9;margin-bottom:38px}
.ways-grid article{padding:38px 34px 42px 0}.ways-grid article+article{border-left:1px solid #cfd2d9;padding-left:34px}.ways-grid span{color:var(--merge-red);font-weight:700}.ways-grid h3{font-size:clamp(1.45rem,2.2vw,2.15rem);line-height:1.06;letter-spacing:-.035em;margin:28px 0 16px}.ways-grid p{color:#5f6470;line-height:1.6}

/* Keep the Trustpilot stars recognizable, while matching the proof links to the site's bullet-point accent. */
#reviews{background:#f4f7f5!important}
.rv-band{color:#0a0a0b!important}
.rv-band .trust-surface{position:absolute;inset:0;background:#edf5f1;z-index:0}
.rv-band .band-dot{display:none!important}
.rv-head .statement-s{color:#0a0a0b!important}
.rv-head .support{color:#5c6460!important}
.tp{background:var(--merge-red)!important;color:#fff!important}
.rv-stars{color:var(--trustpilot-green)!important}
.rv-card:hover{border-color:rgba(220,38,38,.28)!important}
#reviews .rv-foot .section-action.unified-cta{background:var(--merge-red)!important;border-color:var(--merge-red)!important;color:#fff!important}
#reviews .rv-foot .section-action.unified-cta:hover{background:var(--merge-red-dark)!important;border-color:var(--merge-red-dark)!important}

/* The project remains in normal document flow, without a scroll pin. */
#portfolio .stage{height:auto!important;min-height:0!important;overflow:visible!important}
#portfolio .pgrid .card{transform:none!important}

/* Closing statement follows the page's normal typographic rhythm. */
#finale .stage{height:auto!important;min-height:0!important;padding:clamp(78px,9vw,132px) 24px!important;background:#0a0a0b!important;display:block!important}
#finale .glow{display:none!important}
#finale .wall{position:static!important;transform:none!important;max-width:1280px!important;margin:0 auto!important;padding:0!important;white-space:normal!important;font-size:clamp(3.2rem,8vw,8.4rem)!important;line-height:.92!important;letter-spacing:-.055em!important}
#finale .wall .l1,#finale .wall .l2{display:block!important;margin:0!important}
#finale .wall .l2{margin-top:.08em!important}
#finale .wall .wword{display:inline!important;will-change:auto!important;background:none!important;color:#fff!important;-webkit-text-fill-color:currentColor!important;opacity:1!important;transform:none!important;translate:none!important;rotate:none!important;scale:none!important}
#finale .wall-meta-m{max-width:1280px!important;margin:30px auto 0!important;padding:0!important}

@media(max-width:900px){
  .engine-system{grid-template-columns:1fr;max-width:600px}.engine-system:before{display:none}.strategy-core{width:160px;justify-self:center}.engine{min-height:340px}
  .decision-grid,.search-grid,#founder .container.founder-grid{grid-template-columns:1fr!important}.search-grid{gap:48px}.decision-card{min-height:0}.thought-leadership-collage{width:100%;max-width:800px;margin-inline:auto}
  .ways-grid{grid-template-columns:1fr}.ways-grid article,.ways-grid article+article{padding:30px 0;border-left:0;border-top:1px solid #cfd2d9}.ways-grid article:first-child{border-top:0}
}
@media(max-width:640px){
  .service-wordwall,.wordwall{font-size:clamp(2.6rem,15vw,4.4rem)!important}
  :is(#services,#creative-catalog) .row-head{min-height:180px!important;padding:28px 24px!important;grid-template-columns:minmax(0,1fr) 44px!important;grid-template-areas:"txt plus"!important}
  .engine{padding:32px 26px;border-radius:26px}.decision-card{padding:34px 26px;border-radius:26px}.search-query{padding:28px 23px;border-radius:24px}.search-pill-grid article{grid-template-columns:55px 1fr}
  #human .hl-stats{grid-template-columns:1fr!important;margin-top:48px!important}
  #finale .wall{font-size:clamp(3rem,13vw,5.2rem)!important}
}
@media(prefers-reduced-motion:reduce){.client-logo-track,.shift-track{animation:none!important}}

/* Every primary headline resolves with the same Ninja Heat gradient.
   Keep this as an inline text treatment: a block would paint the full line box. */
.headline-accent{
  display:inline-block!important;
  background:var(--ombre)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  padding-right:.05em!important;
  margin-right:-.05em!important;
}

/* Keep the legacy question-led heading aligned if that module is re-enabled. */
#legacy-visual-answers .answer-heading h2 span,
#visual-answers .answer-heading h2 span{
  display:inline-block!important;
  background:var(--ombre)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  padding-right:.05em!important;
  margin-right:-.05em!important;
}
#services .service-wordwall,#portfolio .wordwall{display:block!important}
#services .service-wordwall>span:first-child,#portfolio .wordwall>span:first-child{
  display:block!important;
  background:none!important;
  color:#0a0a0b!important;
  -webkit-text-fill-color:#0a0a0b!important;
}
#ways-to-work.merge-ways .light-head h2 .headline-accent,
#human.human-story .hl-line .headline-accent,
#finale .wall .wword.headline-accent{
  display:inline-block!important;
  background:var(--ombre)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
}

/* These are full statements, not poster walls. Keep their scale in the same family. */
#human.human-story .hl-line{font-size:clamp(2.7rem,5vw,5.35rem)!important;max-width:12ch!important}
#ways-to-work.merge-ways .light-head h2{font-size:clamp(2.7rem,5.5vw,5.5rem)!important;line-height:.96!important;max-width:16ch}
#ways-to-work.merge-ways .light-head>p:last-child{font-size:clamp(1.08rem,1.65vw,1.35rem)!important;max-width:56ch}
#finale .wall{font-size:clamp(3.1rem,7.2vw,7.5rem)!important}
