.vsl60,
.vsl60 * { box-sizing: border-box; }
.vsl60 {
  --vsl-bg: #f7f7f5;
  --vsl-paper: #fbfbfa;
  --vsl-ink: #111111;
  --vsl-muted: #777775;
  --vsl-line: rgba(17,17,17,.14);
  --vsl-orange: #ff5a1f;
  --vsl-gap: clamp(24px, 3vw, 52px);
  width: min(100% - 48px, 1480px);
  margin: 0 auto;
  padding: 60px 0 120px;
  color: var(--vsl-ink);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.vsl60 h1,.vsl60 h2,.vsl60 h3,.vsl60 p { margin-top: 0; }
.vsl60__eyebrow {
  margin: 0 0 28px;
  color: var(--vsl-muted);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.vsl60__hero {
  min-height: 650px;
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(240px, 1fr);
  gap: var(--vsl-gap);
  align-items: stretch;
  padding: 60px 0;
}
.vsl60__hero-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.vsl60__hero h1 {
  max-width: 1050px;
  margin-bottom: 34px;
  font-size: clamp(58px, 6.5vw, 100px);
  font-weight: 500;
  line-height: .93;
  letter-spacing: -.055em;
}
.vsl60__lead {
  max-width: 850px;
  margin-bottom: 38px;
  color: var(--vsl-muted);
  font-size: clamp(21px, 1.9vw, 30px);
  font-weight: 400;
  line-height: 1.26;
  letter-spacing: -.025em;
}
.vsl60__actions { display:flex; gap:22px; align-items:center; flex-wrap:wrap; }
.vsl60__cta {
  min-height: 58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  padding: 0 28px;
  color:#fff;
  background:var(--vsl-orange);
  border-radius: 2px;
  text-decoration:none;
  font-size:16px;
  font-weight:600;
  box-shadow: 0 0 18px rgba(255,90,31,.42), 0 10px 34px rgba(255,90,31,.20);
  transition: transform .18s ease, box-shadow .18s ease;
}
.vsl60__cta:hover { transform: translateY(-2px); box-shadow:0 0 28px rgba(255,90,31,.55),0 14px 40px rgba(255,90,31,.26); }
.vsl60__text-link { color:var(--vsl-ink); text-decoration:none; font-size:16px; padding:12px 0; border-bottom:1px solid currentColor; }
.vsl60__hero-index {
  min-height: 100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding: 24px;
  background: #111;
  color:#fff;
}
.vsl60__hero-index > span { font-size: clamp(96px, 12vw, 190px); line-height:.8; font-weight:500; letter-spacing:-.08em; }
.vsl60__hero-index small { font-size:13px; letter-spacing:.08em; }
.vsl60__statement,
.vsl60__split,
.vsl60__deliverables,
.vsl60__fit,
.vsl60__faq,
.vsl60__final { margin: 60px 0; }
.vsl60__statement {
  min-height: 420px;
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: var(--vsl-gap);
  align-items:end;
  padding: 56px;
  background:#111;
  color:#fff;
}
.vsl60__statement h2,
.vsl60__section-copy h2,
.vsl60__deliverables h2,
.vsl60__fit h2,
.vsl60__faq h2,
.vsl60__final h2 {
  margin-bottom: 26px;
  font-size: clamp(46px, 4.2vw, 64px);
  font-weight: 500;
  line-height:.96;
  letter-spacing:-.05em;
}
.vsl60__statement p { max-width:620px; margin-bottom:0; color:#b8b8b5; font-size:21px; line-height:1.35; }
.vsl60__split {
  min-height: 592px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--vsl-gap);
  align-items:stretch;
  padding:60px 0;
}
.vsl60__section-copy { display:flex; flex-direction:column; justify-content:center; padding-right: max(20px, 4vw); }
.vsl60__section-copy--right { padding-right:0; padding-left:max(20px,4vw); }
.vsl60__section-copy > p:not(.vsl60__eyebrow) { max-width:620px; color:var(--vsl-muted); font-size:20px; line-height:1.4; }
.vsl60__grid { display:grid; gap:16px; }
.vsl60__grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.vsl60__card,
.vsl60__mini-card,
.vsl60__metric {
  min-width:0;
  background:var(--vsl-paper);
  border:1px solid var(--vsl-line);
  border-radius:28px;
}
.vsl60__card { min-height:280px; aspect-ratio:1/1; display:flex; flex-direction:column; justify-content:flex-end; padding:28px; }
.vsl60__card-index,.vsl60__mini-card>span { margin-bottom:auto; color:var(--vsl-muted); font-size:14px; letter-spacing:.06em; }
.vsl60__card h3,.vsl60__mini-card h3 { margin:22px 0 14px; font-size:27px; font-weight:600; line-height:1.02; letter-spacing:-.035em; }
.vsl60__card p,.vsl60__mini-card p { margin:0; color:var(--vsl-muted); font-size:17px; line-height:1.28; }
.vsl60__mini-card { min-height:220px; display:flex; flex-direction:column; padding:24px; }
.vsl60__deliverables {
  min-height:592px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--vsl-gap);
  align-items:center;
  padding:60px 0;
}
.vsl60__deliverables ol { list-style:none; margin:0; padding:0; }
.vsl60__deliverables li { display:grid; grid-template-columns:70px 1fr; gap:20px; align-items:center; padding:20px 0; border-bottom:1px solid var(--vsl-line); }
.vsl60__deliverables li:first-child { border-top:1px solid var(--vsl-line); }
.vsl60__deliverables li span { color:var(--vsl-muted); font-size:14px; }
.vsl60__deliverables li strong { font-size:22px; font-weight:500; letter-spacing:-.025em; }
.vsl60__metric { min-height:250px; aspect-ratio:1/1; display:flex; flex-direction:column; justify-content:flex-end; padding:26px; }
.vsl60__metric strong { margin-bottom:auto; font-size:clamp(38px,4vw,64px); font-weight:500; line-height:.9; letter-spacing:-.06em; }
.vsl60__metric span { font-size:20px; line-height:1.1; }
.vsl60__metric small { margin-top:12px; color:var(--vsl-muted); font-size:13px; }
.vsl60__fit { min-height:560px; display:grid; grid-template-columns:1fr 1fr; gap:var(--vsl-gap); align-items:center; padding:60px 0; }
.vsl60__fit-copy > p:not(.vsl60__eyebrow) { max-width:600px; color:var(--vsl-muted); font-size:20px; line-height:1.4; }
.vsl60__fit ul { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.vsl60__fit li { display:grid; grid-template-columns:60px 1fr; gap:16px; min-height:96px; align-items:center; padding:18px 22px; background:var(--vsl-paper); border:1px solid var(--vsl-line); border-radius:18px; }
.vsl60__fit li span { color:var(--vsl-muted); font-size:13px; }
.vsl60__fit li p { margin:0; font-size:19px; line-height:1.25; }
.vsl60__faq { min-height:520px; display:grid; grid-template-columns:1fr 1fr; gap:var(--vsl-gap); align-items:start; padding:60px 0; }
.vsl60__faq-list details { border-top:1px solid var(--vsl-line); }
.vsl60__faq-list details:last-child { border-bottom:1px solid var(--vsl-line); }
.vsl60__faq-list summary { cursor:pointer; list-style:none; padding:25px 36px 25px 0; position:relative; font-size:21px; font-weight:500; letter-spacing:-.025em; }
.vsl60__faq-list summary::-webkit-details-marker { display:none; }
.vsl60__faq-list summary::after { content:"+"; position:absolute; right:0; top:20px; font-size:28px; font-weight:300; }
.vsl60__faq-list details[open] summary::after { content:"−"; }
.vsl60__faq-list details p { margin:0 0 28px; max-width:650px; color:var(--vsl-muted); font-size:18px; line-height:1.45; }
.vsl60__final { min-height:520px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:60px; background:#111; color:#fff; }
.vsl60__final h2 { max-width:1050px; }
.vsl60__final > p:not(.vsl60__eyebrow) { max-width:780px; margin-bottom:32px; color:#b8b8b5; font-size:21px; line-height:1.35; }
.service-card-linked-v2160 { cursor:pointer; transition:transform .18s ease, box-shadow .18s ease; }
.service-card-linked-v2160:hover { transform:translateY(-3px); box-shadow:0 16px 44px rgba(0,0,0,.06); }
.service-card-linked-v2160:focus-visible { outline:2px solid #ff5a1f; outline-offset:4px; }
@media (max-width: 980px) {
  .vsl60 { width:min(100% - 28px, 1480px); padding-top:30px; }
  .vsl60__hero,.vsl60__split,.vsl60__deliverables,.vsl60__fit,.vsl60__faq,.vsl60__statement { grid-template-columns:1fr; min-height:auto; }
  .vsl60__hero { padding-top:40px; }
  .vsl60__hero-index { min-height:260px; }
  .vsl60__split--title-right .vsl60__split-media { order:2; }
  .vsl60__split--title-right .vsl60__section-copy { order:1; padding-left:0; }
  .vsl60__statement { padding:34px; }
}
@media (max-width: 640px) {
  .vsl60__grid--2 { grid-template-columns:1fr; }
  .vsl60__card,.vsl60__metric { aspect-ratio:auto; min-height:250px; }
  .vsl60__hero h1 { font-size:52px; }
  .vsl60__statement h2,.vsl60__section-copy h2,.vsl60__deliverables h2,.vsl60__fit h2,.vsl60__faq h2 { font-size:42px; }
  .vsl60__final { padding:38px 28px; }
}

/* The /services cards receive real full-card anchors at runtime. */
.service-card-link-host-v2160 { position: relative !important; }
.service-card-overlay-link-v2160 {
  position: absolute;
  inset: 0;
  z-index: 20;
  border-radius: inherit;
  color: transparent;
  text-decoration: none;
  font-size: 0;
}
.service-card-overlay-link-v2160:focus-visible {
  outline: 3px solid #ff5a1f;
  outline-offset: 4px;
}
