/* Approved R07 layouts, layered over the local site typography and controls. */
:root {
  --r07-ink: #10162e;
  --r07-blue: #1046fa;
  --r07-deep: #123ca9;
  --r07-paper: #fcfbf4;
  --r07-sky: #e6efff;
  --r07-peach: #ffead6;
  --r07-stroke: #bccffd;
  --r07-gap: clamp(12px, 1.4vw, 20px);
}
main > .r07-breadcrumbs {
  position: relative;
  z-index: 2;
  margin-block: 0;
  padding-block: clamp(14px, 1.75vw, 24px) 6px;
  font: 400 .9375rem/1.4 Roboto, Arial, sans-serif;
  color: var(--r07-ink);
}
.r07-breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  align-items: baseline;
  list-style: none;
  margin: 0;
  padding: 0;
}
.r07-breadcrumbs li {
  display: flex;
  gap: 12px;
  min-inline-size: 0;
  overflow-wrap: anywhere;
}
.r07-breadcrumbs li + li::before {
  content: "/";
  color: var(--r07-blue);
}
.r07-breadcrumbs a { color: #405fbb; }
.r07-breadcrumbs a:hover { text-decoration: underline; }

#main [data-r07-hero] .r07-hero-second { display: block; }
#main [data-r07-hero] .r07-hero-city { display: inline; white-space: nowrap; }
@media (min-width: 960px) {
  #main [data-r07-hero] .r07-hero-second { white-space: nowrap; }
  #main [data-r07-hero] .r07-hero-second [data-component-underline] { white-space: nowrap; }
}

.mega-menu__links[data-r07-platform-menu] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
[data-r07-platform-menu] .mega-menu__item { min-inline-size: 0; }
[data-r07-platform-menu] .mega-menu__link { text-align: center; }
[data-r07-platform-menu] .mega-menu__image { display: grid; place-items: center; }
[data-r07-platform-menu] .mega-menu__image img { display: block; object-fit: contain; }
@media (max-width: 479px) {
  .mega-menu__links[data-r07-platform-menu] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

#main section[data-r07] { background: var(--r07-paper); color: var(--r07-ink); }
#main .r07-heading { margin-block-end: clamp(22px, 3vw, 36px); }
#main .r07-heading h2 { margin: 0; }
#main .r07-heading p {
  margin-block-start: clamp(14px, 2vw, 22px);
  max-inline-size: 760px;
}
#main .r07-emphasis {
  display: inline-block;
  color: var(--r07-blue);
  max-inline-size: 100%;
  padding-block-end: .14em;
  background: var(--component-stroke) left bottom / 100% .19em no-repeat;
}
#main .r07-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--r07-gap);
}
#main .r07-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#main .r07-card {
  position: relative;
  min-inline-size: 0;
  border-radius: clamp(14px, 1.6vw, 23px);
  background: var(--r07-sky);
  padding: clamp(16px, 2vw, 26px);
}
#main .r07-card h3 { margin: 0 0 8px; }
#main .r07-card p { margin: 0; }
#main .r07-warm,
#main .r07-choice:nth-child(even) { background: var(--r07-peach); }
#main .r07-solid { background: var(--r07-blue); color: white; }
#main .r07-solid h3 { color: inherit; }
#main .r07-choice {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-block-size: 264px;
  padding-inline-end: 35%;
}
#main .r07-choice h3 { margin-block-start: 10px; }
#main .r07-choice p { margin-block-end: 18px; }
#main .r07-choice .button { margin-block-start: auto; min-inline-size: 0; }
#main .r07-choice-art {
  position: absolute;
  inset: 12% 2.5% 12% auto;
  inline-size: 30%;
  block-size: 76%;
  object-fit: contain;
  pointer-events: none;
}
#main .r07-pill {
  display: inline-block;
  padding: 4px 9px;
  border-radius: 6px;
  color: #902d11;
  background: #fffdf5;
  font: 700 .875rem/1.25 Roboto, Arial, sans-serif;
}
#main .r07-note {
  display: flex;
  gap: 14px 24px;
  justify-content: space-between;
  align-items: center;
  margin-block-start: 18px;
  padding: 16px 20px;
  border: 1px solid #cbdcff;
  border-radius: 15px;
  background: #eaf3ff;
}
#main .r07-note p { margin: 3px 0 0; }
#main .r07-aside-details { margin-block-start: 14px; font-size: .9375rem; }
#main .r07-aside-details summary { cursor: pointer; color: var(--r07-blue); }
#main .r07-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-block-start: 24px; }
#main .r07-secondary {
  display: inline-flex;
  min-inline-size: 0;
  justify-content: center;
  text-align: center;
  border: 2px solid var(--r07-blue);
  color: var(--r07-blue);
  background: transparent;
}
#main .r07-secondary:is(:hover,:focus-visible) { background: var(--r07-blue); color: white; }
#main .r07-icon {
  display: grid;
  place-items: center;
  inline-size: 62px;
  block-size: 62px;
  border-radius: 17px;
  flex: 0 0 auto;
  background: white;
  color: var(--r07-blue);
}
#main .r07-icon svg { width: 36px; height: 36px; }
#main .r07-solid .r07-icon { background: #ffffff24; color: white; }
#main [data-r07="budget"] .r07-card { display: flex; align-items: flex-start; flex-direction: column; }
#main [data-r07="budget"] .r07-card h3,
#main .r07-steps .r07-card h3 { margin-block-start: 14px; }
#main [data-r07="budget"] .r07-pill { margin-block-start: auto; }
#main [data-r07="budget"] .r07-card p { margin-block-end: 18px; }
#main .r07-steps { padding: 0; margin: 0; list-style: none; }
#main .r07-steps .r07-card { height: 100%; }
#main .r07-number {
  position: absolute;
  top: 18px;
  right: 22px;
  color: var(--r07-blue);
  font: 900 2rem/1 var(--bl-display, "Roboto Condensed", sans-serif);
}
#main .r07-route { color: var(--r07-blue); white-space: normal; font-weight: 700; }
#main .r07-route b { display: inline-block; border-radius: 4px; padding: 1px 4px; background: white; }
#main .r07-caption { margin-block-start: 12px; color: #445472; }
#main [data-r07="platforms"] .r07-container {
  padding: clamp(18px, 3vw, 38px);
  border-radius: 24px;
  background: var(--r07-deep);
  color: white;
}
#main [data-r07="platforms"] .r07-heading h2,
#main [data-r07="platforms"] .r07-emphasis { color: white; }
#main .r07-platform,
#main .r07-other-platform {
  color: var(--r07-ink);
  padding: clamp(12px, 1.4vw, 18px);
  text-decoration: none;
}
#main .r07-platform {
  display: grid;
  grid-template-columns: clamp(54px, 7vw, 96px) minmax(0, 1fr) 24px;
  align-items: center;
  gap: 10px;
  background: var(--r07-paper);
}
#main .r07-platform:is(:hover,:focus-visible) { background: var(--r07-sky); }
#main .r07-platform h3,
#main .r07-other-platform h3 { font-size: clamp(1.25rem, 1.8vw, 1.625rem); }
#main .r07-platform img { width: 100%; height: 78px; object-fit: contain; }
#main .r07-platform > svg { width: 22px; color: var(--r07-blue); }
#main .r07-other-platform .button { margin-block-start: 10px; }
#main .r07-scope { display: grid; grid-template-columns: 2fr 1fr; gap: var(--r07-gap); }
#main .r07-scope-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-content: start;
  column-gap: 12px;
}
#main .r07-scope-card .r07-icon { grid-row: 1 / span 2; width: 48px; height: 48px; border-radius: 12px; }
#main .r07-scope-card .r07-icon svg { width: 28px; height: 28px; }
#main .r07-scope-card h3 { font-size: clamp(1.25rem, 2vw, 1.625rem); }
#main .r07-inspection dl { margin: 12px 0 18px; }
#main .r07-inspection dt { font-weight: 750; }
#main .r07-inspection dd { margin: 4px 0 12px; }
#main .r07-scope-list { margin: 0; padding: 0; list-style: none; }
#main .r07-scope-card--illustrated {
  grid-template-columns: clamp(46px, 6vw, 80px) minmax(0, 1fr);
}
#main .r07-scope-card--illustrated .landing-scope__number {
  display: block;
  margin: 0 0 6px;
  font-size: 1.25rem;
}
#main .r07-scope-illustration {
  inline-size: 100%;
  block-size: auto;
  max-block-size: 80px;
  object-fit: contain;
}
#main .r07-scope-estimate > :is(img, svg) { width: 64px; height: 64px; object-fit: contain; margin-block-end: 14px; }
#main .r07-scope-estimate p + p { margin-block-start: 12px; }
#main [data-r07-google-prices] .landing-price__tier { padding: clamp(20px, 2.4vw, 32px); }
#main [data-r07-google-prices] .landing-price__tier--business { --price-fill: #0647ff; color: #fff; }
#main [data-r07-google-prices] .landing-price__tier--premium { --price-fill: #fffef8; color: var(--r07-ink); }
#main [data-r07-google-prices] .landing-price__tier--business :is(.landing-price__amount, .landing-price__unit) { color: #fff; }
#main [data-r07-google-prices] .landing-price__tier--premium .landing-price__amount { color: var(--r07-blue); }
#main [data-r07-google-prices] .landing-price__tier--premium .landing-price__unit { color: var(--r07-ink); }
#main [data-r07-google-prices] .landing-price__tier-heading { min-block-size: 0; }
#main [data-r07-google-prices] .landing-price__amount { margin-block-start: 14px; }
#main [data-r07-google-prices] .landing-price__value { font-size: clamp(2.15rem, 3.7vw, 3rem); }
#main [data-r07-google-prices] .landing-price__unit { font-size: clamp(1.125rem, 1.6vw, 1.375rem); }
#main [data-r07-google-prices] .landing-price__features { margin-block-start: 14px; }
#main [data-r07-google-prices] .landing-price__feature { display: block; position: relative; padding-inline-start: 1.4em; }
#main [data-r07-google-prices] .landing-price__feature::before {
  content: "✓";
  position: absolute;
  inset-inline-start: 0;
  font-weight: 800;
}
#main [data-r07-google-prices] .landing-price__title .r07-emphasis { display: inline-block; }
#main [data-r07-google-prices] .landing-price__route { display: none; }
#main [data-r07-google-prices] .landing-price__terms {
  display: block;
  max-inline-size: none;
  border: 1px solid var(--r07-stroke);
  border-radius: 16px;
}
#main [data-r07-google-prices] .landing-price__terms p { margin-block-start: 4px; }

#main [data-r07-form-panel] .project-cta__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
#main [data-r07-form-panel] .project-cta__field:has(.project-cta__consent),
#main [data-r07-form-panel] .project-cta__submit,
#main [data-r07-form-panel] .r07-form-task { grid-column: 1 / -1; }
#main [data-r07-form-panel] textarea { resize: vertical; width: 100%; }
#main [data-r07-form-panel] .r07-form-alternative { margin: 14px 0 8px; padding-block-start: 12px; border-top: 1px solid #cbdcff; font-weight: 700; }
#main .project-cta__panel > form ~ .project-cta__contacts {
  margin-block-start: var(--bl-cta-gap, 12px);
}
#main .project-cta__panel > .r07-form-alternative + .project-cta__contacts { margin-block-start: 0; }
#main [data-r07-lead="social"] { background: var(--r07-deep); color: white; }
#main .r07-social-contact { display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(18px, 4vw, 55px); }
#main .r07-social-panel { padding: clamp(16px, 2.5vw, 30px); border-radius: 20px; background: var(--r07-paper); color: var(--r07-ink); }
#main .r07-social-panel .project-cta__form-title { margin-block-end: 12px; }
#main .r07-social-panel .social-contact__links a { color: var(--r07-blue); }
#main .r07-social-panel .project-cta__submit {
  max-inline-size: none;
  background: var(--color-orange);
  color: white;
}
#main .r07-social-panel .project-cta__submit::before { background: var(--color-blue); }
#main .r07-social-panel .project-cta__submit:is(:hover,:focus-visible) { background: var(--color-deep); }

@media (max-width: 999px) {
  #main [data-r07="platforms"] .r07-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #main .r07-scope { grid-template-columns: 1fr; }
}
@media (max-width: 759px) {
  #main .r07-grid,
  #main .r07-grid--two,
  #main [data-r07="platforms"] .r07-grid,
  #main .r07-social-contact { grid-template-columns: 1fr; }
  #main .r07-note { align-items: flex-start; flex-direction: column; }
  #main .r07-choice { min-block-size: 0; padding-inline-end: 16px; padding-block-end: 124px; }
  #main .r07-choice-art { inset: auto 8px 8px auto; width: 115px; height: 105px; }
  #main .r07-choice .button { max-inline-size: 100%; }
}
@media (max-width: 479px) {
  #main [data-r07-form-panel] .project-cta__fields { grid-template-columns: 1fr; }
}
@media (forced-colors: active) {
  #main .r07-emphasis { background-image: none; }
  #main .r07-card { border: 1px solid CanvasText; }
}
