/* Shared service identity: one title, one explanation, one action. */
.service-banner {
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  min-height:560px;
  max-width:1552px;
  margin:0 var(--frame);
  overflow:hidden;
  border-radius:var(--radius-panel);
  background:var(--surface);
}
.service-banner-copy { position:relative; z-index:1; width:52%; padding:48px 0 48px clamp(30px,5vw,80px); }
.service-banner-copy h1 { font-size:clamp(52px,5vw,72px); max-width:none; line-height:1.04; }
.service-banner-copy p { font-size:19px; line-height:1.55; max-width:430px; margin-top:26px; }
.service-banner-copy .button { margin-top:30px; }
.service-motion { position:absolute; inset:0 0 0 40%; }
.service-motion-poster,.service-motion-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; mask-image:linear-gradient(90deg,transparent 0%,rgb(0 0 0 / .05) 7%,rgb(0 0 0 / .25) 16%,rgb(0 0 0 / .6) 27%,rgb(0 0 0 / .9) 38%,#000 48%); }
.service-motion-poster { transition:opacity .3s; }
.service-motion-video { opacity:0; transition:opacity .3s; }
.service-motion.is-ready .service-motion-poster { opacity:0; }
.service-motion.is-ready .service-motion-video { opacity:1; }
.strategy-scope { display:grid; grid-template-columns:1fr 1fr; gap:8%; padding-block:64px; }
.strategy-scope h2 { font:500 28px/1.25 var(--sans); letter-spacing:-.025em; max-width:360px; }
.strategy-scope p { font-size:17px; color:var(--muted); margin-top:18px; max-width:390px; }
.strategy-scope ul { list-style:none; margin:0; padding:0; }
.strategy-scope li { padding:12px 0; border-bottom:1px solid var(--line); font-size:16px; }
.strategy-scope li:first-child { padding-top:0; }

.services-intro { padding-block:44px 38px; }
.services-intro h1 { font-size:clamp(44px,4.3vw,64px); }
.services-comparison { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.comparison-card { display:grid; grid-template-rows:minmax(112px,auto) 1fr; background:var(--surface); border-radius:var(--radius-panel); padding:26px; }
.comparison-card:first-child { background:var(--section-tint); }
.comparison-card h2 { font:500 27px/1.12 var(--sans); letter-spacing:-.035em; }
.comparison-card h2 a { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; min-height:44px; }
.comparison-card h2 .line-arrow { width:25px; height:25px; }
.comparison-card h2 a:hover { text-decoration:underline; text-decoration-color:var(--brand-yellow); text-underline-offset:5px; }
.comparison-card dl { display:grid; grid-template-rows:minmax(112px,auto) minmax(145px,auto) 1fr; margin:0; }
.comparison-card dl>div { padding-block:18px; border-top:1px solid #1f1f1d20; }
.comparison-card dt { font-size:13px; color:var(--muted); margin-bottom:9px; }
.comparison-card dd { margin:0; font-size:16px; line-height:1.5; }
.comparison-card dl>div:last-child { padding-bottom:0; }
.services-guidance { padding-block:30px 64px; display:flex; justify-content:flex-end; }
.services-guidance .text-link { flex-shrink:0; }
/* Keep the market van's entire road in frame, with feathered film edges. */
.service-banner--market-intelligence .service-motion { top:50%; bottom:auto; height:auto; aspect-ratio:16/9; transform:translateY(-50%); mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 86%,transparent 100%); }
.service-banner--market-intelligence .service-motion-poster,
.service-banner--market-intelligence .service-motion-video { object-fit:contain; object-position:50% 50%; }
.service-banner--discovery .service-motion-poster,
.service-banner--discovery .service-motion-video { object-position:85% 50%; }
.service-banner--sales-intelligence .service-motion-poster,
.service-banner--sales-intelligence .service-motion-video { object-position:100% 50%; }
@media(min-width:1600px) { .service-banner { margin-inline:auto; } }
@media(max-width:1100px) {
  .comparison-card { padding:22px; }
  .comparison-card h2 { font-size:23px; }
  .comparison-card dl { grid-template-rows:minmax(134px,auto) minmax(164px,auto) 1fr; }
}
@media(max-width:960px) {
  .services-comparison { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .comparison-card { grid-template-rows:minmax(76px,auto) 1fr; padding:26px; }
  .comparison-card h2 { font-size:28px; }
  .comparison-card dl { grid-template-rows:minmax(108px,auto) minmax(132px,auto) 1fr; }
}
@media(max-width:1100px) {
  .service-banner { min-height:0; display:flex; flex-direction:column; align-items:stretch; }
  .service-banner-copy { width:100%; padding:30px 24px 18px; order:-1; }
  .service-banner-copy h1 { font-size:clamp(38px,10.6vw,60px); max-width:none; }
  .service-banner-copy p { max-width:440px; font-size:16px; margin-top:20px; }
  .service-banner-copy .button { margin-top:24px; font-size:14px; padding:13px 18px; gap:18px; }
  .service-motion { position:relative; inset:auto; width:100%; aspect-ratio:16/9; margin-top:-6px; }
  .service-banner--market-intelligence .service-motion { top:auto; transform:none; mask-image:none; }
  .service-motion-poster,.service-motion-video { object-fit:contain; mask-image:linear-gradient(180deg,transparent 0%,rgb(0 0 0 / .08) 7%,rgb(0 0 0 / .35) 15%,rgb(0 0 0 / .75) 24%,#000 34%); }
}
@media(max-width:700px) {
  .strategy-scope { grid-template-columns:1fr; gap:28px; padding-block:44px; }
  .strategy-scope h2 { font-size:25px; }
  .services-intro { padding-block:30px; }
  .services-intro h1 { font-size:45px; max-width:12ch; }
  .services-comparison { grid-template-columns:1fr; gap:18px; }
  .comparison-card { grid-template-rows:auto 1fr; padding:26px; }
  .comparison-card h2 { padding-bottom:24px; max-width:none; font-size:28px; }
  .comparison-card h2 a { max-width:440px; }
  .comparison-card dl { grid-template-rows:auto; }
  .comparison-card dl>div { padding-block:16px; }
  .comparison-card dl>div:last-child { padding-bottom:0; }
  .services-guidance { display:block; padding-block:30px 54px; }
}

.service-system-note { max-width:760px; margin:24px 0; }
