/* ==========================================================================
   Luxenits — pages.css  (SME Packages page + Contact page)
   Shared styles stay in style.css.
   ========================================================================== */

/* ---------- Page intro ---------- */
.page-hero { padding-top: calc(var(--header-h) + 70 * var(--u)); }
.page-hero__title {
  margin-top: calc(14 * var(--u));
  font-size: max(46px, calc(70 * var(--u)));
  font-weight: 300; line-height: .95; letter-spacing: -.035em;
  margin-left: calc(-2 * var(--u));
}
.page-hero__row {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 32px;
  margin-top: calc(28 * var(--u));
}
.page-hero__lead { max-width: max(340px, calc(470 * var(--u))); font-size: var(--fs-lead); line-height: 1.5; color: var(--c-fg-soft); }
.page-hero__row .btn-solid { flex: none; }

.stat-row {
  margin-top: calc(56 * var(--u));
  display: grid; grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line);
}
.stat { padding: calc(22 * var(--u)) calc(20 * var(--u)) calc(24 * var(--u)) 0; }
.stat + .stat { padding-left: calc(20 * var(--u)); border-left: 1px solid var(--c-line); }
.stat dt { font-size: max(30px, calc(36 * var(--u))); font-weight: 300; letter-spacing: -.03em; line-height: 1; }
.stat dd { margin-top: calc(10 * var(--u)); font-size: var(--fs-xs); line-height: 1.5; color: var(--c-muted); max-width: 26ch; }

/* ---------- Two-column sections ---------- */
.split-section { padding-top: calc(110 * var(--u)); }
.split { display: grid; grid-template-columns: calc(330 * var(--u)) 1fr; column-gap: calc(70 * var(--u)); }
.split__title {
  margin-top: calc(10 * var(--u));
  font-size: max(30px, calc(34 * var(--u)));
  font-weight: 300; line-height: 1.05; letter-spacing: -.025em;
}
.split__head { align-self: start; position: sticky; top: calc(var(--header-h) + 30px); }
.prose-lead { font-size: var(--fs-lead); line-height: 1.55; color: var(--c-fg-soft); max-width: 60ch; }
.note { margin-top: calc(22 * var(--u)); font-size: var(--fs-xs); color: var(--c-muted); }

/* ---------- Calculator ---------- */
.calc {
  margin-top: calc(34 * var(--u));
  padding: calc(26 * var(--u)) calc(28 * var(--u));
  border: 1px solid var(--c-line); border-radius: 6px;
  background: rgb(238 238 236 / .025);
}
.calc__top { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.calc__label { font-size: var(--fs-xs); color: var(--c-fg-soft); }
.calc__label span { color: var(--c-muted); }
.calc__budget { font-size: max(24px, calc(26 * var(--u))); font-weight: 300; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }

.calc__range {
  -webkit-appearance: none; appearance: none;
  width: 100%; height: 28px; margin-top: calc(14 * var(--u));
  background: transparent; cursor: pointer;
  --fill: 31.8%;
}
.calc__range::-webkit-slider-runnable-track {
  height: 1px;
  background: linear-gradient(90deg, var(--c-fg) var(--fill), var(--c-line-strong) var(--fill));
}
.calc__range::-moz-range-track { height: 1px; background: var(--c-line-strong); }
.calc__range::-moz-range-progress { height: 1px; background: var(--c-fg); }
.calc__range::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none;
  width: 18px; height: 18px; margin-top: -8.5px; border-radius: 50%;
  background: var(--c-bg); border: 1px solid var(--c-fg);
  transition: transform .25s var(--ease);
}
.calc__range::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: var(--c-bg); border: 1px solid var(--c-fg); }
.calc__range:hover::-webkit-slider-thumb, .calc__range:focus-visible::-webkit-slider-thumb { transform: scale(1.15); }
.calc__range:focus-visible { outline: none; }
.calc__range:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgb(238 238 236 / .15); }
.calc__scale { display: flex; justify-content: space-between; font-size: var(--fs-xs); color: var(--c-muted); }

.calc__results { margin-top: calc(24 * var(--u)); display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.calc__result-label { font-size: var(--fs-xs); color: var(--c-muted); }
.calc__result-value { margin-top: 6px; font-size: max(30px, calc(38 * var(--u))); font-weight: 300; letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.calc__result-value--muted { color: var(--c-muted); }
.calc__bar { margin-top: calc(18 * var(--u)); height: 6px; border-radius: 3px; background: rgb(124 124 122 / .25); overflow: hidden; }
.calc__bar span { display: block; width: 70%; height: 100%; background: var(--c-fg); }
.calc__note { margin-top: calc(16 * var(--u)); font-size: var(--fs-xs); line-height: 1.55; color: var(--c-muted); }

/* ---------- Packages ---------- */
.packages { padding-top: calc(120 * var(--u)); }
.pkg-grid { margin-top: calc(34 * var(--u)); display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(18 * var(--u)); }
.pkg {
  display: flex; flex-direction: column;
  padding: calc(24 * var(--u));
  border: 1px solid var(--c-line); border-radius: 6px;
  transition: border-color .4s var(--ease), background-color .4s var(--ease);
}
@media (hover: hover) { .pkg:hover { border-color: var(--c-line-strong); background: rgb(238 238 236 / .02); } }
.pkg__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pkg__num { font-size: var(--fs-xs); color: var(--c-muted); letter-spacing: .08em; }
.pkg__tag {
  padding: 4px 10px; border: 1px solid var(--c-line-strong); border-radius: 999px;
  font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--c-fg-soft);
}
.pkg__tag--new { border-color: var(--c-fg); color: var(--c-fg); }
.pkg__title { margin-top: calc(30 * var(--u)); font-size: max(20px, calc(20 * var(--u))); font-weight: 400; letter-spacing: -.015em; line-height: 1.2; }
.pkg__desc { margin-top: 10px; font-size: var(--fs-base); line-height: 1.55; color: var(--c-fg-soft); }
.pkg__list { margin-top: calc(18 * var(--u)); border-top: 1px solid var(--c-line); }
.pkg__list li {
  position: relative; padding: 9px 0 9px 18px;
  border-bottom: 1px solid var(--c-line);
  font-size: var(--fs-xs); line-height: 1.5; color: var(--c-fg-soft);
}
.pkg__list li::before { content: ""; position: absolute; left: 2px; top: 1.15em; width: 6px; height: 1px; background: var(--c-fg); }
.pkg__luxenits { margin-top: calc(20 * var(--u)); padding: 14px 16px; border-radius: 4px; background: rgb(238 238 236 / .04); }
.pkg__luxenits-label { font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }
.pkg__luxenits p:last-child { margin-top: 6px; font-size: var(--fs-xs); line-height: 1.55; color: var(--c-fg-soft); }
.pkg__link {
  margin-top: auto; padding-top: calc(20 * var(--u)); align-self: flex-start;
  font-size: var(--fs-xs); color: var(--c-fg-soft);
}
.pkg__link:hover { color: var(--c-fg); text-decoration: underline; text-underline-offset: 3px; }

.pkg-others {
  margin-top: calc(22 * var(--u));
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 28px;
  font-size: var(--fs-xs); color: var(--c-muted);
}
.pkg-others__list { display: flex; flex-wrap: wrap; gap: 10px 28px; }
.pkg-others__list a { color: var(--c-fg-soft); border-bottom: 1px solid var(--c-line); padding-bottom: 2px; transition: color .3s var(--ease), border-color .3s var(--ease); }
.pkg-others__list a:hover { color: var(--c-fg); border-color: var(--c-fg); }
.pkg-others__list strong { font-weight: 500; color: var(--c-fg); }

/* ---------- Eligibility checklist ---------- */
.checklist { margin-top: calc(22 * var(--u)); border-top: 1px solid var(--c-line); }
.checklist li {
  display: grid; grid-template-columns: 28px 1fr; gap: 14px;
  padding-block: calc(16 * var(--u)); border-bottom: 1px solid var(--c-line);
}
.checklist__icon { position: relative; width: 22px; height: 22px; border: 1px solid var(--c-fg); border-radius: 50%; margin-top: 1px; }
.checklist__icon::after {
  content: ""; position: absolute; left: 7px; top: 4px; width: 5px; height: 9px;
  border-right: 1px solid var(--c-fg); border-bottom: 1px solid var(--c-fg); transform: rotate(45deg);
}
.checklist strong { font-weight: 400; font-size: var(--fs-base); }
.checklist p { margin-top: 4px; font-size: var(--fs-xs); line-height: 1.55; color: var(--c-muted); }
.checklist em { font-style: italic; }

/* ---------- Steps ---------- */
.steps-section { padding-top: calc(120 * var(--u)); }
.steps { list-style: none; padding: 0; margin-top: calc(34 * var(--u)); border-top: 1px solid var(--c-line); counter-reset: none; }
.step {
  position: relative;
  display: grid; grid-template-columns: calc(110 * var(--u)) 1fr calc(170 * var(--u));
  align-items: start; gap: 24px;
  padding-block: calc(24 * var(--u));
  border-bottom: 1px solid var(--c-line);
}
.step__num { font-size: max(30px, calc(34 * var(--u))); font-weight: 300; letter-spacing: -.03em; line-height: 1; color: transparent; -webkit-text-stroke: 1px var(--c-muted); }
.step__body h3 { font-size: max(18px, calc(18 * var(--u))); font-weight: 400; letter-spacing: -.01em; }
.step__body p { margin-top: 8px; max-width: 64ch; font-size: var(--fs-base); line-height: 1.6; color: var(--c-fg-soft); }
.step__who {
  justify-self: end; padding: 5px 12px; border: 1px solid var(--c-line-strong); border-radius: 999px;
  font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--c-fg-soft); white-space: nowrap;
}
.step::before { /* line that fills on hover */
  content: ""; position: absolute; left: 0; bottom: -1px; height: 1px; width: 100%;
  background: var(--c-fg); transform: scaleX(0); transform-origin: left; transition: transform .7s var(--ease-out);
}
@media (hover: hover) { .step:hover::before { transform: scaleX(1); } .step:hover .step__num { color: var(--c-fg); -webkit-text-stroke-color: var(--c-fg); } }
.step__num { transition: color .4s var(--ease); }

/* ---------- FAQ ---------- */
.faq { border-top: 1px solid var(--c-line); }
.faq__item { border-bottom: 1px solid var(--c-line); }
.faq__item summary {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding-block: calc(18 * var(--u));
  font-size: var(--fs-base); cursor: pointer; list-style: none;
  transition: color .3s var(--ease);
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary:hover { color: var(--c-fg); }
.faq__icon { position: relative; flex: none; width: 12px; height: 12px; }
.faq__icon::before, .faq__icon::after {
  content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--c-fg);
  transition: transform .45s var(--ease-out), opacity .3s var(--ease);
}
.faq__icon::after { transform: rotate(90deg); }
.faq__item[open] .faq__icon::after { transform: rotate(0); opacity: 0; }
.faq__answer { overflow: hidden; }
.faq__answer p { padding-bottom: calc(20 * var(--u)); max-width: 62ch; font-size: var(--fs-base); line-height: 1.6; color: var(--c-fg-soft); }

/* ---------- Official contacts ---------- */
.contacts-section { padding-top: calc(120 * var(--u)); }
.org-grid { margin-top: calc(34 * var(--u)); display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--c-line); }
.org { padding: calc(22 * var(--u)) calc(20 * var(--u)) calc(4 * var(--u)) 0; }
.org + .org { padding-left: calc(20 * var(--u)); border-left: 1px solid var(--c-line); }
.org h3 { font-size: var(--fs-base); font-weight: 400; }
.org__role { margin-top: 6px; font-size: var(--fs-xs); line-height: 1.5; color: var(--c-muted); }
.org p:last-child { margin-top: 14px; font-size: var(--fs-xs); line-height: 1.8; }
.org a { color: var(--c-fg-soft); word-break: break-word; transition: color .3s var(--ease); }
.org a:hover { color: var(--c-fg); }
.source-note {
  margin-top: calc(40 * var(--u)); padding-top: calc(18 * var(--u));
  border-top: 1px solid var(--c-line);
  max-width: 90ch; font-size: var(--fs-xs); line-height: 1.6; color: var(--c-muted);
}
.source-note a { color: var(--c-fg-soft); border-bottom: 1px solid var(--c-line-strong); }

.page-sme .cta-invert { margin-top: calc(110 * var(--u)); }

/* ==========================================================================
   Contact page
   ========================================================================== */
.page-hero--contact .page-hero__title { font-size: max(46px, calc(64 * var(--u))); }
.contact-page { padding-top: calc(60 * var(--u)); }
.contact-page__grid {
  display: grid; grid-template-columns: calc(330 * var(--u)) 1fr; column-gap: calc(70 * var(--u));
  padding-bottom: calc(70 * var(--u));
  border-bottom: 1px solid var(--c-line);
}
.contact-info { align-self: start; }
.contact-info__list { margin-top: calc(18 * var(--u)); border-top: 1px solid var(--c-line); }
.contact-info__list li { display: flex; flex-direction: column; gap: 4px; padding-block: calc(14 * var(--u)); border-bottom: 1px solid var(--c-line); }
.contact-info__label { font-size: var(--fs-xs); color: var(--c-muted); }
.contact-info__value { font-size: max(17px, calc(17 * var(--u))); letter-spacing: -.01em; width: fit-content; }
a.contact-info__value { border-bottom: 1px solid transparent; transition: border-color .3s var(--ease); }
a.contact-info__value:hover { border-color: var(--c-fg); }
.contact-info__sme {
  margin-top: calc(30 * var(--u)); padding: calc(20 * var(--u));
  border: 1px solid var(--c-line); border-radius: 6px;
}
.contact-info__sme p:not(.contact-info__label) { margin-top: 8px; font-size: var(--fs-xs); line-height: 1.6; color: var(--c-fg-soft); }
.contact-info__sme .link-arrow { margin-top: 16px; font-size: var(--fs-xs); }

.form--page { gap: calc(26 * var(--u)); }
.form--page .form__row { row-gap: calc(26 * var(--u)); }

/* Yes / No / Not sure */
.choice { border: 0; padding: 0; margin: 0; min-width: 0; }
.choice legend { padding: 0; font-size: var(--fs-xs); color: var(--c-fg-soft); }
.choice__options { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 10px; }
.pill { position: relative; cursor: pointer; }
.pill input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.pill span {
  display: inline-flex; align-items: center; height: 38px; padding-inline: 18px;
  border: 1px solid var(--c-line-strong); border-radius: 999px;
  font-size: var(--fs-sm); color: var(--c-fg-soft);
  transition: background-color .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.pill:hover span { border-color: var(--c-fg); color: var(--c-fg); }
.pill input:checked + span { background: var(--c-fg); color: var(--c-bg); border-color: var(--c-fg); }
.pill input:focus-visible + span { outline: 1px solid var(--c-fg); outline-offset: 3px; }

/* Consent checkbox */
.check { display: grid; grid-template-columns: 20px 1fr; gap: 12px; align-items: start; cursor: pointer; font-size: var(--fs-xs); line-height: 1.6; color: var(--c-fg-soft); }
.check { position: relative; }
.check input { position: absolute; left: 0; top: 1px; z-index: 1; opacity: 0; width: 20px; height: 20px; margin: 0; cursor: pointer; }
.check__box { position: relative; width: 18px; height: 18px; margin-top: 2px; border: 1px solid var(--c-line-strong); border-radius: 3px; transition: border-color .3s var(--ease), background-color .3s var(--ease); }
.check__box::after {
  content: ""; position: absolute; left: 5px; top: 1px; width: 5px; height: 10px;
  border-right: 1.5px solid var(--c-bg); border-bottom: 1.5px solid var(--c-bg); transform: rotate(45deg) scale(0);
  transition: transform .25s var(--ease-out);
}
.check:hover .check__box { border-color: var(--c-fg); }
.check input:checked + .check__box { background: var(--c-fg); border-color: var(--c-fg); }
.check input:checked + .check__box::after { transform: rotate(45deg) scale(1); }
.check input:focus-visible + .check__box { outline: 1px solid var(--c-fg); outline-offset: 3px; }
.check input[aria-invalid="true"] + .check__box { border-color: var(--c-fg); border-style: dashed; }
.check a { color: var(--c-fg); border-bottom: 1px solid var(--c-line-strong); }
.field--check { position: relative; }

/* What happens next */
.next-section { padding-top: calc(110 * var(--u)); padding-bottom: calc(40 * var(--u)); }
.next-grid { list-style: none; padding: 0; margin-top: calc(34 * var(--u)); display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--c-line); }
.next { padding: calc(22 * var(--u)) calc(22 * var(--u)) 0 0; }
.next + .next { padding-left: calc(22 * var(--u)); border-left: 1px solid var(--c-line); }
.next__num { font-size: var(--fs-xs); color: var(--c-muted); letter-spacing: .08em; }
.next h3 { margin-top: calc(22 * var(--u)); font-size: max(19px, calc(19 * var(--u))); font-weight: 300; letter-spacing: -.015em; }
.next p { margin-top: 8px; font-size: var(--fs-base); line-height: 1.6; color: var(--c-fg-soft); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 960px) {
  .page-hero { padding-top: calc(var(--header-h) + 56px); }
  .page-hero__title, .page-hero--contact .page-hero__title { font-size: clamp(44px, 9vw, 72px); }
  .page-hero__row { flex-direction: column; align-items: flex-start; }
  .stat-row { grid-template-columns: 1fr 1fr; }
  .stat:nth-child(3) { padding-left: 0; border-left: 0; }
  .stat:nth-child(n+3) { border-top: 1px solid var(--c-line); }

  .split-section, .packages, .steps-section, .contacts-section { padding-top: 88px; }
  .split, .contact-page__grid { grid-template-columns: 1fr; row-gap: 32px; }
  .split__head { position: static; }
  .pkg-grid { grid-template-columns: 1fr; }
  .step { grid-template-columns: 64px 1fr; }
  .step__who { grid-column: 2; justify-self: start; }
  .org-grid { grid-template-columns: 1fr 1fr; }
  .org:nth-child(3) { padding-left: 0; border-left: 0; }
  .org:nth-child(n+3) { border-top: 1px solid var(--c-line); margin-top: 20px; }

  .contact-page { padding-top: 40px; }
  .next-grid { grid-template-columns: 1fr; }
  .next, .next + .next { padding: 20px 0; border-left: 0; }
  .next + .next { border-top: 1px solid var(--c-line); }
  .next h3 { margin-top: 10px; }
}
@media (max-width: 640px) {
  .page-hero__row .btn-solid { width: 100%; }
  .stat-row { grid-template-columns: 1fr; }
  .stat, .stat + .stat { padding: 18px 0; border-left: 0; }
  .stat + .stat { border-top: 1px solid var(--c-line); }
  .calc { padding: 20px 18px; }
  .calc__results { grid-template-columns: 1fr; gap: 16px; }
  .org-grid { grid-template-columns: 1fr; }
  .org, .org + .org { padding: 20px 0; border-left: 0; margin-top: 0; }
  .org + .org { border-top: 1px solid var(--c-line); }
}

/* ==========================================================================
   Services page
   ========================================================================== */
.svc-overview {
  margin-top: calc(56 * var(--u));
  display: grid; grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line);
}
.svc-overview li + li { border-left: 1px solid var(--c-line); }
.svc-overview a {
  position: relative; display: grid; grid-template-columns: auto 1fr; gap: 6px 14px;
  padding: calc(22 * var(--u)) calc(20 * var(--u));
  transition: background-color .4s var(--ease);
}
.svc-overview li:first-child a { padding-left: 0; }
.svc-overview svg { grid-row: span 2; width: 22px; height: 22px; fill: none; stroke: var(--c-fg); stroke-width: 1.1; stroke-linejoin: round; stroke-linecap: round; transition: transform .5s var(--ease-out); }
.svc-overview__num { font-size: var(--fs-xs); color: var(--c-muted); letter-spacing: .08em; }
.svc-overview__name { font-size: var(--fs-base); line-height: 1.35; color: var(--c-fg-soft); transition: color .3s var(--ease); }
@media (hover: hover) {
  .svc-overview a:hover svg { transform: translateY(-3px); }
  .svc-overview a:hover .svc-overview__name { color: var(--c-fg); }
}

.svc-section { padding-top: calc(100 * var(--u)); }
.svc-layout { display: grid; grid-template-columns: calc(250 * var(--u)) 1fr; column-gap: calc(70 * var(--u)); }
.svc-nav { position: sticky; top: calc(var(--header-h) + 30px); align-self: start; }
.svc-nav__list { list-style: none; padding: 0; margin-top: 16px; border-top: 1px solid var(--c-line); }
.svc-nav__list li { border-bottom: 1px solid var(--c-line); }
.svc-nav__list a {
  position: relative; display: grid; grid-template-columns: 32px 1fr; gap: 6px;
  padding-block: 12px; font-size: var(--fs-xs); line-height: 1.45; color: var(--c-muted);
  transition: color .35s var(--ease), padding .45s var(--ease-out);
}
.svc-nav__list a span { letter-spacing: .08em; }
.svc-nav__list a::before {
  content: ""; position: absolute; left: 0; top: -1px; width: 100%; height: 1px; background: var(--c-fg);
  transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease-out);
}
.svc-nav__list a:hover { color: var(--c-fg-soft); }
.svc-nav__list a[aria-current="true"] { color: var(--c-fg); padding-left: 8px; }
.svc-nav__list a[aria-current="true"]::before { transform: scaleX(1); }

.svc-stack { border-top: 1px solid var(--c-line); }
.svc { padding-block: calc(44 * var(--u)) calc(56 * var(--u)); border-bottom: 1px solid var(--c-line); scroll-margin-top: calc(var(--header-h) + 10px); }
.svc__head { display: flex; align-items: flex-start; justify-content: space-between; }
.svc__icon { width: max(30px, calc(34 * var(--u))); height: max(30px, calc(34 * var(--u))); fill: none; stroke: var(--c-fg); stroke-width: 1; stroke-linejoin: round; stroke-linecap: round; }
.svc__num { font-size: max(64px, calc(96 * var(--u))); font-weight: 300; line-height: .8; letter-spacing: -.05em; color: transparent; -webkit-text-stroke: 1px var(--c-line-strong); }
.svc__title { margin-top: calc(26 * var(--u)); font-size: max(32px, calc(44 * var(--u))); font-weight: 300; line-height: 1.02; letter-spacing: -.03em; max-width: 16ch; }
.svc__lead { margin-top: calc(18 * var(--u)); max-width: 54ch; font-size: var(--fs-lead); line-height: 1.5; color: var(--c-fg-soft); }
.svc__cols { margin-top: calc(34 * var(--u)); display: grid; grid-template-columns: 1.15fr 1fr; gap: calc(44 * var(--u)); }
.svc__label { font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--c-muted); }
.svc__list { margin-top: 12px; border-top: 1px solid var(--c-line); counter-reset: svc; }
.svc__list li {
  counter-increment: svc;
  display: grid; grid-template-columns: 30px 1fr; padding-block: 11px;
  border-bottom: 1px solid var(--c-line); font-size: var(--fs-base); line-height: 1.45; color: var(--c-fg-soft);
}
.svc__list li::before { content: counter(svc, decimal-leading-zero); font-size: var(--fs-xs); color: var(--c-muted); padding-top: .15em; }
.svc__good { margin-top: 12px; font-size: var(--fs-base); line-height: 1.55; color: var(--c-fg-soft); }
.svc__sme { margin-top: calc(24 * var(--u)); padding: 16px 18px; border: 1px solid var(--c-line-strong); border-radius: 6px; }
.svc__sme-badge { display: inline-block; padding: 3px 10px; border: 1px solid var(--c-fg); border-radius: 999px; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.svc__sme p { margin-top: 10px; font-size: var(--fs-xs); line-height: 1.6; color: var(--c-fg-soft); }
.svc__sme strong { font-weight: 500; color: var(--c-fg); }
.svc__sme-link { display: inline-block; margin-top: 10px; font-size: var(--fs-xs); color: var(--c-fg); border-bottom: 1px solid var(--c-line-strong); transition: border-color .3s var(--ease); }
.svc__sme-link:hover { border-color: var(--c-fg); }
.svc__work { margin-top: calc(24 * var(--u)); }
.svc__work-list { margin-top: 10px; border-top: 1px solid var(--c-line); }
.svc__work-list a {
  display: flex; justify-content: space-between; align-items: center; padding-block: 10px;
  border-bottom: 1px solid var(--c-line); font-size: var(--fs-base); color: var(--c-fg-soft);
  transition: color .3s var(--ease), padding .45s var(--ease-out);
}
.svc__work-list a:hover { color: var(--c-fg); padding-left: 6px; }
.svc__work-list a:hover .arrow { transform: translateX(3px); }
.svc__cta { margin-top: calc(36 * var(--u)); }

.sme-strip-section { padding-top: calc(90 * var(--u)); }
.sme-strip {
  display: flex; align-items: center; justify-content: space-between; gap: 32px;
  padding: calc(34 * var(--u)) calc(36 * var(--u));
  border: 1px solid var(--c-line-strong); border-radius: 6px;
  background: rgb(238 238 236 / .03);
}
.sme-strip__title { margin-top: 10px; max-width: 26ch; font-size: max(24px, calc(28 * var(--u))); font-weight: 300; line-height: 1.15; letter-spacing: -.02em; }
.sme-strip__text { margin-top: 10px; font-size: var(--fs-xs); color: var(--c-muted); }
.sme-strip .btn-outline { flex: none; }

.next-grid--four { grid-template-columns: repeat(4, 1fr); }
.page-services .next-section { padding-top: calc(110 * var(--u)); }
.page-services .cta-invert { margin-top: calc(100 * var(--u)); }

@media (max-width: 960px) {
  .svc-overview { grid-template-columns: 1fr 1fr; }
  .svc-overview li:nth-child(3) { border-left: 0; }
  .svc-overview li:nth-child(3) a { padding-left: 0; }
  .svc-overview li:nth-child(n+3) { border-top: 1px solid var(--c-line); }
  .svc-section { padding-top: 72px; }
  .svc-layout { grid-template-columns: 1fr; }
  .svc-nav { display: none; }
  .svc__cols { grid-template-columns: 1fr; gap: 32px; }
  .sme-strip-section { padding-top: 72px; }
  .sme-strip { flex-direction: column; align-items: flex-start; }
  .next-grid--four { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .svc-overview { grid-template-columns: 1fr; }
  .svc-overview li + li { border-left: 0; border-top: 1px solid var(--c-line); }
  .svc-overview a { padding-inline: 0; }
  .sme-strip { padding: 24px 20px; }
  .sme-strip .btn-outline { width: 100%; justify-content: center; }
}

.pkg__cta {
  margin-top: auto;
  padding-top: calc(24 * var(--u));
}
.pkg__cta p {
  font-size: var(--fs-xs);
  line-height: 1.55;
  color: var(--c-fg-soft);
}
.pkg__cta .btn-solid {
  width: 100%;
  margin-top: 14px;
}
.pkg__cta + .pkg__link { margin-top: 0; padding-top: 14px; }