@charset "UTF-8";
:root {
  --color-outline: #8e706e;
  --radius-md: .75rem; }

.services-page .services-hero {
  position: relative;
  overflow: hidden;
  padding: 104px 0 112px;
  color: var(--color-inverse-on-surface);
  background: var(--color-inverse-surface); }
  .services-page .services-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(to right, #000, transparent 85%); }
  .services-page .services-hero__glow {
    position: absolute;
    top: -30%;
    right: -12%;
    width: 760px;
    height: 760px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(226, 67, 75, 0.24), rgba(226, 67, 75, 0.06) 42%, transparent 70%);
    pointer-events: none; }
  .services-page .services-hero__layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.8fr);
    gap: 48px;
    align-items: center; }
  .services-page .services-hero__content {
    max-width: 760px; }
  .services-page .services-hero [data-content-id="services-hero-title"] h1 {
    max-width: 680px; }
    .services-page .services-hero [data-content-id="services-hero-title"] h1 em {
      position: relative;
      color: var(--color-primary-fixed-dim);
      font-style: normal; }
      .services-page .services-hero [data-content-id="services-hero-title"] h1 em::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 2px;
        left: 0;
        height: 4px;
        border-radius: 2px;
        background: var(--color-primary-bright);
        opacity: 0.3; }
  .services-page .services-hero [data-content-id="services-hero-subtitle"] p {
    max-width: 620px;
    margin-bottom: 36px;
    font-size: var(--body-lg-size);
    line-height: 1.6;
    opacity: 0.85; }
  .services-page .services-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px; }
.services-page .services-map {
  position: relative;
  width: min(100%, 520px);
  aspect-ratio: 52/38;
  margin: 0;
  justify-self: end; }
  .services-page .services-map__routes {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    overflow: visible; }
    .services-page .services-map__routes path {
      fill: none;
      stroke: rgba(255, 255, 255, 0.42);
      stroke-width: 1.5;
      vector-effect: non-scaling-stroke; }
  .services-page .services-map__node, .services-page .services-map__core {
    position: absolute;
    z-index: 1;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 50%;
    color: var(--color-inverse-on-surface);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center; }
  .services-page .services-map__node {
    width: 22.3%;
    aspect-ratio: 1;
    background: var(--color-inverse-surface); }
  .services-page .services-map__core {
    top: 50%;
    left: 50%;
    z-index: 1;
    width: 28.8%;
    aspect-ratio: 1;
    transform: translate(-50%, -50%);
    border-color: var(--color-primary-fixed-dim);
    background: var(--color-primary);
    box-shadow: 0 0 0 14px rgba(226, 67, 75, 0.12);
    font-size: 16px; }
  .services-page .services-map__node--inventory {
    top: 11.6%;
    left: 8.5%; }
  .services-page .services-map__node--email {
    top: 11.6%;
    right: 8.5%; }
  .services-page .services-map__node--website {
    bottom: 11.6%;
    left: 8.5%; }
  .services-page .services-map__node--crm {
    right: 8.5%;
    bottom: 11.6%; }
  .services-page .services-map figcaption {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    color: rgba(255, 255, 255, 0.64);
    font-size: var(--caption-size);
    line-height: 1.4;
    text-align: center; }
.services-page .signal-section {
  padding: 64px 0;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--color-surface);
  text-align: center; }
  .services-page .signal-section__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    align-items: start; }
  .services-page .signal-section__intro h2 {
    max-width: 460px;
    margin-inline: auto;
    font-size: var(--headline-sm-size);
    font-weight: 600;
    line-height: 1.4; }
  .services-page .signal-section__solution {
    max-width: 760px;
    padding-top: 40px;
    text-align: center; }
    .services-page .signal-section__solution h3 {
      margin-bottom: 10px;
      font-size: 21px;
      font-weight: 700;
      text-align: center; }
    .services-page .signal-section__solution p {
      max-width: 650px;
      margin: 0 auto;
      color: var(--color-on-surface-variant); }
.services-page .signal-list {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr;
  max-width: 760px;
  margin: 0 auto; }
  .services-page .signal-list li {
    padding: 20px 24px;
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius);
    color: var(--color-on-surface-variant);
    background: var(--color-surface-container-low); }
.services-page .section-heading {
  max-width: 820px;
  margin-bottom: 52px; }
  .services-page .section-heading .section__title {
    font-weight: 600; }
  .services-page .section-heading .section__subtitle {
    max-width: 680px;
    margin-bottom: 0; }
.services-page .service-offer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px; }
.services-page .offer-card {
  position: relative;
  min-height: 290px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--layer-1);
  box-shadow: var(--shadow-1);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; }
  .services-page .offer-card:hover {
    transform: translateY(-4px);
    border-color: var(--color-primary-fixed-dim);
    box-shadow: var(--shadow-2); }
  .services-page .offer-card__icon {
    display: grid;
    width: 52px;
    height: 52px;
    margin-bottom: 38px;
    place-items: center;
    border-radius: var(--radius-md);
    color: var(--color-primary);
    background: var(--color-primary-fixed); }
    .services-page .offer-card__icon svg {
      width: 26px;
      fill: none;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 1.6; }
  .services-page .offer-card__number {
    position: absolute;
    top: 28px;
    right: 28px;
    color: var(--color-outline);
    font-size: var(--caption-size);
    font-weight: 900;
    letter-spacing: 0.08em; }
  .services-page .offer-card h3 {
    margin-bottom: 10px;
    font-size: 21px;
    font-weight: 700; }
  .services-page .offer-card > p:last-child {
    color: var(--color-on-surface-variant); }
.services-page .scope-note {
  display: flex;
  max-width: 820px;
  gap: 18px;
  align-items: center;
  margin-top: 28px;
  padding: 22px 24px;
  border-left: 3px solid var(--color-primary);
  border-radius: 0 var(--radius) var(--radius) 0;
  background: var(--color-surface-container-low); }
  .services-page .scope-note svg {
    flex: 0 0 28px;
    width: 28px;
    fill: none;
    stroke: var(--color-primary);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7; }
  .services-page .scope-note p {
    color: var(--color-on-surface-variant); }
  .services-page .scope-note [data-content-id="services-scope-note"] strong {
    color: var(--color-on-surface); }
.services-page .fit-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.82fr) minmax(300px, 1fr) minmax(260px, 0.78fr);
  gap: 24px;
  align-items: stretch; }
.services-page .fit-copy {
  padding: 22px 32px 22px 0; }
  .services-page .fit-copy > p:not(.section__label) {
    margin-bottom: 24px;
    color: var(--color-on-surface-variant); }
.services-page .fit-panel {
  padding: 30px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--layer-1);
  box-shadow: var(--shadow-1); }
  .services-page .fit-panel--yes {
    border-top: 3px solid var(--color-primary); }
  .services-page .fit-panel--no {
    background: transparent;
    box-shadow: none; }
  .services-page .fit-panel__label {
    margin-bottom: 18px;
    color: var(--color-primary);
    font-size: var(--caption-size);
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase; }
  .services-page .fit-panel--no .services-page .fit-panel__label {
    color: var(--color-on-surface-variant); }
  .services-page .fit-panel h3 {
    margin-bottom: 12px;
    font-size: 20px; }
  .services-page .fit-panel > p:last-child {
    color: var(--color-on-surface-variant); }
.services-page .check-list {
  display: grid;
  gap: 14px; }
  .services-page .check-list li {
    position: relative;
    padding-left: 27px;
    color: var(--color-on-surface-variant); }
    .services-page .check-list li::before {
      content: "✓";
      position: absolute;
      left: 0;
      color: var(--color-primary);
      font-weight: 900; }
.services-page .result-band {
  padding: 64px 0;
  color: var(--color-inverse-on-surface);
  background: var(--color-inverse-surface);
  border-top: 2px solid var(--color-primary-fixed-dim);
  border-bottom: 2px solid var(--color-primary-fixed-dim); }
  .services-page .result-band__layout {
    display: grid;
    grid-template-columns: minmax(240px, 0.6fr) minmax(0, 1.4fr);
    gap: 64px;
    align-items: center;
    max-width: 1000px; }
  .services-page .result-band__metric {
    display: flex;
    flex-direction: column;
    padding-right: 56px;
    border-right: 1px solid rgba(255, 255, 255, 0.14); }
    .services-page .result-band__metric strong {
      color: var(--color-primary-fixed-dim);
      font-size: clamp(50px, 7vw, 78px);
      font-weight: 900;
      line-height: 1;
      letter-spacing: -0.04em;
      white-space: nowrap;
      font-variant-numeric: tabular-nums; }
    .services-page .result-band__metric span {
      margin-top: 8px;
      color: rgba(255, 255, 255, 0.62);
      font-size: var(--body-lg-size); }
  .services-page .result-band .section__label {
    color: var(--color-primary-fixed-dim); }
  .services-page .result-band h2 {
    max-width: 650px;
    margin-bottom: 12px;
    font-size: var(--headline-md-size);
    line-height: 1.3; }
  .services-page .result-band__content > p:not(.section__label) {
    max-width: 690px;
    margin-bottom: 18px;
    color: rgba(255, 255, 255, 0.68); }
.services-page .text-link--light {
  color: var(--color-primary-fixed-dim); }
  .services-page .text-link--light:hover {
    color: var(--color-primary); }
.services-page .delivery-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--border-subtle);
  border-left: 1px solid var(--border-subtle); }
.services-page .delivery-step {
  min-height: 230px;
  padding: 28px 24px;
  border-right: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  list-style: none; }
  .services-page .delivery-step > span {
    display: block;
    margin-bottom: 40px;
    color: var(--color-primary);
    font-size: var(--caption-size);
    font-weight: 900;
    letter-spacing: 0.08em; }
  .services-page .delivery-step h3 {
    margin-bottom: 9px;
    font-size: 18px;
    line-height: 1.3; }
  .services-page .delivery-step p {
    color: var(--color-on-surface-variant);
    font-size: 14px; }
.services-page .cadence-card {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  margin-top: 28px;
  padding: 28px;
  border-radius: var(--radius-lg);
  background: var(--color-surface-container-low); }
  .services-page .cadence-card__icon {
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    border: 2px solid var(--color-primary);
    border-radius: 50%;
    color: var(--color-primary);
    font-size: 20px;
    font-weight: 900; }
  .services-page .cadence-card h3 {
    margin-bottom: 6px;
    font-size: 18px; }
  .services-page .cadence-card p {
    color: var(--color-on-surface-variant);
    font-size: 14px; }
  .services-page .cadence-card__links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start; }
    .services-page .cadence-card__links .content-link {
      font-size: var(--body-md-size); }
.services-page .pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px; }
.services-page .price-card {
  min-height: 260px;
  padding: 30px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--layer-1);
  box-shadow: var(--shadow-1); }
  .services-page .price-card--project {
    color: var(--color-inverse-on-surface);
    background: var(--color-inverse-surface);
    border-color: var(--color-inverse-surface); }
  .services-page .price-card__label {
    margin-bottom: 38px;
    color: var(--color-primary);
    font-size: var(--caption-size);
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase; }
  .services-page .price-card--project .price-card__label {
    color: var(--color-primary-fixed-dim); }
  .services-page .price-card__price {
    display: flex;
    flex-direction: column;
    margin-bottom: 16px;
    color: var(--color-on-surface);
    font-size: 30px;
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -0.02em; }
    .services-page .price-card__price span {
      margin-top: 7px;
      color: var(--color-on-surface-variant);
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0; }
  .services-page .price-card--project .price-card__price {
    color: #fff; }
  .services-page .price-card > p:last-child {
    color: var(--color-on-surface-variant); }
.services-page .pricing-grid .price-card--project > p:last-child {
  color: var(--color-inverse-on-surface); }
.services-page .support-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 64px;
  margin: 46px 0 24px;
  padding-top: 34px;
  border-top: 1px solid var(--color-outline-variant); }
.services-page .support-copy h3 {
  margin-bottom: 10px;
  font-size: 20px; }
.services-page .support-copy p {
  margin-bottom: 10px;
  color: var(--color-on-surface-variant); }
.services-page .ownership-section {
  overflow: hidden; }
.services-page .ownership-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
  gap: clamp(56px, 9vw, 112px);
  align-items: start; }
.services-page .ownership-copy > p:not(.section__label) {
  max-width: 670px;
  margin-bottom: 18px;
  color: var(--color-on-surface-variant); }
.services-page .ownership-note {
  max-width: 680px;
  margin-top: 28px;
  padding: 22px 24px;
  border-left: 3px solid var(--color-primary);
  background: var(--color-surface-container-low);
  color: var(--color-on-surface-variant); }
  .services-page .ownership-note [data-content-id="services-ownership-note"] strong {
    color: var(--color-on-surface); }
.services-page .handoff-card {
  padding: 36px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  background: var(--layer-1);
  box-shadow: var(--shadow-2); }
  .services-page .handoff-card__eyebrow {
    margin-bottom: 10px;
    color: var(--color-primary);
    font-size: var(--caption-size);
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase; }
  .services-page .handoff-card h3 {
    margin-bottom: 24px;
    font-size: var(--headline-sm-size); }
  .services-page .handoff-card .check-list {
    margin-bottom: 28px; }
.services-page .capability-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px; }
.services-page .capability-item {
  display: flex;
  min-height: 170px;
  padding: 24px 20px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--color-outline-variant);
  border-radius: var(--radius-lg);
  color: var(--color-on-surface);
  font-weight: 700;
  text-align: center; }
  .services-page .capability-item span {
    color: var(--color-primary);
    font-size: var(--caption-size);
    font-weight: 900;
    letter-spacing: 0.08em; }
.services-page .operations-note {
  display: grid;
  grid-template-columns: 0.8fr 1fr 1fr;
  gap: 40px;
  margin-top: 32px;
  padding: 32px;
  border-radius: var(--radius-lg);
  color: var(--color-inverse-on-surface);
  background: var(--color-inverse-surface); }
  .services-page .operations-note .section__label {
    color: var(--color-primary-fixed-dim); }
  .services-page .operations-note h3 {
    font-size: 20px; }
  .services-page .operations-note > p {
    color: rgba(255, 255, 255, 0.66);
    font-size: 14px; }
.services-page .boundaries-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 32px; }
.services-page .boundary-card {
  padding: 30px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--layer-1); }
  .services-page .boundary-card--yes {
    border-top: 3px solid var(--color-primary); }
  .services-page .boundary-card--no {
    background: transparent; }
  .services-page .boundary-card__label {
    margin-bottom: 8px;
    color: var(--color-primary);
    font-size: var(--caption-size);
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase; }
  .services-page .boundary-card--no .services-page .boundary-card__label {
    color: var(--color-on-surface-variant); }
  .services-page .boundary-card h3 {
    margin-bottom: 18px;
    font-size: 20px; }
  .services-page .boundary-card ul {
    display: grid;
    gap: 8px; }
  .services-page .boundary-card li {
    position: relative;
    padding-left: 20px;
    color: var(--color-on-surface-variant); }
    .services-page .boundary-card li::before {
      content: "•";
      position: absolute;
      left: 0;
      color: var(--color-primary);
      font-weight: 900; }
  .services-page .boundary-card--no li::before {
    content: "—";
    color: var(--color-outline); }
.services-page .cta-section {
  position: relative;
  overflow: hidden; }
  .services-page .cta-section .container {
    position: relative;
    z-index: 2;
    padding: 80px var(--gutter);
    text-align: center; }
  .services-page .cta-section__bg {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(226, 67, 75, 0.3), transparent), radial-gradient(ellipse 40% 70% at 80% 20%, rgba(255, 179, 177, 0.1), transparent); }
  .services-page .cta-section__title {
    margin-bottom: 16px;
    color: var(--color-inverse-on-surface);
    font-size: var(--headline-md-size); }
  .services-page .cta-section__subtitle {
    max-width: 500px;
    margin: 0 auto 36px;
    color: rgba(255, 255, 255, 0.75);
    font-size: var(--body-lg-size); }
  .services-page .cta-section .btn--secondary {
    border-color: rgba(255, 255, 255, 0.5);
    color: #fff; }
.services-page .cta-chips {
  max-width: 760px;
  margin: 0 auto 32px; }
  .services-page .cta-chips--marquee {
    display: block;
    max-width: 860px;
    overflow: hidden;
    mask-image: linear-gradient(to right, transparent 0, #000 12%, #000 88%, transparent 100%); }
  .services-page .cta-chips__track {
    display: flex;
    width: max-content;
    gap: 12px;
    animation: cta-chips-marquee 24s linear infinite; }
  .services-page .cta-chips span {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: var(--radius-full);
    padding: 10px 18px;
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.82);
    font-weight: 700;
    white-space: nowrap; }

@keyframes cta-chips-marquee {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(calc(-50% - 6px)); } }
@media (max-width: 1100px) {
  .services-page .service-offer-grid {
    grid-template-columns: 1fr 1fr; }
  .services-page .offer-card {
    min-height: 250px; }
  .services-page .fit-layout {
    grid-template-columns: 1fr 1fr; }
  .services-page .fit-copy {
    grid-column: 1/-1;
    max-width: 720px;
    padding-right: 0; }
  .services-page .capability-grid {
    grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 968px) {
  .services-page .services-hero {
    min-height: auto;
    padding: 80px 0; }
  .services-page .services-hero__layout {
    grid-template-columns: 1fr; }
  .services-page .services-map {
    justify-self: center; }
  .services-page .signal-section__intro h2 {
    max-width: 680px; }
  .services-page .delivery-grid {
    grid-template-columns: repeat(2, 1fr); }
  .services-page .pricing-grid {
    grid-template-columns: 1fr 1fr; }
  .services-page .price-card--project {
    grid-column: 1/-1;
    min-height: auto; }
  .services-page .ownership-layout {
    grid-template-columns: 1fr;
    gap: 48px; }
  .services-page .ownership-copy {
    max-width: 760px; }
  .services-page .operations-note {
    grid-template-columns: 1fr 1fr; }
    .services-page .operations-note > div {
      grid-column: 1/-1; } }
@media (max-width: 700px) {
  .services-page .services-hero {
    padding: 64px 0; }
  .services-page .service-offer-grid, .services-page .fit-layout, .services-page .pricing-grid, .services-page .support-grid, .services-page .boundaries-grid {
    grid-template-columns: 1fr; }
  .services-page .fit-copy {
    grid-column: auto; }
  .services-page .result-band__layout {
    grid-template-columns: 1fr;
    gap: 30px; }
  .services-page .result-band__metric {
    padding: 0 0 30px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14); }
  .services-page .delivery-grid {
    grid-template-columns: 1fr; }
  .services-page .delivery-step {
    min-height: 0; }
    .services-page .delivery-step > span {
      margin-bottom: 22px; }
  .services-page .cadence-card {
    grid-template-columns: 56px 1fr; }
  .services-page .cadence-card__links {
    grid-column: 2; }
  .services-page .price-card--project {
    grid-column: auto; }
  .services-page .support-grid {
    gap: 28px; }
  .services-page .handoff-card {
    padding: 28px 24px; }
  .services-page .capability-grid {
    grid-template-columns: 1fr 1fr; }
  .services-page .operations-note {
    grid-template-columns: 1fr;
    gap: 24px; }
    .services-page .operations-note > div {
      grid-column: auto; } }
@media (max-width: 460px) {
  .services-page .service-offer-grid, .services-page .capability-grid {
    grid-template-columns: 1fr; }
  .services-page .offer-card {
    min-height: auto; }
  .services-page .capability-item {
    min-height: 120px; }
  .services-page .cadence-card {
    grid-template-columns: 1fr; }
  .services-page .cadence-card__links {
    grid-column: auto; } }
@media (prefers-reduced-motion: reduce) {
  .services-page .offer-card:hover {
    transform: none; } }

/*# sourceMappingURL=services.css.map */
