/* Sempre Group — главная, desktop-first */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
body.sg-body {
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 1.5;
  color: #000;
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--sg-accent);
  outline-offset: 2px;
}
button, input, textarea { font: inherit; }
ul { margin: 0; padding: 0; list-style: none; }

:root {
  --sg-accent: #fe3300;
  --sg-muted: rgba(0, 0, 0, 0.5);
  --sg-muted-inv: rgba(255, 255, 255, 0.5);
  --sg-pad: 64px;
  --sg-gap: 16px;
  --sg-inner: 1312px;
  --sg-max: 1440px;
  --sg-radius: 8px;
  --sg-header-h: 100px;
  --sg-border: rgba(0, 0, 0, 0.15);
  --sg-popup-team-bg: #f0efeb;
}

.sg-container {
  width: 100%;
  max-width: var(--sg-max);
  margin: 0 auto;
  padding-left: var(--sg-pad);
  padding-right: var(--sg-pad);
}
.sg-inner { max-width: var(--sg-inner); margin: 0 auto; width: 100%; }

/* Label + line */
.sg-sec-head {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-bottom: 40px;
}
.sg-sec-head .sg-line { margin-top: 0; }
.sg-label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0;
}
.sg-label::before {
  content: "";
  width: 8px;
  height: 8px;
  background: var(--sg-accent);
  flex-shrink: 0;
}
.sg-sec-head--inv .sg-label { color: #fff; }
.sg-line {
  height: 1px;
  background: #000;
  margin-top: 40px;
  width: 100%;
}
.sg-sec-head--inv .sg-line { background: rgba(255,255,255,0.2); }

/* Buttons */
.sg-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  height: 52px;
  padding: 12px 24px;
  border-radius: 4px;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.198px;
  line-height: 1.5;
  cursor: pointer;
  border: 1px solid transparent;
  background: transparent;
  white-space: nowrap;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
@media (hover: hover) {
  .sg-btn--outline:hover,
  .sg-btn--outline:focus-visible {
    border-color: var(--sg-accent);
    color: var(--sg-accent);
  }
  .sg-btn--outline:hover::before,
  .sg-btn--outline:focus-visible::before {
    background: var(--sg-accent);
  }
  .sg-btn--solid:hover,
  .sg-btn--solid:focus-visible {
    background: var(--sg-accent);
    border-color: var(--sg-accent);
  }
  .sg-btn--outline-inv:hover,
  .sg-btn--outline-inv:focus-visible {
    border-color: var(--sg-accent);
    color: var(--sg-accent);
  }
  .sg-btn--outline-inv:hover::before,
  .sg-btn--outline-inv:focus-visible::before {
    background: var(--sg-accent);
  }
  .sg-btn--solid-inv:hover,
  .sg-btn--solid-inv:focus-visible {
    background: var(--sg-accent);
    border-color: var(--sg-accent);
    color: #fff;
  }
  .sg-btn--solid-inv:hover::before,
  .sg-btn--solid-inv:focus-visible::before {
    background: #fff;
  }
}
.sg-btn::before {
  content: "";
  width: 8px;
  height: 8px;
  flex-shrink: 0;
  transition: background-color 0.2s ease;
}
.sg-btn--outline {
  border-color: #000;
  color: #000;
}
.sg-btn--outline::before { background: #000; }
.sg-btn--solid {
  background: #000;
  color: #fff;
  border-color: #000;
}
.sg-btn--solid::before { background: #fff; }
.sg-btn--outline-inv {
  border-color: #fff;
  color: #fff;
}
.sg-btn--outline-inv::before { background: #fff; }

/* Header */
.sg-skip {
  position: absolute;
  left: -9999px;
  top: auto;
  z-index: 200;
  padding: 12px 20px;
  background: var(--sg-accent);
  color: #fff;
  text-decoration: none;
  border-radius: var(--sg-radius);
}
.sg-skip:focus {
  left: var(--sg-pad);
  top: 12px;
}
.sg-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #fff;
  transition: box-shadow 0.2s;
}
.sg-header.is-scrolled {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}
.sg-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: var(--sg-header-h);
  padding-top: 24px;
  padding-bottom: 24px;
}
.sg-header__logo {
  width: 240px;
  height: 28px;
  object-fit: contain;
  object-position: left;
}

/* Hero */
.sg-hero {
  padding-top: 40px;
  padding-bottom: 64px;
}
.sg-hero__visual-wrap {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
.sg-hero__visual {
  width: 100%;
  max-width: 755px;
  margin-left: auto;
  border-radius: var(--sg-radius);
  overflow: hidden;
  aspect-ratio: 755 / 440;
}
.sg-hero__visual img { width: 100%; height: 100%; object-fit: cover; }
.sg-hero__bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-top: 64px;
}
.sg-hero__title {
  position: relative;
  max-width: 674px;
  margin: 0;
  font-size: 48px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -0.96px;
  text-transform: uppercase;
}
.sg-hero__title em {
  font-style: italic;
  font-weight: 500;
}
.sg-hero__accent {
  position: absolute;
  left: 315px;
  top: 0;
  width: 363px;
  height: 65px;
  pointer-events: none;
}
.sg-hero__intro {
  padding-top: 40px;
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
.sg-hero__intro p {
  margin: 0;
  width: 100%;
  max-width: 755px;
  font-size: 36px;
  line-height: 1.3;
  letter-spacing: -0.396px;
}

/* Services */
.sg-services { padding: 64px var(--sg-pad); }
.sg-services--page {
  padding: 64px var(--sg-pad);
}
.page-services .sg-services--page > .sg-inner {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.page-services .sg-services--page .sg-sec-head { margin-bottom: 0; }
.page-services .sg-services__grid {
  grid-template-columns: 541px 755px;
  min-height: 634px;
  align-items: stretch;
}
.page-services .sg-services__preview {
  aspect-ratio: unset;
  max-height: none;
  height: 100%;
  min-height: 634px;
  position: static;
  top: auto;
}
.sg-services:not(.sg-services--page) > .sg-inner {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.sg-services:not(.sg-services--page) .sg-sec-head { margin-bottom: 0; }
.sg-services__grid {
  display: grid;
  grid-template-columns: 541px 755px;
  gap: var(--sg-gap);
  align-items: center;
  min-height: 634px;
}
.sg-services:not(.sg-services--page) .sg-services__grid {
  align-items: center;
}
.sg-services__preview {
  border-radius: var(--sg-radius);
  overflow: hidden;
  aspect-ratio: 541 / 300;
  max-height: 300px;
  position: sticky;
  top: calc(var(--sg-header-h) + 24px);
}
.sg-services:not(.sg-services--page) .sg-services__preview {
  position: static;
  top: auto;
  height: 300px;
  max-height: 300px;
  width: 100%;
  align-self: center;
}
.sg-services__preview img { width: 100%; height: 100%; object-fit: cover; }
.sg-services__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding-top: 0;
}
.sg-services:not(.sg-services--page) .sg-services__list {
  padding-top: 0;
}
.sg-service-item {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-bottom: 40px;
  border-bottom: 1px solid #000;
}
.sg-service-item:last-child { border-bottom: none; padding-bottom: 0; }
.page-home .sg-service-item__links { display: none; }
.sg-service-item__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 0;
}
.sg-service-item__title {
  margin: 0;
  font-size: 36px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.72px;
}
.sg-service-item__title--accent { color: var(--sg-accent); }
.sg-icon-arrow {
  display: block;
  width: 40px;
  height: auto;
  flex-shrink: 0;
}
.sg-icon-arrow[data-flip] { transform: scaleX(-1); }
.sg-icon-arrow--sm { width: 28px; }
.sg-service-item__arrow { opacity: 0.4; }
.sg-service-item__desc {
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: -0.198px;
  color: var(--sg-muted);
  max-width: 755px;
}
.sg-service-item__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin-top: 0;
}
.sg-service-item__more {
  display: inline-block;
}
.sg-service-item { cursor: default; }
@media (hover: hover) {
  .sg-service-item { cursor: pointer; }
}
.sg-service-item.is-active .sg-service-item__title { color: var(--sg-accent); }
.sg-service-item.is-active .sg-service-item__arrow {
  opacity: 1;
  color: var(--sg-accent);
}
.sg-service-item__link { color: inherit; }
.sg-service-item__link:hover { color: var(--sg-accent); }

/* Service detail */
.sg-service-detail {
  padding: 64px var(--sg-pad);
}
.sg-service-detail__intro {
  display: grid;
  grid-template-columns: 541px 755px;
  gap: var(--sg-gap);
  align-items: start;
  margin-bottom: 48px;
}
.sg-service-detail__intro:not(:has(.sg-service-detail__lead)) {
  grid-template-columns: minmax(0, 755px);
}
.sg-service-detail__body p { margin: 0 0 1em; }
.sg-service-detail__body p:last-child { margin-bottom: 0; }
.sg-service-detail__title {
  margin: 0;
  font-size: 36px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.72px;
  text-transform: uppercase;
}
.sg-service-detail__lead {
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: -0.264px;
  color: #000;
}
.sg-service-detail__lead p { margin: 0; }
.sg-service-detail__grid {
  display: grid;
  grid-template-columns: 541px 755px;
  gap: var(--sg-gap);
  align-items: start;
}
.sg-service-detail__visual {
  border-radius: var(--sg-radius);
  overflow: hidden;
  aspect-ratio: 541 / 440;
}
.sg-service-detail__visual img { width: 100%; height: 100%; object-fit: cover; }
.sg-service-detail__body {
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: -0.264px;
  color: #000;
}

/* Clients — black block */
.sg-clients {
  background: #000;
  color: #fff;
  padding: 64px var(--sg-pad);
}
.sg-clients__text-wrap {
  position: relative;
  width: 100%;
  min-height: 141px;
  margin-bottom: 0;
}
.sg-clients__accent {
  position: absolute;
  left: 541px;
  top: 89px;
  width: 326px;
  height: 59px;
  pointer-events: none;
}
.sg-clients__text {
  margin: 0 0 0 auto;
  max-width: 755px;
  font-size: 36px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -0.72px;
  text-transform: uppercase;
}
.sg-clients__text em { font-style: italic; }
.sg-clients__logos {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sg-gap);
  align-items: center;
}
.sg-clients__logo {
  height: 169px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.sg-clients__logo img {
  max-width: 100%;
  max-height: 160px;
  width: auto;
  height: auto;
  object-fit: contain;
  opacity: 0.95;
}

/* Cases */
.sg-cases { padding: 64px var(--sg-pad); }
.sg-cases > .sg-inner {
  display: flex;
  flex-direction: column;
  gap: 36px;
}
.sg-cases .sg-sec-head {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-bottom: 0;
}
/* Figma 680:1922 — серая линия на всю ширину, чёрная только под активной вкладкой */
.sg-cases .sg-sec-head .sg-line {
  margin-top: 0;
  background: var(--sg-border);
}
.page-home .sg-cases__card-tag { display: none; }
.sg-cases__tabs {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.sg-cases__tab {
  position: relative;
  padding: 0 24px;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.198px;
  color: var(--sg-muted);
  background: none;
  border: none;
  cursor: pointer;
  min-width: 230px;
  text-align: center;
  transition: color 0.2s ease;
}
@media (hover: hover) {
  .sg-cases__tab:hover:not(.is-active),
  .sg-cases__tab:focus-visible:not(.is-active) {
    color: var(--sg-accent);
  }
}
.sg-cases__tab.is-active {
  color: #000;
}
.sg-cases__tab.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -41px;
  height: 2px;
  background: #000;
  z-index: 2;
}
.sg-cases__head-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.sg-cases__grid { display: flex; flex-direction: column; gap: 48px; margin-top: 0; }
.sg-cases__row {
  display: grid;
  grid-template-columns: 541px 1fr;
  gap: var(--sg-gap);
}
.sg-cases__row--rev { grid-template-columns: 1fr 541px; }
.sg-cases__card-img {
  border-radius: var(--sg-radius);
  overflow: hidden;
  background: #f5f5f5;
}
.sg-cases__card-img--sm { aspect-ratio: 541 / 340; }
.sg-cases__card-img--lg { aspect-ratio: 755 / 500; min-height: 500px; }
.sg-cases__card-img img { width: 100%; height: 100%; object-fit: cover; }
.sg-cases__card-tag {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.sg-cases__card-tag a { color: var(--sg-muted); }
.sg-cases__card-tag a:hover { color: var(--sg-accent); }
.sg-cases__card-link {
  display: flex;
  flex-direction: column;
  gap: 16px;
  color: inherit;
  text-decoration: none;
}
.sg-cases__card-link:hover .sg-cases__card-img img { opacity: 0.9; }
.sg-cases__grid .sg-cases__card:has(.sg-cases__card-link) { cursor: pointer; }
/* Figma 680:1940 — заголовок чёрный, клиент серый; красный только при hover */
.sg-cases__card-title {
  margin: 0;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.264px;
  text-transform: uppercase;
  color: #000;
  transition: color 0.2s;
}
.sg-cases__card-title span {
  color: var(--sg-muted);
  font-weight: 400;
  transition: color 0.2s;
}
.sg-cases__card-title strong {
  color: inherit;
  font-weight: 500;
}
.sg-cases__card-link:hover .sg-cases__card-title,
.sg-cases__card-link:hover .sg-cases__card-title span,
.sg-cases__card-link:hover .sg-cases__card-title strong {
  color: var(--sg-accent);
}
.sg-cases__empty {
  margin: 0;
  color: var(--sg-muted);
  font-size: 18px;
}
.sg-cases__more {
  display: flex;
  justify-content: center;
  margin-top: 0;
}

/* Awards — Figma 680:1476 (gap 20 до списка) */
.sg-awards { padding: 64px var(--sg-pad); }
.sg-awards > .sg-inner {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.sg-awards .sg-sec-head { margin-bottom: 0; }
.sg-awards__grid {
  display: grid;
  grid-template-columns: 541px 755px;
  gap: var(--sg-gap);
  align-items: start;
}
.sg-awards__spacer { display: block; }
.sg-awards__list {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.sg-award {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-bottom: 40px;
  border-bottom: 1px solid #000;
}
.sg-award:last-child { border-bottom: none; padding-bottom: 0; }
.sg-award__title {
  margin: 0;
  font-size: 36px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.72px;
}
.sg-award__sub { margin: 0; font-size: 18px; line-height: 1.5; color: var(--sg-muted); }

/* Reviews */
.sg-reviews {
  background: #000;
  color: #fff;
  padding: 64px var(--sg-pad);
}
.sg-reviews__grid {
  display: grid;
  grid-template-columns: 870px 426px;
  gap: var(--sg-gap);
  align-items: stretch;
}
.sg-reviews__card {
  background: rgba(255,255,255,0.12);
  border-radius: var(--sg-radius);
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 426px;
}
.sg-reviews__body {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
}
.sg-reviews__quote { margin: 0; font-size: 24px; line-height: 1.5; }
.sg-reviews__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
}
.sg-reviews__avatars {
  display: flex;
  gap: 16px;
  align-items: center;
}
.sg-reviews__avatar {
  position: relative;
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  border-radius: 50%;
}
.sg-reviews__avatar::after {
  content: "";
  position: absolute;
  left: -2px;
  top: -2px;
  width: 56px;
  height: 56px;
  border: 2px solid var(--sg-accent);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}
.sg-reviews__avatar.is-active::after { opacity: 1; }
.sg-reviews__avatar img {
  display: block;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.2s;
}
.sg-reviews__avatar.is-active img,
.sg-reviews__avatar:hover img { opacity: 1; }
.sg-reviews__nav { display: flex; gap: 16px; flex-shrink: 0; }

.sg-reviews__nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 1px solid #fff;
  border-radius: 4px;
  background: transparent;
  color: #fff;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease;
}
.sg-reviews__nav-btn .sg-icon-arrow { width: 24px; }
.sg-reviews__photo {
  position: relative;
  border-radius: var(--sg-radius);
  overflow: hidden;
  width: 426px;
  height: 426px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 40px;
}
.sg-reviews__photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sg-reviews__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(62,64,66,0) 0%, #3e4042 100%);
  mix-blend-mode: multiply;
}
.sg-reviews__person {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sg-reviews__name { margin: 0; font-size: 24px; font-weight: 500; text-transform: uppercase; }
.sg-reviews__role { margin: 0; font-size: 18px; opacity: 0.8; }

/* Why */
.sg-why { padding: 64px var(--sg-pad); }
.sg-why__grid {
  display: grid;
  grid-template-columns: 541px 755px;
  gap: var(--sg-gap);
}
.sg-why__visual {
  border-radius: var(--sg-radius);
  overflow: hidden;
  aspect-ratio: 541 / 660;
}
.sg-why__visual img { width: 100%; height: 100%; object-fit: cover; }
.sg-why__list { display: flex; flex-direction: column; gap: 40px; }
.sg-why__item {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-bottom: 40px;
  border-bottom: 1px solid #000;
}
.sg-why__item:last-child { border-bottom: none; padding-bottom: 0; }
.sg-why__title {
  margin: 0;
  font-size: 36px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.72px;
}
.sg-why__desc {
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: -0.198px;
  color: var(--sg-muted);
}

/* Team */
.sg-team { padding: 64px var(--sg-pad); }
.sg-team__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sg-gap);
  row-gap: 48px;
}
.sg-team__row2 { margin-top: 0; }
.sg-team__card {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.sg-team__card-img {
  border-radius: var(--sg-radius);
  overflow: hidden;
  aspect-ratio: 427 / 420;
  margin-bottom: 0;
}
.sg-team__card-img img { width: 100%; height: 100%; object-fit: cover; }
.sg-team__name { margin: 0; font-size: 24px; font-weight: 500; line-height: 1.5; letter-spacing: -0.264px; text-transform: uppercase; }
/* Секции главной — отступ шапки до контента (Figma gap 48) */
.sg-clients > .sg-inner,
.sg-reviews > .sg-inner,
.sg-why > .sg-inner,
.sg-team > .sg-inner,
.sg-contractors > .sg-inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.sg-clients .sg-sec-head,
.sg-reviews .sg-sec-head,
.sg-why .sg-sec-head,
.sg-team .sg-sec-head,
.sg-contractors .sg-sec-head {
  margin-bottom: 0;
}

/* Contractors — Figma 680:1612 */
.sg-contractors { padding: 64px var(--sg-pad); }
.sg-contractors__grid {
  display: grid;
  grid-template-columns: 870px 426px;
  gap: var(--sg-gap);
  align-items: stretch;
}
.sg-contractors__text {
  background: #f0efeb;
  border-radius: var(--sg-radius);
  padding: 40px;
  margin: 0;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: -0.264px;
  color: #000;
  min-height: 426px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
}
.sg-contractors__text p { margin: 0; }
.sg-contractors__visual {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-radius: var(--sg-radius);
  overflow: hidden;
  width: 426px;
  height: 426px;
  background: #eee;
}
.sg-contractors__person {
  position: relative;
  z-index: 1;
  padding: 40px;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sg-contractors__person-name {
  margin: 0;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  text-transform: uppercase;
}
.sg-contractors__person-role {
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
}
.sg-contractors__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
}
.sg-contractors__avatars {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: nowrap;
  max-width: 100%;
  min-width: 0;
  overflow: visible;
}
.sg-contractors__avatar {
  position: relative;
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  border-radius: 50%;
  overflow: visible;
}
.sg-contractors__avatar::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid var(--sg-accent);
  border-radius: 50%;
  box-sizing: border-box;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}
.sg-contractors__avatar.is-active::after,
.sg-contractors__avatar:hover::after,
.sg-contractors__avatar:focus-visible::after {
  opacity: 1;
}
.sg-contractors__avatar img {
  display: block;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  opacity: 0.5;
  transition: opacity 0.2s;
}
.sg-contractors__avatar.is-active img,
.sg-contractors__avatar:hover img { opacity: 1; }
.sg-contractors__nav {
  display: flex;
  gap: 16px;
  flex-shrink: 0;
}
.sg-contractors__nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 1px solid #000;
  border-radius: 4px;
  background: transparent;
  color: #000;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease;
}
.sg-contractors__nav-btn .sg-icon-arrow { width: 24px; }
.sg-contractors__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(62, 64, 66, 0) 0%, #3e4042 100%);
  mix-blend-mode: multiply;
  pointer-events: none;
}
.sg-contractors__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Newsletter — Figma 680:1647 */
.sg-newsletter { padding: 64px var(--sg-pad); }
.sg-newsletter > .sg-inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.sg-newsletter .sg-sec-head { margin-bottom: 0; }
.sg-newsletter__grid {
  display: grid;
  grid-template-columns: 541px 755px;
  gap: var(--sg-gap);
  align-items: start;
}
.sg-newsletter__title { margin: 0; font-size: 36px; font-weight: 500; line-height: 1.1; letter-spacing: -0.72px; }
.sg-newsletter__aside {
  display: flex;
  flex-direction: column;
  gap: 40px;
  align-items: flex-start;
}
.sg-newsletter__copy {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.sg-newsletter__text {
  margin: 0 0 1.5em;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.198px;
  color: #000;
}
.sg-newsletter__copy .sg-newsletter__text:last-child {
  margin-bottom: 0;
}
.sg-newsletter__cta { align-self: flex-start; }

.sg-service-features {
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sg-service-features li {
  position: relative;
  padding-left: 20px;
  font-size: 18px;
  line-height: 1.5;
}
.sg-service-features li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--sg-accent);
}
.sg-service-detail__cta {
  margin: 40px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.sg-service-cases { padding: 0 var(--sg-pad) 64px; }
.sg-service-cases > .sg-inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.sg-service-cases .sg-sec-head { margin-bottom: 0; }
.sg-service-cases .sg-cases__grid--listing { margin-top: 0; }
.sg-service-cases__more { margin: 0; text-align: center; }
.sg-service-cases .sg-cases__card-tag { display: block; }

/* Contact + footer */
.sg-contact { padding: 64px var(--sg-pad); }
.sg-contact__grid {
  display: grid;
  grid-template-columns: 541px 755px;
  gap: var(--sg-gap);
  align-items: start;
}
.sg-contact__left {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  gap: 48px;
}
.sg-contact--documents .sg-contact__left { gap: 0; }
.sg-contact__intro {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.sg-contact__intro .sg-contact__title,
.sg-contact__intro .sg-contact__sub,
.sg-contact__intro .sg-contact__email,
.sg-contact__intro .sg-contact__phone {
  margin: 0;
}
.sg-contact__right { display: flex; flex-direction: column; }
.sg-contact__title { margin: 0; font-size: 36px; font-weight: 500; line-height: 1.1; letter-spacing: -0.72px; }
.sg-contact__sub { display: block; margin: 0 0 16px; color: var(--sg-muted); font-size: 18px; line-height: 1.5; }
.sg-contact__email { margin-bottom: 16px; }
.sg-contact--dark .sg-contact__email {
  color: var(--sg-accent);
  font-weight: 400;
}
.sg-contact--dark .sg-contact__email:hover { opacity: 0.85; }
.sg-contact__ceo {
  display: flex;
  gap: 16px;
  align-items: center;
  margin: 0;
}
.sg-contact--documents .sg-contact__ceo { margin-top: 48px; }
.sg-contact__ceo > div {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sg-contact__ceo strong { display: block; font-size: 18px; font-weight: 500; margin: 0; }
.sg-contact__ceo img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.sg-contact__email,
.sg-contact__phone {
  display: inline-block;
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 400;
  color: var(--sg-accent);
  text-decoration: none;
}
.sg-contact__phone { color: #fff; }
.sg-contact--dark .sg-contact__phone:hover { color: var(--sg-accent); }
.sg-contact__quick-links {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
}
.sg-contact--dark .sg-contact__quick-links .sg-link-dot--inv {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.198px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sg-contact__legal {
  margin-top: auto;
  padding-top: 48px;
  font-size: 16px;
  line-height: 1.5;
  color: rgba(255,255,255,0.5);
}
.sg-contact__form { display: flex; flex-direction: column; gap: 40px; }
/* Figma 680:1702 — «Отправить» по ширине контента, не на всю колонку */
.sg-contact__form button[type="submit"] {
  align-self: flex-start;
  width: auto;
}
.sg-field input,
.sg-field textarea {
  width: 100%;
  border: 1px solid rgba(0,0,0,0.2);
  border-radius: 4px;
  padding: 16px;
  background: #fff;
  font: inherit;
  color: inherit;
}
.sg-field textarea { min-height: 160px; resize: vertical; }
.sg-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sg-checkbox {
  position: relative;
  padding-left: 28px;
  font-size: 16px;
  line-height: 1.5;
  color: var(--sg-muted);
}
.sg-checkbox a { color: var(--sg-accent); }
.sg-checkbox input {
  position: absolute;
  left: 0;
  top: 2px;
  width: 20px;
  height: 20px;
  margin: 0;
}
.sg-btn--solid-inv {
  background: #fff;
  color: #000;
  border-color: #fff;
}
.sg-btn--solid-inv::before { background: #000; }

/* Contact — тёмный блок (Figma 686:74, главная) */
.sg-contact--dark {
  background: #000;
  color: #fff;
  margin-top: 0;
}
.sg-contact--dark .sg-contact__sub { color: rgba(255,255,255,0.5); }
.sg-contact--dark .sg-contact__ceo strong { color: #fff; }
.sg-contact--dark .sg-contact__ceo .sg-contact__sub {
  font-size: 16px;
  margin-bottom: 0;
}
.sg-contact--dark .sg-checkbox { color: #fff; }
.sg-contact--dark .sg-checkbox a {
  color: var(--sg-accent);
  text-decoration: none;
}
.sg-contact--dark .sg-checkbox a:hover { text-decoration: underline; }
.sg-contact--dark .sg-field input,
.sg-contact--dark .sg-field textarea {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 4px;
  color: #fff;
  font-size: 18px;
  line-height: 1.5;
  min-height: 60px;
  padding: 16px;
}
.sg-contact--dark .sg-field textarea { min-height: 160px; }
.sg-contact--dark .sg-field input::placeholder,
.sg-contact--dark .sg-field textarea::placeholder { color: rgba(255,255,255,0.5); }
.sg-contact--dark .sg-form-msg--ok { background: rgba(255,255,255,0.12); color: #fff; }
.sg-contact--dark .sg-form-msg--err { background: rgba(254,51,0,0.2); color: #fff; }

.sg-footer {
  padding: 40px var(--sg-pad) 64px;
}
.sg-footer--dark {
  background: #000;
  color: #fff;
  margin-top: 0;
  padding: 64px var(--sg-pad) 40px;
}
.sg-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.sg-footer--dark .sg-footer__bottom a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 500;
}
.sg-footer--dark .sg-footer__bottom a:hover { opacity: 0.85; }
.sg-footer__brand {
  display: inline-block;
  line-height: 0;
}
.sg-footer__brand img {
  display: block;
  width: 187px;
  height: 36px;
  object-fit: contain;
}
.sg-footer__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}
.sg-footer__tagline {
  margin: 0;
  max-width: 541px;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: -0.264px;
}
.sg-footer__tagline-mark {
  position: relative;
  display: inline-block;
}
.sg-footer__tagline-mark::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 187px;
  height: 36px;
  transform: translate(-50%, -50%);
  background: url('/assets/img/footer-tagline-mark.svg') no-repeat center / contain;
  pointer-events: none;
}
.sg-footer__socials {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  font-size: 18px;
}
.sg-footer__label {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.198px;
  color: #fff;
}
.sg-footer--docs .sg-footer__label {
  color: rgba(255, 255, 255, 0.5);
}
.sg-link-dot--inv { color: #fff; }
.sg-link-dot--inv::before { background: #fff; }
.sg-footer__line {
  height: 1px;
  background: rgba(255,255,255,0.15);
  margin: 0;
}
.sg-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  width: 100%;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: -0.198px;
}
.sg-footer__copy { color: rgba(255,255,255,0.5); }
.sg-footer__credit { color: rgba(255,255,255,0.5); text-decoration: underline; }
.sg-footer__nav-mobile {
  display: none;
  flex-wrap: wrap;
  gap: 16px 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.15);
}
.sg-footer__nav-mobile a { text-decoration: none; }

.sg-contact--documents .sg-contact__sub--docs-lead {
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 0;
}
.sg-contact--documents .sg-contact__ceo {
  margin-top: 48px;
}
.sg-contact--documents .sg-contact__socials {
  margin-top: 24px;
}
.sg-contact__brand-foot {
  margin-top: auto;
  padding-top: 48px;
}
.sg-contact__brand-foot-logo {
  display: inline-block;
  margin-bottom: 24px;
}
.sg-contact__brand-foot-logo img {
  display: block;
  width: 187px;
  height: auto;
}
.sg-contact__brand-foot-tagline {
  margin: 0;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.264px;
  text-transform: uppercase;
  color: #fff;
  max-width: 541px;
}
.sg-footer--docs .sg-footer__inner { gap: 40px; }
.sg-footer--docs .sg-link-dot--inv {
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sg-footer__docs-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 24px 40px;
}
.sg-footer__docs-mail,
.sg-footer__docs-career-wrap {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.sg-footer__docs-career-wrap { justify-self: end; }
.sg-footer__docs-email {
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: -0.198px;
  font-weight: 500;
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sg-footer__docs-email:hover { opacity: 0.85; }
.sg-footer__bottom--docs {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  align-items: start;
  gap: 24px 40px;
}
.sg-footer__legal {
  font-size: 16px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.5);
}
.sg-footer__legal p { margin: 0; }
.sg-footer__docs-career {
  justify-self: end;
  font-size: 18px;
}
.sg-link-dot {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.sg-link-dot::before {
  content: "";
  width: 8px;
  height: 8px;
  background: currentColor;
}
.sg-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  max-width: 100%;
}
.sg-link-arrow span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Form */
.sg-contact__socials { display: flex; gap: 16px; flex-wrap: wrap; margin: 0; }
.sg-honeypot { position: absolute; left: -9999px; opacity: 0; height: 0; width: 0; }
.sg-form-msg { margin: 0 0 24px; padding: 16px 20px; border-radius: 4px; font-size: 16px; }
.sg-form-msg--ok { background: #e8f5e9; color: #1b5e20; }
.sg-form-msg--err { background: #ffebee; color: #b71c1c; }

/* Cases filter */
.sg-cases__card[hidden] { display: none; }
.sg-cases__row[hidden] { display: none; }

/* Team interactive */
.sg-team__card[role="button"] { cursor: pointer; }
.sg-team__card[role="button"]:hover .sg-team__card-img img { opacity: 0.92; }

/* Popup — Figma 680:1891 (команда), отзыв — тёмная карточка */
.sg-popup {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s, visibility 0.25s;
}
.sg-popup.is-open { opacity: 1; visibility: visible; }
.sg-popup__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}
.sg-popup__panel {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  gap: 24px;
  max-width: calc(100vw - 48px);
  max-height: 90vh;
}
.sg-popup__dialog {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  max-width: 621px;
  max-height: 90vh;
  overflow-y: auto;
  background: #1f1f1f;
  color: #fff;
  border-radius: var(--sg-radius);
  padding: 40px;
  box-sizing: border-box;
}
.sg-popup.is-team .sg-popup__dialog {
  max-width: 888px;
  background: var(--sg-popup-team-bg);
  color: #000;
}
.sg-popup__head {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin: 0;
  max-width: 541px;
}
.sg-popup__head .sg-popup__avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.sg-popup__head-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  flex: 1 1 0;
}
.sg-popup__close {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: var(--sg-popup-team-bg);
  cursor: pointer;
  transition: opacity 0.2s;
}
.sg-popup__close img {
  display: block;
  width: 24px;
  height: 24px;
}
.sg-popup.is-review .sg-popup__close {
  background: #1f1f1f;
  border: 1px solid #fff;
}
.sg-popup.is-review .sg-popup__close img { filter: brightness(0) invert(1); }
.sg-popup__close:hover { opacity: 0.85; }
.sg-popup__title {
  margin: 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.198px;
  color: #fff;
}
.sg-popup.is-team .sg-popup__title { color: #000; }
.sg-popup__subtitle {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--sg-muted-inv);
}
.sg-popup.is-team .sg-popup__subtitle { color: var(--sg-muted); }
.sg-popup__body {
  margin: 0;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.5;
  color: #fff;
  white-space: pre-wrap;
}
.sg-popup.is-team .sg-popup__body { color: #000; }
.sg-popup__body p { margin: 0 0 1.5em; }
.sg-popup__body p:last-child { margin-bottom: 0; }

body.sg-popup-open,
body.sg-nav-open,
body.sg-lightbox-open { overflow: hidden; }
.sg-reviews__nav-btn { cursor: pointer; }
@media (hover: hover) {
  .sg-reviews__nav-btn:hover,
  .sg-reviews__nav-btn:focus-visible {
    border-color: var(--sg-accent);
    color: var(--sg-accent);
  }
  .sg-contractors__nav-btn:hover,
  .sg-contractors__nav-btn:focus-visible {
    border-color: var(--sg-accent);
    color: var(--sg-accent);
  }
}

/* Cookie */
.sg-cookie {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 130;
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.1);
}
.sg-cookie[hidden] { display: none !important; }
.sg-cookie__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  padding: 20px var(--sg-pad);
}
.sg-cookie__text {
  margin: 0;
  max-width: 900px;
  font-size: 16px;
  line-height: 1.5;
  color: var(--sg-muted);
}
.sg-cookie__text a {
  color: var(--sg-accent);
  text-decoration: underline;
}
.sg-cookie__btn { flex-shrink: 0; }

/* Header nav */
.sg-header__burger {
  display: none;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid #000;
  border-radius: 4px;
  background: transparent;
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: border-color 0.2s ease;
}
@media (hover: hover) {
  .sg-header__burger:hover,
  .sg-header__burger:focus-visible {
    border-color: var(--sg-accent);
  }
}
.sg-header__burger span {
  display: block;
  width: 20px;
  height: 2px;
  background: #000;
}
.sg-header__nav {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-left: auto;
}
.sg-header__link {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.198px;
}
.sg-header__link.is-active { color: var(--sg-accent); }
.sg-header__cta { flex-shrink: 0; }
.sg-header__cta-desktop { display: none; flex-shrink: 0; }

@media (min-width: 1101px) {
  .page-home .sg-header__burger,
  .page-documents .sg-header__burger,
  .page-offer .sg-header__burger,
  .page-default .sg-header__burger,
  .page-privacy .sg-header__burger,
  .page-brief .sg-header__burger,
  .page-error .sg-header__burger { display: none !important; }
  .page-home .sg-header__nav,
  .page-documents .sg-header__nav,
  .page-offer .sg-header__nav,
  .page-default .sg-header__nav,
  .page-privacy .sg-header__nav,
  .page-brief .sg-header__nav,
  .page-error .sg-header__nav { display: none; }
  .page-home .sg-header__cta-desktop,
  .page-documents .sg-header__cta-desktop,
  .page-offer .sg-header__cta-desktop,
  .page-default .sg-header__cta-desktop,
  .page-privacy .sg-header__cta-desktop,
  .page-brief .sg-header__cta-desktop,
  .page-error .sg-header__cta-desktop { display: inline-flex; }
  .page-documents .sg-header__inner,
  .page-offer .sg-header__inner,
  .page-default .sg-header__inner,
  .page-privacy .sg-header__inner,
  .page-brief .sg-header__inner,
  .page-error .sg-header__inner { min-height: 0; }
}

/* Inner pages */
.sg-page-hero { padding: 64px var(--sg-pad) 40px; }
.sg-page-hero__title {
  margin: 0 0 24px;
  font-size: 48px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.96px;
  text-transform: uppercase;
  max-width: 1312px;
}
.sg-page-hero__lead--filter { color: var(--sg-accent); }

.sg-page-hero__lead {
  margin: 0;
  max-width: 755px;
  margin-left: auto;
  font-size: 24px;
  line-height: 1.5;
  color: var(--sg-muted);
}
.sg-cases > .sg-inner > .sg-cases__grid--listing { margin-top: 0; }
.sg-cases__filter-note {
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
  color: var(--sg-muted);
}
.sg-cases__filter-note--intro { color: var(--sg-text); }
.page-cases--filtered .sg-cases__filter-note { color: var(--sg-accent); }
.page-cases .sg-cases--archive { padding-top: 40px; }
.page-service .sg-service-detail { padding-top: 40px; }
.page-services .sg-services--page { padding-top: 40px; }
.sg-empty { color: var(--sg-muted); padding: 48px 0; }

/* Case detail */
.sg-case-hero {
  width: 100%;
  max-height: 700px;
  overflow: hidden;
  aspect-ratio: 1440 / 700;
}
.sg-case-hero img { width: 100%; height: 100%; object-fit: cover; }
.sg-case-intro {
  display: grid;
  grid-template-columns: 541px 755px;
  gap: var(--sg-gap);
  padding: 64px var(--sg-pad);
  align-items: start;
}
.sg-case-intro:not(:has(.sg-case-intro__right)) {
  grid-template-columns: minmax(0, 755px);
  justify-content: start;
}
.sg-case-intro:not(:has(.sg-case-intro__right)) .sg-case-intro__client {
  margin-bottom: 48px;
}
.sg-breadcrumbs {
  padding: 24px var(--sg-pad) 0;
}
.sg-breadcrumbs__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  color: var(--sg-muted);
}
.sg-breadcrumbs__item:not(:last-child)::after {
  content: '/';
  margin-left: 12px;
  color: var(--sg-muted);
  opacity: 0.6;
}
.sg-breadcrumbs__item a {
  color: var(--sg-muted);
  text-decoration: none;
}
.sg-breadcrumbs__item a:hover { color: var(--sg-accent); }
.sg-case-intro__left {
  display: flex;
  flex-direction: column;
}
.sg-case-intro__category {
  margin: 0 0 12px;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.sg-case-intro__category a {
  color: var(--sg-accent);
  text-decoration: none;
}
.sg-case-intro__category a:hover { text-decoration: underline; }
.sg-case-intro__client {
  margin: 0 0 64px;
  font-size: 40px;
  font-weight: 500;
  line-height: 1.1;
  text-transform: uppercase;
}
.sg-case-intro__title {
  margin: 0;
  font-size: 36px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.72px;
  text-transform: uppercase;
}
.sg-case-intro__right {
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: -0.264px;
  color: #000;
}
.sg-case-intro__right p { margin: 0; }
.sg-case-lead {
  padding: 0 var(--sg-pad) 64px;
  font-size: 36px;
  line-height: 1.3;
  letter-spacing: -0.396px;
  max-width: 755px;
  margin-left: auto;
}
.sg-case-lead p { margin: 0; }
.sg-case-concept {
  padding: 0 var(--sg-pad) 64px;
  display: grid;
  grid-template-columns: 541px 755px;
  gap: var(--sg-gap);
  align-items: start;
}
.sg-case-concept__title {
  margin: 0;
  font-size: 36px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.72px;
  text-transform: uppercase;
}
.sg-case-concept__text {
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: -0.264px;
  color: #000;
}
.sg-case-concept__text p { margin: 0 0 1em; }
.sg-case-concept__text p:last-child { margin-bottom: 0; }
.sg-case-nav .sg-link-arrow {
  color: #000;
  text-decoration: none;
}
.sg-case-nav .sg-link-arrow:hover { color: var(--sg-accent); }
.sg-case-nav__all { color: #000; }
.sg-case-nav__all:hover { color: var(--sg-accent); }
.sg-case-gallery {
  padding: 0 var(--sg-pad) 64px;
}
.sg-case-gallery__grid {
  display: grid;
  grid-template-columns: 541px 755px;
  gap: 16px;
}
.sg-case-gallery__item { margin: 0; border-radius: var(--sg-radius); overflow: hidden; }
.sg-case-gallery__item--col-left { grid-column: 1; }
.sg-case-gallery__item--col-right { grid-column: 2; }
.sg-case-gallery__item--col-full { grid-column: 1 / -1; }
.sg-case-gallery__item--lg { aspect-ratio: 755 / 440; }
.sg-case-gallery__item--md { aspect-ratio: 648 / 440; }
.sg-case-gallery__item--sm { aspect-ratio: 541 / 340; }
.sg-case-gallery__open {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: none;
  cursor: zoom-in;
}
.sg-case-gallery__open img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sg-case-gallery__open:focus-visible { outline: 2px solid var(--sg-accent); outline-offset: 2px; }

.sg-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.sg-lightbox[hidden] { display: none !important; }
.sg-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.88);
}
.sg-lightbox__close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 1px solid #fff;
  border-radius: 4px;
  background: transparent;
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.sg-lightbox__close:hover {
  border-color: var(--sg-accent);
  color: var(--sg-accent);
  background: transparent;
}
.sg-lightbox__figure {
  position: relative;
  z-index: 1;
  margin: 0;
  max-width: min(1200px, 100%);
  max-height: calc(100vh - 48px);
}
.sg-lightbox__img {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 48px);
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: var(--sg-radius);
}
.sg-lightbox__nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 1px solid #fff;
  border-radius: 4px;
  background: transparent;
  color: #fff;
  cursor: pointer;
}
.sg-lightbox__nav .sg-icon-arrow { width: 24px; }
.sg-lightbox__nav:hover {
  border-color: var(--sg-accent);
  color: var(--sg-accent);
  background: transparent;
}
.sg-lightbox__nav--prev { left: 16px; }
.sg-lightbox__nav--next { right: 16px; }
.sg-lightbox__nav[hidden] { display: none !important; }
.sg-lightbox__counter {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10002;
  margin: 0;
  color: rgba(255, 255, 255, 0.85);
  font-size: 14px;
  letter-spacing: 0.02em;
  pointer-events: none;
}

.page-brief .sg-brief {
  display: flex;
  flex-direction: column;
  gap: 48px;
  padding: 64px var(--sg-pad) 80px;
}
.page-brief .sg-brief .sg-legal__title { margin: 0; }
.sg-brief__lead {
  margin: 0;
  max-width: 755px;
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: -0.264px;
  color: #000;
}
.sg-brief__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.sg-case-nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 24px;
  align-items: center;
  padding: 0 var(--sg-pad) 64px;
}
.sg-case-nav__side { min-width: 0; }
.sg-case-nav__side--end { text-align: right; }
.sg-case-nav__side a,
.sg-case-nav__all {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.198px;
}
.sg-case-related { padding: 0 var(--sg-pad) 64px; }
.sg-case-related > .sg-inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.sg-case-related .sg-sec-head { margin-bottom: 0; }
.sg-case-related .sg-cases__grid--listing { margin-top: 0; }
.sg-case-related__all { margin: 0; }

/* Legal */
/* 404 */
.sg-page--error .sg-error {
  padding: 120px var(--sg-pad) 80px;
  text-align: center;
  max-width: 755px;
  margin: 0 auto;
}
.sg-error__code {
  margin: 0 0 16px;
  font-size: 120px;
  font-weight: 500;
  line-height: 1;
  color: var(--sg-accent);
  letter-spacing: -4px;
}
.sg-error__title {
  margin: 0 0 24px;
  font-size: 36px;
  font-weight: 500;
  line-height: 1.1;
}
.sg-error__lead { margin: 0 0 40px; color: var(--sg-muted); font-size: 18px; }
.sg-error__actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

.page-documents .sg-breadcrumbs,
.page-offer .sg-breadcrumbs,
.page-default .sg-breadcrumbs,
.page-privacy .sg-breadcrumbs { display: none; }

.sg-page--legal .sg-legal {
  display: flex;
  flex-direction: column;
  gap: 48px;
  padding: 64px var(--sg-pad);
}
.sg-legal__title {
  margin: 0;
  font-size: 36px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.72px;
}
.sg-legal__body {
  width: 100%;
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: -0.264px;
  color: #000;
}
.sg-legal__body p { margin: 0 0 1em; }
.sg-legal__body p:last-child { margin-bottom: 0; }
.sg-legal__body a { color: var(--sg-accent); }
.sg-legal__body h2 { font-size: 24px; font-weight: 500; margin: 48px 0 24px; }
