/* StartWebTop canonical dark design system.
   The dark design is now the base stylesheet, not a late external override.
   Generated from the active dark CSS stack and consolidated to prevent old light styles from winning. */

/* ===== reset.css ===== */
*, *::before, *::after {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin:0
}

ul, ol {
  margin:0;
  padding:0
}

ul[role=list], ol[role=list] {
  list-style:none
}

body {
  min-height:100vh;
  text-rendering:optimizeLegibility;
  line-height:1.5
}

a {
  text-decoration:none;
  color:inherit
}

img, picture {
  max-width:100%;
  display:block
}

button, input, textarea, select {
  font:inherit
}

button {
  cursor:pointer
}

table {
  border-collapse:collapse;
  width:100%
}

/* ===== design-tokens.css ===== */
:root {
  --swt2-bg:#030b13;
  --swt2-bg-2:#06131f;
  --swt2-panel:#081824;
  --swt2-panel-2:#0b2030;
  --swt2-line:rgba(171, 255, 35, .22);
  --swt2-line-soft:rgba(255, 255, 255, .09);
  --swt2-text:#f5f8f3;
  --swt2-muted:#a8b4ba;
  --swt2-faint:#6f7d83;
  --swt2-lime:#96d91b;
  --swt2-lime-2:#b7ff2b;
  --swt2-orange:#ff760f;
  --swt2-orange-2:#ff9a22;
  --swt2-blue:#2698ff;
  --swt2-red:#ff5757;
  --swt2-radius-xs:8px;
  --swt2-radius-sm:12px;
  --swt2-radius-md:16px;
  --swt2-radius-lg:22px;
  --swt2-radius-xl:30px;
  --swt2-shadow:0 18px 60px rgba(0, 0, 0, .36);
  --swt2-glow:0 0 34px rgba(150, 217, 27, .22);
  --swt2-glow-strong:0 0 55px rgba(157, 255, 35, .35);
  --swt2-container:1220px;
  --swt2-header:70px;
  --swt2-speed:.22s
}

/* ===== base.css ===== */
body {
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color:var(--swt2-text);
  background:radial-gradient(circle at 18% 5%, rgba(44, 86, 42, .2), transparent 35%), radial-gradient(circle at 82% 12%, rgba(0, 119, 95, .13), transparent 28%), linear-gradient(180deg, #020812 0%, #05101a 42%, #030912 100%);
  overflow-x:hidden
}

.swt2-page {
  position:relative
}

.swt2-page::before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(255, 255, 255, .021) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .018) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom, rgba(0, 0, 0, .55), rgba(0, 0, 0, .15));
  z-index:-3
}

.swt2-page::after {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 62% 17%, rgba(166, 255, 28, .12), transparent 18%), radial-gradient(circle at 74% 68%, rgba(255, 116, 15, .06), transparent 20%);
  z-index:-2
}

.container {
  width:min(var(--swt2-container), calc(100% - 44px));
  margin-inline:auto
}

.section {
  padding:30px 0
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid transparent;
  border-radius:8px;
  min-height:43px;
  padding:0 22px;
  font-size:14px;
  font-weight:800;
  letter-spacing:-.01em;
  transition:transform var(--swt2-speed), box-shadow var(--swt2-speed), border-color var(--swt2-speed), background var(--swt2-speed)
}

.button:hover {
  transform:translateY(-1px)
}

.button-primary {
  color:#fff;
  background:linear-gradient(180deg, var(--swt2-orange-2), var(--swt2-orange));
  box-shadow:0 10px 26px rgba(255, 118, 15, .24), inset 0 1px rgba(255, 255, 255, .27)
}

.button-secondary {
  color:#fff;
  background:rgba(8, 22, 34, .72);
  border-color:rgba(255, 255, 255, .22);
  box-shadow:inset 0 1px rgba(255, 255, 255, .06)
}

.button-secondary:hover {
  border-color:rgba(151, 221, 31, .48)
}

.visually-hidden {
  position:absolute!important;
  inline-size:1px;
  block-size:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap
}

strong {
  color:#fff
}

/* =========================================================
   Recent Work Section
   Works with:
   .swt2-work-section
   .swt2-work-head
   .swt2-work-grid
   .swt2-work-card
   ========================================================= */

.swt2-work-section {
  position: relative;
  overflow: hidden;
}

.swt2-work-section::before {
  content: "";
  position: absolute;
  inset: auto -15% 8% auto;
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(177, 255, 60, 0.1), transparent 68%);
  pointer-events: none;
}

.swt2-work-head {
  max-width: 780px;
  margin: 0 auto 36px;
  text-align: center;
}

.swt2-section-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  padding: 8px 14px;
  border: 1px solid rgba(177, 255, 60, 0.18);
  border-radius: 999px;
  background: rgba(177, 255, 60, 0.08);
  color: var(--color-accent, #b1ff3c);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Desktop grid */
.swt2-work-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

/* Card */
.swt2-work-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
  min-height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 26px;
  background:
    radial-gradient(circle at 22% 0%, rgba(177, 255, 60, 0.08), transparent 36%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.025));
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transition:
    transform 0.24s ease,
    border-color 0.24s ease,
    box-shadow 0.24s ease;
}

.swt2-work-card:hover {
  transform: translateY(-5px);
  border-color: rgba(177, 255, 60, 0.28);
  box-shadow:
    0 24px 56px rgba(0, 0, 0, 0.36),
    0 0 0 1px rgba(177, 255, 60, 0.08);
}

.swt2-work-card__image-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.swt2-work-card__image-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  min-height: 210px;
  background: rgba(255, 255, 255, 0.04);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.swt2-work-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transform: scale(1.01);
  transition: transform 0.45s ease;
}

.swt2-work-card:hover .swt2-work-card__image {
  transform: scale(1.055);
}

.swt2-work-card__image-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.42));
  pointer-events: none;
}

.swt2-work-card__overlay {
  position: absolute;
  left: 16px;
  bottom: 16px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(8, 12, 22, 0.82);
  color: #fff;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1;
  backdrop-filter: blur(10px);
}

.swt2-work-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px;
}

.swt2-work-card__topline {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 14px;
}

.swt2-work-card__badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 8px 12px;
  border: 1px solid rgba(177, 255, 60, 0.18);
  border-radius: 999px;
  background: rgba(177, 255, 60, 0.09);
  color: var(--color-accent, #b1ff3c);
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.swt2-work-card__type {
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.2;
}

.swt2-work-card__title {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(1.18rem, 1.6vw, 1.45rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.swt2-work-card__text {
  margin: 0 0 16px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.98rem;
  line-height: 1.65;
}

.swt2-work-card__list {
  display: grid;
  gap: 9px;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}

.swt2-work-card__list li {
  position: relative;
  padding-left: 18px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.94rem;
  line-height: 1.5;
}

.swt2-work-card__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--color-accent, #b1ff3c);
  box-shadow: 0 0 12px rgba(177, 255, 60, 0.5);
}

.swt2-work-card__actions {
  margin-top: auto;
  padding-top: 4px;
}

.swt2-work-card__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 42px;
  padding: 11px 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.045);
  color: #fff;
  font-size: 0.94rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition:
    color 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease,
    transform 0.2s ease;
}

.swt2-work-card__link:hover,
.swt2-work-card__link:focus-visible {
  color: var(--color-accent, #b1ff3c);
  border-color: rgba(177, 255, 60, 0.32);
  background: rgba(177, 255, 60, 0.08);
  transform: translateY(-1px);
}

/* Tablet */
@media (max-width: 1024px) {
  .swt2-work-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile swipe */
@media (max-width: 767px) {
  .swt2-work-head {
    margin-bottom: 28px;
    text-align: left;
  }

  .swt2-work-grid {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;

    width: calc(100% + 32px);
    margin-left: -16px;
    padding: 0 16px 14px;

    scroll-snap-type: x mandatory;
    scroll-padding-left: 16px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }

  .swt2-work-card {
    flex: 0 0 84vw;
    max-width: 84vw;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .swt2-work-card__image-wrap {
    min-height: 188px;
    aspect-ratio: 16 / 10;
  }

  .swt2-work-card__body {
    padding: 18px;
  }

  .swt2-work-card__topline {
    gap: 8px;
    margin-bottom: 12px;
  }

  .swt2-work-card__badge {
    font-size: 0.72rem;
  }

  .swt2-work-card__type {
    font-size: 0.82rem;
  }

  .swt2-work-card__title {
    font-size: 1.16rem;
  }

  .swt2-work-card__text {
    font-size: 0.95rem;
    line-height: 1.62;
  }

  .swt2-work-card__list li {
    font-size: 0.93rem;
  }

  .swt2-work-grid::-webkit-scrollbar {
    height: 6px;
  }

  .swt2-work-grid::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.06);
    border-radius: 999px;
  }

  .swt2-work-grid::-webkit-scrollbar-thumb {
    background: rgba(177, 255, 60, 0.35);
    border-radius: 999px;
  }

  .swt2-work-section .container::after {
    content: "Swipe to view more projects →";
    display: block;
    margin-top: 10px;
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.88rem;
    text-align: center;
  }
}

/* ===== layout-system.css ===== */
.swt2-page-main {
  padding-top:var(--swt2-header)
}

.swt2-section-head {
  text-align:center;
  margin:0 auto 16px
}

.swt2-section-kicker {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  padding:5px 12px;
  border:1px solid rgba(153, 225, 31, .26);
  border-radius:999px;
  background:rgba(153, 225, 31, .08);
  color:var(--swt2-lime);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em
}

.swt2-section-title {
  font-size:24px;
  line-height:1.08;
  letter-spacing:-.04em
}

.swt2-section-text {
  color:var(--swt2-muted);
  font-size:16px;
  max-width:680px
}

.swt2-grid {
  display:grid;
  gap:14px
}

.swt2-grid--two {
  grid-template-columns:repeat(2, minmax(0, 1fr))
}

.swt2-grid--three {
  grid-template-columns:repeat(3, minmax(0, 1fr))
}

.swt2-grid--four {
  grid-template-columns:repeat(4, minmax(0, 1fr))
}

.swt2-grid--five {
  grid-template-columns:repeat(5, minmax(0, 1fr))
}

.swt2-split {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:42px;
  align-items:center
}

.swt2-stack {
  display:grid;
  gap:12px
}

.swt2-stack--small {
  gap:8px
}

.swt2-stack--large {
  gap:20px
}

.swt2-scroll-row__track {
  display:flex;
  gap:14px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
  padding-bottom:4px
}

.swt2-snap-item, .swt2-scroll-row__track>* {
  scroll-snap-align:start;
  flex:0 0 auto
}

.swt2-scroll-row__hint {
  display:none;
  color:var(--swt2-muted);
  font-size:12px;
  margin-top:8px
}

/* ===== navigation.css ===== */
.swt2-header {
  position:fixed;
  inset:0 0 auto;
  z-index:100;
  height:var(--swt2-header);
  background:rgba(2, 9, 16, .84);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255, 255, 255, .08)
}

.swt2-header__inner {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between
}

.swt2-header__brand, .swt2-brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:950;
  font-size:23px;
  letter-spacing:-.035em
}

.swt2-brand__mark {
  width:31px;
  height:27px;
  position:relative;
  display:inline-grid;
  grid-template-columns:repeat(4, 5px);
  align-items:end;
  gap:2px;
  filter:drop-shadow(0 0 8px rgba(150, 217, 27, .42))
}

.swt2-brand__mark i {
  display:block;
  width:5px;
  border-radius:2px;
  background:linear-gradient(180deg, var(--swt2-lime-2), var(--swt2-lime))
}

.swt2-brand__mark i:nth-child(1) {
  height:7px
}

.swt2-brand__mark i:nth-child(2) {
  height:12px
}

.swt2-brand__mark i:nth-child(3) {
  height:17px
}

.swt2-brand__mark i:nth-child(4) {
  height:24px
}

.swt2-brand__word {
  color:#fff
}

.swt2-brand__accent {
  color:var(--swt2-orange)
}

.swt2-header__nav-list {
  display:flex;
  align-items:center;
  gap:36px;
  list-style:none
}

.swt2-header__nav-link {
  font-size:13px;
  font-weight:800;
  color:#e8eef0;
  position:relative;
  padding:26px 0
}

.swt2-header__nav-link::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:16px;
  height:2px;
  border-radius:99px;
  background:var(--swt2-lime);
  opacity:0;
  transform:scaleX(.4);
  transition:.2s
}

.swt2-header__nav-link:hover, .swt2-header__nav-link--active {
  color:#fff
}

.swt2-header__nav-link--active::after {
  opacity:1;
  transform:scaleX(1)
}

.swt2-header__actions {
  display:flex;
  align-items:center;
  gap:14px
}

.swt2-header__actions .button {
  height:42px;
  min-height:42px;
  font-size:12px;
  padding-inline:20px
}

.swt2-header__menu-button {
  display:none;
  width:44px;
  height:44px;
  border:1px solid rgba(255, 255, 255, .14);
  border-radius:12px;
  background:rgba(255, 255, 255, .04);
  color:#fff;
  align-items:center;
  justify-content:center
}

.swt2-header__menu-button span {
  width:18px;
  height:2px;
  background:#fff;
  position:relative;
  display:block
}

.swt2-header__menu-button span::before, .swt2-header__menu-button span::after {
  content:"";
  position:absolute;
  left:0;
  width:18px;
  height:2px;
  background:#fff
}

.swt2-header__menu-button span::before {
  top:-6px
}

.swt2-header__menu-button span::after {
  top:6px
}

/* ===== mobile-navigation.css ===== */
.swt2-mobile-nav {
  position:fixed;
  inset:0;
  z-index:300;
  display:none
}

.swt2-mobile-nav--open {
  display:block
}

.swt2-mobile-nav__overlay {
  position:absolute;
  inset:0;
  background:rgba(0, 0, 0, .58)
}

.swt2-mobile-nav__panel {
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 68% 18%, rgba(151, 255, 35, .23), transparent 25%), radial-gradient(circle at 88% 60%, rgba(151, 255, 35, .08), transparent 35%), #06111d;
  overflow:auto;
  padding:34px 28px;
  border:1px solid rgba(255, 255, 255, .08)
}

.swt2-mobile-nav__panel::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(128deg, transparent 32%, rgba(168, 255, 38, .42) 32.4%, transparent 33.2%), radial-gradient(circle at 80% 38%, rgba(202, 255, 79, .8) 0 5px, transparent 6px);
  pointer-events:none;
  opacity:.78
}

.swt2-mobile-nav__top, .swt2-mobile-nav__list, .swt2-mobile-nav__cta, .swt2-mobile-nav__contacts, .swt2-mobile-nav__bottom {
  position:relative
}

.swt2-mobile-nav__top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:42px
}

.swt2-mobile-nav__close {
  width:44px;
  height:44px;
  border:none;
  background:transparent;
  color:#fff;
  font-size:42px;
  line-height:1
}

.swt2-mobile-nav__list {
  list-style:none;
  display:grid;
  gap:2px;
  max-width:860px
}

.swt2-mobile-nav__link {
  min-height:72px;
  display:grid;
  grid-template-columns:48px 1fr 20px;
  align-items:center;
  gap:14px;
  color:#fff;
  font-weight:850;
  font-size:26px;
  border-bottom:1px solid rgba(255, 255, 255, .1);
  padding:0 18px;
  border-radius:10px
}

.swt2-mobile-nav__link--active {
  background:linear-gradient(90deg, rgba(151, 255, 35, .18), rgba(151, 255, 35, .04));
  border:1px solid rgba(151, 255, 35, .45);
  box-shadow:0 0 28px rgba(151, 255, 35, .13)
}

.swt2-mobile-nav__icon {
  width:30px;
  height:30px;
  border:2px solid var(--swt2-lime);
  border-radius:8px;
  color:var(--swt2-lime);
  display:grid;
  place-items:center;
  font-size:17px
}

.swt2-mobile-nav__arrow {
  color:#fff;
  text-align:right
}

.swt2-mobile-nav__cta {
  margin:32px 0 20px;
  max-width:860px
}

.swt2-mobile-nav__cta .button {
  width:100%;
  height:72px;
  font-size:21px
}

.swt2-mobile-nav__note {
  text-align:center;
  color:var(--swt2-muted);
  font-size:15px;
  margin-bottom:28px
}

.swt2-mobile-nav__contacts {
  max-width:510px;
  border:1px solid rgba(151, 255, 35, .35);
  border-radius:14px;
  padding:12px 18px;
  margin-top:18px;
  background:rgba(5, 18, 28, .54)
}

.swt2-mobile-nav__contact-link {
  display:grid;
  grid-template-columns:32px 1fr 16px;
  gap:14px;
  align-items:center;
  min-height:58px;
  color:#fff;
  border-bottom:1px solid rgba(255, 255, 255, .1)
}

.swt2-mobile-nav__contact-link:last-child {
  border-bottom:0
}

.swt2-mobile-nav__bottom {
  margin-top:32px;
  color:var(--swt2-muted);
  text-align:center
}

.swt2-mobile-nav__tablet-card {
  display:none
}

/* ===== interface-blocks.css ===== */
.swt2-card, .swt2-panel {
  border:1px solid rgba(255, 255, 255, .11);
  background:linear-gradient(180deg, rgba(13, 32, 47, .88), rgba(7, 20, 31, .82));
  border-radius:var(--swt2-radius-md);
  box-shadow:inset 0 1px rgba(255, 255, 255, .06), var(--swt2-shadow)
}

.swt2-card--lime {
  border-color:rgba(151, 217, 27, .36);
  box-shadow:0 0 30px rgba(151, 217, 27, .1), inset 0 1px rgba(255, 255, 255, .06)
}

.swt2-card--orange {
  border-color:rgba(255, 118, 15, .36)
}

.swt2-icon {
  width:46px;
  height:46px;
  border:2px solid rgba(150, 217, 27, .78);
  border-radius:14px;
  display:grid;
  place-items:center;
  color:var(--swt2-lime);
  font-weight:900;
  font-size:20px;
  background:rgba(151, 217, 27, .06);
  box-shadow:0 0 22px rgba(151, 217, 27, .12)
}

.swt2-icon--orange {
  border-color:rgba(255, 118, 15, .78);
  color:var(--swt2-orange);
  box-shadow:0 0 22px rgba(255, 118, 15, .14)
}

.swt2-icon--blue {
  border-color:rgba(38, 152, 255, .75);
  color:var(--swt2-blue);
  box-shadow:0 0 22px rgba(38, 152, 255, .14)
}

.swt2-hero {
  position:relative;
  overflow:hidden;
  padding:52px 0 34px
}

.swt2-hero::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse at 65% 35%, rgba(142, 255, 29, .14), transparent 28%), linear-gradient(128deg, transparent 46%, rgba(156, 255, 31, .35) 46.4%, transparent 47.1%), radial-gradient(circle at 67% 39%, rgba(229, 255, 102, .9) 0 4px, transparent 5px), radial-gradient(circle at 75% 26%, rgba(229, 255, 102, .75) 0 3px, transparent 4px), radial-gradient(circle at 59% 52%, rgba(229, 255, 102, .8) 0 3px, transparent 4px);
  opacity:.9
}

.swt2-hero__inner {
  position:relative
}

.swt2-hero__breadcrumbs {
  font-size:12px;
  color:#8e9ba1;
  margin-bottom:24px
}

.swt2-hero__badge {
  display:inline-flex;
  color:var(--swt2-lime);
  font-size:11px;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:1px solid rgba(151, 217, 27, .25);
  background:rgba(151, 217, 27, .09);
  border-radius:999px;
  padding:5px 11px;
  margin-bottom:18px
}

.swt2-hero__title {
  font-size:52px;
  line-height:1.03;
  letter-spacing:-.055em;
  max-width:670px
}

.swt2-hero__title-accent {
  color:var(--swt2-lime)
}

.swt2-hero__text {
  margin-top:18px;
  font-size:18px;
  line-height:1.65;
  color:#c3cdd2;
  max-width:590px
}

.swt2-hero__actions {
  display:flex;
  gap:18px;
  align-items:center;
  margin-top:28px;
  flex-wrap:wrap
}

.swt2-hero__metrics {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
  margin-top:36px
}

.swt2-hero__metric {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0
}

.swt2-hero__metric-icon {
  width:34px;
  height:34px;
  border:2px solid rgba(151, 217, 27, .65);
  border-radius:10px;
  display:grid;
  place-items:center;
  color:var(--swt2-lime)
}

.swt2-hero__metric-value {
  font-size:22px;
  font-weight:950
}

.swt2-hero__metric-label {
  font-size:12px;
  color:var(--swt2-muted);
  line-height:1.28
}

.swt2-solution-box {
  border:1px solid rgba(151, 217, 27, .42);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(10, 29, 43, .94), rgba(6, 18, 29, .91));
  padding:22px;
  box-shadow:0 0 42px rgba(151, 217, 27, .15), inset 0 1px rgba(255, 255, 255, .07);
  max-width:500px;
  margin-left:auto
}

.swt2-solution-box__title {
  font-size:22px;
  line-height:1.16;
  font-weight:950;
  letter-spacing:-.03em
}

.swt2-solution-box__text {
  font-size:13px;
  color:var(--swt2-muted);
  margin-top:3px
}

.swt2-solution-box__list {
  display:grid;
  gap:10px;
  margin-top:16px
}

.swt2-solution-box__item {
  display:grid;
  grid-template-columns:46px 1fr 32px;
  gap:14px;
  align-items:center;
  border:1px solid rgba(255, 255, 255, .11);
  background:rgba(255, 255, 255, .035);
  border-radius:11px;
  padding:12px;
  min-height:74px
}

.swt2-solution-box__name {
  font-size:15px;
  font-weight:900
}

.swt2-solution-box__desc {
  font-size:12px;
  color:var(--swt2-muted);
  line-height:1.35
}

.swt2-solution-box__arrow {
  width:32px;
  height:32px;
  border-radius:50%;
  background:rgba(151, 217, 27, .11);
  color:var(--swt2-lime);
  display:grid;
  place-items:center;
  font-weight:950
}

.swt2-solution-box__benefits {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:10px;
  margin-top:18px
}

.swt2-solution-box__benefit {
  font-size:11px;
  color:#c4cdd0;
  display:grid;
  gap:4px;
  text-align:center
}

.swt2-solution-box__benefit b {
  width:24px;
  height:24px;
  border:1px solid rgba(151, 217, 27, .65);
  border-radius:8px;
  margin-inline:auto;
  display:grid;
  place-items:center;
  color:var(--swt2-lime)
}

.swt2-problem-grid {
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:14px
}

.swt2-problem-card {
  min-height:152px;
  padding:19px 16px;
  text-align:center;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:12px;
  background:linear-gradient(180deg, rgba(13, 32, 47, .82), rgba(8, 21, 31, .75))
}

.swt2-problem-card__icon {
  margin:0 auto 12px
}

.swt2-problem-card__title {
  font-size:15px;
  line-height:1.24;
  font-weight:900
}

.swt2-problem-card__text {
  font-size:12px;
  color:var(--swt2-muted);
  margin-top:8px
}

.swt2-service-card {
  padding:18px;
  min-height:220px;
  display:grid;
  align-content:start;
  gap:12px
}

.swt2-service-card__visual {
  height:78px;
  border-radius:10px;
  background:linear-gradient(135deg, rgba(151, 217, 27, .1), rgba(255, 255, 255, .025));
  border:1px solid rgba(151, 217, 27, .18);
  display:grid;
  place-items:center;
  overflow:hidden
}

.swt2-service-card__visual--blue {
  border-color:rgba(38, 152, 255, .3);
  background:linear-gradient(135deg, rgba(38, 152, 255, .12), rgba(255, 255, 255, .025))
}

.swt2-service-card__visual--orange {
  border-color:rgba(255, 118, 15, .35);
  background:linear-gradient(135deg, rgba(255, 118, 15, .14), rgba(255, 255, 255, .025))
}

.swt2-service-card__title {
  font-size:20px;
  line-height:1.1;
  font-weight:950
}

.swt2-service-card__list {
  list-style:none;
  display:grid;
  gap:4px;
  font-size:13px;
  color:#d4dee1
}

.swt2-service-card__list li::before {
  content:"•";
  color:var(--swt2-lime);
  margin-right:8px
}

.swt2-service-card__link {
  color:var(--swt2-orange);
  font-size:13px;
  font-weight:900
}

.swt2-growth-strip {
  border:1px solid rgba(151, 217, 27, .38);
  border-radius:14px;
  background:linear-gradient(90deg, rgba(151, 217, 27, .08), rgba(7, 20, 31, .82));
  padding:12px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px
}

.swt2-growth-step {
  display:grid;
  grid-template-columns:48px 1fr;
  gap:12px;
  align-items:center;
  padding:6px 10px
}

.swt2-growth-step__num {
  width:44px;
  height:44px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg, var(--swt2-lime), #558900);
  font-weight:950;
  font-size:21px
}

.swt2-growth-step__title {
  font-size:15px;
  font-weight:950
}

.swt2-growth-step__text {
  font-size:12px;
  color:var(--swt2-muted);
  line-height:1.35
}

.swt2-benefit-strip {
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:10px;
  border:1px solid rgba(151, 217, 27, .24);
  border-radius:14px;
  padding:13px;
  background:rgba(7, 20, 31, .75)
}

.swt2-benefit-strip__item {
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:center;
  text-align:left
}

.swt2-benefit-strip__title {
  font-size:13px;
  font-weight:850;
  line-height:1.25
}

.swt2-benefit-grid {
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:14px
}

.swt2-benefit-card {
  min-height:145px;
  text-align:center;
  padding:18px 14px
}

.swt2-benefit-card .swt2-icon {
  margin:0 auto 12px
}

.swt2-benefit-card__title {
  font-weight:900
}

.swt2-benefit-card__text {
  font-size:12px;
  color:var(--swt2-muted);
  margin-top:6px
}

.swt2-process-line {
  position:relative;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:14px;
  background:rgba(8, 22, 34, .72);
  padding:24px 16px;
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:10px
}

.swt2-process-line::before {
  content:"";
  position:absolute;
  top:48px;
  left:8%;
  right:8%;
  height:2px;
  background:linear-gradient(90deg, transparent, var(--swt2-lime), transparent);
  opacity:.75
}

.swt2-process-line__item {
  position:relative;
  text-align:center;
  display:grid;
  gap:8px;
  justify-items:center
}

.swt2-process-line__number {
  width:54px;
  height:54px;
  border-radius:50%;
  background:rgba(151, 217, 27, .09);
  border:1px solid rgba(151, 217, 27, .58);
  display:grid;
  place-items:center;
  font-size:22px;
  font-weight:950;
  color:var(--swt2-lime);
  box-shadow:0 0 24px rgba(151, 217, 27, .22)
}

.swt2-process-line__title {
  font-weight:900;
  font-size:14px
}

.swt2-final-cta {
  border:1px solid rgba(151, 217, 27, .38);
  border-radius:16px;
  background:linear-gradient(90deg, rgba(151, 217, 27, .08), rgba(8, 22, 34, .82));
  overflow:hidden
}

.swt2-final-cta__inner {
  display:grid;
  grid-template-columns:190px 1fr auto;
  gap:28px;
  align-items:center;
  padding:18px 28px
}

.swt2-final-cta__visual {
  height:105px;
  position:relative
}

.swt2-final-cta__visual::before {
  content:"🚀";
  position:absolute;
  left:64px;
  top:18px;
  font-size:58px;
  filter:drop-shadow(0 0 18px rgba(151, 217, 27, .7))
}

.swt2-final-cta__visual::after {
  content:"";
  position:absolute;
  inset:12px 0;
  border:2px solid rgba(151, 217, 27, .45);
  border-radius:50%;
  transform:rotate(-18deg);
  box-shadow:0 0 28px rgba(151, 217, 27, .2)
}

.swt2-final-cta__title {
  font-size:26px;
  letter-spacing:-.035em;
  line-height:1.12
}

.swt2-final-cta__text {
  color:var(--swt2-muted);
  font-size:14px;
  margin-top:6px
}

.swt2-final-cta__note {
  color:var(--swt2-muted);
  font-size:12px;
  margin-top:9px
}

.swt2-final-cta__note::before {
  content:"●";
  color:var(--swt2-lime);
  margin-right:7px
}

.swt2-faq__grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px
}

.swt2-faq__item {
  border:1px solid rgba(255, 255, 255, .11);
  border-radius:9px;
  background:rgba(10, 25, 38, .82);
  overflow:hidden
}

.swt2-faq__button {
  width:100%;
  border:0;
  background:transparent;
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:45px;
  padding:0 17px;
  text-align:left;
  font-size:14px
}

.swt2-faq__icon {
  color:var(--swt2-orange);
  font-weight:900
}

.swt2-faq__answer {
  display:none;
  color:var(--swt2-muted);
  font-size:14px;
  padding:0 17px 15px
}

.swt2-faq__item--open .swt2-faq__answer {
  display:block
}

.swt2-footer {
  border-top:1px solid rgba(255, 255, 255, .08);
  background:rgba(3, 12, 20, .74);
  padding:26px 0 0
}

.swt2-footer__inner {
  display:grid;
  grid-template-columns:1.25fr .8fr .8fr 1fr 1.2fr;
  gap:36px
}

.swt2-footer__text, .swt2-footer__link, .swt2-footer__contact-item {
  font-size:13px;
  color:var(--swt2-muted)
}

.swt2-footer__text {
  margin-top:10px;
  max-width:260px
}

.swt2-footer__title {
  font-size:14px;
  font-weight:950;
  margin-bottom:12px
}

.swt2-footer__list {
  list-style:none;
  display:grid;
  gap:6px
}

.swt2-footer__socials {
  display:flex;
  gap:9px;
  margin-top:17px
}

.swt2-footer__social-link {
  width:26px;
  height:26px;
  border-radius:50%;
  background:rgba(255, 255, 255, .1);
  display:grid;
  place-items:center;
  color:#fff;
  font-size:11px
}

.swt2-footer__contacts {
  display:grid;
  gap:6px
}

.swt2-footer__subscribe-form {
  display:flex;
  margin-top:12px;
  border:1px solid rgba(255, 255, 255, .08);
  background:rgba(255, 255, 255, .07);
  border-radius:8px;
  overflow:hidden
}

.swt2-footer__subscribe-input {
  min-width:0;
  flex:1;
  background:transparent;
  border:0;
  color:#fff;
  padding:0 12px
}

.swt2-footer__subscribe-button {
  width:44px;
  border:0;
  background:var(--swt2-orange);
  color:#fff;
  font-weight:900
}

.swt2-footer__bottom {
  margin-top:28px;
  border-top:1px solid rgba(255, 255, 255, .06);
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:16px 0;
  color:var(--swt2-faint);
  font-size:12px
}

.swt2-footer__legal {
  display:flex;
  gap:28px
}

/* Solution selector items are buttons when used as modal triggers */ .swt2-solution-box__item {
  width:100%;
  color:inherit;
  font:inherit;
  text-align:left;
  appearance:none;
  cursor:pointer
}

.swt2-solution-box__item:hover {
  border-color:rgba(151, 217, 27, .42);
  background:rgba(151, 217, 27, .075);
  transform:translateY(-1px)
}

.swt2-solution-box__item:focus-visible {
  outline:2px solid rgba(151, 217, 27, .75);
  outline-offset:3px
}

/* ===== modal-forms.css ===== */
.swt2-modal {
  position:fixed;
  inset:0;
  z-index:400;
  display:none
}

.swt2-modal--open {
  display:block
}

.swt2-modal__overlay {
  position:absolute;
  inset:0;
  background:rgba(0, 0, 0, .72);
  backdrop-filter:blur(8px)
}

.swt2-modal__window {
  position:relative;
  width:min(720px, calc(100% - 30px));
  max-height:calc(100vh - 40px);
  overflow:auto;
  margin:20px auto;
  border:1px solid rgba(151, 217, 27, .38);
  border-radius:20px;
  background:linear-gradient(180deg, #0b2030, #061420);
  box-shadow:0 24px 90px rgba(0, 0, 0, .65), 0 0 52px rgba(151, 217, 27, .17);
  padding:26px
}

.swt2-modal__close {
  position:absolute;
  top:14px;
  right:14px;
  width:40px;
  height:40px;
  border:1px solid rgba(255, 255, 255, .14);
  border-radius:10px;
  background:rgba(255, 255, 255, .05);
  color:#fff;
  font-size:24px
}

.swt2-modal__eyebrow {
  color:var(--swt2-lime);
  font-size:11px;
  text-transform:uppercase;
  font-weight:950;
  letter-spacing:.06em
}

.swt2-modal__title {
  font-size:30px;
  line-height:1.1;
  letter-spacing:-.04em;
  margin-top:6px
}

.swt2-modal__text {
  color:var(--swt2-muted);
  margin-top:8px
}

.swt2-modal__form {
  margin-top:18px
}

.swt2-modal__grid {
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:12px
}

.swt2-modal__field--full {
  grid-column:1/-1
}

.swt2-modal__label {
  display:block;
  font-size:12px;
  color:#d9e3e5;
  margin-bottom:6px
}

.swt2-modal__checkbox {
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:var(--swt2-muted);
  font-size:13px;
  margin:14px 0
}

.swt2-modal__checkbox input {
  width:20px;
  height:20px;
  min-height:auto;
  accent-color:var(--swt2-lime);
  flex:0 0 auto
}

.swt2-modal__submit {
  width:100%
}

.swt2-modal__status {
  margin-top:10px;
  min-height:22px;
  color:var(--swt2-muted);
  font-size:13px
}

.swt2-modal__honeypot {
  position:absolute;
  left:-9999px;
  opacity:0
}

/* Modal request forms: expanded category-specific fields */ .swt2-modal__window {
  width:min(780px, calc(100% - 30px));
  scrollbar-gutter:stable
}

.swt2-modal select {
  appearance:none;
  background-image:linear-gradient(45deg, transparent 50%, var(--swt2-lime) 50%), linear-gradient(135deg, var(--swt2-lime) 50%, transparent 50%);
  background-position:calc(100% - 18px) 20px, calc(100% - 12px) 20px;
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat
}

.swt2-modal option {
  background:#071420;
  color:#fff
}

.swt2-modal input::placeholder, .swt2-modal textarea::placeholder {
  color:rgba(210, 222, 226, .52)
}

.swt2-modal input:focus, .swt2-modal select:focus, .swt2-modal textarea:focus {
  outline:2px solid rgba(151, 217, 27, .45);
  border-color:rgba(151, 217, 27, .72);
  box-shadow:0 0 0 4px rgba(151, 217, 27, .08)
}

.swt2-modal__field {
  min-width:0
}

.swt2-modal__field--full textarea {
  min-height:104px
}

@media (max-width:720px) {
  .swt2-modal__window {
    width:calc(100% - 20px);
    max-height:calc(100vh - 20px);
    margin:10px auto;
    padding:20px 16px;
    border-radius:16px
  }

  .swt2-modal__grid {
    grid-template-columns:1fr
  }

  .swt2-modal__title {
    font-size:25px
  }

  .swt2-modal__close {
    top:10px;
    right:10px
  }
}

/* ===== page-sections.css ===== */
/* Page-specific fidelity blocks */ .swt2-page-main section + section {
  margin-top:0
}

.swt2-services-overview .swt2-section-title, .swt2-home-page .swt2-section-title {
  text-align:center
}

.swt2-home-page .swt2-hero {
  min-height:444px
}

.swt2-home-page .swt2-hero__content {
  padding-top:6px
}

.swt2-home-page .swt2-services-overview {
  padding-top:2px
}

.swt2-service-row {
  display:grid;
  grid-template-columns:220px 1fr 235px 235px 150px;
  gap:18px;
  align-items:center;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:13px;
  background:rgba(8, 22, 34, .82);
  padding:14px;
  margin-bottom:12px
}

.swt2-service-row__visual {
  height:126px;
  border:1px solid rgba(151, 217, 27, .24);
  border-radius:10px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, rgba(151, 217, 27, .08), transparent)
}

.swt2-service-row__title {
  font-size:22px;
  font-weight:950
}

.swt2-service-row__problem, .swt2-service-row__result, .swt2-service-row__includes, .swt2-service-row__fit {
  font-size:13px;
  color:var(--swt2-muted)
}

.swt2-service-row__includes ul {
  list-style:none;
  display:grid;
  gap:4px
}

.swt2-service-row__includes li::before {
  content:"•";
  color:var(--swt2-lime);
  margin-right:7px
}

.swt2-choice-grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px
}

.swt2-choice-card {
  padding:24px;
  text-align:center;
  min-height:190px
}

.swt2-choice-card .swt2-icon {
  margin:0 auto 14px
}

.swt2-choice-card__title {
  font-size:18px;
  font-weight:950;
  line-height:1.22
}

.swt2-choice-card__text {
  font-size:13px;
  color:var(--swt2-muted);
  margin-top:8px
}

.swt2-choice-card__link {
  display:inline-flex;
  margin-top:15px;
  color:var(--swt2-orange);
  font-weight:900;
  font-size:13px
}

.swt2-table-wrap, .swt2-compare__scroll {
  overflow-x:auto;
  border:1px solid rgba(255, 255, 255, .13);
  border-radius:12px;
  background:rgba(8, 22, 34, .78)
}

.swt2-table th, .swt2-table td, .swt2-compare__table th, .swt2-compare__table td {
  border:1px solid rgba(255, 255, 255, .07);
  padding:10px 14px;
  text-align:center;
  font-size:13px
}

.swt2-table th, .swt2-compare__table th {
  color:#fff;
  background:rgba(255, 255, 255, .04)
}

.swt2-table td:first-child, .swt2-compare__table td:first-child {
  text-align:left;
  color:#d8e1e4
}

.swt2-table__check, .swt2-compare__check {
  color:var(--swt2-lime);
  font-weight:950;
  font-size:20px
}

.swt2-table__dash, .swt2-compare__dash {
  color:#809098
}

.swt2-process-row {
  display:grid;
  grid-template-columns:82px 1fr 1.15fr 1.15fr 150px;
  gap:22px;
  align-items:center;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:11px;
  background:rgba(8, 22, 34, .82);
  padding:14px 18px;
  margin-top:10px
}

.swt2-process-row__number {
  font-size:34px;
  color:var(--swt2-lime);
  font-weight:950
}

.swt2-process-row__title {
  font-size:18px;
  font-weight:950
}

.swt2-process-row__text {
  font-size:13px;
  color:var(--swt2-muted)
}

.swt2-process-row ul {
  list-style:none;
  display:grid;
  gap:3px;
  font-size:13px;
  color:#d5dee1
}

.swt2-process-row li::before {
  content:"✓";
  color:var(--swt2-lime);
  margin-right:8px
}

.swt2-process-row__time {
  font-size:13px;
  color:var(--swt2-muted);
  margin-top:9px
}

.swt2-process-row__time::before {
  content:"◷";
  color:var(--swt2-lime);
  margin-right:8px
}

.swt2-time-cards {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px
}

.swt2-time-card {
  padding:20px;
  display:grid;
  grid-template-columns:56px 1fr;
  gap:14px;
  align-items:center
}

.swt2-time-card b {
  color:var(--swt2-lime)
}

.swt2-after-launch {
  display:grid;
  grid-template-columns:1fr 40px 1fr 40px 1fr;
  align-items:center;
  gap:12px
}

.swt2-after-launch__arrow {
  color:var(--swt2-lime);
  font-size:35px;
  text-align:center
}

.swt2-price-grid {
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:14px
}

.swt2-price-card {
  position:relative;
  text-align:center;
  padding:25px 22px 18px;
  min-height:282px;
  display:grid;
  align-content:start
}

.swt2-price-card--featured {
  border-color:rgba(151, 217, 27, .74);
  box-shadow:0 0 38px rgba(151, 217, 27, .2)
}

.swt2-price-card__badge {
  position:absolute;
  top:-12px;
  left:50%;
  transform:translateX(-50%);
  background:linear-gradient(180deg, var(--swt2-lime-2), var(--swt2-lime));
  color:#102000;
  font-weight:950;
  font-size:11px;
  border-radius:6px;
  padding:3px 12px
}

.swt2-price-card .swt2-icon {
  margin:0 auto 12px
}

.swt2-price-card__title {
  font-size:20px;
  font-weight:950
}

.swt2-price-card__price {
  font-size:24px;
  color:var(--swt2-lime);
  font-weight:950;
  margin:5px 0 12px
}

.swt2-price-card__list {
  list-style:none;
  text-align:left;
  display:grid;
  gap:5px;
  color:#e2e8e9;
  font-size:13px;
  margin-bottom:18px
}

.swt2-price-card__list li::before {
  content:"•";
  color:var(--swt2-lime);
  margin-right:8px
}

.swt2-contact-layout {
  display:grid;
  grid-template-columns:1.35fr .9fr;
  gap:22px
}

.swt2-contact-form-card {
  padding:24px;
  border-color:rgba(151, 217, 27, .42)
}

.swt2-form__grid {
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:12px
}

.swt2-form__field--full {
  grid-column:1/-1
}

.swt2-form input, .swt2-form select, .swt2-form textarea, .swt2-modal input, .swt2-modal select, .swt2-modal textarea {
  width:100%;
  border:1px solid rgba(255, 255, 255, .16);
  background:rgba(255, 255, 255, .045);
  border-radius:6px;
  color:#fff;
  min-height:46px;
  padding:0 13px
}

.swt2-form textarea, .swt2-modal textarea {
  min-height:94px;
  padding-top:12px;
  resize:vertical
}

.swt2-form__checkbox {
  display:flex;
  gap:10px;
  align-items:center;
  color:var(--swt2-muted);
  font-size:13px;
  margin:12px 0
}

.swt2-form__checkbox input {
  width:22px;
  height:22px;
  min-height:auto;
  accent-color:var(--swt2-lime)
}

.swt2-form__submit {
  width:100%
}

.swt2-form__secure-note {
  font-size:12px;
  color:var(--swt2-muted);
  text-align:center;
  margin-top:10px
}

.swt2-contact-steps {
  padding:22px
}

.swt2-contact-steps__item {
  display:grid;
  grid-template-columns:50px 54px 1fr;
  gap:14px;
  align-items:center;
  margin:14px 0
}

.swt2-contact-steps__number {
  width:40px;
  height:40px;
  border-radius:50%;
  background:rgba(151, 217, 27, .22);
  border:1px solid rgba(151, 217, 27, .7);
  display:grid;
  place-items:center;
  font-weight:950
}

.swt2-contact-methods {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:16px
}

.swt2-contact-method {
  padding:24px;
  text-align:center
}

.swt2-contact-method .swt2-icon {
  margin:0 auto 14px
}

.swt2-contact-method__link {
  color:var(--swt2-orange);
  font-weight:950;
  margin-top:12px;
  display:inline-flex
}

.swt2-floating-chat {
  position:fixed;
  right:30px;
  bottom:30px;
  z-index:90
}

.swt2-floating-chat__button {
  width:72px;
  height:72px;
  border-radius:50%;
  border:2px solid rgba(151, 217, 27, .78);
  background:linear-gradient(180deg, #a6e827, #5e9b07);
  box-shadow:0 0 35px rgba(151, 217, 27, .35);
  color:var(--swt2-text);
  font-size:32px
}

.swt2-case-tabs {
  display:flex;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:9px;
  background:rgba(8, 22, 34, .75);
  overflow:hidden
}

.swt2-case-tabs__button {
  flex:1;
  min-height:44px;
  background:transparent;
  border:0;
  color:#fff;
  font-weight:800
}

.swt2-case-tabs__button--active {
  background:rgba(151, 217, 27, .16);
  outline:1px solid rgba(151, 217, 27, .65);
  color:#fff
}

.swt2-featured-case {
  display:grid;
  grid-template-columns:1.14fr 1fr;
  gap:24px;
  padding:12px;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:14px;
  background:rgba(8, 22, 34, .82)
}

.swt2-browser-shot {
  background:#e9f0ee;
  color:var(--swt2-text);
  border-radius:10px;
  min-height:330px;
  padding:26px;
  position:relative;
  overflow:hidden
}

.swt2-browser-shot::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:34px;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025))
}

.swt2-browser-shot__title {
  font-size:36px;
  font-weight:950;
  max-width:380px;
  margin-top:42px;
  line-height:1.06
}

.swt2-browser-shot__text {
  color:#52646a;
  margin-top:16px;
  max-width:310px
}

.swt2-browser-shot__button {
  display:inline-flex;
  margin-top:18px;
  background:#0f848c;
  color:#fff;
  border-radius:6px;
  padding:10px 17px;
  font-weight:900
}

.swt2-featured-case__title {
  font-size:30px;
  line-height:1.1;
  margin:10px 0 12px
}

.swt2-featured-case__list {
  list-style:none;
  display:grid;
  gap:6px;
  color:#d8e2e4
}

.swt2-featured-case__list li::before {
  content:"•";
  color:var(--swt2-lime);
  margin-right:8px
}

.swt2-featured-case__metrics {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
  margin-top:18px
}

.swt2-featured-case__metric {
  padding:14px;
  border:1px solid rgba(255, 255, 255, .1);
  border-radius:10px;
  background:rgba(255, 255, 255, .035)
}

.swt2-featured-case__metric b {
  font-size:25px;
  color:var(--swt2-lime)
}

.swt2-case-grid {
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:14px
}

.swt2-case-card {
  padding:12px
}

.swt2-case-card__media {
  height:115px;
  border-radius:9px;
  background:linear-gradient(135deg, rgba(151, 217, 27, .15), rgba(255, 255, 255, .04));
  border:1px solid rgba(255, 255, 255, .1);
  margin-bottom:12px
}

.swt2-case-card__badge {
  display:inline-flex;
  font-size:11px;
  color:var(--swt2-lime);
  background:rgba(151, 217, 27, .1);
  border-radius:5px;
  padding:2px 6px;
  margin-bottom:8px
}

.swt2-case-card__title {
  font-size:15px;
  line-height:1.22;
  font-weight:950
}

.swt2-case-card__text {
  font-size:12px;
  color:var(--swt2-muted);
  margin:8px 0
}

.swt2-case-card__link {
  color:var(--swt2-orange);
  font-weight:900;
  font-size:12px
}

.swt2-result-strip {
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:10px;
  border:1px solid rgba(151, 217, 27, .32);
  border-radius:14px;
  background:rgba(8, 22, 34, .82);
  padding:15px
}

.swt2-result-strip__item {
  display:grid;
  grid-template-columns:45px 1fr;
  align-items:center;
  gap:10px
}

.swt2-result-strip__value {
  font-size:28px;
  color:var(--swt2-lime);
  font-weight:950
}

.swt2-result-strip__label {
  font-size:12px;
  color:var(--swt2-muted)
}

.swt2-before-after {
  display:grid;
  grid-template-columns:1fr 60px 1fr;
  align-items:center;
  gap:18px;
  border:1px solid rgba(151, 217, 27, .28);
  border-radius:14px;
  padding:18px;
  background:rgba(8, 22, 34, .76)
}

.swt2-before-after__arrow {
  text-align:center;
  color:var(--swt2-lime);
  font-size:42px
}

.swt2-screen-gallery__track {
  display:flex;
  gap:14px;
  overflow-x:auto;
  scroll-snap-type:x mandatory
}

.swt2-screen-gallery__item {
  flex:0 0 220px;
  scroll-snap-align:start
}

.swt2-screen-gallery__image {
  height:120px;
  border-radius:10px;
  background:#edf3f2;
  color:var(--swt2-text);
  display:grid;
  place-items:center;
  font-weight:900
}

.swt2-service-hero__mockup {
  min-height:330px;
  border-radius:14px;
  border:1px solid rgba(151, 217, 27, .27);
  background:radial-gradient(circle at 68% 44%, rgba(151, 255, 35, .2), transparent 28%), linear-gradient(135deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .015));
  position:relative;
  overflow:hidden;
  padding:34px
}

.swt2-service-hero__mockup::after {
  content:"";
  position:absolute;
  left:15%;
  right:8%;
  top:35%;
  height:2px;
  background:linear-gradient(90deg, transparent, var(--swt2-lime), transparent);
  transform:rotate(-16deg);
  box-shadow:0 0 22px rgba(151, 255, 35, .8)
}

.swt2-service-hero__mockup-title {
  font-size:28px;
  font-weight:950;
  max-width:330px
}

.swt2-service-hero__stats {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:0;
  position:absolute;
  right:0;
  bottom:0;
  width:350px;
  background:rgba(7, 20, 31, .88);
  border:1px solid rgba(151, 217, 27, .2);
  border-radius:12px 0 0 0
}

.swt2-service-hero__stat {
  padding:17px;
  text-align:center;
  border-right:1px solid rgba(255, 255, 255, .08)
}

.swt2-service-hero__stat b {
  font-size:22px
}

.swt2-checklist {
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:10px 24px;
  list-style:none
}

.swt2-checklist li {
  font-size:14px;
  color:#d8e1e4
}

.swt2-checklist li::before {
  content:"✓";
  color:var(--swt2-lime);
  margin-right:9px
}

.swt2-chip-row {
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap
}

.swt2-chip {
  padding:9px 22px;
  border-radius:999px;
  background:rgba(255, 255, 255, .045);
  border:1px solid rgba(255, 255, 255, .1);
  font-size:13px
}

.swt2-faq-page-layout {
  display:grid;
  grid-template-columns:320px 1fr;
  gap:24px
}

.swt2-faq-category-panel {
  padding:20px
}

.swt2-faq-categories {
  display:grid;
  gap:7px
}

.swt2-faq-categories__button {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:0;
  background:transparent;
  color:#fff;
  border-radius:8px;
  min-height:48px;
  padding:0 13px;
  text-align:left
}

.swt2-faq-categories__button--active {
  background:rgba(151, 217, 27, .14);
  color:var(--swt2-lime)
}

.swt2-faq-large {
  padding:24px
}

.swt2-faq-search {
  max-width:520px;
  margin-top:28px;
  display:flex;
  border:1px solid rgba(255, 255, 255, .13);
  border-radius:8px;
  background:rgba(10, 25, 38, .8);
  overflow:hidden
}

.swt2-faq-search input {
  flex:1;
  background:transparent;
  border:0;
  color:#fff;
  min-height:56px;
  padding:0 18px
}

.swt2-faq-search button {
  width:58px;
  background:transparent;
  border:0;
  color:#fff;
  font-size:24px
}

.swt2-faq-visual {
  height:270px;
  position:relative
}

.swt2-faq-visual::before {
  content:"?";
  position:absolute;
  left:20%;
  top:24px;
  width:180px;
  height:145px;
  border-radius:28px;
  background:linear-gradient(180deg, #b5ee23, #719d08);
  display:grid;
  place-items:center;
  font-size:86px;
  font-weight:950;
  color:#eaff8e;
  box-shadow:0 0 38px rgba(151, 255, 35, .34);
  text-align:center
}

.swt2-faq-visual::after {
  content:"•••";
  position:absolute;
  right:9%;
  bottom:50px;
  width:170px;
  height:95px;
  border-radius:24px;
  background:#161e24;
  display:grid;
  place-items:center;
  color:#aab080;
  font-size:38px;
  letter-spacing:9px;
  border:2px solid rgba(255, 255, 255, .14)
}

.swt2-legal__content {
  max-width:860px;
  margin-inline:auto;
  padding:34px;
  border-radius:16px;
  border:1px solid rgba(255, 255, 255, .12);
  background:rgba(8, 22, 34, .76)
}

.swt2-legal__section+ .swt2-legal__section {
  margin-top:24px
}

.swt2-legal__title {
  font-size:24px;
  margin-bottom:8px
}

.swt2-legal__text {
  color:var(--swt2-muted)
}

.swt2-error-page {
  text-align:center;
  padding:130px 0
}

.swt2-error-page__code {
  font-size:130px;
  line-height:.9;
  color:var(--swt2-lime);
  font-weight:950
}

.swt2-error-page__title {
  font-size:44px
}

.swt2-error-page__text {
  color:var(--swt2-muted);
  margin:12px 0 26px
}

/* ===== service-areas.css ===== */
/* =========================================================
   Service Areas Hub + City Pages
   ========================================================= */
.swt2-service-areas-page .swt2-hero::before,
.swt2-city-page .swt2-hero::before { opacity:.35; }

.swt2-location-hero {
  position:relative;
  overflow:hidden;
  padding:52px 0 22px;
}

.swt2-location-hero::before {
  content:"";
  position:absolute;
  inset:-20% -10% auto auto;
  width:680px;
  height:680px;
  background:radial-gradient(circle, rgba(150, 217, 27, .14), transparent 63%);
  pointer-events:none;
}

.swt2-location-hero__inner { position:relative; }

.swt2-location-hero__layout {
  display:grid;
  grid-template-columns:minmax(420px, .92fr) minmax(520px, 1.08fr);
  gap:clamp(34px, 5vw, 76px);
  align-items:center;
}

.swt2-location-hero__content {
  min-width:0;
}


.swt2-location-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:18px;
  padding:6px 12px;
  border:1px solid rgba(151, 217, 27, .25);
  border-radius:999px;
  color:var(--swt2-lime);
  background:rgba(151, 217, 27, .08);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.swt2-location-title {
  max-width:820px;
  font-size:clamp(52px, 5.6vw, 86px);
  line-height:.94;
  letter-spacing:-.065em;
}

.swt2-location-title span { color:var(--swt2-lime); }

.swt2-location-lede {
  margin-top:18px;
  max-width:650px;
  color:#c2cbd0;
  font-size:18px;
  line-height:1.66;
}

.swt2-location-lede strong:nth-of-type(1),
.swt2-location-lede strong:nth-of-type(2) { color:var(--swt2-lime-2); }
.swt2-location-lede strong:nth-of-type(3) { color:var(--swt2-orange); }

.swt2-location-copy {
  margin-top:18px;
  max-width:650px;
  color:var(--swt2-muted);
  line-height:1.72;
}

.swt2-location-actions {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.swt2-location-map-card,
.swt2-url-panel,
.swt2-location-card,
.swt2-location-note,
.swt2-city-hero-card,
.swt2-city-info-card {
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--swt2-radius-lg);
  background:linear-gradient(180deg, rgba(11, 31, 45, .88), rgba(5, 16, 26, .84));
  box-shadow:inset 0 1px rgba(255,255,255,.06), 0 18px 60px rgba(0,0,0,.3);
}

.swt2-location-map-card {
  position:relative;
  min-height:330px;
  padding:18px;
  overflow:hidden;
  border-color:rgba(151,217,27,.18);
}

.swt2-location-map-card--hero {
  min-height:430px;
  border-color:rgba(151,217,27,.26);
  background:radial-gradient(circle at 50% 48%, rgba(151,217,27,.15), transparent 55%), linear-gradient(180deg, rgba(11,31,45,.9), rgba(5,16,26,.86));
}

.swt2-us-map {
  position:absolute;
  inset:30px 28px 26px;
  opacity:.95;
}

.swt2-us-map svg {
  width:100%;
  height:100%;
  display:block;
  filter:drop-shadow(0 0 28px rgba(151,217,27,.13));
}

.swt2-us-map__shape { fill:rgba(39,76,45,.36); stroke:rgba(151,217,27,.28); stroke-width:2; }
.swt2-us-map__line { stroke:rgba(151,217,27,.16); stroke-width:1; fill:none; }

.swt2-city-dot {
  position:absolute;
  left:var(--x);
  top:var(--y);
  display:flex;
  align-items:center;
  gap:6px;
  transform:translate(-8px,-8px);
  color:#fff;
  font-size:12px;
  line-height:1;
  text-shadow:0 2px 12px rgba(0,0,0,.85);
  white-space:nowrap;
}

.swt2-city-dot::before {
  content:"";
  width:11px;
  height:11px;
  border-radius:999px;
  background:var(--swt2-lime-2);
  box-shadow:0 0 0 5px rgba(151,217,27,.16), 0 0 22px rgba(183,255,43,.8);
}

.swt2-url-panel {
  padding:20px;
  display:grid;
  gap:18px;
}

.swt2-url-panel__block {
  padding:18px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  background:rgba(4,13,22,.44);
}

.swt2-url-panel__title {
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--swt2-lime-2);
  font-size:16px;
  margin-bottom:10px;
}

.swt2-url-panel__text {
  color:var(--swt2-muted);
  line-height:1.58;
  font-size:14px;
}

.swt2-url-tree {
  margin-top:14px;
  padding:14px 14px 14px 18px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  color:#cbd4d8;
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size:13px;
  line-height:1.75;
  background:rgba(0,0,0,.18);
}

.swt2-url-tree b { color:var(--swt2-lime-2); }
.swt2-url-tree strong { color:var(--swt2-orange); }

@media (max-width: 1180px) {
  .swt2-location-hero__layout {
    grid-template-columns:minmax(0, 1fr);
  }

  .swt2-location-title,
  .swt2-location-lede,
  .swt2-location-copy {
    max-width:860px;
  }

  .swt2-location-map-card--hero {
    min-height:380px;
  }
}

@media (max-width: 680px) {
  .swt2-location-hero__layout {
    gap:26px;
  }

  .swt2-location-title {
    font-size:clamp(42px, 13vw, 58px);
  }

  .swt2-location-map-card--hero {
    min-height:320px;
  }

  .swt2-us-map {
    inset:24px 18px 20px;
  }

  .swt2-city-dot {
    font-size:10px;
  }
}

.swt2-location-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
  margin-top:24px;
}

.swt2-location-card {
  position:relative;
  min-height:150px;
  padding:20px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:inherit;
  text-decoration:none;
  border-color:rgba(151,217,27,.18);
  transition:transform var(--swt2-speed), border-color var(--swt2-speed), box-shadow var(--swt2-speed);
  overflow:hidden;
}

.swt2-location-card:hover {
  transform:translateY(-4px);
  border-color:rgba(183,255,43,.42);
  box-shadow:0 24px 60px rgba(0,0,0,.36), 0 0 34px rgba(151,217,27,.13), inset 0 1px rgba(255,255,255,.07);
}

.swt2-location-card::after {
  content:"";
  position:absolute;
  width:130px;
  height:130px;
  right:-55px;
  top:-55px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(151,217,27,.16), transparent 67%);
}

.swt2-location-card__state {
  color:var(--swt2-lime-2);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.swt2-location-card__icon {
  position:absolute;
  right:18px;
  top:18px;
  width:48px;
  height:48px;
  border:1px solid rgba(151,217,27,.34);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--swt2-lime);
  font-size:13px;
  font-weight:950;
  background:rgba(151,217,27,.08);
}

.swt2-location-card__city {
  margin-top:28px;
  padding-right:56px;
  font-size:24px;
  line-height:1.05;
  letter-spacing:-.035em;
}

.swt2-location-card__link,
.swt2-location-card__city-pill {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#eef5ef;
  font-size:14px;
  font-weight:750;
}

.swt2-location-card__link span,
.swt2-location-card__city-pill span { color:var(--swt2-lime-2); }

.swt2-location-card--texas {
  grid-column:span 1;
}

.swt2-location-card__pills {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:26px;
}

.swt2-location-card__city-pill {
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(151,217,27,.25);
  background:rgba(151,217,27,.08);
  text-decoration:none;
}

.swt2-location-note {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:20px;
  padding:20px 26px;
  border-color:rgba(255,118,15,.24);
}

.swt2-location-note__left {
  display:flex;
  align-items:center;
  gap:18px;
}

.swt2-location-note__icon {
  width:52px;
  height:52px;
  border:1px solid rgba(255,118,15,.7);
  border-radius:16px;
  color:var(--swt2-orange);
  display:grid;
  place-items:center;
  font-weight:900;
  background:rgba(255,118,15,.08);
}

.swt2-location-note__title { font-size:18px; margin-bottom:4px; }
.swt2-location-note__text { color:var(--swt2-muted); }
.swt2-location-note__link { color:var(--swt2-orange-2); font-weight:900; text-decoration:none; white-space:nowrap; }

.swt2-city-hero {
  padding:52px 0 24px;
}

.swt2-city-hero__layout {
  display:grid;
  grid-template-columns:minmax(0, 1fr) 390px;
  gap:28px;
  align-items:stretch;
}

.swt2-city-hero-card { padding:28px; }
.swt2-city-kicker { color:var(--swt2-lime-2); font-weight:900; text-transform:uppercase; letter-spacing:.08em; font-size:12px; }
.swt2-city-title { margin-top:12px; font-size:clamp(38px, 5.2vw, 72px); line-height:.98; letter-spacing:-.06em; max-width:760px; }
.swt2-city-title span { color:var(--swt2-lime); }
.swt2-city-text { margin-top:18px; color:#c1ccd1; font-size:18px; line-height:1.65; max-width:740px; }
.swt2-city-market { margin-top:18px; color:var(--swt2-muted); line-height:1.72; }
.swt2-city-info-card { padding:24px; border-color:rgba(151,217,27,.22); display:grid; gap:14px; }
.swt2-city-info-card__row { display:grid; gap:5px; padding-bottom:14px; border-bottom:1px solid rgba(255,255,255,.08); }
.swt2-city-info-card__row:last-child { border-bottom:0; padding-bottom:0; }
.swt2-city-info-card__label { color:var(--swt2-lime-2); font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.swt2-city-info-card__value { color:#fff; font-weight:800; }
.swt2-city-service-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; }
.swt2-city-service-card { padding:20px; }
.swt2-city-service-card h3 { margin-top:14px; font-size:20px; letter-spacing:-.03em; }
.swt2-city-service-card p { margin-top:10px; color:var(--swt2-muted); line-height:1.62; }
.swt2-city-cta { text-align:center; padding:34px; border:1px solid rgba(255,118,15,.22); border-radius:var(--swt2-radius-lg); background:linear-gradient(180deg, rgba(17,35,48,.92), rgba(7,19,30,.86)); }
.swt2-city-cta h2 { font-size:32px; letter-spacing:-.04em; }
.swt2-city-cta p { margin:12px auto 0; max-width:720px; color:var(--swt2-muted); line-height:1.65; }
.swt2-city-cta .swt2-location-actions { justify-content:center; }

@media (max-width:1120px) {
  .swt2-location-hero__layout,
  .swt2-location-hero__main,
  .swt2-city-hero__layout { grid-template-columns:1fr; }
  .swt2-location-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .swt2-url-panel { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .swt2-location-map-card { min-height:300px; }
  .swt2-city-service-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
}

@media (max-width:760px) {
  .swt2-location-hero, .swt2-city-hero { padding-top:34px; }
  .swt2-location-title, .swt2-city-title { font-size:43px; }
  .swt2-location-lede, .swt2-city-text { font-size:16px; }
  .swt2-location-map-card { min-height:270px; padding:14px; }
  .swt2-city-dot { font-size:10px; }
  .swt2-location-grid { grid-template-columns:1fr; }
  .swt2-url-panel { grid-template-columns:1fr; }
  .swt2-location-note { align-items:flex-start; flex-direction:column; padding:18px; }
  .swt2-location-note__left { align-items:flex-start; }
  .swt2-city-service-grid { grid-template-columns:1fr; }
  .swt2-city-hero-card, .swt2-city-info-card { padding:22px; }
}

@media (max-width:480px) {
  .swt2-location-map-card { min-height:235px; }
  .swt2-city-dot span { display:none; }
  .swt2-location-card__city { font-size:22px; }
}

/* ===== responsive.css ===== */
@media (max-width:1100px) {
  :root {
    --swt2-container:930px
  }

  .swt2-header__nav-list {
    gap:22px
  }

  .swt2-split {
    grid-template-columns:1fr;
    gap:28px
  }

  .swt2-solution-box {
    margin-left:0;
    max-width:none
  }

  .swt2-problem-grid, .swt2-grid--five {
    grid-template-columns:repeat(3, 1fr)
  }

  .swt2-grid--four, .swt2-benefit-grid, .swt2-price-grid, .swt2-case-grid {
    grid-template-columns:repeat(2, 1fr)
  }

  .swt2-service-row {
    grid-template-columns:170px 1fr 1fr
  }

  .swt2-service-row__fit, .swt2-service-row__action {
    grid-column:auto
  }

  .swt2-growth-strip, .swt2-benefit-strip, .swt2-result-strip, .swt2-contact-methods {
    grid-template-columns:repeat(2, 1fr)
  }

  .swt2-process-row {
    grid-template-columns:70px 1fr 1fr
  }

  .swt2-process-row__action {
    grid-column:2/4
  }

  .swt2-footer__inner {
    grid-template-columns:1fr 1fr 1fr
  }

  .swt2-final-cta__inner {
    grid-template-columns:150px 1fr
  }

  .swt2-final-cta__actions {
    grid-column:2
  }

  .swt2-contact-layout, .swt2-featured-case, .swt2-faq-page-layout {
    grid-template-columns:1fr
  }

  .swt2-service-hero__stats {
    position:static;
    width:auto;
    margin-top:30px;
    border-radius:12px
  }

  .swt2-faq-visual {
    display:none
  }
}

@media (max-width:860px) {
  :root {
    --swt2-header:64px
  }

  .container {
    width:min(100% - 28px, var(--swt2-container))
  }

  .section {
    padding:24px 0
  }

  .swt2-header__nav, .swt2-header__actions .button {
    display:none
  }

  .swt2-header__menu-button {
    display:flex
  }

  .swt2-brand {
    font-size:20px
  }

  .swt2-hero {
    padding:34px 0 20px
  }

  .swt2-hero__title {
    font-size:40px
  }

  .swt2-hero__text {
    font-size:16px
  }

  .swt2-hero__metrics {
    grid-template-columns:repeat(2, 1fr)
  }

  .swt2-solution-box {
    padding:16px
  }

  .swt2-solution-box__benefits {
    grid-template-columns:repeat(2, 1fr)
  }

  .swt2-problem-grid, .swt2-grid--three, .swt2-grid--four, .swt2-grid--five, .swt2-benefit-grid, .swt2-price-grid, .swt2-case-grid {
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:12px;
    padding-bottom:6px
  }

  .swt2-problem-grid>* , .swt2-grid--three>* , .swt2-grid--four>* , .swt2-grid--five>* , .swt2-benefit-grid>* , .swt2-price-grid>* , .swt2-case-grid>* {
    flex:0 0 270px;
    scroll-snap-align:start
  }

  .swt2-service-row {
    grid-template-columns:1fr;
    padding:16px
  }

  .swt2-choice-grid, .swt2-time-cards, .swt2-contact-methods {
    grid-template-columns:1fr
  }

  .swt2-process-line {
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory
  }

  .swt2-process-line::before {
    display:none
  }

  .swt2-process-line__item {
    flex:0 0 150px;
    scroll-snap-align:start
  }

  .swt2-process-row {
    grid-template-columns:1fr;
    gap:10px
  }

  .swt2-process-row__action {
    grid-column:auto
  }

  .swt2-after-launch, .swt2-before-after {
    grid-template-columns:1fr
  }

  .swt2-after-launch__arrow, .swt2-before-after__arrow {
    transform:rotate(90deg)
  }

  .swt2-contact-steps__item {
    grid-template-columns:44px 48px 1fr
  }

  .swt2-footer__inner {
    grid-template-columns:1fr 1fr;
    gap:22px
  }

  .swt2-footer__bottom {
    flex-direction:column
  }

  .swt2-final-cta__inner {
    grid-template-columns:1fr;
    text-align:center
  }

  .swt2-final-cta__visual {
    display:none
  }

  .swt2-final-cta__actions {
    grid-column:auto
  }

  .swt2-final-cta__actions .button {
    width:100%
  }

  .swt2-modal__grid, .swt2-form__grid {
    grid-template-columns:1fr
  }

  .swt2-modal__field--full, .swt2-form__field--full {
    grid-column:auto
  }

  .swt2-mobile-nav__link {
    font-size:23px
  }

  .swt2-screen-gallery__item {
    flex-basis:190px
  }
}

@media (max-width:560px) {
  .swt2-hero__title {
    font-size:34px
  }

  .swt2-hero__actions .button {
    width:100%
  }

  .swt2-hero__metrics {
    grid-template-columns:1fr 1fr;
    gap:12px
  }

  .swt2-problem-grid>*, .swt2-grid--three>*, .swt2-grid--four>*, .swt2-grid--five>*, .swt2-benefit-grid>*, .swt2-price-grid>*, .swt2-case-grid>* {
    flex-basis:250px
  }

  .swt2-growth-strip, .swt2-benefit-strip, .swt2-result-strip {
    grid-template-columns:1fr
  }

  .swt2-faq__grid {
    grid-template-columns:1fr
  }

  .swt2-footer__inner {
    grid-template-columns:1fr
  }

  .swt2-header__brand {
    font-size:19px
  }

  .swt2-mobile-nav__panel {
    padding:30px 18px
  }

  .swt2-mobile-nav__link {
    grid-template-columns:42px 1fr 18px;
    min-height:62px;
    font-size:21px
  }

  .swt2-mobile-nav__cta .button {
    height:60px;
    font-size:16px
  }

  .swt2-browser-shot {
    min-height:270px
  }

  .swt2-browser-shot__title {
    font-size:27px
  }

  .swt2-featured-case__metrics {
    grid-template-columns:1fr
  }

  .swt2-price-card {
    min-height:260px
  }

  .swt2-floating-chat {
    right:16px;
    bottom:16px
  }

  .swt2-floating-chat__button {
    width:58px;
    height:58px
  }
}

/* ===== helpers.css ===== */
.swt2-hide {
  display:none!important
}

.swt2-text-center {
  text-align:center
}

.swt2-border-lime {
  border-color:rgba(151, 217, 27, .42)!important
}

.swt2-border-orange {
  border-color:rgba(255, 118, 15, .42)!important
}

.swt2-glow-lime {
  box-shadow:var(--swt2-glow)!important
}

.swt2-glow-orange {
  box-shadow:0 0 35px rgba(255, 118, 15, .18)!important
}

.swt2-mt-sm {
  margin-top:12px
}

.swt2-mt-md {
  margin-top:18px
}

.swt2-mt-lg {
  margin-top:28px
}

.swt2-mb-md {
  margin-bottom:18px
}

.swt2-only-mobile {
  display:none
}

@media (max-width:860px) {
  .swt2-hide-mobile {
    display:none!important
  }

  .swt2-only-mobile {
    display:block
  }

  .swt2-scroll-row__hint {
    display:block
  }
}

/* ===== site-polish.css ===== */
/* StartWebTop polish layer
   Purpose: readable typography, centered section headings, cleaner cards, and safer mobile layout. */ :root {
    --swt2-readable-text: clamp(16px,  1.05vw,  18px);
    --swt2-readable-small: clamp(15px,  .95vw,  16px);
    --swt2-section-gap: clamp(42px,  6vw,  78px);
}

html {
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
}

body {
    font-size:var(--swt2-readable-text);
    line-height:1.65;
}

p, li {
    line-height:1.68;
}

.container {
    width:min(var(--swt2-container),  calc(100% - clamp(32px,  5vw,  56px)));
}

.section {
    padding:var(--swt2-section-gap) 0;
}

.swt2-page-main section + section {
    margin-top:0;
}

/* Centralized section headers */ .swt2-section-head {
    max-width:860px;
    margin:0 auto clamp(24px,  4vw,  38px);
    text-align:center;
}

.swt2-section-title {
    max-width:920px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
    font-size:clamp(30px,  3.1vw,  46px);
    line-height:1.08;
    letter-spacing:-.045em;
}

.swt2-section-text {
    max-width:760px;
    margin:14px auto 0;
    text-align:center;
    font-size:clamp(17px,  1.2vw,  19px);
    line-height:1.72;
    color:#c4d0d4;
}

/* Hero readability */ .swt2-hero {
    padding:clamp(46px,  6vw,  78px) 0 clamp(34px,  5vw,  56px);
}

.swt2-hero__title {
    max-width:780px;
    font-size:clamp(44px,  5vw,  66px);
    line-height:1.03;
    letter-spacing:-.058em;
}

.swt2-hero__text {
    max-width:680px;
    font-size:clamp(18px,  1.35vw,  20px);
    line-height:1.72;
    color:#c8d3d7;
}

.swt2-hero__breadcrumbs {
    font-size:14px;
    line-height:1.45;
}

.swt2-hero__badge, .swt2-section-kicker {
    font-size:12px;
}

/* Buttons and forms */ .button {
    min-height:48px;
    padding:0 24px;
    font-size:15px;
}

input, select, textarea, button {
    font-size:16px;
}

.swt2-form input, .swt2-form select, .swt2-form textarea, .swt2-modal input, .swt2-modal select, .swt2-modal textarea {
    min-height:50px;
    font-size:16px;
    line-height:1.45;
}

.swt2-modal__label, .swt2-form__label {
    font-size:14px;
}

.swt2-modal__text, .swt2-modal__checkbox, .swt2-form__checkbox, .swt2-modal__status, .swt2-form__secure-note {
    font-size:15px;
    line-height:1.55;
}

/* Cards: larger text, more breathing room */ .swt2-card, .swt2-panel, .swt2-problem-card, .swt2-service-card, .swt2-case-card, .swt2-price-card {
    overflow-wrap:anywhere;
}

.swt2-service-card, .swt2-problem-card, .swt2-case-card, .swt2-price-card, .swt2-faq-large, .swt2-faq-category-panel {
    padding:clamp(20px,  2.2vw,  28px);
}

.swt2-service-card__title, .swt2-price-card__title, .swt2-choice-card__title, .swt2-browser-shot__title {
    font-size:clamp(22px,  2vw,  28px);
    line-height:1.14;
}

.swt2-problem-card__title, .swt2-growth-step__title, .swt2-benefit-card__title, .swt2-case-card__title, .swt2-contact-method__title, .swt2-footer__title {
    font-size:clamp(17px,  1.2vw,  20px);
    line-height:1.25;
}

.swt2-service-card__list, .swt2-checklist, .swt2-price-card__list, .swt2-featured-case__list {
    font-size:var(--swt2-readable-small);
    line-height:1.68;
    gap:8px;
}

.swt2-problem-card__text, .swt2-growth-step__text, .swt2-benefit-card__text, .swt2-case-card__text, .swt2-price-card__text, .swt2-result-strip__label, .swt2-footer__text, .swt2-contact-method__text, .swt2-legal__text {
    font-size:var(--swt2-readable-small);
    line-height:1.68;
    color:#c0ccd0;
}

.swt2-result-strip__value {
    font-size:clamp(18px,  1.7vw,  24px);
    line-height:1.12;
}

.swt2-icon {
    flex:0 0 auto;
}

/* FAQ readability */ .swt2-faq__button {
    min-height:58px;
    padding:14px 18px;
    gap:18px;
    font-size:16px;
    line-height:1.35;
}

.swt2-faq__answer {
    padding:0 18px 18px;
    font-size:16px;
    line-height:1.72;
    color:#c2cfd3;
}

.swt2-faq-categories__button {
    min-height:52px;
    font-size:16px;
}

/* Case-study images and browser mockups */ .swt2-service-card__photo, .swt2-screen-gallery__image {
    border-radius:14px;
    overflow:hidden;
    background:linear-gradient(135deg,  rgba(151, 217, 27, .16),  rgba(255, 255, 255, .04));
    border:1px solid rgba(151, 217, 27, .18);
}

.swt2-service-card__photo img {
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover;
}

/* Footer cleanup */ .swt2-footer__social-link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

/* Mobile polish */ @media (max-width:860px) {
    .container {
        width:min(100% - 28px,  var(--swt2-container));
  }

    .section {
        padding:42px 0;
  }

    .swt2-hero {
        padding:38px 0 34px;
  }

    .swt2-hero__title {
        font-size:clamp(36px,  10vw,  46px);
        line-height:1.06;
  }

    .swt2-hero__text {
        font-size:17px;
        line-height:1.72;
  }

    .swt2-section-title {
        font-size:clamp(30px,  8vw,  38px);
  }

    .swt2-section-text {
        font-size:16.5px;
  }

    .button {
        min-height:52px;
        font-size:16px;
  }

    .swt2-problem-grid>*,   .swt2-grid--three>*,   .swt2-grid--four>*,   .swt2-grid--five>*,   .swt2-benefit-grid>*,   .swt2-price-grid>*,   .swt2-case-grid>* {
        flex-basis:min(86vw,  330px);
  }

    .swt2-service-card,   .swt2-problem-card,   .swt2-case-card,   .swt2-price-card {
        min-height:auto;
  }

    .swt2-solution-box__item {
        grid-template-columns:46px 1fr 34px;
        min-height:82px;
        padding:14px;
  }

    .swt2-solution-box__name {
        font-size:17px;
  }

    .swt2-solution-box__desc,   .swt2-solution-box__benefit {
        font-size:13px;
        line-height:1.45;
  }

    .swt2-modal__window {
        padding:22px 16px;
  }

    .swt2-footer__inner,   .swt2-footer__bottom {
        text-align:left;
  }
}

@media (max-width:560px) {
    .container {
        width:min(100% - 24px,  var(--swt2-container));
  }

    .section {
        padding:38px 0;
  }

    .swt2-hero__actions .button,   .swt2-final-cta__actions .button {
        width:100%;
  }

    .swt2-faq__button {
        align-items:flex-start;
        padding:16px;
  }

    .swt2-faq__answer {
        padding:0 16px 18px;
  }

    .swt2-modal__title {
        font-size:28px;
  }
}


/* Launch-ready concept and evidence-based case study polish */
.swt2-header__nav-list {
  align-items:center;
}

.swt2-hero__actions,
.swt2-final-cta__actions,
.swt2-center-actions {
  justify-content:center;
}

.swt2-hero__content .swt2-hero__actions {
  justify-content:flex-start;
}

.swt2-section-head + .swt2-grid,
.swt2-section-head + .swt2-case-grid,
.swt2-section-head + .swt2-work-grid,
.swt2-section-head + .swt2-choice-grid,
.swt2-section-head + .swt2-price-grid,
.swt2-section-head + .swt2-problem-grid {
  margin-left:auto;
  margin-right:auto;
}

.case-snapshot-card {
  display:grid;
  gap:18px;
  padding:clamp(22px,3vw,34px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  background:linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
  box-shadow:0 24px 80px rgba(0,0,0,.28);
}

.case-snapshot-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.case-snapshot-grid > div {
  display:grid;
  gap:6px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.22);
}

.case-snapshot-grid strong {
  color:#fff;
  font-size:13px;
  line-height:1.2;
}

.case-snapshot-grid span {
  color:#c4d0d4;
  font-size:14px;
  line-height:1.45;
}

.case-evidence-header {
  max-width:880px;
  margin:0 auto clamp(24px,4vw,38px);
  text-align:center;
}

.case-evidence-media {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
  gap:clamp(18px,3vw,30px);
  align-items:start;
  max-width:1120px;
  margin:0 auto;
}

.case-evidence-media--pagespeed {
  align-items:start;
}

.case-evidence-figure {
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:26px;
  background:rgba(255,255,255,.045);
  box-shadow:0 20px 64px rgba(0,0,0,.22);
}

.case-evidence-figure img {
  display:block;
  width:100%;
  height:auto;
  margin:0 auto;
  background:#0d171b;
}

.case-evidence-figure--mobile img {
  max-width:520px;
}

.case-evidence-media--pagespeed .case-evidence-figure img {
  background:#fff;
}

.case-evidence-figure figcaption {
  padding:14px 16px 16px;
  color:#c4d0d4;
  font-size:14px;
  line-height:1.5;
  text-align:center;
}

.case-proof-points {
  max-width:860px;
  margin:clamp(22px,4vw,34px) auto 0;
  padding:clamp(18px,3vw,26px);
  border:1px solid rgba(153,225,31,.18);
  border-radius:24px;
  background:rgba(153,225,31,.055);
}

.case-proof-points h3 {
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(20px,2vw,26px);
  text-align:center;
}

.case-proof-points ul {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 20px;
  margin:0;
  padding-left:18px;
  color:#d4dee1;
}

.case-note {
  max-width:760px;
  margin:14px auto 0;
  color:#aebdc2;
  font-size:15px;
  line-height:1.65;
  text-align:center;
}

.swt2-work-card__actions:empty,
.swt2-work-card__link:empty {
  display:none;
}

@media (max-width:980px) {
  .case-evidence-media,
  .case-snapshot-grid {
    grid-template-columns:1fr;
  }
  .case-proof-points ul {
    grid-template-columns:1fr;
  }
  .swt2-hero__content .swt2-hero__actions {
    justify-content:center;
  }
}

@media (max-width:860px) {
  .swt2-problem-grid,
  .swt2-grid--three,
  .swt2-grid--four,
  .swt2-grid--five,
  .swt2-benefit-grid,
  .swt2-price-grid,
  .swt2-case-grid {
    justify-content:flex-start;
    scroll-padding-left:12px;
  }

  .swt2-hero__content,
  .swt2-hero__title,
  .swt2-hero__text,
  .swt2-hero__badge {
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }

  .swt2-hero__actions {
    justify-content:center;
  }

  .case-evidence-figure {
    border-radius:20px;
  }
}

/* Layout cleanup patch: anchor offsets, centered grids, and cleaner card alignment */
html {
  scroll-padding-top: calc(var(--swt2-header) + 28px);
}

[id] {
  scroll-margin-top: calc(var(--swt2-header) + 28px);
}

.swt2-page-main {
  padding-top: calc(var(--swt2-header) + 10px);
}

.swt2-page-main > .section:first-child,
.swt2-page-main > .swt2-hero:first-child {
  padding-top: clamp(58px, 7vw, 92px);
}

.swt2-split {
  align-items: center;
}

.swt2-choice-grid,
.swt2-time-cards,
.swt2-contact-methods,
.swt2-price-grid,
.swt2-case-grid,
.swt2-result-strip {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.swt2-choice-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.swt2-time-cards,
.swt2-contact-methods {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.swt2-price-grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  max-width: 1180px;
}

.swt2-case-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.swt2-result-strip {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  max-width: 1180px;
}

.swt2-price-card,
.swt2-case-card,
.swt2-choice-card,
.swt2-contact-method,
.swt2-time-card {
  height: 100%;
}

.swt2-price-card {
  grid-template-rows: auto auto auto 1fr auto auto;
}

.swt2-price-card__list {
  align-content: start;
}

.swt2-price-card__action,
.swt2-service-card__link {
  margin-top: 16px;
}

.swt2-price-card__action {
  width: 100%;
  align-self: end;
}

.swt2-section-head {
  margin-bottom: clamp(24px, 4vw, 40px);
}

.swt2-section-head + .swt2-price-grid,
.swt2-section-head + .swt2-choice-grid,
.swt2-section-head + .swt2-contact-methods,
.swt2-section-head + .swt2-case-grid,
.swt2-section-head + .swt2-result-strip,
.swt2-section-head + .swt2-time-cards {
  max-width: 1180px;
}

@media (max-width: 1100px) {
  .swt2-page-main > .section:first-child,
  .swt2-page-main > .swt2-hero:first-child {
    padding-top: clamp(52px, 6vw, 76px);
  }

  .swt2-price-grid {
    max-width: 100%;
  }
}

@media (max-width: 860px) {
  html {
    scroll-padding-top: calc(var(--swt2-header) + 20px);
  }

  [id] {
    scroll-margin-top: calc(var(--swt2-header) + 20px);
  }

  .swt2-page-main {
    padding-top: calc(var(--swt2-header) + 6px);
  }

  .swt2-page-main > .section:first-child,
  .swt2-page-main > .swt2-hero:first-child {
    padding-top: 40px;
  }

  .swt2-choice-grid,
  .swt2-time-cards,
  .swt2-contact-methods,
  .swt2-price-grid,
  .swt2-case-grid,
  .swt2-result-strip {
    max-width: none;
  }
}


/* v2.0 global layout stabilization
   Applies across the whole site, not one page:
   - prevents fixed header from covering anchor targets
   - centers card grids
   - removes cramped desktop layouts
   - keeps mobile sections readable
*/
html {
  scroll-padding-top: calc(var(--swt2-header) + 32px);
}

[id] {
  scroll-margin-top: calc(var(--swt2-header) + 32px);
}

.swt2-page-main {
  padding-top: calc(var(--swt2-header) + 10px);
}

.swt2-page-main > .section:first-child,
.swt2-page-main > .swt2-hero:first-child {
  padding-top: clamp(58px, 7vw, 92px);
}

.swt2-section-head {
  margin-bottom: clamp(28px, 4vw, 44px);
}

.swt2-section-title,
.swt2-section-text,
.swt2-hero__title,
.swt2-hero__text {
  text-wrap: balance;
}

.swt2-split {
  align-items: center;
}

.swt2-section-head + .swt2-grid,
.swt2-section-head + .swt2-choice-grid,
.swt2-section-head + .swt2-price-grid,
.swt2-section-head + .swt2-case-grid,
.swt2-section-head + .swt2-work-grid,
.swt2-section-head + .swt2-problem-grid,
.swt2-section-head + .swt2-benefit-grid,
.swt2-section-head + .swt2-contact-methods,
.swt2-section-head + .swt2-time-cards,
.swt2-section-head + .swt2-result-strip {
  margin-left: auto;
  margin-right: auto;
}

.swt2-grid,
.swt2-choice-grid,
.swt2-price-grid,
.swt2-case-grid,
.swt2-work-grid,
.swt2-problem-grid,
.swt2-benefit-grid,
.swt2-contact-methods,
.swt2-time-cards,
.swt2-result-strip {
  width: 100%;
}

.swt2-grid--two {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
}

.swt2-grid--three {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

.swt2-grid--four,
.swt2-choice-grid,
.swt2-contact-methods,
.swt2-time-cards {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
}

.swt2-grid--five,
.swt2-price-grid,
.swt2-case-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr));
}

.swt2-price-grid {
  max-width: 1180px;
  justify-content: center;
}

.swt2-case-grid,
.swt2-work-grid {
  max-width: 1180px;
}

.swt2-result-strip {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  max-width: 1180px;
}

.swt2-choice-card,
.swt2-price-card,
.swt2-case-card,
.swt2-service-card,
.swt2-problem-card,
.swt2-benefit-card,
.swt2-contact-method,
.swt2-time-card {
  height: 100%;
}

.swt2-price-card {
  grid-template-rows: auto auto auto 1fr auto auto;
  align-content: stretch;
}

.swt2-price-card__list {
  align-content: start;
}

.swt2-service-card__link,
.swt2-price-card__action {
  margin-top: 16px;
}

.swt2-price-card__action {
  width: 100%;
  align-self: end;
}

.swt2-service-row,
.swt2-process-row,
.swt2-featured-case,
.swt2-contact-layout,
.swt2-faq-page-layout {
  margin-left: auto;
  margin-right: auto;
}

/* Screenshots/evidence blocks: consistent spacing and centered media across all case pages. */
.case-evidence-block,
.case-performance-proof,
.case-snapshot,
.case-section {
  overflow: clip;
}

.case-evidence-media,
.case-snapshot-grid,
.case-proof-points,
.case-snapshot-card {
  margin-left: auto;
  margin-right: auto;
}

.case-evidence-figure img {
  max-width: 100%;
}

/* Avoid sections visually touching the fixed nav after direct links or refresh with hash. */
section[id] {
  scroll-margin-top: calc(var(--swt2-header) + 36px);
}

@media (max-width: 1100px) {
  .swt2-page-main > .section:first-child,
  .swt2-page-main > .swt2-hero:first-child {
    padding-top: clamp(50px, 6vw, 76px);
  }

  .swt2-price-grid,
  .swt2-case-grid,
  .swt2-work-grid,
  .swt2-result-strip {
    max-width: 100%;
  }
}

@media (max-width: 860px) {
  html {
    scroll-padding-top: calc(var(--swt2-header) + 20px);
  }

  [id],
  section[id] {
    scroll-margin-top: calc(var(--swt2-header) + 20px);
  }

  .swt2-page-main {
    padding-top: calc(var(--swt2-header) + 6px);
  }

  .swt2-page-main > .section:first-child,
  .swt2-page-main > .swt2-hero:first-child {
    padding-top: 40px;
  }

  .swt2-hero__content,
  .swt2-hero__title,
  .swt2-hero__text,
  .swt2-hero__badge {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .swt2-hero__actions,
  .swt2-hero__content .swt2-hero__actions {
    justify-content: center;
  }

  .swt2-problem-grid,
  .swt2-grid--three,
  .swt2-grid--four,
  .swt2-grid--five,
  .swt2-benefit-grid,
  .swt2-price-grid,
  .swt2-case-grid {
    justify-content: flex-start;
    scroll-padding-left: 12px;
  }
}

@media (max-width: 560px) {
  .swt2-page-main > .section:first-child,
  .swt2-page-main > .swt2-hero:first-child {
    padding-top: 34px;
  }

  .swt2-section-head {
    margin-bottom: 24px;
  }
}


/* Form fixes: compact checkbox + phone inputs */
.swt2-modal .swt2-modal__checkbox,
.swt2-form .swt2-form__checkbox {
  display:flex;
  align-items:flex-start;
  gap:10px;
  width:100%;
  cursor:pointer;
}

.swt2-modal .swt2-modal__checkbox input[type="checkbox"],
.swt2-form .swt2-form__checkbox input[type="checkbox"] {
  appearance:none;
  -webkit-appearance:none;
  width:20px;
  min-width:20px;
  max-width:20px;
  height:20px;
  min-height:20px;
  flex:0 0 20px;
  margin:2px 0 0;
  padding:0;
  border:1.5px solid rgba(255,255,255,.45);
  border-radius:6px;
  background:rgba(255,255,255,.06);
  cursor:pointer;
}

.swt2-modal .swt2-modal__checkbox input[type="checkbox"]:checked,
.swt2-form .swt2-form__checkbox input[type="checkbox"]:checked {
  background:var(--swt2-lime);
  border-color:var(--swt2-lime);
  box-shadow:inset 0 0 0 4px #061420;
}

.swt2-modal .swt2-modal__checkbox span,
.swt2-form .swt2-form__checkbox span {
  flex:1 1 auto;
  min-width:0;
}

.swt2-modal input[data-phone-digits],
.swt2-form input[data-phone-digits] {
  letter-spacing:.02em;
}


/* SWT polish v2.1 — cleaner inline CTA buttons */
.swt2-choice-card__link,
.swt2-contact-method__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 11px 20px;
  border-radius: 999px;
  border: 1px solid rgba(255, 123, 31, .55);
  background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(238, 243, 245, .92));
  color: #ff6f1a;
  font-weight: 950;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255,255,255,.75);
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
  appearance: none;
  -webkit-appearance: none;
}

.swt2-service-card__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 10px 17px;
  border-radius: 999px;
  border: 1px solid rgba(151, 217, 27, .42);
  background: linear-gradient(180deg, rgba(151, 217, 27, .12), rgba(10, 32, 29, .74));
  color: var(--swt2-lime);
  font-weight: 950;
  font-size: 13px;
  line-height: 1;
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.swt2-choice-card__link:hover,
.swt2-contact-method__link:hover,
.swt2-service-card__link:hover {
  transform: translateY(-1px);
  border-color: rgba(151, 217, 27, .72);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .28), 0 0 0 3px rgba(151, 217, 27, .08);
}

.swt2-choice-card__link:focus-visible,
.swt2-contact-method__link:focus-visible,
.swt2-service-card__link:focus-visible {
  outline: 3px solid rgba(151, 217, 27, .55);
  outline-offset: 3px;
}

@media (max-width: 640px){
  .swt2-choice-card__link,
  .swt2-contact-method__link,
  .swt2-service-card__link {
    width: 100%;
    max-width: 360px;
    min-height: 46px;
    white-space: normal;
    text-align: center;
  }
}
/* =========================================================
   Contact page mobile fix
   Put this at the very end of /css/site-polish.css
   ========================================================= */

@media (max-width: 860px) {

  /* Contact: remove broken pale hero look on mobile */
  .swt2-contact-page .swt2-hero {
    padding: 36px 0 26px;
  }

  .swt2-contact-page .swt2-hero__content,
  .swt2-contact-page .swt2-hero__title,
  .swt2-contact-page .swt2-hero__text,
  .swt2-contact-page .swt2-hero__badge {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
  }

  .swt2-contact-page .swt2-hero__title {
    color: #ffffff;
    opacity: 1;
    font-size: clamp(34px, 9vw, 46px);
    line-height: 1.04;
    text-shadow: none;
  }

  .swt2-contact-page .swt2-hero__title-accent {
    color: var(--swt2-lime);
    opacity: 1;
  }

  .swt2-contact-page .swt2-hero__text {
    color: #c8d3d7;
    opacity: 1;
    font-size: 17px;
    line-height: 1.65;
    text-shadow: none;
  }

  .swt2-contact-page .swt2-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    justify-content: stretch;
  }

  .swt2-contact-page .swt2-hero__actions .button {
    width: 100%;
  }

  /* Contact hero metrics are the main mobile clutter */
  .swt2-contact-page .swt2-hero__metrics {
    display: none;
  }

  /* Make right hero box compact and readable */
  .swt2-contact-page .swt2-solution-box {
    margin-top: 18px;
    padding: 18px;
  }

  .swt2-contact-page .swt2-solution-box__benefits {
    grid-template-columns: 1fr 1fr;
  }

  .swt2-contact-page .swt2-solution-box__item {
    min-height: 72px;
  }

  .swt2-contact-page .swt2-solution-box__name {
    font-size: 16px;
    line-height: 1.25;
  }

  .swt2-contact-page .swt2-solution-box__desc {
    font-size: 13px;
    line-height: 1.4;
  }

  /* Form block */
  .swt2-contact-page .swt2-contact-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .swt2-contact-page .swt2-contact-form-card {
    padding: 20px;
  }

  .swt2-contact-page .swt2-form__grid {
    grid-template-columns: 1fr;
  }

  .swt2-contact-page .swt2-form__field--full {
    grid-column: auto;
  }

  .swt2-contact-page .swt2-form input,
  .swt2-contact-page .swt2-form select,
  .swt2-contact-page .swt2-form textarea {
    min-height: 52px;
  }

  .swt2-contact-page .swt2-form textarea {
    min-height: 130px;
  }

  .swt2-contact-page .swt2-form__checkbox {
    align-items: flex-start;
    text-align: left;
  }

  /* Hide the heavy second column on mobile */
  .swt2-contact-page .swt2-contact-steps {
    display: none;
  }

  /* Contact cards should not become ugly horizontal strips */
  .swt2-contact-page .swt2-contact-methods,
  .swt2-contact-page .swt2-benefit-strip {
    grid-template-columns: 1fr;
  }

  .swt2-contact-page .swt2-contact-method,
  .swt2-contact-page .swt2-benefit-strip__item {
    text-align: left;
  }
}

@media (max-width: 560px) {

  .swt2-contact-page .swt2-hero__breadcrumbs {
    margin-bottom: 18px;
  }

  .swt2-contact-page .swt2-hero__title {
    font-size: 34px;
  }

  .swt2-contact-page .swt2-solution-box__benefits {
    grid-template-columns: 1fr;
  }

  .swt2-contact-page .swt2-contact-form-card {
    padding: 18px;
  }
}
/* TZ sales structure update */
.swt2-header__nav-item--dropdown{position:relative}.swt2-header__dropdown{position:absolute;top:100%;left:0;min-width:240px;padding:10px;background:rgba(7,16,20,.98);border:1px solid rgba(141,255,35,.18);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease;z-index:20}.swt2-header__nav-item--dropdown:hover .swt2-header__dropdown,.swt2-header__nav-item--dropdown:focus-within .swt2-header__dropdown{opacity:1;visibility:visible;transform:translateY(0)}.swt2-header__dropdown a{display:block;padding:10px 12px;border-radius:10px;color:var(--text);font-weight:700;text-decoration:none}.swt2-header__dropdown a:hover{background:rgba(141,255,35,.09);color:var(--white)}
.swt2-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;color:var(--swt2-green,#8dff23);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:12px}.swt2-trustbar{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:22px;color:rgba(232,239,242,.72);font-size:13px;font-weight:700}.swt2-trustbar span:not(:last-child)::after{content:'·';margin-left:14px;color:var(--swt2-green,#8dff23)}.swt2-check-list{display:grid;gap:10px;margin:18px 0 0;padding:0;list-style:none}.swt2-check-list li{position:relative;padding-left:26px;color:rgba(232,239,242,.78);line-height:1.6}.swt2-check-list li::before{content:'✓';position:absolute;left:0;color:var(--swt2-green,#8dff23);font-weight:900}.swt2-note{margin-top:18px;color:rgba(232,239,242,.68);font-size:14px;line-height:1.6}.swt2-package-card__footer{margin-top:18px}.swt2-card .button{margin-top:16px}.swt2-price-card__fit{color:rgba(232,239,242,.72);line-height:1.55;margin-top:8px}.swt2-problem-card__mark{display:inline-flex;margin-bottom:12px;color:var(--swt2-green,#8dff23);font-weight:900}.swt2-final-cta{border:1px solid rgba(141,255,35,.35);border-radius:28px;padding:42px;background:linear-gradient(135deg,rgba(141,255,35,.12),rgba(255,122,24,.08));box-shadow:0 28px 80px rgba(0,0,0,.25)}@media(max-width:900px){.swt2-header__nav-item--dropdown .swt2-header__dropdown{display:none}.swt2-final-cta{padding:28px}}

/* === StartWebTop navigation rebuild v3.010 === */
.swt2-header{
  background:linear-gradient(180deg,rgba(2,10,16,.94),rgba(2,10,16,.78));
  border-bottom:1px solid rgba(151,255,35,.14);
  box-shadow:0 12px 38px rgba(0,0,0,.24);
}
.swt2-header__nav-list{gap:8px;align-items:center}
.swt2-header__nav-link{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 13px;border-radius:999px;
  color:rgba(232,239,242,.84);font-weight:850;letter-spacing:.01em;
  transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.swt2-header__nav-link::after{display:none}
.swt2-header__nav-link:hover,.swt2-header__nav-link--active{
  color:#fff;background:rgba(151,255,35,.08);box-shadow:inset 0 0 0 1px rgba(151,255,35,.18);
}
.swt2-header__nav-link--button{background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}
.swt2-header__nav-item--dropdown{position:relative;padding:14px 0}
.swt2-header__dropdown{
  position:absolute;top:calc(100% - 4px);left:0;min-width:265px;padding:10px;
  background:rgba(4,15,22,.98);border:1px solid rgba(151,255,35,.2);border-radius:18px;
  box-shadow:0 24px 70px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.04) inset;
  opacity:0;visibility:hidden;transform:translateY(10px);transition:.18s ease;z-index:220;
}
.swt2-header__nav-item--dropdown:hover .swt2-header__dropdown,.swt2-header__nav-item--dropdown:focus-within .swt2-header__dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.swt2-header__dropdown a{
  display:flex;align-items:center;min-height:42px;padding:10px 12px;border-radius:12px;
  color:rgba(232,239,242,.86);font-weight:800;text-decoration:none;
}
.swt2-header__dropdown a:hover{background:linear-gradient(90deg,rgba(151,255,35,.14),rgba(255,122,24,.08));color:#fff}
.swt2-header__actions .button{box-shadow:0 10px 28px rgba(255,122,24,.18)}
.swt2-header__menu-button{border-color:rgba(151,255,35,.28);background:rgba(151,255,35,.07);box-shadow:0 0 22px rgba(151,255,35,.08)}
.swt2-mobile-nav__panel{background:radial-gradient(circle at 72% 14%,rgba(151,255,35,.20),transparent 28%),radial-gradient(circle at 96% 58%,rgba(255,122,24,.12),transparent 34%),#06111d}
.swt2-mobile-nav__top{margin-bottom:28px}
.swt2-mobile-nav__list{gap:8px}
.swt2-mobile-nav__link{
  width:100%;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);
  min-height:62px;border-radius:16px;padding:0 16px;font-size:22px;text-align:left;
  box-shadow:0 12px 30px rgba(0,0,0,.14);
}
.swt2-mobile-nav__link:hover,.swt2-mobile-nav__toggle[aria-expanded="true"]{background:rgba(151,255,35,.08);border-color:rgba(151,255,35,.30)}
.swt2-mobile-nav__toggle{font-family:inherit;cursor:pointer}
.swt2-mobile-nav__toggle[aria-expanded="true"] .swt2-mobile-nav__arrow{transform:rotate(180deg)}
.swt2-mobile-nav__arrow{transition:transform .18s ease;color:rgba(255,255,255,.9)}
.swt2-mobile-nav__submenu{display:none;list-style:none;margin:8px 0 4px 62px;padding:8px;border-left:1px solid rgba(151,255,35,.28)}
.swt2-mobile-nav__submenu--open{display:grid;gap:6px}
.swt2-mobile-nav__submenu a{display:block;padding:12px 14px;border-radius:12px;color:rgba(232,239,242,.86);font-size:16px;font-weight:800;text-decoration:none;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}
.swt2-mobile-nav__submenu a:hover{color:#fff;background:rgba(151,255,35,.09);border-color:rgba(151,255,35,.22)}
.swt2-mobile-nav__icon{border-color:rgba(151,255,35,.82);background:rgba(151,255,35,.07)}
.swt2-mobile-nav__cta .button{border-radius:18px;box-shadow:0 18px 44px rgba(255,122,24,.22)}
@media(max-width:1180px){.swt2-header__nav-link{padding-inline:10px}.swt2-header__nav-list{gap:4px}.swt2-header__actions .button{padding-inline:14px}}
@media(max-width:980px){.swt2-header__nav,.swt2-header__actions .button{display:none}.swt2-header__menu-button{display:flex}}
@media(max-width:560px){.swt2-mobile-nav__panel{padding:24px 18px}.swt2-mobile-nav__link{font-size:19px;grid-template-columns:42px 1fr 18px}.swt2-mobile-nav__submenu{margin-left:50px}.swt2-mobile-nav__cta .button{height:62px;font-size:18px}}


/* === StartWebTop mobile submenu clarity v3.011 === */
.swt2-mobile-nav__top{margin-bottom:34px}
.swt2-mobile-nav__submenu{
  position:relative;
  display:none;
  list-style:none;
  margin:12px 0 12px 30px;
  padding:0 0 0 18px;
  border-left:2px solid rgba(151,255,35,.55);
}
.swt2-mobile-nav__submenu--open{display:grid;gap:10px}
.swt2-mobile-nav__submenu a{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:58px;
  padding:14px 48px 14px 18px;
  border-radius:18px;
  color:#f4f8fb;
  font-size:17px;
  font-weight:900;
  letter-spacing:-.02em;
  text-decoration:none;
  background:linear-gradient(135deg,rgba(18,35,47,.98),rgba(12,24,34,.98));
  border:1px solid rgba(151,255,35,.24);
  box-shadow:0 12px 30px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06);
}
.swt2-mobile-nav__submenu a::before{
  content:'';
  position:absolute;
  left:-26px;
  top:50%;
  width:13px;
  height:13px;
  transform:translateY(-50%);
  border-radius:999px;
  background:#97ff23;
  box-shadow:0 0 18px rgba(151,255,35,.75);
}
.swt2-mobile-nav__submenu a::after{
  content:'›';
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#071018;
  background:#97ff23;
  font-size:22px;
  line-height:1;
  box-shadow:0 0 20px rgba(151,255,35,.28);
}
.swt2-mobile-nav__submenu a:active,
.swt2-mobile-nav__submenu a:hover{
  color:#fff;
  border-color:rgba(151,255,35,.55);
  background:linear-gradient(135deg,rgba(31,54,39,.98),rgba(18,34,45,.98));
}
@media(max-width:560px){
  .swt2-mobile-nav__top{margin-bottom:32px}
  .swt2-mobile-nav__submenu{margin-left:31px;padding-left:18px}
  .swt2-mobile-nav__submenu a{font-size:17px;min-height:58px;padding:14px 48px 14px 18px}
}


/* Home section layout fix: prevent desktop card sections from collapsing into cramped left-side clusters. */
.swt2-home-page .swt2-problem-grid,
.swt2-home-page .swt2-grid--four,
.swt2-home-page .swt2-price-grid {
  display: grid;
  width: 100%;
  max-width: none;
  gap: clamp(18px, 2vw, 28px);
  align-items: stretch;
}

.swt2-home-page .swt2-problem-grid,
.swt2-home-page .swt2-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.swt2-home-page .swt2-price-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.swt2-home-page .swt2-problem-card,
.swt2-home-page .swt2-service-card,
.swt2-home-page .swt2-price-card {
  min-width: 0;
  height: 100%;
  padding: clamp(24px, 2.4vw, 34px);
}

.swt2-home-page .swt2-price-card__title {
  min-height: 0;
}

.swt2-home-page .swt2-price-card__price {
  font-size: clamp(28px, 3.2vw, 42px);
}

@media (max-width: 1100px) {
  .swt2-home-page .swt2-problem-grid,
  .swt2-home-page .swt2-grid--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .swt2-home-page .swt2-price-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .swt2-home-page .swt2-problem-grid,
  .swt2-home-page .swt2-grid--four,
  .swt2-home-page .swt2-price-grid {
    grid-template-columns: 1fr;
  }
}

/* === StartWebTop design consolidation v3.020 ===
   Final dark-core layout polish: no light fallback, cleaner desktop nav,
   wider sections, safer card grids on small laptops, stronger page endings. */
:root{
  --swt2-max:1180px;
  --swt2-section-y:clamp(72px,8vw,120px);
}
html,body{background:#020b0f;color:var(--text,#e8eff2)}
.swt2-page-main{overflow:hidden;background:
  radial-gradient(circle at 15% 10%,rgba(151,255,35,.055),transparent 26%),
  radial-gradient(circle at 88% 42%,rgba(255,122,24,.04),transparent 30%),
  #020b0f}
.container{width:min(calc(100% - 48px),var(--swt2-max));margin-inline:auto}
.section{padding-block:var(--swt2-section-y)}
.section + .section{border-top:1px solid rgba(255,255,255,.045)}
.swt2-section-head{max-width:880px;margin-inline:auto;margin-bottom:clamp(30px,4vw,54px);text-align:center}
.swt2-section-title{letter-spacing:-.055em;line-height:.98;text-wrap:balance}
.swt2-section-text{max-width:760px;margin-inline:auto;text-wrap:pretty}

/* desktop menu */
.swt2-header__nav-list{list-style:none;margin:0;padding:0;gap:10px}
.swt2-header__nav-list>li{list-style:none;margin:0;padding:0}
.swt2-header__nav-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid transparent;border-radius:999px;line-height:1;text-decoration:none;white-space:nowrap}
.swt2-header__nav-link--button{padding-right:12px;background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.08)}
.swt2-header__nav-link:hover,.swt2-header__nav-link--active{background:rgba(151,255,35,.075);border-color:rgba(151,255,35,.24);color:#fff}
.swt2-header__chevron{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;background:rgba(151,255,35,.10);color:var(--swt2-green,#97ff23);font-size:13px;line-height:1;transition:transform .18s ease,background .18s ease}
.swt2-header__nav-item--dropdown:hover .swt2-header__chevron,.swt2-header__nav-item--dropdown:focus-within .swt2-header__chevron{transform:rotate(180deg);background:rgba(151,255,35,.20)}
.swt2-header__dropdown{top:calc(100% - 4px);min-width:270px;padding:12px;border-radius:18px;background:linear-gradient(180deg,rgba(10,24,32,.98),rgba(5,14,20,.98));border:1px solid rgba(151,255,35,.22);box-shadow:0 26px 70px rgba(0,0,0,.46),0 0 28px rgba(151,255,35,.08)}
.swt2-header__dropdown a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;padding:12px 14px;border:1px solid rgba(255,255,255,.065);background:rgba(255,255,255,.025);margin:6px 0;border-radius:12px;color:rgba(232,239,242,.88)}
.swt2-header__dropdown a::after{content:'→';color:var(--swt2-green,#97ff23);font-weight:900}
.swt2-header__dropdown a:hover{background:linear-gradient(90deg,rgba(151,255,35,.13),rgba(255,122,24,.08));border-color:rgba(151,255,35,.24);transform:translateX(2px)}

/* mobile menu cleanup */
.swt2-mobile-nav__panel{background:
  radial-gradient(circle at 72% 12%,rgba(151,255,35,.22),transparent 29%),
  radial-gradient(circle at 94% 58%,rgba(255,122,24,.14),transparent 34%),
  linear-gradient(180deg,#06111d,#020b0f)}
.swt2-mobile-nav__menu{margin-top:22px}
.swt2-mobile-nav__list{list-style:none;margin:0;padding:0}
.swt2-mobile-nav__submenu{background:rgba(0,0,0,.16);border-left:2px solid rgba(151,255,35,.42);border-radius:0 18px 18px 0}
.swt2-mobile-nav__submenu a{position:relative;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 10px 28px rgba(0,0,0,.16)}

/* cards and grids: avoid cramped 4-column layout on laptop widths */
.swt2-problem-grid,.swt2-price-grid,.swt2-work-grid,.swt2-contact-methods,.swt2-grid--three,.swt2-grid--four{align-items:stretch}
.swt2-problem-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.swt2-price-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,28px)}
.swt2-work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,28px)}
.swt2-card,.swt2-problem-card,.swt2-price-card,.swt2-service-card,.swt2-contact-method{min-width:0}
.swt2-problem-card,.swt2-price-card,.swt2-service-card{height:100%;padding:clamp(24px,2.6vw,34px)}
.swt2-price-card__price{color:var(--swt2-green,#97ff23);text-shadow:0 0 24px rgba(151,255,35,.18)}
.swt2-price-card__badge{background:linear-gradient(135deg,var(--swt2-green,#97ff23),#b6ff5c);color:#06110b;border:0}

/* give thin pages a proper ending */
.swt2-final-cta-section{padding-top:clamp(54px,7vw,94px);padding-bottom:clamp(78px,9vw,128px);border-top:1px solid rgba(151,255,35,.12)}
.swt2-final-cta{position:relative;overflow:hidden}
.swt2-final-cta::before{content:'';position:absolute;inset:-1px;background:radial-gradient(circle at 18% 8%,rgba(151,255,35,.16),transparent 35%),radial-gradient(circle at 90% 85%,rgba(255,122,24,.12),transparent 38%);pointer-events:none}
.swt2-final-cta__inner{position:relative;z-index:1}

/* sitemap readability */
[data-page="sitemap"] .swt2-contact-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
[data-page="sitemap"] .swt2-contact-method{padding:22px}
[data-page="sitemap"] .swt2-contact-method__title{font-size:18px;line-height:1.22}

@media (max-width:1180px){
  .container{width:min(calc(100% - 40px),1040px)}
  .swt2-problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .swt2-price-grid,.swt2-work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .swt2-problem-card,.swt2-price-card,.swt2-service-card{padding:26px}
}
@media (max-width:980px){
  .container{width:min(calc(100% - 32px),720px)}
  .swt2-price-grid,.swt2-work-grid,[data-page="sitemap"] .swt2-contact-methods{grid-template-columns:1fr}
  .swt2-problem-grid{grid-template-columns:1fr}
  .section{padding-block:clamp(58px,10vw,86px)}
}
@media (max-width:560px){
  .container{width:min(calc(100% - 28px),480px)}
  .swt2-section-head{text-align:left;margin-inline:0}
  .swt2-section-title{font-size:clamp(34px,11vw,52px)}
  .swt2-mobile-nav__panel{padding:24px 18px 30px}
}


/* ===== Lead generation resource page ===== */
.swt2-sales-resource .swt2-hero__title {
  max-width: 860px;
}

.swt2-lead-hero {
  padding-bottom: 52px;
}

.swt2-lead-hero__split {
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
  align-items: stretch;
}

.swt2-lead-hero__content {
  align-self: center;
}

.swt2-lead-diagnosis {
  padding: 26px;
  align-self: stretch;
  display: grid;
  align-content: center;
  gap: 20px;
}

.swt2-lead-diagnosis__eyebrow {
  color: var(--swt2-lime);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.swt2-lead-diagnosis__title {
  font-size: 26px;
  line-height: 1.08;
  letter-spacing: -.04em;
}

.swt2-lead-diagnosis__rows {
  display: grid;
  gap: 10px;
}

.swt2-lead-diagnosis__rows div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 15px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
}

.swt2-lead-diagnosis__rows strong {
  color: #fff;
  font-weight: 950;
}

.swt2-lead-diagnosis__rows span {
  color: var(--swt2-muted);
  text-align: right;
}

.swt2-lead-section {
  padding: 56px 0;
}

.swt2-lead-section--compact {
  padding: 42px 0;
}

.swt2-lead-two-col {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .78fr);
  gap: 34px;
  align-items: center;
}

.swt2-lead-two-col--reverse {
  grid-template-columns: minmax(340px, .82fr) minmax(0, 1fr);
}

.swt2-lead-scorecard,
.swt2-lead-review-card,
.swt2-lead-need,
.swt2-lead-banner,
.swt2-lead-feature,
.swt2-lead-case {
  padding: 24px;
}

.swt2-lead-scorecard h3,
.swt2-lead-review-card h3,
.swt2-lead-feature h3,
.swt2-lead-case h3,
.swt2-lead-need h2,
.swt2-lead-banner h2 {
  font-size: 24px;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.swt2-lead-scorecard ul {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.swt2-lead-scorecard li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 13px;
  background: rgba(255,255,255,.045);
  color: #f4f8f9;
  font-weight: 800;
}

.swt2-lead-scorecard li span {
  color: var(--swt2-lime);
  font-weight: 950;
}

.swt2-lead-scorecard li span.bad {
  color: var(--swt2-orange);
}

.swt2-lead-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.swt2-lead-feature {
  min-height: 230px;
  display: grid;
  align-content: start;
  gap: 12px;
}

.swt2-lead-feature > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  border: 1px solid rgba(151,217,27,.35);
  background: rgba(151,217,27,.08);
  color: var(--swt2-lime);
  font-weight: 950;
}

.swt2-lead-feature p,
.swt2-lead-case p,
.swt2-lead-need p,
.swt2-lead-banner p {
  color: var(--swt2-muted);
  line-height: 1.65;
}

.swt2-lead-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
}

.swt2-lead-banner .swt2-section-kicker {
  margin-bottom: 12px;
}

.swt2-lead-case-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.swt2-lead-case {
  display: grid;
  grid-template-columns: .92fr 1fr;
  gap: 22px;
  align-items: center;
}

.swt2-lead-case figure {
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.04);
}

.swt2-lead-case img {
  display: block;
  width: 100%;
  height: 240px;
  object-fit: cover;
}

.swt2-lead-case .button {
  margin-top: 18px;
}

.swt2-lead-review-card .swt2-checklist {
  margin-top: 16px;
}

.swt2-lead-need {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1fr);
  gap: 28px;
  align-items: center;
}

.swt2-lead-need__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.swt2-lead-need__grid span {
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 13px;
  background: rgba(255,255,255,.04);
  color: #f5f8f9;
  font-weight: 800;
}

@media (max-width: 1100px) {
  .swt2-lead-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .swt2-lead-case {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .swt2-lead-hero__split,
  .swt2-lead-two-col,
  .swt2-lead-two-col--reverse,
  .swt2-lead-banner,
  .swt2-lead-need {
    grid-template-columns: 1fr;
  }

  .swt2-lead-hero__split {
    gap: 24px;
  }

  .swt2-lead-diagnosis__rows div {
    flex-direction: column;
    gap: 4px;
  }

  .swt2-lead-diagnosis__rows span {
    text-align: left;
  }
}

@media (max-width: 640px) {
  .swt2-lead-card-grid,
  .swt2-lead-case-grid,
  .swt2-lead-need__grid {
    grid-template-columns: 1fr;
  }

  .swt2-lead-section {
    padding: 38px 0;
  }

  .swt2-lead-scorecard,
  .swt2-lead-review-card,
  .swt2-lead-need,
  .swt2-lead-banner,
  .swt2-lead-feature,
  .swt2-lead-case,
  .swt2-lead-diagnosis {
    padding: 18px;
  }

  .swt2-lead-case img {
    height: 200px;
  }
}

/* === StartWebTop global readability polish v3.030 ===
   Keeps the fixed dark design, but improves reading rhythm, wider hero text,
   footer weight, less card fatigue, and stronger section composition. */
:root{
  --swt2-reading-max: 780px;
  --swt2-wide-max: 1220px;
}

/* Wider, calmer hero copy on content and service pages */
.swt2-hero__content{
  max-width: min(920px, 100%);
}
.swt2-hero__title{
  max-width: 980px;
  text-wrap: balance;
}
.swt2-hero__text{
  max-width: 760px;
  text-wrap: pretty;
}
.swt2-split .swt2-hero__content{
  max-width: none;
}
@media (min-width: 980px){
  .swt2-split{
    grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
    gap: clamp(34px, 5vw, 72px);
    align-items: center;
  }
}

/* Better reading rhythm: not every block should feel like a small card */
.swt2-content-band,
.swt2-wide-band{
  position: relative;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 30px;
  padding: clamp(28px, 5vw, 64px);
  background:
    radial-gradient(circle at 8% 8%, rgba(151,255,35,.075), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  box-shadow: 0 26px 80px rgba(0,0,0,.24);
}
.swt2-wide-band{
  max-width: var(--swt2-wide-max);
  margin-inline: auto;
}
.swt2-readable{
  max-width: var(--swt2-reading-max);
  font-size: clamp(17px, 1.45vw, 19px);
  line-height: 1.75;
  color: rgba(232,239,242,.78);
}
.swt2-readable p + p{
  margin-top: 18px;
}

/* Card fatigue reduction: stronger hierarchy and more separation */
.swt2-card,
.swt2-problem-card,
.swt2-service-card,
.swt2-price-card,
.swt2-contact-method{
  border-color: rgba(255,255,255,.09);
}
.swt2-card:hover,
.swt2-problem-card:hover,
.swt2-service-card:hover,
.swt2-price-card:hover,
.swt2-contact-method:hover{
  border-color: rgba(151,255,35,.22);
}
.swt2-grid--three,
.swt2-grid--four,
.swt2-contact-methods,
.swt2-price-grid,
.swt2-work-grid,
.swt2-problem-grid{
  gap: clamp(18px, 2.5vw, 34px);
}
@media (min-width: 981px) and (max-width: 1280px){
  .swt2-grid--four{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Stronger page ending and CTA readability */
.swt2-final-cta{
  border-radius: 34px;
  padding: clamp(30px, 5vw, 58px);
}
.swt2-final-cta__title{
  max-width: 780px;
  text-wrap: balance;
}
.swt2-final-cta__text{
  max-width: 760px;
}

/* Footer should feel like a designed closing section, not a link dump */
.swt2-footer{
  position: relative;
  overflow: hidden;
  padding-top: clamp(64px, 8vw, 110px);
  background:
    radial-gradient(circle at 12% 10%, rgba(151,255,35,.10), transparent 32%),
    radial-gradient(circle at 92% 76%, rgba(255,122,24,.09), transparent 34%),
    linear-gradient(180deg, #020b0f 0%, #03080c 100%);
  border-top: 1px solid rgba(151,255,35,.14);
}
.swt2-footer::before{
  content:'';
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(151,255,35,.45), rgba(255,122,24,.28), transparent);
}
.swt2-footer__inner{
  align-items: start;
  gap: clamp(28px, 4vw, 54px);
}
.swt2-footer__brand{
  max-width: 420px;
}
.swt2-footer__text{
  font-size: 15.5px;
  line-height: 1.75;
  color: rgba(232,239,242,.74);
}
.swt2-footer__column{
  padding: 18px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 20px;
  background: rgba(255,255,255,.018);
}
.swt2-footer__title{
  color: #fff;
  margin-bottom: 14px;
}
.swt2-footer__link,
.swt2-footer__contact-item{
  min-height: 30px;
}
.swt2-footer__link:hover,
.swt2-footer__contact-item:hover{
  color: var(--swt2-green,#97ff23);
}
.swt2-footer__bottom{
  margin-top: clamp(32px, 5vw, 64px);
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.08);
}

/* Lead-generation resource page: final composition tuning */
[data-page="resources"] .swt2-lead-section{
  padding-block: clamp(64px, 8vw, 112px);
}
[data-page="resources"] .swt2-lead-section + .swt2-lead-section{
  border-top: 1px solid rgba(255,255,255,.045);
}
[data-page="resources"] .swt2-lead-block,
[data-page="resources"] .swt2-lead-panel{
  border-radius: 30px;
}
[data-page="resources"] .swt2-lead-grid{
  gap: clamp(18px, 2.4vw, 34px);
}
[data-page="resources"] .swt2-lead-case-card img{
  border-radius: 20px;
}
@media (max-width: 760px){
  .swt2-content-band,
  .swt2-wide-band{
    padding: 24px;
    border-radius: 24px;
  }
  .swt2-footer__column{
    padding: 16px;
  }
}
