.swd-hero { position: relative; min-height: 620px; height: 74vh; max-height: 780px; overflow: hidden; color: #fff; background: #191b21; }
.swd-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 800ms ease; }
.swd-slide[data-active="true"] { opacity: 1; }
.swd-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
}
.swd-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.1);
}
.swd-hero__content { position: relative; z-index: 2; height: 100%; display: flex; align-items: center; justify-content: center; }
.swd-hero__panel {
  width: min(920px, 100%);
  padding: 34px 42px;
  border-radius: var(--swd-radius-md);
  background: rgba(0, 0, 0, 0.45);
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.28);
  text-align: center;
}
.swd-hero h1 { max-width: 850px; margin-inline: auto; font-size: clamp(2rem, 4vw, 3.35rem); font-weight: 400; }
.swd-hero__panel > p { max-width: 790px; margin-inline: auto; }
.swd-hero__motto { color: #c9d0ff; font-weight: 700; }
.swd-hero .swd-button-row { justify-content: center; }
.swd-slideshow-dots { position: absolute; z-index: 3; left: 50%; bottom: 20px; display: flex; gap: 9px; transform: translateX(-50%); }
.swd-slideshow-dots button { width: 13px; height: 13px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: transparent; cursor: pointer; }
.swd-slideshow-dots button[aria-current="true"] { background: #fff; }
.swd-eyebrow { margin-bottom: 0.6rem; color: var(--swd-colour-blue); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.swd-growth { background: #fff; }
.swd-growth__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--swd-space-6); }
.swd-growth__inner > div { max-width: 830px; }
.swd-growth h2 { font-size: clamp(1.85rem, 3.7vw, 3rem); }
.swd-path-card { border-top: 5px solid var(--swd-colour-blue); }
.swd-card-icon { display: block; margin-bottom: 1rem; font-size: 2rem; line-height: 1; }
.swd-solutions { color: #fff; background: #11131a; }
.swd-solutions .swd-section-heading p { color: #c2c7d4; }
.swd-solutions .swd-eyebrow { color: #aeb9ff; }
.swd-solutions .swd-card { border-color: #303442; background: #1c1f29; box-shadow: none; }
.swd-solutions .swd-card p { color: #c8ccd5; }
.swd-solutions .swd-card a { color: #b9c3ff; }
.swd-system-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--swd-space-3); margin-top: var(--swd-space-5); }
.swd-system-list .swd-card { padding: var(--swd-space-4); }
.swd-solutions__cta { display: flex; align-items: center; justify-content: space-between; gap: var(--swd-space-4); margin-top: var(--swd-space-5); padding: var(--swd-space-4); border: 1px solid #34394b; border-radius: var(--swd-radius-md); background: #252938; }
.swd-solutions__cta h3, .swd-solutions__cta p { margin-bottom: 0.25rem; }
.swd-circle { background: #fff; }
.swd-circle__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, 0.9fr); align-items: center; gap: var(--swd-space-6); }
.swd-circle h2 { font-size: clamp(1.9rem, 3.6vw, 3rem); }
.swd-check-list { display: grid; gap: 1rem; margin: 1.5rem 0 2rem; padding: 0; list-style: none; }
.swd-check-list li { position: relative; padding-left: 36px; }
.swd-check-list li::before { content: "✓"; position: absolute; top: 0; left: 0; display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; color: #fff; background: var(--swd-colour-blue); font-weight: 700; }
.swd-check-list strong, .swd-check-list span { display: block; }
.swd-check-list span { color: var(--swd-colour-muted); font-size: 0.9rem; }
.swd-btn--dark-outline { color: var(--swd-colour-ink); }
.swd-circle-preview { padding: var(--swd-space-4); border: 1px solid var(--swd-colour-border); border-radius: var(--swd-radius-lg); background: var(--swd-colour-surface-alt); box-shadow: var(--swd-shadow-md); }
.swd-circle-preview__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 1rem; }
.swd-circle-preview__head span, .swd-business-profile b { padding: 5px 8px; border-radius: 999px; color: var(--swd-colour-blue-dark); background: var(--swd-colour-blue-soft); font-size: 0.7rem; }
.swd-circle-preview__search { margin-bottom: 0.75rem; padding: 11px 13px; border: 1px solid var(--swd-colour-border); border-radius: var(--swd-radius-sm); color: var(--swd-colour-muted); background: #fff; font-size: 0.82rem; }
.swd-business-profile { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 12px; margin-top: 9px; padding: 12px; border: 1px solid var(--swd-colour-border); border-radius: var(--swd-radius-sm); background: #fff; }
.swd-business-profile__logo { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 8px; color: #fff; background: var(--swd-colour-blue); font-size: 0.72rem; font-weight: 700; }
.swd-business-profile__logo--grey { background: #555b66; }
.swd-business-profile__logo--brown { background: #72583b; }
.swd-business-profile strong, .swd-business-profile small { display: block; }
.swd-business-profile small { color: var(--swd-colour-muted); font-size: 0.7rem; }
.swd-work-card { overflow: hidden; border: 1px solid var(--swd-colour-border); border-radius: var(--swd-radius-md); background: #fff; box-shadow: var(--swd-shadow-sm); }
.swd-work-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.swd-work-card > div { padding: var(--swd-space-4); }
.swd-work-card p { color: var(--swd-colour-muted); }
.swd-centered-action { margin-top: var(--swd-space-5); text-align: center; }
.swd-blog-card > span { display: inline-block; margin-bottom: 1rem; padding: 5px 9px; border-radius: 999px; color: var(--swd-colour-blue-dark); background: var(--swd-colour-blue-soft); font-size: 0.72rem; font-weight: 700; }
.swd-verify { color: #fff; background: #171a26; }
.swd-verify .swd-eyebrow { color: #aeb9ff; }
.swd-verify__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 0.8fr); align-items: center; gap: var(--swd-space-6); }
.swd-verify h2 { font-size: clamp(2rem, 4vw, 3.3rem); }
.swd-verify__steps { display: grid; gap: 10px; }
.swd-verify__steps > div { display: grid; grid-template-columns: 38px 1fr; align-items: center; column-gap: 12px; padding: 14px; border: 1px solid #35394a; border-radius: var(--swd-radius-sm); background: #222634; }
.swd-verify__steps span { grid-row: 1 / 3; display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: var(--swd-colour-blue); font-weight: 700; }
.swd-verify__steps strong, .swd-verify__steps small { display: block; }
.swd-verify__steps small { color: #c1c6d3; }
.swd-final-cta { color: #fff; background: var(--swd-colour-blue); }
.swd-final-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--swd-space-5); }

@media (max-width: 820px) {
  .swd-hero { min-height: 590px; height: 68vh; }
  .swd-hero__content { align-items: center; padding-block: 36px 56px; }
  .swd-hero__panel { padding: 26px 24px; }
  .swd-growth__inner, .swd-circle__grid, .swd-verify__grid { grid-template-columns: 1fr; }
  .swd-growth__inner { gap: var(--swd-space-4); }
  .swd-growth__inner .swd-btn { justify-self: start; }
  .swd-system-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .swd-final-cta__inner { align-items: stretch; flex-direction: column; }
}

@media (max-width: 560px) {
  .swd-hero { min-height: 600px; height: 76svh; max-height: 720px; }
  .swd-slide img { object-position: 57% center; }
  .swd-hero__content { padding-block: 30px 50px; }
  .swd-hero__panel { padding: 22px 16px; background: rgba(0, 0, 0, 0.48); }
  .swd-hero h1 { font-size: clamp(1.75rem, 8vw, 2.35rem); }
  .swd-hero__panel p { font-size: 0.9rem; }
  .swd-system-list { grid-template-columns: 1fr; }
  .swd-solutions__cta { align-items: stretch; flex-direction: column; }
  .swd-solutions__cta .swd-btn { width: 100%; }
  .swd-business-profile { grid-template-columns: 40px minmax(0, 1fr); }
  .swd-business-profile b { grid-column: 2; justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
  .swd-slide { transition: none; }
}
