:root {
  --sc-upgrade-ink: #13253a;
  --sc-upgrade-navy: #173b5e;
  --sc-upgrade-orange: #df6b1c;
  --sc-upgrade-teal: #247772;
  --sc-upgrade-muted: #556575;
  --sc-upgrade-line: #d9e1e7;
  --sc-upgrade-surface: #ffffff;
  --sc-upgrade-band: #f3f6f8;
}

html {
  scroll-padding-top: 92px;
}

body {
  padding-bottom: 0;
}

.sc-shell:not(.sc-shell--tap) > .sc-shell__circuit,
.sc-shell:not(.sc-shell--tap) > .sc-shell__chip {
  display: none !important;
}

.sc-shell:not(.sc-shell--tap) h1,
.sc-shell:not(.sc-shell--tap) h2,
.sc-shell:not(.sc-shell--tap) h3,
.sc-footer h2,
.sc-footer h3 {
  letter-spacing: 0 !important;
}

.sc-shell:not(.sc-shell--tap) .sc-card,
.sc-footer,
.sc-page-top,
.sc-form,
.sc-contact__panel,
.sc-contact__form-wrap {
  border-radius: 8px !important;
}

.sc-button,
.sc-header__cta,
.sc-header__phone,
.sc-project-filter {
  border-radius: 6px !important;
}

.sc-button:focus-visible,
.sc-header a:focus-visible,
.sc-header button:focus-visible,
.sc-footer a:focus-visible,
.sc-project-filter:focus-visible,
.sc-form input:focus-visible,
.sc-form textarea:focus-visible {
  outline: 3px solid rgba(36, 119, 114, 0.32) !important;
  outline-offset: 3px !important;
}

#services,
#projects,
#reviews,
#service-area,
#contact,
#faq {
  scroll-margin-top: 92px;
}

/* Main navigation */
.home .sc-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  min-height: 76px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--sc-upgrade-line) !important;
  background: rgba(255, 255, 255, 0.97) !important;
  box-shadow: 0 8px 24px rgba(19, 37, 58, 0.06) !important;
  backdrop-filter: blur(14px) !important;
}

.home .sc-header__row {
  display: grid !important;
  grid-template-columns: minmax(210px, 1fr) auto auto !important;
  align-items: center !important;
  gap: 24px !important;
  min-height: 76px !important;
  padding: 8px 0 !important;
}

.home .sc-brand {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}

.home .sc-brand__logo {
  width: 190px !important;
  max-width: 100% !important;
  height: auto !important;
}

.home .sc-brand__meta {
  display: block !important;
  color: var(--sc-upgrade-muted) !important;
  font-size: 0.68rem !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

.home .sc-nav {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 22px !important;
  margin: 0 !important;
}

.home .sc-nav a {
  min-height: 40px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #334658 !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.home .sc-nav a:hover {
  color: var(--sc-upgrade-orange) !important;
}

.home .sc-nav a::after {
  display: none !important;
}

.home .sc-header__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin: 0 !important;
}

.home .sc-header__phone,
.home .sc-header__cta {
  display: inline-flex !important;
  min-height: 42px !important;
  padding: 0 14px !important;
  font-size: 0.78rem !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.home .sc-header__phone {
  border: 1px solid var(--sc-upgrade-line) !important;
  background: #ffffff !important;
  color: var(--sc-upgrade-navy) !important;
}

.home .sc-header__cta {
  border: 1px solid #b84d0b !important;
  background: #b84d0b !important;
  color: #ffffff !important;
}

.sc-nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--sc-upgrade-line);
  border-radius: 6px;
  background: #ffffff;
  color: var(--sc-upgrade-navy);
  cursor: pointer;
}

.sc-nav-toggle__icon {
  display: grid;
  gap: 4px;
  width: 18px;
  margin: auto;
}

.sc-nav-toggle__icon span {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transition: transform 160ms ease, opacity 160ms ease;
}

.sc-nav-toggle[aria-expanded="true"] .sc-nav-toggle__icon span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.sc-nav-toggle[aria-expanded="true"] .sc-nav-toggle__icon span:nth-child(2) {
  opacity: 0;
}

.sc-nav-toggle[aria-expanded="true"] .sc-nav-toggle__icon span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

/* Hero */
.home .sc-hero {
  padding: 38px 0 28px !important;
  background: var(--sc-upgrade-surface) !important;
}

.home .sc-hero__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(460px, 1.05fr) !important;
  gap: 40px !important;
  align-items: center !important;
}

.home .sc-hero__content,
.home .sc-hero-proof {
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.home .sc-hero__content::before,
.home .sc-hero-proof::before {
  display: none !important;
}

.home .sc-hero__content > .sc-eyebrow:first-of-type {
  display: none !important;
}

.home .sc-eyebrow--hero-alt {
  display: inline-flex !important;
  margin-bottom: 14px !important;
  color: var(--sc-upgrade-teal) !important;
}

.home .sc-hero__content h1 {
  max-width: 690px !important;
  margin: 0 0 18px !important;
  color: var(--sc-upgrade-ink) !important;
  font-size: 3.35rem !important;
  line-height: 1.02 !important;
}

.home .sc-hero__content > p {
  max-width: 650px !important;
  margin: 0 !important;
  color: var(--sc-upgrade-muted) !important;
  font-size: 1.05rem !important;
  line-height: 1.65 !important;
}

.home .sc-hero__content .sc-actions {
  margin-top: 24px !important;
}

.home .sc-hero__trustline {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 20px !important;
}

.home .sc-hero__trustline span {
  width: auto !important;
  min-height: 32px !important;
  padding: 0 10px !important;
  border: 1px solid var(--sc-upgrade-line) !important;
  border-radius: 5px !important;
  background: var(--sc-upgrade-band) !important;
  color: var(--sc-upgrade-navy) !important;
  font-size: 0.75rem !important;
  letter-spacing: 0 !important;
}

.home .sc-hero-proof {
  display: block !important;
}

.home .sc-hero-proof > .sc-eyebrow {
  color: #b84d0b !important;
}

.home .sc-hero-proof h2 {
  max-width: 620px !important;
  margin: 8px 0 8px !important;
  color: var(--sc-upgrade-ink) !important;
  font-size: 1.65rem !important;
  line-height: 1.18 !important;
}

.home .sc-hero-proof > p {
  margin: 0 !important;
  color: var(--sc-upgrade-muted) !important;
  font-size: 0.92rem !important;
  line-height: 1.55 !important;
}

.home .sc-hero-gallery {
  display: grid !important;
  grid-template-columns: 1.25fr 0.75fr 0.75fr !important;
  grid-template-rows: 134px 134px !important;
  gap: 10px !important;
  margin-top: 18px !important;
}

.home .sc-hero-gallery__tile {
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.home .sc-hero-gallery__tile--1 {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
}

.home .sc-hero-gallery__tile--2,
.home .sc-hero-gallery__tile--3 {
  grid-row: 1 !important;
}

.home .sc-hero-gallery__tile--4 {
  grid-column: 2 / 4 !important;
  grid-row: 2 !important;
}

.home .sc-hero-gallery__tile picture,
.home .sc-hero-gallery__tile img,
.sc-project-preview-card picture,
.sc-project-preview-card picture img,
.sc-project-card__media picture,
.sc-project-card__media picture img {
  display: block;
  width: 100%;
  height: 100%;
}

.home .sc-hero-gallery__tile img,
.sc-project-preview-card picture img,
.sc-project-card__media picture img {
  object-fit: cover;
}

.home .sc-hero-gallery__overlay {
  right: 10px !important;
  bottom: 9px !important;
  left: 10px !important;
}

.home .sc-hero-gallery__overlay strong {
  font-size: 0.82rem !important;
}

.home .sc-hero-gallery__overlay span {
  font-size: 0.68rem !important;
  letter-spacing: 0 !important;
}

.home .sc-hero-proof__footer {
  margin-top: 12px !important;
  padding-top: 10px !important;
}

.home .sc-hero-proof__footer span {
  color: var(--sc-upgrade-muted) !important;
  font-size: 0.78rem !important;
}

/* Shared page rhythm */
.sc-shell:not(.sc-shell--tap) .sc-section {
  padding: 42px 0 !important;
}

.sc-shell:not(.sc-shell--tap) .sc-section:nth-of-type(even) {
  background: var(--sc-upgrade-band);
}

.sc-shell:not(.sc-shell--tap) .sc-section__head {
  max-width: 780px !important;
  margin-bottom: 26px !important;
}

.sc-shell:not(.sc-shell--tap) .sc-section__head h2 {
  color: var(--sc-upgrade-ink) !important;
  font-size: 2.15rem !important;
  line-height: 1.12 !important;
}

.sc-shell:not(.sc-shell--tap) .sc-section__head p {
  color: var(--sc-upgrade-muted) !important;
}

.sc-shell:not(.sc-shell--tap) .sc-card {
  border-color: var(--sc-upgrade-line) !important;
  box-shadow: 0 10px 28px rgba(19, 37, 58, 0.06) !important;
}

.sc-shell:not(.sc-shell--tap) .sc-service,
.sc-shell:not(.sc-shell--tap) .sc-reason,
.sc-shell:not(.sc-shell--tap) .sc-review,
.sc-shell:not(.sc-shell--tap) .sc-step,
.sc-shell:not(.sc-shell--tap) .sc-area-card,
.sc-shell:not(.sc-shell--tap) .sc-faq {
  border-radius: 8px !important;
}

.sc-service--cctv {
  background-image: image-set(
    url("../services/cctv-bg.avif") type("image/avif"),
    url("../services/cctv-bg.webp") type("image/webp"),
    url("../services/cctv-bg.jpg") type("image/jpeg")
  ) !important;
}

.sc-service--access {
  background-image: image-set(
    url("../services/access-bg.avif") type("image/avif"),
    url("../services/access-bg.webp") type("image/webp"),
    url("../services/access-bg.jpg") type("image/jpeg")
  ) !important;
}

.sc-service--ai {
  background-image: image-set(
    url("../services/ai-bg.avif") type("image/avif"),
    url("../services/ai-bg.webp") type("image/webp"),
    url("../services/ai-bg.jpg") type("image/jpeg")
  ) !important;
}

.sc-service--custom {
  background-image: image-set(
    url("../services/custom-bg.avif") type("image/avif"),
    url("../services/custom-bg.webp") type("image/webp"),
    url("../services/custom-bg.jpg") type("image/jpeg")
  ) !important;
}

/* Contact form */
.home #contact {
  scroll-margin-top: 96px;
}

.home .sc-contact {
  display: grid !important;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr) !important;
  gap: 24px !important;
}

.home .sc-contact__panel,
.home .sc-contact__form-wrap {
  padding: 28px !important;
  border: 1px solid var(--sc-upgrade-line) !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.home .sc-contact__panel::before,
.home .sc-contact__panel::after,
.home .sc-contact__form-wrap::before,
.home .sc-contact__form-wrap::after {
  display: none !important;
}

.home .sc-contact__stack {
  margin-top: 22px !important;
}

.sc-form input,
.sc-form textarea {
  border-radius: 6px !important;
}

.sc-form__promise a {
  color: var(--sc-upgrade-navy);
  font-weight: 700;
}

.sc-form__notice {
  border-radius: 6px !important;
}

/* Projects, service, and city pages */
.sc-page-top {
  position: sticky !important;
  top: 0 !important;
  z-index: 70 !important;
  padding: 8px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--sc-upgrade-line) !important;
  background: rgba(255, 255, 255, 0.97) !important;
  box-shadow: 0 8px 24px rgba(19, 37, 58, 0.05) !important;
  backdrop-filter: blur(14px) !important;
}

.sc-page-top__row {
  min-height: 58px !important;
}

.sc-page-top .sc-brand__logo {
  width: 176px !important;
}

.sc-projects-hero,
.sc-service-hero {
  max-width: 860px !important;
  margin-bottom: 24px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.sc-projects-hero h1 {
  max-width: 760px !important;
  margin: 8px 0 14px !important;
  color: var(--sc-upgrade-ink) !important;
  font-size: 3rem !important;
  line-height: 1.04 !important;
}

.sc-projects-hero p {
  max-width: 760px !important;
  color: var(--sc-upgrade-muted) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

.sc-project-filters {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 18px 0 24px !important;
}

.sc-project-filter {
  min-height: 40px !important;
  padding: 0 14px !important;
  border: 1px solid var(--sc-upgrade-line) !important;
  background: #ffffff !important;
  color: #3e5061 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0 !important;
}

.sc-project-filter.is-active,
.sc-project-filter:hover,
.sc-project-filter:focus-visible {
  border-color: var(--sc-upgrade-navy) !important;
  background: var(--sc-upgrade-navy) !important;
  color: #ffffff !important;
}

.sc-project-gallery {
  gap: 20px !important;
}

.sc-project-card {
  overflow: hidden !important;
}

.sc-project-card__media {
  border-radius: 0 !important;
}

.sc-project-card__body h2 {
  font-size: 1.35rem !important;
  line-height: 1.18 !important;
}

.sc-service-planning,
.sc-service-process,
.sc-service-related,
.sc-service-nav {
  margin-top: 44px !important;
}

.sc-service-planning__grid,
.sc-service-process__grid,
.sc-city-process__grid,
.sc-city-faq__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.sc-service-planning__grid article,
.sc-service-process__grid article,
.sc-city-process__grid article,
.sc-city-faq__grid article,
.sc-city-context__item {
  padding: 20px;
  border: 1px solid var(--sc-upgrade-line);
  border-radius: 8px;
  background: #ffffff;
}

.sc-service-planning__grid article > span,
.sc-city-process__grid article > span {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--sc-upgrade-orange);
  font-size: 0.78rem;
  font-weight: 800;
}

.sc-service-planning__grid p,
.sc-service-process__grid p,
.sc-city-process__grid p,
.sc-city-faq__grid p {
  margin: 0;
  color: var(--sc-upgrade-muted);
  line-height: 1.62;
}

.sc-service-process__grid h3,
.sc-city-process__grid h3,
.sc-city-faq__grid h3,
.sc-city-context__item h3 {
  margin: 0 0 9px;
  color: var(--sc-upgrade-ink);
  font-size: 1.05rem;
  line-height: 1.25;
}

.sc-city-hero {
  padding: 42px 0 !important;
  background: #ffffff !important;
}

.sc-city-hero__grid {
  gap: 28px !important;
}

.sc-city-hero h1 {
  max-width: 790px !important;
  font-size: 3rem !important;
  line-height: 1.06 !important;
}

.sc-city-panel {
  border-radius: 8px !important;
}

.sc-city-context__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.sc-city-context__item ul {
  margin: 0;
  padding-left: 20px;
  color: var(--sc-upgrade-muted);
}

.sc-city-context__item li + li {
  margin-top: 8px;
}

.sc-city-service {
  border-radius: 8px !important;
}

/* Footer */
.sc-footer {
  padding: 34px 0 20px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #10283f !important;
  color: #eaf0f4 !important;
}

.sc-footer__row {
  display: grid !important;
  grid-template-columns: 1.2fr 1fr auto !important;
  align-items: start !important;
  gap: 32px !important;
}

.sc-footer__brand,
.sc-footer__links {
  display: grid !important;
  gap: 8px !important;
}

.sc-footer__links {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.sc-footer__social {
  display: flex !important;
  gap: 8px !important;
}

.sc-footer__social-item {
  width: 42px !important;
  height: 42px !important;
  border-radius: 6px !important;
}

.sc-footer__legal {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  color: rgba(234, 240, 244, 0.72);
  font-size: 0.78rem;
}

@media (max-width: 1080px) {
  .home .sc-header__row {
    grid-template-columns: minmax(180px, 1fr) auto auto !important;
    gap: 16px !important;
  }

  .home .sc-nav {
    gap: 14px !important;
  }

  .home .sc-header__phone {
    display: none !important;
  }

  .home .sc-hero__grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(400px, 1.1fr) !important;
    gap: 28px !important;
  }

  .home .sc-hero__content h1 {
    font-size: 2.8rem !important;
  }
}

@media (max-width: 860px) {
  .home .sc-header__row {
    grid-template-columns: minmax(160px, 1fr) auto !important;
  }

  .home .sc-nav {
    grid-column: 1 / -1 !important;
    order: 3 !important;
  }

  .home .sc-hero__grid,
  .home .sc-contact,
  .sc-city-hero__grid {
    grid-template-columns: 1fr !important;
  }

  .home .sc-hero__content h1 {
    max-width: 760px !important;
  }

  .sc-footer__row {
    grid-template-columns: 1fr 1fr !important;
  }

  .sc-footer__social {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  html {
    scroll-padding-top: 72px;
  }

  body.home {
    padding-bottom: 78px;
  }

  #services,
  #projects,
  #reviews,
  #service-area,
  #contact,
  #faq {
    scroll-margin-top: 72px;
  }

  .home .sc-header {
    min-height: 64px !important;
  }

  .home .sc-header__row {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    min-height: 64px !important;
    padding: 7px 0 !important;
  }

  .home .sc-brand__logo {
    width: 148px !important;
  }

  .home .sc-brand__meta,
  .home .sc-header__phone,
  .home .sc-header__cta {
    display: none !important;
  }

  .home .sc-header__actions {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .sc-nav-toggle {
    display: block;
  }

  .home .sc-nav,
  .home .sc-nav[data-open="false"] {
    position: absolute !important;
    top: calc(100% + 1px) !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 90 !important;
    grid-column: 1 / -1 !important;
    display: none !important;
    padding: 8px 14px 14px !important;
    border-bottom: 1px solid var(--sc-upgrade-line) !important;
    background: #ffffff !important;
    box-shadow: 0 16px 30px rgba(19, 37, 58, 0.12) !important;
  }

  .home .sc-nav[data-open="true"] {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
  }

  .home .sc-nav a {
    justify-content: flex-start !important;
    min-height: 42px !important;
    padding: 0 12px !important;
    border: 1px solid var(--sc-upgrade-line) !important;
    border-radius: 6px !important;
    background: var(--sc-upgrade-band) !important;
    font-size: 0.82rem !important;
  }

  .home .sc-hero {
    padding: 24px 0 18px !important;
  }

  .home .sc-hero__grid {
    gap: 24px !important;
  }

  .home .sc-hero__content h1 {
    margin-bottom: 14px !important;
    font-size: 2.08rem !important;
    line-height: 1.06 !important;
  }

  .home .sc-hero__content > p {
    font-size: 0.96rem !important;
    line-height: 1.58 !important;
  }

  .home .sc-hero__content .sc-actions {
    margin-top: 18px !important;
  }

  .home .sc-hero__content .sc-button--ghost {
    display: none !important;
  }

  .home .sc-hero__trustline {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  .home .sc-hero__trustline span {
    justify-content: center !important;
    text-align: center !important;
  }

  .home .sc-hero__trustline span:last-child {
    grid-column: 1 / -1;
  }

  .home .sc-hero-proof h2 {
    font-size: 1.35rem !important;
  }

  .home .sc-hero-proof > p {
    font-size: 0.88rem !important;
  }

  .home .sc-hero-gallery {
    grid-template-columns: 1.2fr 0.8fr !important;
    grid-template-rows: 150px !important;
    margin-top: 14px !important;
  }

  .home .sc-hero-gallery__tile--1,
  .home .sc-hero-gallery__tile--2 {
    display: block !important;
    grid-column: auto !important;
    grid-row: 1 !important;
  }

  .home .sc-hero-gallery__tile:nth-child(n+3) {
    display: none !important;
  }

  .home .sc-hero-proof__footer {
    display: none !important;
  }

  .sc-shell:not(.sc-shell--tap) .sc-section {
    padding: 32px 0 !important;
  }

  .sc-shell:not(.sc-shell--tap) .sc-section__head h2 {
    font-size: 1.72rem !important;
  }

  .home .sc-contact__panel,
  .home .sc-contact__form-wrap {
    padding: 20px !important;
  }

  .sc-page-top {
    padding: 6px 0 !important;
  }

  .sc-page-top__row {
    min-height: 52px !important;
  }

  .sc-page-top .sc-brand__logo {
    width: 146px !important;
  }

  .sc-page-top .sc-button {
    min-height: 40px !important;
    padding: 0 11px !important;
    font-size: 0.72rem !important;
  }

  .sc-projects-hero h1,
  .sc-city-hero h1 {
    font-size: 2.08rem !important;
    line-height: 1.08 !important;
  }

  .sc-projects-hero .sc-actions,
  .sc-city-hero__actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .sc-project-filters {
    flex-wrap: nowrap !important;
    margin-right: -16px !important;
    padding-right: 16px !important;
    overflow-x: auto !important;
    scrollbar-width: thin;
  }

  .sc-project-filter {
    flex: 0 0 auto !important;
  }

  .sc-projects-page .sc-project-card__media {
    position: relative;
    display: grid !important;
    place-items: center;
    aspect-ratio: 4 / 3;
    min-height: 0 !important;
    overflow: hidden;
    border-bottom: 1px solid var(--sc-upgrade-line);
    background: #eaf0f5 !important;
  }

  .sc-projects-page .sc-project-card__media picture {
    position: absolute;
    inset: 0;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  .sc-projects-page .sc-project-card__media picture img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .sc-project-preview-card > picture,
  .sc-project-preview-card > .sc-project-card__media {
    position: relative;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3;
    min-height: 0 !important;
    overflow: hidden;
    border-bottom: 1px solid var(--sc-upgrade-line);
    background: #eaf0f5 !important;
  }

  .sc-project-preview-card > .sc-project-card__media > picture {
    position: absolute;
    inset: 0;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  .sc-project-preview-card > picture > img,
  .sc-project-preview-card > .sc-project-card__media > picture > img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .sc-service-planning__grid,
  .sc-service-process__grid,
  .sc-city-context__grid,
  .sc-city-process__grid,
  .sc-city-faq__grid {
    grid-template-columns: 1fr;
  }

  .sc-footer {
    padding: 28px 0 18px !important;
  }

  .sc-footer__row {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .sc-footer__links {
    grid-template-columns: 1fr 1fr !important;
  }

  .sc-footer__social {
    grid-column: auto;
  }

  .sc-mobile-cta {
    left: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    z-index: 100 !important;
    gap: 8px !important;
    transition: transform 160ms ease, opacity 160ms ease !important;
  }

  .sc-mobile-cta a {
    min-height: 52px !important;
    border-radius: 7px !important;
    box-shadow: 0 10px 24px rgba(19, 37, 58, 0.2) !important;
  }

  body.sc-form-focused .sc-mobile-cta {
    transform: translateY(120%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sc-nav-toggle__icon span,
  .sc-mobile-cta {
    transition: none !important;
  }
}
