/* Services page: the homepage system (site.css) plus the offer cards. Hero matches the brand page's. */
.sv-hero { padding: clamp(40px, 8vh, 104px) var(--gutter) clamp(40px, 6vh, 72px); }
.sv-hero h1 { margin: 0; max-width: 13ch; font-weight: 650; font-size: clamp(54px, 7vw, 116px); line-height: 1.0; letter-spacing: -.045em; text-wrap: balance; }
.sv-hero h1 em { font-style: italic; font-weight: 600; color: var(--accent); letter-spacing: -.03em; padding-right: .04em; }
.sv-sub { margin: 28px 0 0; max-width: 46ch; font-size: clamp(18px, 1.4vw, 21px); line-height: 1.5; color: var(--soft); }
.sv-ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 30px; margin-top: 36px; }

/* one band per kind of work: kicker, lead line, then the offers */
.sv-band { padding-top: clamp(48px, 7vh, 88px); padding-bottom: clamp(48px, 7vh, 88px); border-top: 1.5px solid var(--line); margin: 0 var(--gutter); padding-left: 0; padding-right: 0; }
.sv-band h2 { max-width: 20ch; font-size: clamp(34px, 3.8vw, 60px); line-height: 1.04; }
.sv-list { list-style: none; margin: clamp(32px, 5vh, 56px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sv-list.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sv-item { display: flex; flex-direction: column; padding: 28px 28px 30px; border-radius: var(--r); background: var(--paper-2); }
.sv-item h3 { margin: 0; font-size: clamp(22px, 1.8vw, 28px); font-weight: 650; line-height: 1.1; letter-spacing: -.025em; }
.sv-price { margin: 10px 0 0; font-size: 17px; font-weight: 650; color: var(--accent); font-variant-numeric: tabular-nums; }
.sv-price small { display: block; margin-top: 4px; font-size: 14px; font-weight: 500; color: var(--soft); }
.sv-price.ask { color: var(--ink); }
.sv-item > p:not(.sv-price) { margin: 16px 0 0; font-size: 16px; line-height: 1.55; color: var(--soft); }
.sv-item > p.sv-links { display: flex; flex-wrap: wrap; gap: 14px 24px; margin: auto 0 0; padding-top: 22px; color: var(--ink); }

/* the bundle: the one dark card on the page */
.sv-item.feature { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr) auto; gap: 16px 40px; align-items: center; background: var(--ink); color: var(--paper); }
.sv-item.feature .sv-price { margin: 0; color: #9aa8ff; }
.sv-item.feature > p:not(.sv-price) { margin: 0; color: color-mix(in srgb, var(--paper) 74%, transparent); }
.sv-item.feature .tag { display: block; margin-bottom: 10px; font-size: 14px; font-weight: 600; color: color-mix(in srgb, var(--paper) 64%, transparent); }
.sv-item.feature .pill { border-color: var(--paper); color: var(--paper); }
.sv-item.feature .pill:hover { background: var(--paper); color: var(--ink); }

/* the close */
.sv-close { padding: clamp(56px, 9vh, 112px) var(--gutter) clamp(72px, 11vh, 128px); }
.sv-close .bd-card { background: var(--paper-2); }

@media (max-width: 1080px) {
  .sv-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sv-item.feature { grid-template-columns: 1fr; align-items: start; }
}
@media (max-width: 760px) {
  .sv-list, .sv-list.two { grid-template-columns: 1fr; }
  .sv-item { padding: 24px; }
  .sv-ctas .pill { width: 100%; }
}
