/* Remaining V6 sections: protective, task-to-solution, advantages, about, process, FAQ, contacts, footer */

.rsn-protective {
  position: relative;
  min-height: 760px;
  padding: 104px 100px;
  color: var(--rsn-white);
  background: #07182b;
  overflow: hidden;
}

.rsn-protective__inner {
  position: relative;
  z-index: 2;
  max-width: var(--rsn-container);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 556px) minmax(0, 620px);
  gap: 64px;
  align-items: center;
  justify-content: space-between;
}

.rsn-protective__copy {
  order: 1;
  display: flex;
  flex-direction: column;
  gap: 22px;
  max-width: 556px;
}

.rsn-protective__figure {
  order: 2;
  position: relative;
  width: 100%;
  max-width: 620px;
  height: 456px;
  margin: 0;
  border: 1px solid #26435e;
  border-radius: 18px;
  overflow: hidden;
  background: #0a2036;
  justify-self: end;
}

.rsn-protective__figure > img:first-child {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rsn-protective__badge {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 64px;
  height: 64px;
}

.rsn-protective__eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #9cccf1;
}

.rsn-protective__eyebrow--mobile,
.rsn-protective__body--mobile {
  display: none;
}

.rsn-protective__title {
  font-size: 46px;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.8px;
}

.rsn-protective__body {
  font-size: 17px;
  line-height: 1.5;
  color: #c9d5e2;
}

.rsn-protective__services {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 20px;
  margin-top: 8px;
}

.rsn-protective__service {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
}

.rsn-protective__service::before {
  content: "";
  width: 16px;
  height: 2px;
  border-radius: 0;
  background: #d13632;
  flex-shrink: 0;
}

.rsn-protective__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-top: 8px;
}

.rsn-protective__micro {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
  color: #9fb0c2;
  max-width: 220px;
}


/* Task to Solution */
.rsn-tts {
  background: #f5f1ea;
  padding: 120px 100px;
}

.rsn-tts__inner {
  max-width: var(--rsn-container);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 480px);
  gap: 56px;
  align-items: start;
}

.rsn-tts__title {
  font-size: 48px;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.8px;
  color: #17202b;
  max-width: 640px;
  margin-bottom: 40px;
}

.rsn-tts__steps {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.rsn-tts__step {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  align-items: start;
  padding-bottom: 20px;
  border-bottom: 1px solid #d8e0e8;
}

.rsn-tts__step:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.rsn-tts__icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1267b1;
}

.rsn-tts__icon img {
  width: 28px;
  height: 28px;
}

.rsn-tts__num {
  font-size: 12px;
  font-weight: 600;
  color: #627181;
  letter-spacing: 0.6px;
  margin-bottom: 4px;
}

.rsn-tts__step-title {
  font-size: 18px;
  font-weight: 700;
  color: #17202b;
  margin-bottom: 6px;
}

.rsn-tts__step-desc {
  font-size: 15px;
  line-height: 1.5;
  color: #657180;
}

.rsn-tts__visual {
  border-radius: 20px;
  overflow: hidden;
  background: #e8e2d8;
  aspect-ratio: 4 / 5;
}

.rsn-tts__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Advantages */
.rsn-advantages {
  position: relative;
  background: #081b33;
  color: var(--rsn-white);
  padding: 56px 100px 72px;
}

.rsn-advantages__inner {
  position: relative;
  max-width: var(--rsn-container);
  margin-inline: auto;
}

.rsn-advantages__inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: #24425e;
}

.rsn-advantages__inner::after {
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  width: 48px;
  height: 5px;
  background: #c92a2a;
}

.rsn-advantages__head {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 40px;
  margin-bottom: 40px;
  padding-top: 28px;
}

.rsn-advantages__head--mobile {
  display: none;
}

.rsn-advantages__eyebrow {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #6e8da8;
  margin-bottom: 14px;
}

.rsn-advantages__title {
  font-size: 48px;
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -1.2px;
}

.rsn-advantages__marker {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.9px;
  text-transform: uppercase;
  color: #5fb3f3;
  margin-bottom: 12px;
}

.rsn-advantages__desc {
  font-size: 16px;
  line-height: 1.45;
  color: #b5c5d4;
}

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

.rsn-adv-card {
  background: #0d243e;
  border: 1px solid #29445f;
  border-radius: 12px;
  padding: 24px;
  min-height: 323px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.rsn-adv-card--featured {
  background: #1267b1;
  border-color: #2e81c9;
}

.rsn-adv-card__marker {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 32px;
  margin-bottom: 4px;
}

.rsn-adv-card__icon {
  width: 30px;
  height: 30px;
}

.rsn-adv-card--featured .rsn-adv-card__icon {
  filter: brightness(0) invert(1);
}

.rsn-adv-card__index {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.7px;
  color: #6e8da8;
}

.rsn-adv-card--featured .rsn-adv-card__index {
  color: #c8e7ff;
}

.rsn-adv-card__accent {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 6px;
  background: #173553;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.7px;
  text-transform: uppercase;
}

.rsn-adv-card--featured .rsn-adv-card__accent {
  background: #ffffff;
  color: #0d5c9f;
}

.rsn-adv-card__accent--warranty {
  background: #7c2836;
  color: #ffffff;
}

.rsn-adv-card__title {
  font-size: 21px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.25px;
}

.rsn-adv-card__title-mobile {
  display: none;
}

.rsn-adv-card__desc {
  font-size: 14.5px;
  line-height: 1.42;
  color: #b5c5d4;
}

.rsn-adv-card--featured .rsn-adv-card__desc {
  color: #e4f3ff;
}

/* About */
.rsn-about {
  background: #f7f9fb;
  padding: 112px 100px;
}

.rsn-about__inner {
  max-width: var(--rsn-container);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.rsn-about__editorial {
  display: grid;
  grid-template-columns: minmax(0, 584px) minmax(0, 600px);
  gap: 56px;
  align-items: start;
  justify-content: space-between;
}

.rsn-about__copy {
  display: flex;
  flex-direction: column;
  gap: 22px;
  max-width: 584px;
}

.rsn-about__eyebrow-row {
  display: flex;
  align-items: center;
  gap: 14px;
}

.rsn-about__eyebrow-accent {
  display: block;
  width: 42px;
  height: 3px;
  background: #c92a2a;
  flex-shrink: 0;
}

.rsn-about__eyebrow {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #1267b1;
  margin: 0;
}

.rsn-about__title {
  font-size: 42px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.7px;
  color: #17202b;
  margin: 0;
}

.rsn-about__lead {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.45;
  color: #263342;
  margin: 0;
}

.rsn-about__body {
  font-size: 16.5px;
  line-height: 1.55;
  color: #5d6977;
  margin: 0;
}

.rsn-about__proof {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 100%;
}

.rsn-about__proof-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.rsn-about__metrics-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #617080;
  margin: 0;
}

.rsn-about__location {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: #617080;
}

.rsn-about__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  align-items: center;
  width: 100%;
  padding: 30px 36px;
  background: #081b33;
  border-radius: 0;
}

.rsn-about__metric {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.rsn-about__metric:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -14px;
  width: 1px;
  height: 76px;
  transform: translateY(-50%);
  background: #31506e;
}

.rsn-about__metric-value {
  display: block;
  font-size: 30px;
  font-weight: 600;
  letter-spacing: -0.4px;
  color: #ffffff;
  line-height: 1.2;
}

.rsn-about__metric-value--lg {
  font-size: 34px;
}

.rsn-about__metric-value--md {
  font-size: 32px;
}

.rsn-about__metric-label {
  font-size: 15px;
  color: #b9c6d3;
}

.rsn-about__mobile-statement {
  display: none;
}

.rsn-about__visual {
  position: relative;
  width: 100%;
  max-width: 600px;
  height: 500px;
  margin: 0;
  border-radius: 0;
  overflow: hidden;
  background: #dce5ee;
  justify-self: end;
}

.rsn-about__visual::before,
.rsn-about__visual::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  z-index: 1;
  pointer-events: none;
}

.rsn-about__visual::before {
  top: 0;
  height: 150px;
  background: linear-gradient(180deg, rgba(8, 27, 51, 0.45) 0%, rgba(8, 27, 51, 0) 100%);
}

.rsn-about__visual::after {
  bottom: 0;
  height: 200px;
  background: linear-gradient(0deg, rgba(8, 27, 51, 0.72) 0%, rgba(8, 27, 51, 0) 100%);
}

.rsn-about__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  position: absolute;
  inset: 0;
}

.rsn-about__visual-label {
  position: absolute;
  top: 24px;
  left: 24px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 35px;
  padding: 10px 14px;
  background: #f7f9fbef;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  color: #17202b;
}

.rsn-about__visual-marker {
  width: 8px;
  height: 8px;
  background: #c92a2a;
  flex-shrink: 0;
}

.rsn-about__caption {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 28px;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  padding: 0;
  background: none;
  border-radius: 0;
}

.rsn-about__caption-main {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.28;
  color: #ffffff;
  margin: 0;
}

.rsn-about__caption-index {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  color: #b9c6d3;
  white-space: nowrap;
}

/* Process five stages — vertical timeline */
.rsn-process {
  background: #081b33;
  color: var(--rsn-white);
  padding: 112px 100px;
}

.rsn-process__inner {
  max-width: var(--rsn-container);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 430px) minmax(0, 706px);
  gap: 104px;
  align-items: start;
  justify-content: space-between;
}

.rsn-process__header {
  display: flex;
  flex-direction: column;
  gap: 22px;
  max-width: 430px;
}

.rsn-process__eyebrow {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #69ade8;
  margin: 0;
}

.rsn-process__title {
  font-size: 50px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.7px;
  margin: 0;
}

.rsn-process__subtitle {
  font-size: 18px;
  line-height: 1.5;
  color: #b8c6d5;
  margin: 0;
}

.rsn-process__scope-wrap {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding-top: 24px;
  border-top: 1px solid #2b4058;
}

.rsn-process__scope-accent {
  display: block;
  width: 56px;
  height: 4px;
  background: #c92a2a;
}

.rsn-process__scope {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.8px;
  color: #7f94aa;
  margin: 0;
}

.rsn-process__stages {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 706px;
}

.rsn-process__stage {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.rsn-process__num {
  display: block;
  padding-top: 2px;
  font-size: 46px;
  font-weight: 600;
  letter-spacing: -1.2px;
  color: #6f8499;
  line-height: 1;
}

.rsn-process__stage:first-child .rsn-process__num {
  color: #ffffff;
}

.rsn-process__stage-copy {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 0 26px 28px;
  border-left: 1px solid #2b4058;
  border-bottom: 1px solid #2b4058;
}

.rsn-process__stage-title {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.25;
  margin: 0;
  color: #ffffff;
}

.rsn-process__stage-desc {
  font-size: 15px;
  line-height: 1.52;
  color: #aebece;
  margin: 0;
}

.rsn-process__title--mobile,
.rsn-process__subtitle--mobile,
.rsn-process__assurance {
  display: none;
}

/* FAQ */
.rsn-faq {
  background: #f5f1ea;
  padding: 112px 100px;
}

.rsn-faq__inner {
  max-width: var(--rsn-container);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 400px) minmax(0, 744px);
  gap: 96px;
  align-items: start;
  justify-content: space-between;
}

.rsn-faq__intro {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 400px;
}

.rsn-faq__eyebrow {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #1267b1;
  margin: 0;
}

.rsn-faq__eyebrow--mobile,
.rsn-faq__title--mobile {
  display: none;
}

.rsn-faq__title {
  font-size: 46px;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.8px;
  color: #17202b;
  margin: 0;
}

.rsn-faq__body {
  font-size: 17px;
  line-height: 1.55;
  color: #5f6872;
  margin: 0;
}

.rsn-faq__support {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
  color: #17202b;
  margin: 0;
}

.rsn-faq__cta {
  align-self: flex-start;
  min-height: 52px;
  height: 52px;
  padding-inline: 18px;
  color: #1267b1;
  border-color: #1267b1;
  background: transparent;
}

.rsn-faq__cta:hover {
  background: rgba(18, 103, 177, 0.08);
  color: #0d5c9f;
}

.rsn-faq__list {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #d8e0e8;
  border-radius: 12px;
  overflow: hidden;
}

.rsn-faq__item {
  border-bottom: 1px solid #d8e0e8;
  background: #ffffff;
}

.rsn-faq__item:last-child {
  border-bottom: none;
}

.rsn-faq__item.is-open {
  background: #f5f8fb;
}

.rsn-faq__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 26px;
  text-align: left;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.35;
  color: #17202b;
  background: none;
  border: none;
  cursor: pointer;
}

.rsn-faq__item.is-open .rsn-faq__question {
  font-size: 19px;
  font-weight: 700;
  padding: 26px 26px 0;
}

.rsn-faq__icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 0;
  border: none;
  position: relative;
}

.rsn-faq__icon::before,
.rsn-faq__icon::after {
  content: "";
  position: absolute;
  background: #1267b1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.rsn-faq__icon::before {
  width: 14px;
  height: 2px;
}

.rsn-faq__icon::after {
  width: 2px;
  height: 14px;
}

.rsn-faq__item.is-open .rsn-faq__icon::after {
  display: none;
}

.rsn-faq__answer {
  font-size: 15px;
  line-height: 1.55;
  color: #5f6872;
  max-width: none;
  padding-left: 26px;
  padding-right: 26px;
}

/* Contacts + form /* Lead form section */
.rsn-lead {
  background: #f2f6fa;
  padding: 80px 100px 40px;
}

.rsn-lead__inner {
  max-width: var(--rsn-container);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 520px);
  gap: 48px;
  align-items: start;
}

.rsn-lead__header {
  max-width: 520px;
  padding-top: 12px;
}

.rsn-lead__eyebrow {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #1267b1;
  margin-bottom: 16px;
}

.rsn-lead__title {
  font-size: 42px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.8px;
  color: #17202b;
  margin-bottom: 16px;
}

.rsn-lead__intro {
  font-size: 17px;
  line-height: 1.5;
  color: #5f6872;
}

/* Contacts — V6 desktop (no form in columns) */
.rsn-contacts {
  background: #f2f6fa;
  padding: 80px 100px 72px;
}

.rsn-contacts__inner {
  max-width: var(--rsn-container);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.rsn-contacts__header {
  max-width: 760px;
}

.rsn-contacts__eyebrow {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #1267b1;
  margin-bottom: 16px;
}

.rsn-contacts__title {
  font-size: 52px;
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -1.2px;
  color: #17202b;
}

.rsn-contacts__title--mobile {
  display: none;
}

.rsn-contacts__content {
  display: grid;
  grid-template-columns: minmax(0, 560px) minmax(0, 600px);
  gap: 80px;
  align-items: start;
}

.rsn-contacts__phone-label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #627181;
  margin-bottom: 8px;
}

.rsn-contacts__phone-label--mobile {
  display: none;
}

.rsn-contacts__row--address {
  display: none;
}

.rsn-contacts__phone {
  display: inline-block;
  font-size: 44px;
  font-weight: 600;
  letter-spacing: -1px;
  color: #1267b1;
  text-decoration: none;
  margin-bottom: 8px;
}

.rsn-contacts__phone:hover {
  color: var(--rsn-blue-hover);
  text-decoration: none;
}

.rsn-contacts__phone-note {
  font-size: 14px;
  color: #627181;
  margin-bottom: 20px;
}

.rsn-contacts__email {
  display: inline-block;
  font-size: 20px;
  font-weight: 600;
  color: #081321;
  text-decoration: none;
  margin-bottom: 28px;
}

.rsn-contacts__coverage {
  background: #081b33;
  border-radius: 12px;
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.rsn-contacts__coverage-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #79b8f2;
}

.rsn-contacts__coverage-value {
  font-size: 24px;
  font-weight: 600;
  color: #ffffff;
}

.rsn-contacts__details {
  display: flex;
  flex-direction: column;
}

.rsn-contacts__detail {
  padding: 22px 0;
  border-bottom: 1px solid #d8e0e8;
}

.rsn-contacts__detail:first-child {
  border-top: 1px solid #d8e0e8;
}

.rsn-contacts__meta-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  color: #627181;
  margin-bottom: 8px;
}

.rsn-contacts__meta-value {
  font-size: 17px;
  font-weight: 500;
  line-height: 1.5;
  color: #17202b;
  white-space: pre-line;
}

.rsn-contacts__hours {
  display: none;
}

/* Footer */
.rsn-footer {
  background: #061426;
  color: #c9d5e2;
  padding: 52px 100px 24px;
}

.rsn-footer__inner {
  max-width: var(--rsn-container);
  margin-inline: auto;
}

.rsn-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 308px) minmax(0, 220px) minmax(0, 300px) minmax(0, 260px);
  gap: 56px;
  justify-content: space-between;
  padding-bottom: 0;
  border-bottom: none;
}

.rsn-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.rsn-footer__logo {
  width: 140px;
  height: auto;
  filter: brightness(0) invert(1);
  opacity: 0.92;
}

.rsn-footer__brand-name {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.4px;
  color: var(--rsn-white);
}

.rsn-footer__desc {
  font-size: 15px;
  line-height: 1.5;
  white-space: pre-line;
}

.rsn-footer__col-title {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #79b8f2;
  margin-bottom: 16px;
}

.rsn-footer__nav {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.rsn-footer__nav a {
  font-size: 15px;
  font-weight: 500;
  color: #c9d5e2;
  text-decoration: none;
}

.rsn-footer__nav a:hover {
  color: var(--rsn-white);
}

.rsn-footer__phone {
  display: block;
  font-size: 25px;
  font-weight: 600;
  letter-spacing: -0.4px;
  color: var(--rsn-white);
  text-decoration: none;
  margin-bottom: 10px;
}

.rsn-footer__email {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: #9cccf1;
  text-decoration: none;
  margin-bottom: 10px;
}

.rsn-footer__coverage {
  font-size: 14px;
}

.rsn-footer__legal-name {
  font-size: 15px;
  font-weight: 600;
  color: var(--rsn-white);
  margin-bottom: 8px;
}

.rsn-footer__legal-line {
  font-size: 14px;
  margin-bottom: 4px;
}

.rsn-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px 24px;
  flex-wrap: wrap;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid #ffffff24;
  font-size: 13px;
  color: #aebbc8;
}

.rsn-footer__bottom a {
  color: #dce5ed;
  text-decoration: none;
}

.rsn-footer__bottom a:hover {
  color: var(--rsn-white);
  text-decoration: underline;
}

.rsn-footer__dev {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  margin-left: auto;
}

.rsn-footer__dev:hover {
  text-decoration: none;
  opacity: 0.92;
}

.rsn-footer__dev-label {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.2px;
  color: #7f94aa;
  white-space: nowrap;
}

.rsn-footer__dev-logo {
  display: block;
  width: auto;
  height: 36px;
  max-width: 160px;
  object-fit: contain;
  object-position: left center;
}


.rsn-faq__item.is-open .rsn-faq__question {
  font-weight: 700;
}

@media (max-width: 1279px) {
  .rsn-protective,
  .rsn-tts,
  .rsn-advantages,
  .rsn-about,
  .rsn-process,
  .rsn-faq,
  .rsn-lead,
  .rsn-contacts,
  .rsn-footer {
    padding-inline: var(--rsn-gutter);
  }

  .rsn-advantages__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rsn-about__editorial {
    grid-template-columns: 1fr;
  }

  .rsn-about__visual {
    max-width: none;
    height: 420px;
    justify-self: stretch;
  }

  .rsn-process__inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .rsn-faq__inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .rsn-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }

  .rsn-contacts__content,
  .rsn-lead__inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

@media (max-width: 1023px) {
  #main {
    display: flex;
    flex-direction: column;
  }

  #hero { order: 1; }
  #systems { order: 2; }
  #navigator { order: 3; }
  #protective-netting { order: 4; }
  #task-to-solution { order: 5; }
  #process { order: 6; }
  #advantages { order: 7; }
  #about { order: 8; }
  #faq { order: 9; }
  #lead { order: 10; }
  #contacts { order: 11; }

  .rsn-protective,
  .rsn-tts,
  .rsn-advantages,
  .rsn-about,
  .rsn-process,
  .rsn-faq,
  .rsn-lead,
  .rsn-contacts {
    padding: 54px 16px;
  }

  .rsn-footer {
    padding: 40px 16px 24px;
  }

  /* Protective — mobile light composition */
  .rsn-protective {
    min-height: 0;
    background: #f4f7fa;
    color: #17202b;
    padding: 0 0 54px;
  }

  .rsn-protective__inner {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .rsn-protective__figure {
    order: 0;
    height: 252px;
    max-width: none;
    width: 100%;
    border: none;
    border-radius: 0;
    justify-self: stretch;
  }

  .rsn-protective__badge {
    top: 16px;
    right: 16px;
    width: 44px;
    height: 44px;
  }

  .rsn-protective__copy {
    order: 1;
    max-width: none;
    padding: 28px 16px 0;
    gap: 16px;
  }

  .rsn-protective__eyebrow--desktop,
  .rsn-protective__body--desktop,
  .rsn-protective__services,
  .rsn-protective__micro {
    display: none;
  }

  .rsn-protective__eyebrow--mobile,
  .rsn-protective__body--mobile {
    display: block;
  }

  .rsn-protective__eyebrow--mobile {
    color: #c92a2a;
  }

  .rsn-protective__body--mobile {
    color: #5d6a78;
    font-size: 15px;
  }

  .rsn-protective__title {
    font-size: 31px;
    letter-spacing: -0.5px;
    color: #17202b;
  }

  .rsn-protective__actions {
    margin-top: 4px;
  }

  .rsn-protective__actions .rsn-btn {
    width: 100%;
  }

  /* TTS */
  .rsn-tts {
    padding: 54px 16px 58px;
  }

  .rsn-tts__inner {
    display: flex;
    flex-direction: column;
    gap: 28px;
    grid-template-columns: none;
  }

  .rsn-tts__content {
    display: contents;
  }

  .rsn-tts__title {
    order: 1;
    font-size: 31px;
    margin-bottom: 0;
  }

  .rsn-tts__visual {
    display: block;
    order: 2;
    aspect-ratio: 358 / 275;
    border-radius: 16px;
  }

  .rsn-tts__steps {
    order: 3;
  }

  .rsn-tts__step {
    padding-block: 16px;
  }

  /* Process mobile */
  .rsn-process {
    padding: 54px 16px 48px;
  }

  .rsn-process__inner {
    display: flex;
    flex-direction: column;
    gap: 28px;
  }

  .rsn-process__header {
    max-width: none;
    gap: 12px;
  }

  .rsn-process__title--desktop,
  .rsn-process__subtitle--desktop,
  .rsn-process__scope-wrap {
    display: none;
  }

  .rsn-process__title--mobile,
  .rsn-process__subtitle--mobile {
    display: block;
  }

  .rsn-process__title--mobile {
    font-size: 31px;
  }

  .rsn-process__subtitle--mobile {
    font-size: 15px;
    color: #b8c6d5;
  }

  .rsn-process__stages {
    max-width: none;
  }

  .rsn-process__stage {
    grid-template-columns: 42px 1fr;
    gap: 16px;
    padding: 0;
    border-bottom: none;
  }

  .rsn-process__stage:last-child {
    border-bottom: none;
  }

  .rsn-process__num {
    padding-top: 2px;
    font-size: 18px;
    font-weight: 700;
    color: #69ade8;
    text-align: center;
  }

  .rsn-process__stage:first-child .rsn-process__num {
    color: #ffffff;
  }

  .rsn-process__stage-copy {
    gap: 7px;
    padding: 2px 0 18px;
    border-left: none;
    border-bottom: 1px solid #2b4058;
  }

  .rsn-process__stage:last-child .rsn-process__stage-copy {
    border-bottom: none;
  }

  .rsn-process__stage-title {
    font-size: 17px;
  }

  .rsn-process__stage-desc {
    font-size: 14px;
  }

  .rsn-process__assurance {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    padding: 14px 16px;
    border-radius: 12px;
    background: #102c46;
    font-size: 14px;
    color: #dce7f1;
  }

  /* Advantages mobile grid */
  .rsn-advantages {
    background: #ffffff;
    color: #17202b;
    padding: 48px 16px;
  }

  .rsn-advantages__inner::before,
  .rsn-advantages__inner::after {
    display: none;
  }

  .rsn-advantages__head--desktop {
    display: none;
  }

  .rsn-advantages__head--mobile {
    display: block;
    margin-bottom: 24px;
    padding-top: 0;
  }

  .rsn-advantages__eyebrow--mobile {
    color: #c92a2a;
    margin-bottom: 10px;
  }

  .rsn-advantages__title--mobile {
    font-size: 28px;
    letter-spacing: -0.4px;
    color: #17202b;
  }

  .rsn-advantages__grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .rsn-adv-card {
    min-height: 130px;
    border-radius: 14px;
    padding: 18px 16px;
    gap: 10px;
    background: #f4f7fa;
    border: none;
    color: #17202b;
  }

  .rsn-adv-card:first-child {
    background: #081b33;
    color: #ffffff;
  }

  .rsn-adv-card--featured {
    background: #f4f7fa;
    border: none;
  }

  .rsn-adv-card__marker,
  .rsn-adv-card__accent,
  .rsn-adv-card__desc,
  .rsn-adv-card__title {
    display: none;
  }

  .rsn-adv-card__title-mobile {
    display: block;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.25;
  }

  .rsn-adv-card:first-child .rsn-adv-card__title-mobile {
    color: #ffffff;
  }

  .rsn-adv-card__icon {
    display: block;
    width: 24px;
    height: 24px;
    margin-bottom: 4px;
    filter: none;
  }

  .rsn-adv-card:first-child .rsn-adv-card__icon {
    filter: invert(68%) sepia(42%) saturate(508%) hue-rotate(169deg) brightness(98%) contrast(92%);
  }

  .rsn-adv-card .rsn-adv-card__icon {
    display: block;
  }

  /* About mobile dark statement */
  .rsn-about {
    background: #081b33;
    padding: 48px 16px;
  }

  .rsn-about__inner {
    display: block;
  }

  .rsn-about__editorial {
    display: block;
  }

  .rsn-about__copy,
  .rsn-about__visual,
  .rsn-about__proof {
    display: none;
  }

  .rsn-about__mobile-statement {
    display: block;
  }

  .rsn-about__mobile-statement .rsn-about__eyebrow {
    color: #69ade8;
  }

  .rsn-about__statement {
    font-size: 28px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.4px;
    color: #ffffff;
    margin-bottom: 28px;
  }

  .rsn-about__params {
    display: flex;
    flex-direction: column;
  }

  .rsn-about__param {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 72px;
    padding: 0;
    border-top: 1px solid #2b4058;
  }

  .rsn-about__param:last-child {
    border-bottom: none;
  }

  .rsn-about__param-value {
    font-size: 22px;
    font-weight: 600;
    color: #ffffff;
  }

  .rsn-about__param:nth-child(2) .rsn-about__param-value {
    font-size: 19px;
  }

  .rsn-about__param-label {
    font-size: 14px;
    color: #b8c6d5;
  }

  /* FAQ mobile */
  .rsn-faq {
    background: #f4f7fa;
    padding: 52px 16px 58px;
  }

  .rsn-faq__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .rsn-faq__intro {
    gap: 9px;
  }

  .rsn-faq__eyebrow--desktop,
  .rsn-faq__title--desktop,
  .rsn-faq__body,
  .rsn-faq__support,
  .rsn-faq__cta {
    display: none;
  }

  .rsn-faq__eyebrow--mobile,
  .rsn-faq__title--mobile {
    display: block;
  }

  .rsn-faq__eyebrow--mobile {
    color: #c92a2a;
  }

  .rsn-faq__title--mobile {
    font-size: 30px;
  }

  .rsn-faq__list {
    gap: 8px;
    background: transparent;
    border: none;
    border-radius: 0;
    overflow: visible;
  }

  .rsn-faq__item {
    border: 1px solid #d8e0e8;
    border-radius: 14px;
    background: #ffffff;
    margin-bottom: 0;
  }

  .rsn-faq__item + .rsn-faq__item {
    border-top: 1px solid #d8e0e8;
  }

  .rsn-faq__item.is-open {
    background: #ffffff;
  }

  .rsn-faq__question {
    padding: 20px 16px;
    font-size: 15px;
  }

  .rsn-faq__item.is-open .rsn-faq__question {
    font-size: 15px;
    padding: 18px 16px 0;
  }

  .rsn-faq__answer {
    padding-left: 16px;
    padding-right: 16px;
  }

  /* Lead mobile dark */
  .rsn-lead {
    background: #081b33;
    color: #ffffff;
    padding: 48px 16px 40px;
  }

  .rsn-lead__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .rsn-lead__eyebrow {
    color: #69ade8;
  }

  .rsn-lead__title {
    font-size: 30px;
    color: #ffffff;
  }

  .rsn-lead__intro {
    color: #b8c6d5;
    font-size: 15px;
  }

  .rsn-form__title--desktop,
  .rsn-form__intro--desktop {
    display: none;
  }

  .rsn-lead .rsn-form {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
  }

  /* Contacts mobile */
  .rsn-contacts {
    background: #ffffff;
    padding: 48px 16px 56px;
  }

  .rsn-contacts__title--desktop {
    display: none;
  }

  .rsn-contacts__title--mobile {
    display: block;
    font-size: 30px;
  }

  .rsn-contacts__eyebrow {
    color: #c92a2a;
  }

  .rsn-contacts__content {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .rsn-contacts__phone {
    font-size: 20px;
    color: #17202b;
  }

  .rsn-contacts__email {
    font-size: 17px;
    margin-bottom: 0;
  }

  .rsn-contacts__coverage,
  .rsn-contacts__details {
    display: none;
  }

  .rsn-contacts__phone-label--desktop {
    display: none;
  }

  .rsn-contacts__phone-label--mobile,
  .rsn-contacts__row--address {
    display: block;
  }

  .rsn-contacts__row {
    padding: 14px 0;
    border-bottom: 1px solid #e6ebf0;
  }

  .rsn-contacts__phone-note {
    display: none;
  }

  .rsn-contacts__address {
    font-size: 16px;
    line-height: 1.45;
    color: #17202b;
  }

  .rsn-contacts__row .rsn-contacts__email {
    margin-bottom: 0;
  }

  .rsn-contacts__hours {
    display: block;
    background: #f4f7fa;
    border-radius: 14px;
    padding: 18px 16px;
  }

  .rsn-contacts__hours-title {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #627181;
    margin-bottom: 12px;
  }

  .rsn-contacts__hours-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-top: 1px solid #dde5ec;
    font-size: 15px;
    color: #17202b;
  }

  .rsn-contacts__primary .rsn-contacts__phone-label {
    font-size: 12px;
  }

  .rsn-footer__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .rsn-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .rsn-footer__dev {
    margin-left: 0;
    margin-top: 8px;
  }

  .rsn-footer__dev-logo {
    height: 32px;
  }
}
