/* Local readability revision. Preserve the brand's original colour artwork. */
.professional-page .official-brand img {filter:none; opacity:1;}

/* Fat Panda's editorial introduction: a small left label within the serif statement. */
.professional-page .platform-introduction {
  max-width:1280px; margin:0 auto 104px; text-align:left;
}
.professional-page .platform-introduction h2 {
  font:400 clamp(32px,4.6vw,66px)/1.1 'Instrument Serif',Georgia,serif;
  letter-spacing:-.022em; margin:0 0 28px; text-wrap:pretty;
}
.what-we-do-label {
  float:left; width:clamp(108px,9.6vw,138px);
  margin-top:clamp(8px,1.6vw,21px); padding-right:20px;
  font:700 clamp(14px,1.3vw,17px)/1.25 'Inter Reference',Arial,sans-serif;
  letter-spacing:-.005em; color:#000;
}
.what-we-do-underline {
  text-decoration:underline; text-decoration-thickness:.045em;
  text-underline-offset:.13em; text-decoration-color:#19151fd9;
}
.professional-page .platform-introduction p {font-size:1.125rem;}

/* Smaller, outward-facing artwork and more space between the eleven explanations. */
.professional-page .rev-platform {
  padding:96px max(32px,calc((100vw - 1440px)/2)) 96px;
}
.professional-page .rev-platform .rev-feature-list {gap:112px;}
.professional-page .rev-feature--image,
.professional-page .rev-feature--image.rev-feature--media-left {
  grid-template-columns:minmax(0,40fr) minmax(0,55fr);
  column-gap:5%; align-items:center;
}
.professional-page .rev-feature--image.rev-feature--media-left {
  grid-template-columns:minmax(0,55fr) minmax(0,40fr);
}
.professional-page .rev-feature--image .rev-feature-copy {
  padding:20px clamp(16px,2.2vw,32px); align-self:center;
}
.professional-page .rev-feature--image .rev-feature-copy h3 {
  font-size:clamp(36px,3.2vw,48px); line-height:1.12; margin-bottom:24px;
}
.professional-page .rev-feature--image .feature-hook {
  font-size:1.125rem; line-height:1.55; margin-bottom:18px;
}
.professional-page .rev-feature--image .feature-description {
  font-size:1.0625rem; line-height:1.7; max-width:65ch;
}
.professional-page .rev-feature--image .rev-feature-media--image {align-self:center;}
.professional-page .feature-demo {
  display:inline-flex; align-items:center; align-self:flex-start;
  width:fit-content; min-height:44px; margin-top:24px;
  color:#000; font:700 1rem/1.4 'Inter Reference',Arial,sans-serif;
  text-decoration:none;
}
.professional-page .feature-demo::after {content:none;}
.professional-page .feature-demo:hover {text-decoration:underline; text-underline-offset:5px;}

/* Compact blue-to-purple interruption, directly between Lead Response and 24/7. */
.professional-page .rev-feature-list > .ai-earned-banner {
  margin:0; padding:clamp(48px,6.65vw,96px);
  border-radius:28px;
  background:radial-gradient(ellipse at 15% 0%,#1359e6a8,transparent 66%),
    linear-gradient(125deg,#152d76 0%,#292078 46%,#6528ae 100%);
}
.professional-page .ai-earned-visual {
  width:100%; max-width:1429px; min-height:0; border-radius:24px;
  overflow:hidden; padding:0; background:transparent;
}
.professional-page .ai-earned-screenshot {border-radius:24px;}
.professional-page .ai-earned-call {
  left:4.48%; top:67.57%; width:10.2%; min-width:112px;
  height:9.56%; min-height:38px; font-size:clamp(12px,1.025vw,15px);
}

/* The dark conversions canvas reaches every edge, with no white surround. */
.professional-page .platform-transition {
  height:160px; border-radius:0; margin:0;
  background:radial-gradient(ellipse at 62% 85%,#673de633,transparent 70%),
    linear-gradient(180deg,#fff 0%,#d9c8ee 36%,#776092 67%,#211334 100%);
}
.professional-page .contact-chapter {
  padding:72px max(32px,calc((100vw - 1360px)/2)) 88px;
  background:linear-gradient(180deg,#211334 0%,#26163d 54%,#2f174a 100%);
}
.professional-page .contact {
  width:100%; max-width:1360px; margin:0 auto; border-radius:0;
  background:transparent; box-shadow:none; overflow:visible;
}
.professional-page .contact-inner {
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:72px;
  min-height:0; align-items:center;
}
.professional-page .contact-copy {grid-column:2; grid-row:1; padding:24px 0;}
.professional-page .contact-art.supplied-contact {
  grid-column:1; grid-row:1; padding:0; margin:0;
}
.professional-page .closing-invite {padding-top:190px;}

/* Reuse the header button's proportions and SVG so arrows sit dead centre. */
.professional-page .closing-invite a.demo-style-cta,
.professional-page .reference-footer a.demo-style-cta {
  display:inline-flex; width:fit-content; align-items:center; justify-content:space-between;
  min-height:52px; padding:7px 8px 7px 23px; gap:22px;
  border:1px solid #8875bc; border-radius:999px;
  background:var(--contact-purple-material); color:#fff;
  box-shadow:inset 0 -10px 17px -14px #673de6,inset 0 1px 0 #ffffff18,0 6px 20px #0005;
  font:700 1rem/1.2 'Inter Reference',Arial,sans-serif;
  text-decoration:none; white-space:nowrap;
}
.professional-page .demo-style-cta .demo-orb {
  display:grid; place-items:center; flex:0 0 35px;
  width:35px; height:35px; padding:0;
  background:#ffffff16; color:#fff; border-radius:50%;
  box-shadow:inset 0 1px 0 #ffffff20;
}
.professional-page .demo-style-cta .demo-orb svg {display:block; width:19px; height:19px;}
.professional-page .reference-footer a.demo-style-cta:hover,
.professional-page .closing-invite a.demo-style-cta:hover {color:#fff; border-color:#b5a1f5;}
.professional-page .reference-footer a.demo-style-cta::before,
.professional-page .reference-footer a.demo-style-cta::after {content:none;}

/* Compact footer lists, aligned service rows and one quiet central divider. */
.professional-page .reference-footer .footer-top {
  grid-template-columns:minmax(0,.95fr) minmax(0,.65fr) minmax(0,2.2fr) minmax(0,1.1fr);
  gap:36px;
}
.professional-page .reference-footer h4 {
  color:#000; font-weight:800; font-size:.875rem; margin-bottom:16px;
}
.professional-page .reference-footer ul {gap:0;}
.professional-page .reference-footer li {margin:0; padding:0;}
.professional-page .reference-footer a:not(.footer-call) {
  min-height:32px; padding:4px 0; line-height:1.5;
}
.professional-page .reference-footer .footer-services {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(6,auto); grid-auto-flow:column;
  gap:0 28px; position:relative;
}
.professional-page .reference-footer .footer-services::before {
  content:''; position:absolute; top:4px; bottom:4px;
  left:calc(50% - .5px); width:1px; background:#d9d2df;
}
.professional-page .reference-footer .footer-services a {
  display:flex; align-items:flex-start; min-height:52px; padding:6px 0;
  font-size:.875rem; line-height:1.45;
}
.professional-page .reference-footer .footer-top > div:last-child p {margin:8px 0 16px;}

@media (max-width:1100px) {
  .professional-page .rev-feature--image,
  .professional-page .rev-feature--image.rev-feature--media-left {
    grid-template-columns:minmax(0,42fr) minmax(0,53fr);
  }
  .professional-page .rev-feature--image.rev-feature--media-left {
    grid-template-columns:minmax(0,53fr) minmax(0,42fr);
  }
  .professional-page .rev-feature--image .rev-feature-copy {padding:12px 8px;}
  .professional-page .rev-feature--image .rev-feature-copy h3 {font-size:36px;}
  .professional-page .contact-inner {gap:40px;}
  .professional-page .reference-footer .footer-top {grid-template-columns:1fr 1fr; gap:36px 48px;}
  .professional-page .reference-footer .footer-top > div:nth-child(3) {grid-column:1;}
}
@media (max-width:900px) {
  .professional-page .rev-platform {padding:72px 24px;}
  .professional-page .platform-introduction {margin-bottom:72px;}
  .professional-page .rev-platform .rev-feature-list {gap:80px;}
  .professional-page .rev-feature--image,
  .professional-page .rev-feature--image.rev-feature--media-left {grid-template-columns:minmax(0,1fr); gap:24px;}
  .professional-page .rev-feature--image .rev-feature-copy {grid-column:1; grid-row:2; padding:0 12px;}
  .professional-page .rev-feature--image .rev-feature-media--image {
    grid-column:1; grid-row:1; width:94%; justify-self:end;
  }
  .professional-page .rev-feature--media-left .rev-feature-media--image {justify-self:start;}
  .professional-page .rev-feature-list > .ai-earned-banner {padding:40px;}
  .professional-page .ai-earned-visual {
    min-height:500px; padding:275px 28px 30px;
    background:linear-gradient(180deg,#17212c14,#17212c22 28%,#17212cef 65%,#17212c),
      url('assets/revision/ai-earned-portrait.webp') center 20% / cover no-repeat;
  }
  .professional-page .ai-earned-screenshot {display:none;}
  .professional-page .ai-earned-mobile-copy {display:block; color:#fff;}
  .professional-page .ai-earned-mobile-copy h2 {font:400 36px/1.12 'Instrument Serif',Georgia,serif; margin:0 0 18px;}
  .professional-page .ai-earned-mobile-copy p {font:400 1.0625rem/1.6 'Inter Reference',Arial,sans-serif; margin:0 0 24px;}
  .professional-page .ai-earned-call {position:relative; left:auto; top:auto; width:144px; height:48px; font-size:.9375rem;}
}
@media (max-width:760px) {
  .professional-page .rev-platform {padding:64px 22px 72px;}
  .professional-page .rev-feature--image .rev-feature-copy {padding:0 4px;}
  .professional-page .rev-feature--image .rev-feature-copy h3 {font-size:38px;}
  .professional-page .rev-feature--image .feature-hook {font-size:1.125rem;}
  .professional-page .rev-feature--image .feature-description {font-size:1.0625rem;}
  .professional-page .rev-feature-list > .ai-earned-banner {padding:24px; border-radius:24px;}
  .professional-page .ai-earned-visual {padding:265px 22px 28px; border-radius:18px;}
  .professional-page .ai-earned-mobile-copy h2 {font-size:32px;}
  .professional-page .contact-chapter {padding:56px 24px 72px;}
  .professional-page .contact-inner {grid-template-columns:1fr; gap:32px;}
  .professional-page .contact-copy {grid-column:1; grid-row:2; padding:0;}
  .professional-page .contact-art.supplied-contact {grid-column:1; grid-row:1; padding:0;}
  .professional-page .closing-invite {padding-top:170px;}
  .professional-page .reference-footer .footer-top {grid-template-columns:1fr 1fr; gap:32px;}
  .professional-page .reference-footer .footer-top > div:first-child {grid-column:1/-1;}
  .professional-page .reference-footer .footer-top > div:nth-child(3) {grid-column:2; grid-row:2/4;}
  .professional-page .reference-footer .footer-services {grid-template-columns:1fr; grid-template-rows:none; grid-auto-flow:row;}
  .professional-page .reference-footer .footer-services::before {content:none;}
}
@media (max-width:580px) {
  .professional-page .platform-introduction h2 {font-size:36px;}
  .what-we-do-label {width:102px; padding-right:16px; margin-top:8px; font-size:.875rem;}
  .professional-page .platform-introduction p {font-size:1.0625rem;}
  .professional-page .rev-platform .rev-feature-list {gap:72px;}
  .professional-page .reference-footer .footer-top {grid-template-columns:1fr; gap:28px;}
  .professional-page .reference-footer .footer-top > div,
  .professional-page .reference-footer .footer-top > div:nth-child(3) {grid-column:auto; grid-row:auto;}
  .professional-page .reference-footer .footer-services {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(6,auto); grid-auto-flow:column; column-gap:24px;
  }
  .professional-page .reference-footer .footer-services::before {content:'';}
}
@media (max-width:360px) {
  .professional-page .rev-platform {padding-inline:18px;}
  .professional-page .rev-feature--image .rev-feature-copy h3 {font-size:34px;}
  .professional-page .rev-feature-list > .ai-earned-banner {padding:18px;}
  .professional-page .ai-earned-visual {padding-inline:18px;}
  .professional-page .ai-earned-mobile-copy h2 {font-size:30px;}
  .professional-page .reference-footer .footer-services {column-gap:20px;}
}

/* Client revision: directional service lines, full-width interruption,
   restored right-hand closing image, and measured footer divider. */
.professional-page .rev-platform {
  position:relative;
  z-index:2;
  border-radius:0 0 var(--hl-curve) var(--hl-curve);
  margin-bottom:calc(var(--hl-curve) * -1);
}
.professional-page .platform-transition {
  position:relative;
  z-index:1;
  height:188px;
  margin:0;
  border-radius:0;
  /* Continuous plum below the white curve; no dark band or colour seam. */
  background:#211334;
}

/* Stretch the blue-purple editorial panel edge-to-edge while keeping the
   one-inch top/bottom breathing room and its rounded silhouette. */
.professional-page .rev-feature-list > .ai-earned-banner {
  width:100vw;
  max-width:none;
  margin:8px 0 8px calc(50% - 50vw);
  padding:96px max(28px,calc((100vw - 1429px) / 2));
  transform:none;
  border-radius:28px;
  background:
    radial-gradient(ellipse at 13% 0%,#165fe8b8,transparent 60%),
    linear-gradient(125deg,#10255f 0%,#221967 48%,#57228f 100%);
}
.professional-page .ai-earned-visual {max-width:1429px; margin-inline:auto;}

/* The thin L-shaped editorial rules repeat through the zig-zag. Pink marks
   the first family; dark purple-blue marks the second. */
.professional-page #rev-platform-ai-target-market,
.professional-page #rev-platform-24-7-support,
.professional-page #rev-platform-cold-lead-nurturing,
.professional-page #rev-platform-ai-duplicate-filter,
.professional-page #rev-platform-ai-pipe-line-filter {--feature-rule:#e4549e;}
.professional-page #rev-platform-seo-web-traffic,
.professional-page #rev-platform-stop-and-start-campaigns,
.professional-page #rev-platform-ai-qualified-leads,
.professional-page #rev-platform-ai-lead-response,
.professional-page #rev-platform-data-analytics,
.professional-page #rev-platform-whatsapp-hot-lead-notification {--feature-rule:#39327f;}

.professional-page .rev-feature[style*='--feature-rule'],
.professional-page #rev-platform-ai-target-market,
.professional-page #rev-platform-24-7-support,
.professional-page #rev-platform-cold-lead-nurturing,
.professional-page #rev-platform-ai-duplicate-filter,
.professional-page #rev-platform-ai-pipe-line-filter,
.professional-page #rev-platform-seo-web-traffic,
.professional-page #rev-platform-stop-and-start-campaigns,
.professional-page #rev-platform-ai-qualified-leads,
.professional-page #rev-platform-ai-lead-response,
.professional-page #rev-platform-data-analytics,
.professional-page #rev-platform-whatsapp-hot-lead-notification {
  --rule-gap:19px;
  --rule-lift:38px;
}
.professional-page .rev-feature .rev-feature-copy {position:relative;}
.professional-page .rev-feature[style*='--feature-rule'] .rev-feature-copy::before,
.professional-page #rev-platform-ai-target-market .rev-feature-copy::before,
.professional-page #rev-platform-24-7-support .rev-feature-copy::before,
.professional-page #rev-platform-cold-lead-nurturing .rev-feature-copy::before,
.professional-page #rev-platform-ai-duplicate-filter .rev-feature-copy::before,
.professional-page #rev-platform-ai-pipe-line-filter .rev-feature-copy::before,
.professional-page #rev-platform-seo-web-traffic .rev-feature-copy::before,
.professional-page #rev-platform-stop-and-start-campaigns .rev-feature-copy::before,
.professional-page #rev-platform-ai-qualified-leads .rev-feature-copy::before,
.professional-page #rev-platform-ai-lead-response .rev-feature-copy::before,
.professional-page #rev-platform-data-analytics .rev-feature-copy::before,
.professional-page #rev-platform-whatsapp-hot-lead-notification .rev-feature-copy::before {
  content:'';
  position:absolute;
  top:calc(var(--rule-lift) * -1);
  left:var(--rule-gap);
  right:var(--rule-gap);
  height:1px;
  background:var(--feature-rule);
  pointer-events:none;
}
.professional-page .rev-feature[style*='--feature-rule'] .rev-feature-copy::after,
.professional-page #rev-platform-ai-target-market .rev-feature-copy::after,
.professional-page #rev-platform-24-7-support .rev-feature-copy::after,
.professional-page #rev-platform-cold-lead-nurturing .rev-feature-copy::after,
.professional-page #rev-platform-ai-duplicate-filter .rev-feature-copy::after,
.professional-page #rev-platform-ai-pipe-line-filter .rev-feature-copy::after,
.professional-page #rev-platform-seo-web-traffic .rev-feature-copy::after,
.professional-page #rev-platform-stop-and-start-campaigns .rev-feature-copy::after,
.professional-page #rev-platform-ai-qualified-leads .rev-feature-copy::after,
.professional-page #rev-platform-ai-lead-response .rev-feature-copy::after,
.professional-page #rev-platform-data-analytics .rev-feature-copy::after,
.professional-page #rev-platform-whatsapp-hot-lead-notification .rev-feature-copy::after {
  content:'';
  position:absolute;
  top:calc(var(--rule-lift) * -1);
  bottom:0;
  width:1px;
  background:linear-gradient(180deg,var(--feature-rule) 0%,var(--feature-rule) 88%,transparent 100%);
  pointer-events:none;
}
.professional-page .rev-feature:not(.rev-feature--media-left) .rev-feature-copy::after {right:var(--rule-gap);}
.professional-page .rev-feature--media-left .rev-feature-copy::after {left:var(--rule-gap);}

/* Restore the closing artwork to the right and carry the dark purple canvas
   continuously into the black invitation below. */
.professional-page .contact-chapter {
  padding-top:72px;
  background:linear-gradient(180deg,#211334 0%,#26163d 54%,#2f174a 100%);
}
.professional-page .contact-inner {grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);}
.professional-page .contact-copy {grid-column:1; grid-row:1;}
.professional-page .contact-art.supplied-contact {grid-column:2; grid-row:1;}
.professional-page .closing-invite {
  background:linear-gradient(180deg,#2f174a 0,#211334 72px,#10091a 150px,#000 230px,#000 100%);
}

/* Six services remain in the first column, five in the second. The rule sits
   0.5cm from both text blocks and runs the full list height. */
.professional-page .reference-footer .footer-top {
  align-items:start;
  grid-template-columns:minmax(0,.95fr) minmax(0,.65fr) minmax(420px,2.35fr) minmax(0,1.1fr);
}
.professional-page .reference-footer .footer-top > div {align-self:start;}
.professional-page .reference-footer .footer-services {
  --footer-rule-gap:19px;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:repeat(6,auto);
  grid-auto-flow:column;
  column-gap:38px;
}
.professional-page .reference-footer .footer-services::before {
  top:0;
  bottom:0;
  left:calc(50% - .5px);
  background:#cfc6d7;
}

/* Keep desktop service columns close, with room for their two-line labels. */
@media (min-width:1101px) {
  .professional-page .reference-footer .footer-services {
    grid-template-columns:169px minmax(0,1fr);
    column-gap:28px;
  }
  .professional-page .reference-footer .footer-services::before {
    left:182.5px;
  }
  .professional-page .reference-footer .footer-top > div:last-child {
    position:relative;
    left:-60px;
  }
}

@media (max-width:900px) {
  .professional-page .rev-feature-list > .ai-earned-banner {
    padding:40px max(24px,calc((100vw - 720px) / 2));
  }
  .professional-page .rev-feature .rev-feature-copy::before,
  .professional-page .rev-feature .rev-feature-copy::after {content:none;}
}
@media (max-width:760px) {
  .professional-page .contact-inner {grid-template-columns:1fr;}
  .professional-page .contact-art.supplied-contact {grid-column:1; grid-row:1;}
  .professional-page .contact-copy {grid-column:1; grid-row:2;}
  .professional-page .reference-footer .footer-top {
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:580px) {
  .professional-page .rev-feature-list > .ai-earned-banner {
    width:calc(100vw - 16px);
    margin-left:calc(50% - 50vw + 8px);
    padding:18px;
    border-radius:22px;
  }
  .professional-page .reference-footer .footer-top {grid-template-columns:1fr;}
  .professional-page .reference-footer .footer-services {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(6,auto);
    grid-auto-flow:column;
    column-gap:38px;
  }
  .professional-page .reference-footer .footer-services::before {content:'';}
}
