.services-page {
  --sv-ease: cubic-bezier(.22,.61,.36,1);
  --sv-panel: linear-gradient(150deg, rgba(13,34,57,.86), rgba(7,22,39,.92) 62%, rgba(4,16,28,.94));
  --sv-hair: rgba(255,255,255,.075);
}

.services-page .page-hero-services { padding: 190px 0 104px; }
.services-page .page-hero-services h1 { max-width: 15ch; }
.services-page .page-hero-services p { max-width: 640px; }
.sv-hero-pair {
  display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px;
  font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: #9fb0c1;
}
.sv-hero-pair span {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 11px 18px; border: 1px solid var(--line); border-radius: 999px;
  background: rgba(4,16,28,.42);
}
.sv-hero-pair span::before {
  content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%;
  background: var(--gold-400); box-shadow: 0 0 0 3px rgba(224,181,95,.14), 0 0 10px rgba(224,181,95,.5);
}

.sv-scene { padding: clamp(86px, 11vw, 148px) 0; position: relative; }
.sv-scene-alt { background: linear-gradient(180deg, rgba(4,16,28,0), rgba(4,16,28,.55) 20%, rgba(4,16,28,.55) 80%, rgba(4,16,28,0)); }
.sv-head { max-width: 860px; }
.sv-kicker { margin: 0 0 22px; }
.sv-title {
  font-family: var(--serif); font-weight: 500; letter-spacing: -.035em; line-height: .95; margin: 0;
  font-size: clamp(42px, 5.6vw, 74px);
}
.sv-lede { color: #a3b2c0; font-size: clamp(16px, 1.35vw, 19px); max-width: 640px; margin: 26px 0 0; }
.sv-note { color: #8394a5; font-size: 13px; line-height: 1.75; max-width: 620px; }
.sv-note strong { color: var(--gold-300); font-weight: 600; }
.sv-head-inset { margin-top: clamp(70px, 9vw, 120px); }
.sv-title-sm { font-size: clamp(32px, 4vw, 54px); }

.sv-index { margin-top: 58px; display: grid; gap: 0; position: relative; }
.sv-index-row {
  display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; align-items: center; gap: clamp(18px, 3vw, 40px);
  padding: 34px 0; border-top: 1px solid var(--sv-hair); position: relative;
}
.sv-index-row:last-child { border-bottom: 1px solid var(--sv-hair); }
.services-page .sv-icon { display: block; flex: none; width: 44px; height: 44px; }
.services-page .sv-icon svg { display: block; width: 100%; height: 100%; overflow: visible; }
.sv-index-row > .sv-icon { align-self: center; width: 52px; height: 52px; }
.sv-index-row h3 { font-family: var(--serif); font-weight: 500; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.02; margin: 0 0 8px; letter-spacing: -.02em; }
.sv-index-row p { margin: 0; color: #93a3b3; font-size: 14px; max-width: 54ch; }
.sv-index-row > a {
  display: inline-flex; align-items: center; gap: 12px; white-space: nowrap;
  color: var(--gold-300); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700;
  padding: 13px 0; border-bottom: 1px solid rgba(224,181,95,.35);
}
.sv-index-row > a b { transition: transform .25s var(--sv-ease); font-size: 13px; }
.sv-index-row > a:hover b { transform: translateX(5px); }

.sv-sticky { margin-top: clamp(50px, 7vw, 88px); display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); gap: clamp(30px, 5vw, 70px); align-items: start; }
.sv-sticky-visual { position: sticky; top: 124px; }
.sv-build {
  position: relative; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden;
  background: var(--sv-panel); box-shadow: var(--shadow); padding: 22px 22px 18px;
}
.sv-build svg { display: block; width: 100%; height: auto; }
.sv-build-layer { opacity: 1; }
.sv-build-foot {
  display: flex; align-items: center; gap: 18px; margin-top: 14px; padding-top: 16px; border-top: 1px solid var(--sv-hair);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #8b9cad;
}
.sv-build-nodes { position: relative; display: flex; align-items: center; gap: 12px; flex: none; }
.sv-build-nodes::before { content: ""; position: absolute; left: 3px; right: 3px; top: 50%; height: 1px; background: linear-gradient(90deg, rgba(224,181,95,.55), rgba(224,181,95,.16)); }
.sv-build-nodes i {
  position: relative; display: block; width: 7px; height: 7px; border-radius: 50%;
  background: var(--gold-400); box-shadow: 0 0 0 3px rgba(224,181,95,.12);
  transition: background .4s var(--sv-ease), box-shadow .4s var(--sv-ease), transform .4s var(--sv-ease);
}
.is-ready .sv-build-nodes i:not(.is-on) { background: var(--ob-900, #111113); box-shadow: inset 0 0 0 1px rgba(224,181,95,.42); }
.sv-build-nodes i.is-now { transform: scale(1.3); box-shadow: 0 0 0 4px rgba(224,181,95,.14), 0 0 14px rgba(224,181,95,.55); }
.sv-build-foot span { letter-spacing: .14em; }

.sv-steps { position: relative; padding-left: clamp(26px, 3vw, 44px); }
.sv-steps::before { content: ""; position: absolute; left: 6px; top: 0; bottom: 0; width: 1px; background: rgba(255,255,255,.09); }
.sv-sticky-steps { list-style: none; margin: 0; padding: 0; }
.sv-sticky-fill {
  position: absolute; left: 6px; top: 0; bottom: 0; width: 1px; transform-origin: top; transform: scaleY(var(--p, 1));
  background: linear-gradient(180deg, var(--gold-400), rgba(224,181,95,.22));
  box-shadow: 0 0 14px rgba(224,181,95,.35); transition: transform .7s var(--sv-ease);
}
.sv-step { position: relative; min-height: 58vh; display: flex; flex-direction: column; justify-content: center; padding: 30px 0; }
.sv-step::before {
  content: ""; position: absolute; left: calc(-1 * clamp(26px, 3vw, 44px) + 2px); top: calc(50% - 5px);
  width: 9px; height: 9px; border-radius: 50%; background: var(--navy-950); border: 1px solid rgba(224,181,95,.45);
  transition: background .4s var(--sv-ease), box-shadow .4s var(--sv-ease), transform .4s var(--sv-ease);
}
.sv-step.is-active::before { background: var(--gold-400); box-shadow: 0 0 0 5px rgba(224,181,95,.14), 0 0 18px rgba(224,181,95,.5); transform: scale(1.15); }
.sv-step > em {
  font-style: normal; display: block; font-size: 9px; letter-spacing: .24em; text-transform: uppercase; color: #74869a; margin-bottom: 14px;
  transition: color .4s var(--sv-ease);
}
.sv-step.is-active > em { color: var(--gold-300); }
.sv-step h3 { font-family: var(--serif); font-weight: 500; font-size: clamp(28px, 3.3vw, 42px); line-height: 1.04; margin: 0 0 14px; letter-spacing: -.02em; color: #c3ceda; transition: color .45s var(--sv-ease); }
.sv-step.is-active h3 { color: var(--ivory); }
.sv-step p { margin: 0; color: #8c9dad; font-size: 15px; line-height: 1.75; max-width: 46ch; transition: color .45s var(--sv-ease); }
.sv-step.is-active p { color: #a7b6c4; }

.sv-includes { position: relative; margin: clamp(60px, 8vw, 96px) 0 0; padding: 0 0 0 clamp(30px, 4vw, 52px); }
.sv-includes::before { content: ""; position: absolute; left: 7px; top: 12px; bottom: 12px; width: 1px; background: rgba(255,255,255,.09); }
.sv-includes-list { list-style: none; margin: 0; padding: 0; }
.sv-includes-fill {
  position: absolute; left: 7px; top: 12px; bottom: 12px; width: 1px; transform-origin: top; transform: scaleY(1);
  background: linear-gradient(180deg, rgba(240,209,143,.95), rgba(201,154,66,.3));
  box-shadow: 0 0 12px rgba(224,181,95,.3);
}
.sv-includes li { position: relative; padding: 24px 0; border-bottom: 1px solid var(--sv-hair); }
.sv-includes li:last-child { border-bottom: 0; }
.sv-includes li::before {
  content: ""; position: absolute; left: calc(-1 * clamp(30px, 4vw, 52px) + 3px); top: 32px;
  width: 9px; height: 9px; border-radius: 50%; background: var(--gold-400); box-shadow: 0 0 0 4px rgba(224,181,95,.1);
}
.sv-includes h4 { margin: 0 0 6px; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--ivory); font-weight: 600; }
.sv-includes p { margin: 0; color: #8a9bab; font-size: 14px; line-height: 1.7; max-width: 62ch; }
.sv-includes-tight { margin-top: 0; }

.sv-shot {
  display: block; position: relative; overflow: hidden; border-radius: 16px;
  background: linear-gradient(160deg, rgba(13,34,57,.9), rgba(4,16,28,.95));
  border: 1px solid var(--sv-hair);
}
.sv-shot::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(4,16,28,.06), rgba(4,16,28,.58));
  box-shadow: inset 0 0 0 1px rgba(224,181,95,.1);
}
.sv-shot img {
  display: block; width: 100%; height: 100%; object-fit: cover;
  filter: saturate(.72) contrast(1.06) brightness(.86);
}

.sv-credit { display: block; margin-top: 8px; color: #8a9bab; font-size: 10px; line-height: 1.55; letter-spacing: .03em; }
.sv-credit a { color: #b79f68; text-decoration: underline; text-underline-offset: 2px; }
.sv-credit a:hover { color: var(--gold-300); }

.sv-welcome {
  margin-top: clamp(46px, 6vw, 76px); display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(30px, 5vw, 64px); align-items: start;
}
.sv-welcome-copy h3 { font-family: var(--serif); font-weight: 500; font-size: clamp(30px, 3.6vw, 48px); line-height: 1; margin: 0 0 20px; letter-spacing: -.03em; }
.sv-welcome-copy p { color: #93a3b3; font-size: 15.5px; line-height: 1.8; margin: 0 0 16px; max-width: 52ch; }
.sv-welcome-copy p strong { color: var(--ivory); font-weight: 600; }

.sv-civic { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 2vw, 22px); }
.sv-civic-tile { margin: 0; }
.sv-civic-tile .sv-shot { aspect-ratio: 3 / 2; }
.sv-civic-tile figcaption { padding-top: 12px; }
.sv-civic-tile b { display: block; color: var(--ivory); font-size: 12px; font-weight: 600; letter-spacing: .04em; }
.sv-civic-tile figcaption > span { display: block; margin-top: 4px; color: var(--gold-300); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; }
.sv-civic-note { grid-column: 1 / -1; margin: 6px 0 0; color: #7f92a4; font-size: 12px; line-height: 1.75; }

.sv-burden { margin-top: clamp(40px, 5vw, 62px); }
.sv-burden-rail { position: relative; height: 62px; }
.sv-burden-line { position: absolute; left: 0; right: 0; top: 10px; height: 1px; background: rgba(255,255,255,.09); }
.sv-burden-fill {
  position: absolute; left: 0; right: 0; top: 10px; height: 1px; transform-origin: left; transform: scaleX(1);
  background: linear-gradient(90deg, rgba(224,181,95,.28), var(--gold-400));
  box-shadow: 0 0 14px rgba(224,181,95,.35);
}
.sv-burden-node {
  position: absolute; top: 6px; width: 9px; height: 9px; border-radius: 50%;
  background: var(--gold-400); box-shadow: 0 0 0 5px rgba(224,181,95,.1), 0 0 16px rgba(224,181,95,.5);
}
.sv-burden-node-a { left: 0; }
.sv-burden-node-b { right: 0; }
.sv-burden-tag {
  position: absolute; top: 28px; font-style: normal; font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: #8092a4;
}
.sv-burden-tag-a { left: 0; }
.sv-burden-tag-b { right: 0; text-align: right; color: var(--gold-300); }
.sv-burden-note { margin: 0; color: #93a3b3; font-size: 14px; line-height: 1.75; max-width: 64ch; }

.sv-bands { margin-top: clamp(30px, 4vw, 46px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 2.6vw, 30px); align-items: start; }
.sv-band {
  border: 1px solid var(--sv-hair); border-radius: var(--radius); overflow: hidden;
  background: linear-gradient(160deg, rgba(30,30,33,.92), rgba(17,17,19,.94)); display: flex; flex-direction: column;
}
.sv-band-reg { border-color: rgba(224,181,95,.26); box-shadow: var(--shadow); }
.sv-band-media { margin: 0; padding: clamp(16px, 2vw, 22px) clamp(16px, 2vw, 22px) 0; }
.sv-band-media .sv-shot { aspect-ratio: 16 / 9; }
.sv-band-media figcaption { padding-top: 11px; }
.sv-band-media b { color: var(--ivory); font-size: 11px; font-weight: 600; letter-spacing: .05em; }
.sv-band-media figcaption > span { display: block; margin-top: 3px; color: var(--gold-300); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; }
.sv-band-body { padding: clamp(22px, 3vw, 38px); }
.sv-band-tag { margin: 0 0 12px; font-size: 9px; letter-spacing: .22em; text-transform: uppercase; color: var(--gold-400); }
.sv-band h3 { margin: 0 0 14px; font-family: var(--serif); font-weight: 500; font-size: clamp(28px, 3vw, 40px); line-height: 1.02; letter-spacing: -.025em; }
.sv-band-who { margin: 0 0 24px; color: #97a6b5; font-size: 13.5px; line-height: 1.75; }
.sv-band-figure { padding: 22px 0; border-top: 1px solid var(--sv-hair); border-bottom: 1px solid var(--sv-hair); }
.sv-band-figure > em { font-style: normal; display: block; font-size: 9px; letter-spacing: .22em; text-transform: uppercase; color: #7f92a4; margin-bottom: 14px; }
.sv-band-figure .sv-figure { font-size: clamp(40px, 4.4vw, 58px); }
.sv-band-sub { margin: 14px 0 0; color: #8a9bab; font-size: 13px; line-height: 1.7; }
.sv-band-sub .sv-figure-inline { display: inline; font-size: inherit; font-family: inherit; font-weight: 600; letter-spacing: 0; line-height: inherit; }
.sv-band-copy { margin: 22px 0 0; color: #8d9dad; font-size: 14px; line-height: 1.78; }
.sv-band-list { margin: 22px 0 0; padding: 0; list-style: none; }
.sv-band-list li { position: relative; padding: 10px 0 10px 20px; color: #97a6b5; font-size: 13.5px; line-height: 1.6; border-top: 1px solid rgba(255,255,255,.05); }
.sv-band-list li::before { content: ""; position: absolute; left: 0; top: 18px; width: 6px; height: 1px; background: var(--gold-400); }

.sv-ladder {
  margin-top: clamp(56px, 7vw, 92px); display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: clamp(30px, 5vw, 66px); align-items: start;
}
.sv-ladder-copy h3 { margin: 0 0 18px; font-family: var(--serif); font-weight: 500; font-size: clamp(28px, 3.2vw, 42px); line-height: 1.02; letter-spacing: -.025em; }
.sv-ladder-copy > p { margin: 0 0 26px; color: #93a3b3; font-size: 15px; line-height: 1.8; max-width: 46ch; }
.sv-ladder-media { margin: 0; }
.sv-ladder-media .sv-shot { aspect-ratio: 1 / 1; }
.sv-ladder-media .sv-shot img { object-position: 50% 32%; }
.sv-ladder-media figcaption { padding-top: 12px; }
.sv-ladder-media b { display: block; color: var(--ivory); font-size: 11.5px; font-weight: 600; letter-spacing: .04em; }
.sv-ladder-media figcaption > span { display: block; margin-top: 3px; color: var(--gold-300); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; }

.sv-compliance-top { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(24px, 4vw, 48px); align-items: center; padding: clamp(30px, 4vw, 46px); border-bottom: 1px solid var(--sv-hair); }
.sv-compliance-top .sv-compliance-head { padding: 0; border-bottom: 0; }
.sv-compliance-media { margin: 0; }
.sv-compliance-media .sv-shot { aspect-ratio: 3 / 2; }
.sv-compliance-media figcaption { padding-top: 11px; }
.sv-compliance-media b { display: block; color: var(--ivory); font-size: 11px; font-weight: 600; letter-spacing: .04em; }
.sv-compliance-media figcaption > span { display: block; margin-top: 3px; color: var(--gold-300); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; }

.sv-recur {
  margin-top: clamp(60px, 8vw, 96px); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden;
  background: var(--sv-panel); box-shadow: var(--shadow);
}
.sv-recur-head { padding: clamp(30px, 4vw, 46px); border-bottom: 1px solid var(--sv-hair); }
.sv-recur-head h3 { font-family: var(--serif); font-weight: 500; font-size: clamp(30px, 3.6vw, 46px); line-height: 1.02; margin: 0 0 12px; letter-spacing: -.025em; }
.sv-recur-head p { margin: 0; color: #93a3b3; font-size: 15px; max-width: 58ch; }
.sv-recur-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sv-recur-cell { padding: clamp(28px, 3.4vw, 42px); border-right: 1px solid var(--sv-hair); }
.sv-recur-cell:last-child { border-right: 0; }
.sv-recur-cell > em { font-style: normal; display: block; font-size: 9px; letter-spacing: .22em; text-transform: uppercase; color: #7f92a4; margin-bottom: 16px; }
.sv-figure {
  display: block; font-family: var(--serif); font-weight: 600; letter-spacing: -.035em; line-height: .92;
  font-size: clamp(42px, 5vw, 64px);
  background: linear-gradient(140deg, #fbf0d4, var(--gold-400) 46%, #b98a33);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  font-variant-numeric: tabular-nums;
}
.sv-price-fig { display: inline-flex; align-items: flex-start; gap: 3px; flex-wrap: wrap; }
.sv-star { color: var(--gold-400); font-family: var(--serif); font-size: 26px; line-height: 1; }
.sv-recur-unit { align-self: flex-end; color: #8a9bab; font-size: 13px; letter-spacing: .06em; padding-bottom: 6px; }
.sv-recur-cell p { margin: 14px 0 0; color: #8a9bab; font-size: 13.5px; line-height: 1.72; }
.sv-recur-foot { padding: 22px clamp(28px, 3.4vw, 42px) 30px; border-top: 1px solid var(--sv-hair); background: rgba(4,16,28,.4); }
.sv-recur-foot p { margin: 0 0 10px; color: #7f92a4; font-size: 12.5px; line-height: 1.75; max-width: 86ch; }
.sv-recur-foot p:last-child { margin-bottom: 0; }

.sv-proof {
  margin-top: clamp(46px, 6vw, 72px); display: grid; grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(20px, 3vw, 44px); align-items: center;
  border: 1px solid var(--sv-hair); border-radius: var(--radius); padding: clamp(26px, 3.4vw, 40px);
  background: rgba(28,28,31,.62);
}
.sv-proof h4 { margin: 0 0 10px; font-family: var(--serif); font-weight: 500; font-size: clamp(24px, 2.6vw, 33px); line-height: 1.08; letter-spacing: -.02em; }
.sv-proof p { margin: 0; color: #8b9cad; font-size: 14px; line-height: 1.75; max-width: 62ch; }
.sv-proof p a { color: var(--gold-300); border-bottom: 1px solid rgba(224,181,95,.4); }
.sv-proof p a:hover { color: var(--ivory); }

.sv-hours { margin-top: clamp(50px, 7vw, 84px); display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(30px, 5vw, 66px); align-items: center; }
.sv-hours-chart {
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--sv-panel); box-shadow: var(--shadow);
  padding: clamp(26px, 3vw, 38px);
}
.sv-hours-bars { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: clamp(6px, 1vw, 11px); height: 190px; align-items: end; }
.sv-hour { position: relative; height: 100%; border-radius: 7px 7px 3px 3px; transform-origin: bottom; }
.sv-hour-bill { background: linear-gradient(180deg, var(--gold-300), #b9852f); box-shadow: 0 0 22px rgba(224,181,95,.22); }
.sv-hour-drain { background: linear-gradient(180deg, rgba(139,156,173,.5), rgba(38,54,74,.55)); transform: scaleY(.2); opacity: .5; }
.sv-hours-legend { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--sv-hair); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: #8092a4; }
.sv-hours-legend span { display: inline-flex; align-items: center; gap: 9px; }
.sv-hours-legend i { width: 9px; height: 9px; border-radius: 3px; display: block; }
.sv-hours-legend i.bill { background: var(--gold-400); }
.sv-hours-legend i.drain { background: rgba(120,138,157,.6); }
.sv-hours-copy h3 { font-family: var(--serif); font-weight: 500; font-size: clamp(32px, 4vw, 52px); line-height: 1; margin: 0 0 20px; letter-spacing: -.03em; }
.sv-hours-copy p { color: #93a3b3; font-size: 15.5px; line-height: 1.8; margin: 0 0 16px; max-width: 52ch; }
.sv-hours-copy p strong { color: var(--ivory); font-weight: 600; }

.sv-pipe { margin-top: clamp(56px, 7vw, 90px); position: relative; padding-top: 4px; }
.sv-pipe-rail {
  position: absolute; pointer-events: none;
  left: var(--rail-x, 8.34%); top: var(--rail-y, 34px);
  width: max(var(--run-x, 83.32%), 2px); height: 2px;
  margin-left: -1px; margin-top: -1px;
}
.sv-pipe-line { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(224,181,95,.1), rgba(224,181,95,.42), rgba(224,181,95,.1)); }
.sv-pipe-token {
  position: absolute; left: -5px; top: -5px; width: 12px; height: 12px; border-radius: 50%;
  background: radial-gradient(circle, #fff6e0, var(--gold-400) 55%, rgba(201,154,66,0) 72%);
  box-shadow: 0 0 20px rgba(240,209,143,.75); opacity: 0; will-change: transform;
}
.sv-pipe-stages { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(8px, 1.4vw, 20px); }
.sv-pipe-stage { position: relative; padding: 60px 4px 0; text-align: center; }
.sv-pipe-stage::before {
  content: ""; position: absolute; left: 50%; top: 28px; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%;
  background: var(--navy-950); border: 1px solid rgba(224,181,95,.42);
}
.sv-pipe-glow {
  position: absolute; left: 50%; top: 28px; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%;
  background: var(--gold-400); box-shadow: 0 0 0 6px rgba(224,181,95,.12), 0 0 20px rgba(224,181,95,.6);
  opacity: 0; transform: scale(.7);
}
.sv-pipe-stage h3 { margin: 0 0 8px; font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--ivory); font-weight: 600; line-height: 1.4; }
.sv-pipe-stage p { margin: 0; color: #8090a1; font-size: 12.5px; line-height: 1.65; }

.sv-tools { margin-top: clamp(56px, 7vw, 92px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--sv-hair); border-radius: var(--radius); overflow: hidden; background: linear-gradient(160deg, rgba(30,30,33,.92), rgba(17,17,19,.94)); }
.sv-tool { padding: clamp(28px, 3.4vw, 44px); position: relative; }
.sv-tool:nth-child(odd) { border-right: 1px solid var(--sv-hair); }
.sv-tool:nth-child(-n+2) { border-bottom: 1px solid var(--sv-hair); }
.sv-tool > .sv-icon { width: 40px; height: 40px; margin-bottom: 22px; }
.sv-tool h3 { margin: 0 0 6px; font-family: var(--serif); font-weight: 500; font-size: clamp(26px, 2.8vw, 36px); line-height: 1.05; letter-spacing: -.02em; }
.sv-tool > span { display: block; font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: var(--gold-300); margin-bottom: 18px; }
.sv-tool p { margin: 0 0 14px; color: #8d9dad; font-size: 14px; line-height: 1.75; }
.sv-tool ul { margin: 0; padding: 0; list-style: none; }
.sv-tool li { position: relative; padding: 9px 0 9px 20px; color: #97a6b5; font-size: 13.5px; line-height: 1.6; border-top: 1px solid rgba(255,255,255,.05); }
.sv-tool li::before { content: ""; position: absolute; left: 0; top: 17px; width: 6px; height: 1px; background: var(--gold-400); }
.sv-tool .inline-arrow { margin-top: 20px; }
.sv-tool-flag { display: inline-block; margin-top: 16px; padding: 7px 13px; border: 1px solid rgba(224,181,95,.3); border-radius: 999px; font-size: 9px; letter-spacing: .16em; text-transform: uppercase; color: #d4b86f; }

.sv-reach { margin-top: clamp(56px, 7vw, 92px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 60px); align-items: center; border-top: 1px solid var(--sv-hair); padding-top: clamp(40px, 5vw, 64px); }
.sv-reach-figure .sv-figure { font-size: clamp(56px, 8vw, 108px); }
.sv-reach-figure > em { font-style: normal; display: block; font-size: 9px; letter-spacing: .22em; text-transform: uppercase; color: #7f92a4; margin-bottom: 18px; }
.sv-reach-figure p { margin: 18px 0 0; color: #93a3b3; font-size: 15px; line-height: 1.8; max-width: 44ch; }
.sv-reach-copy p { color: #8d9dad; font-size: 15px; line-height: 1.85; margin: 0 0 16px; }
.sv-reach-copy p strong { color: var(--ivory); font-weight: 600; }

.sv-compliance {
  margin-top: clamp(56px, 7vw, 92px); border: 1px solid var(--line); border-radius: var(--radius);
  background: var(--sv-panel); box-shadow: var(--shadow); overflow: hidden;
}
.sv-compliance-head { padding: clamp(30px, 4vw, 46px); border-bottom: 1px solid var(--sv-hair); }
.sv-compliance-head h3 { margin: 0 0 12px; font-family: var(--serif); font-weight: 500; font-size: clamp(30px, 3.6vw, 48px); line-height: 1; letter-spacing: -.03em; max-width: 20ch; }
.sv-compliance-head p { margin: 0; color: #93a3b3; font-size: 15px; max-width: 58ch; line-height: 1.8; }
.sv-compliance-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sv-compliance-grid article { padding: clamp(26px, 3.2vw, 40px); border-right: 1px solid var(--sv-hair); }
.sv-compliance-grid article:last-child { border-right: 0; }
.sv-compliance-grid h4 { margin: 0 0 12px; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--gold-300); font-weight: 700; }
.sv-compliance-grid p { margin: 0; color: #8a9bab; font-size: 13.5px; line-height: 1.75; }

.sv-signoff { margin-top: clamp(40px, 5vw, 60px); display: flex; flex-wrap: wrap; align-items: center; gap: 16px 26px; color: #7f92a4; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; }
.sv-signoff i { display: block; width: 4px; height: 4px; border-radius: 50%; background: var(--gold-400); box-shadow: 0 0 11px rgba(224,181,95,.6); }
.sv-signoff b { color: var(--gold-300); font-weight: 700; }

@media (max-width: 1100px) {
  .sv-sticky { display: block; }
  .sv-sticky-visual { position: static; margin-bottom: clamp(32px, 5vw, 52px); }
  .sv-build { padding: 16px 16px 12px; }
  .sv-step { min-height: 46vh; }
  .sv-hours { grid-template-columns: 1fr; }
  .sv-reach { grid-template-columns: 1fr; }
  .sv-recur-grid { grid-template-columns: 1fr; }
  .sv-recur-cell { border-right: 0; border-bottom: 1px solid var(--sv-hair); }
  .sv-recur-cell:last-child { border-bottom: 0; }
  .sv-welcome { grid-template-columns: 1fr; }
  .sv-bands { grid-template-columns: 1fr; }
  .sv-ladder { grid-template-columns: 1fr; }
  .sv-ladder-media { max-width: 460px; }
  .sv-compliance-top { grid-template-columns: 1fr; }
  .sv-compliance-media { max-width: 460px; }
  .sv-compliance-grid { grid-template-columns: 1fr; }
  .sv-compliance-grid article { border-right: 0; border-bottom: 1px solid var(--sv-hair); }
  .sv-compliance-grid article:last-child { border-bottom: 0; }
  .sv-tools { grid-template-columns: 1fr; }
  .sv-tool:nth-child(odd) { border-right: 0; }
  .sv-tool { border-bottom: 1px solid var(--sv-hair); }
  .sv-tool:last-child { border-bottom: 0; }
  .sv-proof { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
  .services-page .page-hero-services { padding: 148px 0 78px; }
  .sv-index-row { grid-template-columns: 54px minmax(0, 1fr); row-gap: 16px; }
  .sv-index-row > .sv-icon { width: 40px; height: 40px; align-self: start; margin-top: 2px; }
  .sv-index-row > a { grid-column: 2; justify-self: start; }
  .sv-pipe-rail {
    left: var(--rail-x, 18px); top: var(--rail-y, 36px);
    width: 2px; height: max(var(--run-y, calc(100% - 80px)), 2px);
  }
  .sv-pipe-line { background: linear-gradient(180deg, rgba(224,181,95,.1), rgba(224,181,95,.42), rgba(224,181,95,.1)); }
  .sv-pipe-stages { grid-template-columns: 1fr; gap: 0; }
  .sv-pipe-stage { padding: 20px 0 20px 48px; text-align: left; border-bottom: 1px solid var(--sv-hair); }
  .sv-pipe-stage:last-child { border-bottom: 0; }
  .sv-pipe-stage::before, .sv-pipe-glow { left: 12px; top: 26px; margin-left: 0; }
  .sv-hours-bars { height: 150px; }
  .sv-burden-rail { height: 76px; }
  .sv-burden-tag { max-width: 46%; line-height: 1.5; }
}

@media (max-width: 520px) {
  .sv-build-foot { gap: 14px; }
  .sv-hours-bars { height: 132px; gap: 5px; }
  .sv-signoff { letter-spacing: .16em; }
  .sv-civic { grid-template-columns: 1fr; }
  .sv-civic-tile .sv-shot { aspect-ratio: 3 / 2; }
  .sv-band-figure .sv-figure { font-size: clamp(36px, 12vw, 46px); }
  .sv-recur-unit { padding-bottom: 4px; }
  .sv-burden-tag { font-size: 8.5px; letter-spacing: .16em; }
}

@media (prefers-reduced-motion: no-preference) {
  .services-page .sv-reveal.is-shown .sv-shot img { animation: sv-zoom 1.25s var(--sv-ease) var(--reveal-delay, 0ms) backwards; }
  .services-page .sv-reveal.is-shown .sv-icon { animation: awa-scale .8s var(--awa-ease, ease) calc(var(--reveal-delay, 0ms) + .2s) backwards; }

  .services-page .is-ready .sv-sticky-fill { transform: scaleY(var(--p, 0)); }
  .services-page .is-ready .sv-build-layer { opacity: .12; transition: opacity .6s var(--sv-ease); }
  .services-page .is-ready .sv-build-layer.is-on { opacity: 1; }

  .services-page .sv-includes:has(li.is-shown) .sv-includes-fill { animation: sv-draw 1.5s var(--sv-ease) backwards; }

  .services-page .sv-burden.is-shown .sv-burden-fill { animation: sv-grow-x 1.4s var(--sv-ease) .1s backwards; }
  .services-page .sv-burden.is-shown .sv-burden-node-b { animation: sv-pop .5s var(--sv-ease) 1.05s backwards; }
  .services-page .sv-burden.is-shown .sv-burden-tag-b { animation: sv-slide .6s var(--sv-ease) 1.15s backwards; }

  .services-page .sv-hours-chart.is-shown .sv-hour-bill { animation: sv-bill .82s var(--sv-ease) calc(.2s + var(--i, 0) * 120ms) backwards; }
  .services-page .sv-hours-chart.is-shown .sv-hour-drain { animation: sv-drain .95s var(--sv-ease) calc(.2s + var(--i, 0) * 120ms) backwards; }

  .services-page .sv-pipe-token {
    animation: sv-token-x 9s linear infinite, sv-token-fade 9s linear infinite;
    animation-play-state: paused;
  }
  .services-page .sv-pipe-glow {
    animation: sv-pipe-lit 9s linear infinite;
    animation-delay: calc(var(--s, 0) * 1.44s);
    animation-play-state: paused;
  }
  .services-page .sv-pipe.is-running .sv-pipe-token,
  .services-page .sv-pipe.is-running .sv-pipe-glow { animation-play-state: running; }

  @supports (animation-timeline: view()) {
    .services-page .sv-includes .sv-includes-fill,
    .services-page .sv-includes:has(li.is-shown) .sv-includes-fill {
      animation: sv-draw linear both; animation-timeline: view(); animation-range: entry 32% cover 72%;
    }
  }
}

@keyframes sv-zoom { from { transform: scale(1.08); } }
@keyframes sv-grow-x { from { transform: scaleX(0); } }
@keyframes sv-pop { from { opacity: 0; transform: scale(.4); } }
@keyframes sv-slide { from { opacity: 0; transform: translate3d(-12px, 0, 0); } }
@keyframes sv-bill { from { transform: scaleY(0); } }
@keyframes sv-drain { from { transform: none; opacity: 1; } }
@keyframes sv-draw { from { transform: scaleY(0); } to { transform: scaleY(1); } }

@keyframes sv-token-fade {
  0% { opacity: 0; }
  4%, 88% { opacity: 1; }
  97%, 100% { opacity: 0; }
}

@keyframes sv-token-x {
  0%, 5% { transform: translate3d(0, 0, 0); }
  16%, 21% { transform: translate3d(calc(var(--run-x, 0px) * .2), 0, 0); }
  32%, 37% { transform: translate3d(calc(var(--run-x, 0px) * .4), 0, 0); }
  48%, 53% { transform: translate3d(calc(var(--run-x, 0px) * .6), 0, 0); }
  64%, 69% { transform: translate3d(calc(var(--run-x, 0px) * .8), 0, 0); }
  80%, 100% { transform: translate3d(var(--run-x, 0px), 0, 0); }
}

@keyframes sv-pipe-lit {
  0% { opacity: 0; transform: scale(.7); }
  3% { opacity: 1; transform: scale(1); }
  14% { opacity: 1; transform: scale(1); }
  22%, 100% { opacity: 0; transform: scale(.7); }
}

@media (max-width: 860px) and (prefers-reduced-motion: no-preference) {
  .services-page .sv-pipe-token { animation-name: sv-token-y, sv-token-fade; }
}

@keyframes sv-token-y {
  0%, 5% { transform: translate3d(0, 0, 0); }
  16%, 21% { transform: translate3d(0, calc(var(--run-y, 0px) * .2), 0); }
  32%, 37% { transform: translate3d(0, calc(var(--run-y, 0px) * .4), 0); }
  48%, 53% { transform: translate3d(0, calc(var(--run-y, 0px) * .6), 0); }
  64%, 69% { transform: translate3d(0, calc(var(--run-y, 0px) * .8), 0); }
  80%, 100% { transform: translate3d(0, var(--run-y, 0px), 0); }
}

@media (max-width: 1100px) {
  .services-page .is-ready .sv-build-layer { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .services-page .sv-build-layer { opacity: 1 !important; }
  .services-page .sv-pipe-token { display: none; }
  .services-page .sv-pipe-glow { opacity: 1; transform: none; }
  .services-page .sv-step::before { background: var(--gold-400); }
  .services-page .sv-sticky-visual { position: static; }
  .services-page .sv-shot img { transform: none !important; }
  .services-page .sv-burden-fill,
  .services-page .sv-burden-node,
  .services-page .sv-burden-tag { opacity: 1 !important; transform: none !important; }
}
