/* src/fonts.css */
@font-face {
  font-family: "Heebo";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/Heebo-400-XM47NX3X.woff2") format("woff2");
}
@font-face {
  font-family: "Heebo";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/Heebo-500-PYMM5NX2.woff2") format("woff2");
}
@font-face {
  font-family: "Heebo";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/Heebo-600-NV43INEF.woff2") format("woff2");
}
@font-face {
  font-family: "Heebo";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/Heebo-700-5CNF7KG3.woff2") format("woff2");
}
@font-face {
  font-family: "Heebo";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/Heebo-800-TXHTNDYW.woff2") format("woff2");
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/Roboto-400-EGZBOOGX.woff2") format("woff2");
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/Roboto-700-5ND3CA6V.woff2") format("woff2");
}
@font-face {
  font-family: "Rubik";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/Rubik-400-6CROCXPV.woff2") format("woff2");
}
@font-face {
  font-family: "Rubik";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/Rubik-500-2HUYFVWM.woff2") format("woff2");
}
@font-face {
  font-family: "Rubik";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/Rubik-600-24GGT56Z.woff2") format("woff2");
}
@font-face {
  font-family: "Rubik";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/Rubik-700-PT4TVRWN.woff2") format("woff2");
}
@font-face {
  font-family: "NotoAr";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  unicode-range:
    U+0600-06FF,
    U+0750-077F,
    U+FB50-FDFF,
    U+FE70-FEFF;
  src: url("/assets/NotoAr-Regular-SVYM2UTC.woff2") format("woff2");
}
@font-face {
  font-family: "NotoAr";
  font-style: normal;
  font-weight: 500 600;
  font-display: swap;
  unicode-range:
    U+0600-06FF,
    U+0750-077F,
    U+FB50-FDFF,
    U+FE70-FEFF;
  src: url("/assets/NotoAr-Medium-D5EQ4XYX.woff2") format("woff2");
}
@font-face {
  font-family: "NotoAr";
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
  unicode-range:
    U+0600-06FF,
    U+0750-077F,
    U+FB50-FDFF,
    U+FE70-FEFF;
  src: url("/assets/NotoAr-Bold-QEIJIR6L.woff2") format("woff2");
}

/* src/style.css */
html,
body,
#root {
  margin: 0;
  min-height: 100%;
}
body {
  background: var(--ds-page);
}
.gfix {
  --blue: #1f7fc0;
  --green: #7cb92f;
  --deep: #0f4c75;
}
.gfix.en {
  text-align: left;
}
.gfix.he {
  text-align: right;
}
.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.logo {
  display: block;
  width: 190px;
  max-width: 48vw;
  height: auto;
  mix-blend-mode: multiply;
}
.top-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.phone {
  font-weight: 700;
  color: var(--deep);
  text-decoration: none;
  font-size: 18px;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 22px;
  border-radius: 999px;
  text-decoration: none;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  border: 2px solid transparent;
  transition: transform .15s ease;
}
.btn:hover {
  transform: translateY(-1px);
}
.btn-primary {
  background:
    linear-gradient(
      90deg,
      var(--blue),
      #4a9d5a);
  color: #fff;
}
.btn-light {
  background: #fff;
  color: var(--deep);
}
.btn-ghost {
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .7);
  color: #fff;
  backdrop-filter: blur(4px);
}
.btn-outline {
  background: transparent;
  border-color: var(--blue);
  color: var(--blue);
}
.topbar {
  flex-wrap: wrap;
  border-bottom: 1px solid var(--ds-hairline);
  margin-bottom: 16px;
  padding-bottom: 6px;
}
.menu {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 14px;
  align-items: center;
  flex: 1;
  justify-content: center;
}
.menu a {
  padding: 10px 8px;
  font-size: 15px;
  color: var(--ds-ink-2);
  text-decoration: none;
}
.menu a[aria-current=page] {
  color: var(--blue, #1a73b8);
  font-weight: 800;
  background: rgba(110, 190, 70, .18);
  border-radius: 8px;
  padding-inline: 10px;
  box-shadow: inset 0 -3px 0 var(--green);
}
.dd {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0 14px;
}
@media (max-width: 600px) {
  .menu a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .phone {
    font-size: 15px;
  }
}
.hero {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  min-height: 420px;
  display: flex;
  align-items: center;
  background: #0f4c75;
}
.hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      120deg,
      rgba(8, 45, 75, .82),
      rgba(8, 45, 75, .35) 60%,
      rgba(60, 120, 40, .35));
}
.hero-body {
  position: relative;
  padding: 36px 28px;
  color: #fff;
  max-width: 760px;
}
.hero-bat {
  width: 54px;
  height: auto;
  margin-bottom: 10px;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .4));
}
.hero-title {
  margin: 0 0 20px;
  font-size: clamp(24px, 4.2vw, 40px);
  line-height: 1.25;
  color: #fff;
  border: 0 !important;
  padding: 0 !important;
}
.hero-title > span {
  display: block;
}
.hero-title > span:nth-child(3) {
  color: #cfe99a;
}
.hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 8px 0 0;
}
.hero-cta.center,
.center {
  justify-content: center;
  text-align: center;
}
.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin: 18px 0;
}
.card {
  position: relative;
  display: block;
  min-height: 230px;
  border-radius: 16px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  text-decoration: none;
  color: #fff;
}
.card-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(10, 50, 80, .05) 30%,
      rgba(10, 50, 80, .85));
}
.card-text {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.card-text b {
  font-size: 19px;
}
.card-text i {
  font-style: normal;
  font-size: 14px;
  color: #cfe99a;
}
.warranty {
  background:
    linear-gradient(
      90deg,
      var(--blue),
      var(--green));
  color: #fff;
  text-align: center;
  font-weight: 700;
  font-size: clamp(16px, 2.6vw, 22px);
  padding: 18px 14px;
  border-radius: 14px;
  margin: 8px 0 24px;
}
.split {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 24px;
  align-items: center;
}
.split-img {
  width: 100%;
  border-radius: 16px;
  display: block;
}
@media (max-width: 720px) {
  .split {
    grid-template-columns: 1fr;
  }
}
.gfix h2 {
  border-inline-start: 0;
  padding-inline-start: 0;
}
.pros h3 {
  color: var(--blue);
  margin-top: 0;
}
.strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.strip img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}
.divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 28px 0 8px;
}
.divider::before,
.divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--ds-hairline);
}
.divider img {
  width: 56px;
  height: auto;
}
.lead {
  background: #f2f8ee;
  border-radius: 16px;
  padding: 20px;
  margin: 24px 0;
  display: grid;
  gap: 10px;
}
.lead h2 {
  margin: 0 0 4px;
}
.lead-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.lead input,
.lead textarea {
  font: inherit;
  padding: 12px 14px;
  border: 1px solid var(--ds-hairline);
  border-radius: 12px;
  background: #fff;
  min-height: 44px;
  box-sizing: border-box;
  width: 100%;
}
.lead .btn {
  justify-self: start;
}
.muted {
  color: var(--ds-ink-2);
  font-size: 13px;
  margin: 0;
}
.page-head {
  border-radius: 16px;
  padding: 34px 22px;
  margin: 4px 0 16px;
  background-size: cover;
  background-position: center;
  color: #fff;
}
.page-head h1 {
  margin: 0;
  color: #fff;
  border: 0 !important;
  padding: 0 !important;
  font-size: clamp(24px, 4vw, 36px);
}
.page-head.plain {
  background:
    linear-gradient(
      100deg,
      var(--deep),
      var(--blue) 60%,
      #4a9d5a);
}
.page-head p {
  margin: 6px 0 0;
  opacity: .9;
}
.prose {
  max-width: 820px;
  line-height: 1.75;
}
.prose h3 {
  color: var(--deep);
  margin: 22px 0 6px;
}
.prose ul {
  padding-inline-start: 22px;
}
.post-img {
  float: inline-end;
  width: 220px;
  max-width: 45%;
  margin: 0 0 12px 16px;
  border-radius: 12px;
}
.he .post-img {
  margin: 0 0 12px 16px;
}
.en .post-img {
  margin: 0 16px 12px 0;
}
.sec {
  margin-top: 26px;
}
.gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 10px 0 16px;
}
.vid,
.post {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-decoration: none;
  color: inherit;
}
.vid-img {
  position: relative;
  display: block;
}
.vid img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}
.play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(15, 76, 117, .82);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.vid-t {
  font-size: 14px;
  line-height: 1.4;
}
.blog {
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}
.post {
  background: #fff;
  border: 1px solid var(--ds-hairline);
  border-radius: 14px;
  padding: 12px;
}
.post img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  border-radius: 10px;
}
.post-ph {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16/10;
  background: #eaf3f9;
  border-radius: 10px;
}
.post-ph img {
  width: 70px;
  aspect-ratio: auto;
  object-fit: contain;
}
.post-d {
  font-size: 12px;
  color: var(--ds-ink-2);
}
.post i {
  font-style: normal;
  color: var(--blue);
  font-size: 14px;
}
.contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
}
.ccard {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px;
  border-radius: 14px;
  background: #f2f8ee;
  text-decoration: none;
  color: inherit;
}
.ccard span {
  color: var(--ds-ink-2);
  font-size: 13px;
}
.ccard b {
  font-size: 18px;
}
.foot {
  text-align: center;
  margin-top: 30px;
  display: grid;
  gap: 4px;
  justify-items: center;
}
.foot img {
  width: 40px;
}
@media (max-width: 900px) {
  .menu {
    order: 3;
    flex-basis: 100%;
    justify-content: flex-start;
  }
}
.menu a[aria-current=page] {
  font-weight: 800;
}
.topbar {
  flex-wrap: nowrap;
  gap: 10px;
}
.topbar .logo {
  height: 60px;
  width: auto;
}
.menu {
  flex-wrap: nowrap;
  gap: 0 2px;
  justify-content: center;
}
.menu a {
  font-size: 14px;
  padding: 8px 6px;
  white-space: nowrap;
}
.dd {
  flex-wrap: nowrap;
  gap: 0 2px;
}
.top-actions {
  gap: 8px;
}
.top-actions .phone {
  font-size: 15px;
  white-space: nowrap;
}
.top-actions .lang {
  padding: 6px 12px;
  min-height: 0;
}
@media (max-width: 1050px) {
  .topbar {
    flex-wrap: wrap;
  }
  .menu {
    order: 3;
    flex-basis: 100%;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .dd {
    flex-wrap: wrap;
  }
}
.top-actions .phone {
  display: none;
}
.menu {
  min-width: 0;
  flex: 1 1 0;
}
.menu a {
  padding: 8px 5px;
  font-size: 14px;
}
@media (max-width: 1050px) {
  .top-actions .phone {
    display: inline;
  }
}
.menu {
  flex-wrap: wrap;
}
.menu a {
  font-size: 13.5px;
  padding: 8px 4px;
}
.foot {
  text-align: start;
}
.foot > img,
.foot > div:not(.foot-cols) {
  margin-inline: auto;
  text-align: center;
}
.foot-cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  border-top: 1px solid var(--ds-hairline);
  padding-top: 24px;
  margin-bottom: 20px;
  width: 100%;
}
.foot-cols h4 {
  margin: 0 0 10px;
  font-size: 16px;
  color: var(--deep);
}
.foot-cols > div {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
}
.foot-cols a,
.foot-cols span {
  color: var(--ds-ink-2);
  text-decoration: none;
  font-size: 14px;
}
.foot-cols a:hover {
  text-decoration: underline;
}
.social {
  display: flex;
  gap: 10px;
}
.social a {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(
      135deg,
      #1a73b8,
      #6ebe46);
  color: #fff;
}
@media (max-width: 800px) {
  .foot-cols {
    grid-template-columns: 1fr 1fr;
  }
}
.tiles {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
  margin: 22px 0;
}
.tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  gap: 8px;
  padding: 22px 12px;
  border-radius: 18px;
  background: #f2f7ee;
  border: 1px solid var(--ds-hairline);
  color: var(--ds-ink);
  text-decoration: none;
  transition: transform .15s, box-shadow .15s;
}
a.tile:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(26, 115, 184, .15);
}
.tile b {
  font-size: 16px;
  line-height: 1.3;
}
.tile i {
  font-style: normal;
  font-size: 13px;
  color: var(--ds-ink-2);
}
.tile-ic {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background:
    linear-gradient(
      135deg,
      #1a73b8,
      #6ebe46);
}
.warranty-tile {
  background:
    linear-gradient(
      135deg,
      #e3f0fa,
      #e9f5df);
}
@media (max-width: 900px) {
  .tiles {
    grid-template-columns: 1fr 1fr;
  }
}
.mask-ic {
  width: 52px;
  height: 52px;
  background: #fff;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  display: block;
}
.mask-ic {
  background: none;
  filter: brightness(0) invert(1);
  object-fit: contain;
}
.menu a {
  font-size: 13px;
  padding: 8px 3px;
}
.menu {
  gap: 0 1px;
}
.dd {
  gap: 0 1px;
}
.topbar .logo {
  height: 50px;
}
.top-actions .lang {
  padding: 4px 10px;
  font-size: 13px;
}
.menu a[aria-current=page] {
  padding-inline: 7px;
}
.dd {
  position: relative;
  display: inline-flex;
}
.dd-btn {
  font: inherit;
  font-size: 13px;
  background: none;
  border: 0;
  padding: 8px 5px;
  color: var(--ds-ink-2);
  cursor: pointer;
  white-space: nowrap;
}
.dd:has(a[aria-current=page]) > .dd-btn {
  font-weight: 800;
  color: var(--blue, #1a73b8);
}
.dd-panel {
  display: none;
  position: absolute;
  top: 100%;
  inset-inline-start: 0;
  z-index: 20;
  min-width: 220px;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--ds-hairline);
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .14);
  padding: 6px;
}
.dd:hover > .dd-panel,
.dd.open > .dd-panel,
.dd:focus-within > .dd-panel {
  display: flex;
}
.dd-panel a {
  padding: 10px 12px !important;
  font-size: 14px !important;
  border-radius: 8px;
  white-space: nowrap;
}
.dd-panel a:hover {
  background: #f2f7ee;
}
@media (max-width: 1050px) {
  .dd-panel {
    position: static;
    box-shadow: none;
  }
}
.menu {
  gap: 0;
  justify-content: center;
}
.menu > a,
.menu > .dd {
  padding-inline: 18px !important;
  position: relative;
}
.menu > a {
  font-size: 15px;
}
.dd-btn {
  font-size: 15px;
}
.menu > a:not(:first-child)::before,
.menu > .dd::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 22%;
  bottom: 22%;
  width: 1px;
  background: var(--ds-hairline, #d8dfd3);
}
.menu > a,
.dd-btn {
  transition:
    transform .15s ease,
    box-shadow .15s ease,
    background .15s ease;
  border-radius: 10px;
}
.menu > a:hover,
.dd-btn:hover,
.dd:hover > .dd-btn {
  transform: translateY(-3px);
  box-shadow: 0 8px 16px rgba(26, 115, 184, .18);
  background: #f2f7ee;
}
.menu > .dd {
  padding-inline: 0 !important;
}
.dd-btn {
  padding: 8px 18px;
}
@media (max-width: 1050px) {
  .menu > a,
  .dd-btn {
    padding-inline: 12px !important;
  }
}
.topbar .logo {
  height: 104px;
  width: auto;
  max-width: 40vw;
}
@media (max-width: 600px) {
  .topbar .logo {
    height: 70px;
  }
}
.rv-init {
  opacity: 0;
  transform: translateY(34px) scale(.97);
}
.rv-init.rv-in {
  opacity: 1;
  transform: none;
  transition: opacity .7s ease var(--rv-d, 0ms), transform .7s cubic-bezier(.2, .8, .2, 1) var(--rv-d, 0ms);
}
@media (prefers-reduced-motion: reduce) {
  .rv-init {
    opacity: 1;
    transform: none;
  }
}
.menu > a,
.dd-btn,
.top-actions .lang {
  font-weight: 600;
  color: var(--ds-ink, #1b2a35);
}
.menu > a[aria-current=page],
.dd:has(a[aria-current=page]) > .dd-btn {
  font-weight: 800;
}
.dd-panel a {
  font-weight: 600;
}
.lead select {
  font: inherit;
  padding: 12px 14px;
  border: 1px solid var(--ds-hairline);
  border-radius: 12px;
  background: #fff;
  min-height: 44px;
  box-sizing: border-box;
  width: 100%;
  color: var(--ds-ink-2);
}
@media (max-width: 600px) {
  .lead-grid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .lead-grid .fld input {
    padding-left: 10px;
    padding-right: 10px;
    min-width: 0;
  }
}
.fld {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.fld.wide {
  grid-column: 1 / -1;
}
.field-err {
  color: #b3261e;
  font-size: 13px;
}
.lead input[aria-invalid=true] {
  border-color: #b3261e;
}
.svc-pick {
  border: 0;
  margin: 12px 0 8px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.svc-pick legend {
  padding: 0;
  margin-bottom: 8px;
  font-weight: 600;
}
.svc-pick .field-err {
  flex-basis: 100%;
}
.lead .chk {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid var(--ds-hairline);
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  min-height: 44px;
  box-sizing: border-box;
}
.lead .chk input {
  width: 18px;
  height: 18px;
  min-height: 0;
  accent-color: #1a8f5a;
}
.lead .chk.on {
  border-color: #1a8f5a;
  background: #eef7e8;
  font-weight: 600;
}
.foot-cols {
  grid-template-columns: repeat(3, minmax(0, 220px));
  justify-content: center;
  justify-items: center;
}
.foot-cols > div {
  align-items: center;
  text-align: center;
}
.foot-bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}
.foot-bottom .social a {
  width: 36px;
  height: 36px;
}
@media (max-width: 800px) {
  .foot-cols {
    grid-template-columns: 1fr;
  }
}
.media-sec {
  margin: 34px 0;
}
.media-sec h2 {
  font-size: 22px;
  margin: 0 0 14px;
}
.video-ph {
  aspect-ratio: 16 / 9;
  border-radius: 18px;
  border: 2px dashed #9cc7e4;
  background:
    linear-gradient(
      135deg,
      #e3f0fa,
      #e9f5df);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--ds-ink-2);
}
.play-big {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 28px;
  background:
    linear-gradient(
      135deg,
      #1a73b8,
      #6ebe46);
}
.gal-ph {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.gal-item {
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  border: 2px dashed #b9d9a6;
  background: #f2f7ee;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 14px;
  color: var(--ds-ink-2);
  text-align: center;
  padding: 8px;
}
.gal-item .tile-ic {
  width: 56px;
  height: 56px;
}
.gal-item .mask-ic {
  width: 38px;
  height: 38px;
}
@media (max-width: 700px) {
  .gal-ph {
    grid-template-columns: 1fr 1fr;
  }
}
.svc-photo {
  margin: 20px 0 8px;
}
.svc-photo img {
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  border-radius: 18px;
  display: block;
}
.svc-photo figcaption {
  font-size: 12px;
  color: var(--ds-ink-2);
  margin-top: 6px;
}
.svc-photo figcaption a {
  color: inherit;
}
.svc-photo {
  text-align: center;
}
.svc-photo img {
  width: auto;
  max-width: 100%;
  max-height: 440px;
  margin: 0 auto;
  object-fit: contain;
}
.svc-photo figcaption {
  text-align: center;
}
.svc-icon {
  text-align: center;
  margin: 28px 0 28px;
}
.svc-icon img {
  height: 220px;
  width: auto;
  max-width: 80%;
  display: inline-block;
}
.gfix {
  overflow-x: hidden;
}
.gfix img,
.gfix video,
.gfix iframe {
  max-width: 100%;
}
.prose,
.prose p,
.page-head h1 {
  overflow-wrap: anywhere;
}
.burger {
  display: none;
  width: 44px;
  height: 44px;
  border: 2px solid var(--blue);
  border-radius: 12px;
  background: #fff;
  padding: 0;
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.burger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--blue);
  border-radius: 2px;
}
@media (max-width: 900px) {
  .topbar {
    flex-wrap: wrap !important;
  }
  .topbar .logo {
    height: 64px;
  }
  .top-actions {
    margin-inline-start: auto;
  }
  .top-actions .phone {
    display: inline;
  }
  .burger {
    display: inline-flex;
  }
  .menu {
    display: none !important;
    order: 3;
    flex: 1 1 100% !important;
    flex-direction: column;
    align-items: stretch;
    padding: 6px 0 10px;
  }
  .menu.open {
    display: flex !important;
  }
  .menu > a,
  .menu > .dd {
    padding-inline: 12px !important;
    display: flex;
    align-items: center;
    min-height: 48px;
    font-size: 16px;
    text-align: start;
  }
  .menu > a::before,
  .menu > .dd::before {
    display: none;
  }
  .menu > a:hover,
  .dd-btn:hover {
    transform: none;
    box-shadow: none;
  }
  .menu > .dd {
    flex-direction: column;
    align-items: stretch;
    padding-inline: 0 !important;
  }
  .dd-btn {
    text-align: start;
    min-height: 48px;
    font-size: 16px;
    padding-inline: 12px !important;
  }
  .dd-panel {
    display: flex !important;
    position: static;
    border: 0;
    box-shadow: none;
    padding: 0 0 0 0;
    padding-inline-start: 16px;
    min-width: 0;
  }
  .dd-panel a {
    min-height: 44px;
    display: flex;
    align-items: center;
    font-size: 15px !important;
  }
  .hero {
    min-height: 360px;
  }
  .hero-body {
    padding: 28px 18px;
  }
  .page-head {
    padding: 28px 18px;
  }
}
@media (max-width: 600px) {
  .top-actions .phone {
    display: none;
  }
  .topbar .logo {
    height: 56px;
  }
  .tiles {
    grid-template-columns: 1fr;
  }
  .hero-cta .btn {
    flex: 1 1 100%;
  }
  .hero-cta.center .btn {
    flex: 1 1 100%;
  }
  .cards,
  .contact-grid {
    grid-template-columns: 1fr;
  }
  .svc-icon img {
    height: 150px;
  }
  .foot-cols {
    grid-template-columns: 1fr;
  }
  .strip {
    grid-template-columns: 1fr 1fr;
  }
  .prose {
    font-size: 16px;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  .tiles {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  .tiles > :last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}
.hero .btn-hero {
  background: #fff;
  color: #10283a;
  border: 2px solid #fff;
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .35);
  backdrop-filter: none;
}
.hero .btn-hero:hover {
  background: #eef6fb;
  transform: translateY(-2px);
}
@keyframes nav-breathe {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.07);
  }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .menu > a:hover,
  .dd-btn:hover,
  .dd:hover > .dd-btn {
    transform: none;
    box-shadow: none;
    animation: nav-breathe 1.6s ease-in-out infinite;
  }
  .dd-panel > a:hover {
    animation: nav-breathe 1.6s ease-in-out infinite;
  }
}
@media (prefers-reduced-motion: reduce) {
  .menu > a:hover,
  .dd-btn:hover,
  .dd:hover > .dd-btn,
  .dd-panel > a:hover {
    animation: none;
    transform: none;
  }
}
.foot-cols a {
  display: inline-block;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .foot-cols a:hover {
    text-decoration: none;
    animation: nav-breathe 1.6s ease-in-out infinite;
  }
}
@media (prefers-reduced-motion: reduce) {
  .foot-cols a:hover {
    animation: none;
  }
}
.gfix {
  font-family:
    Roboto,
    Heebo,
    sans-serif;
}
.gfix h1,
.gfix h2,
.gfix h3,
.gfix h4,
.menu a,
.dd-btn,
.dd-panel a,
.foot-cols h4,
.tile b,
.card-text b,
.warranty {
  font-family: Heebo, sans-serif;
}
.gfix .btn,
.gfix button {
  font-family:
    Rubik,
    Heebo,
    sans-serif;
}
.foot-bottom {
  flex-direction: column;
  gap: 12px;
  text-align: center;
}
.foot-bottom .social {
  justify-content: center;
}
.svc-icon {
  margin: 18px 0 18px;
}
.svc-icon img {
  height: 90px;
  opacity: .55;
}
@media (max-width: 600px) {
  .svc-icon img {
    height: 72px;
  }
}
.pros {
  text-align: center;
  max-width: 860px;
  margin: 8px auto 24px;
}
.pros h2 {
  font-size: clamp(24px, 3.4vw, 34px);
  color: var(--deep);
  font-weight: 800;
  border: 0;
  padding: 0;
  margin: 0 0 6px;
}
.pros h3 {
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 800;
  background:
    linear-gradient(
      90deg,
      var(--blue),
      var(--green));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: var(--blue);
  margin: 0 0 14px;
}
.pros p {
  font-size: clamp(18px, 2.2vw, 22px);
  line-height: 1.7;
  color: #10283a;
  font-weight: 500;
  margin: 0 0 20px;
}
.hero-title {
  font-weight: 800;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .45);
  font-size: clamp(26px, 4.3vw, 44px);
}
.hero-title > span:nth-child(3) {
  color: #d7f08c;
}
.gfix.ar,
.gfix.ar button,
.gfix.ar input,
.gfix.ar textarea,
.gfix.ar .btn,
.gfix.ar h1,
.gfix.ar h2,
.gfix.ar h3,
.gfix.ar h4,
.gfix.ar .menu a {
  font-family:
    "NotoAr",
    "Heebo",
    "Roboto",
    sans-serif;
}
.gfix.ar {
  line-height: 1.75;
}
.gfix.ar .hero-title {
  line-height: 1.45;
}
.lang-sw {
  display: inline-flex;
  border: 1.5px solid #1b6f9a;
  border-radius: 999px;
  overflow: hidden;
  background: #fff;
  direction: ltr;
}
.lang-sw button {
  border: 0;
  background: transparent;
  color: #1b6f9a;
  padding: 7px 12px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  line-height: 1.2;
  font-family: inherit;
}
.lang-sw button.on {
  background: #1b6f9a;
  color: #fff;
}
.lang-sw button + button {
  border-inline-start: 1px solid #1b6f9a;
}
@media (max-width: 560px) {
  .lang-sw button {
    padding: 6px 8px;
    font-size: 13px;
  }
}
.wa-fab {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: #25d366;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .28);
  z-index: 900;
  transition: transform .2s;
}
.wa-fab:hover {
  transform: scale(1.08);
}
.a11y {
  position: fixed;
  left: 16px;
  top: 150px;
  z-index: 950;
  direction: ltr;
}
.a11y-fab {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 2px solid #fff;
  background: #1b6f9a;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .3);
}
.a11y-panel {
  position: absolute;
  left: 0;
  top: 60px;
  width: 270px;
  max-width: calc(100vw - 32px);
  background: #fff;
  color: #10283a;
  border: 2px solid #1b6f9a;
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .3);
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 16px;
}
.gfix[dir=rtl] .a11y-panel {
  direction: rtl;
}
.a11y-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 18px;
}
.a11y-x {
  border: 0;
  background: transparent;
  font-size: 26px;
  cursor: pointer;
  line-height: 1;
  color: #10283a;
}
.a11y-size {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 14px;
}
.a11y-size button,
.a11y-opt,
.a11y-reset {
  border: 1.5px solid #1b6f9a;
  background: #fff;
  color: #1b6f9a;
  border-radius: 10px;
  padding: 9px 12px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
}
.a11y-size button:disabled {
  opacity: .4;
  cursor: default;
}
.a11y-opt {
  text-align: start;
}
.a11y-opt.on {
  background: #1b6f9a;
  color: #fff;
}
.a11y-reset {
  background: #eef5f9;
}
.a11y-stmt {
  font-size: 14px;
  text-align: center;
  color: #1b6f9a;
  text-decoration: underline;
}
@media (max-width: 700px) {
  .a11y {
    top: auto;
    bottom: 20px;
    left: 14px;
  }
  .a11y-panel {
    top: auto;
    bottom: 62px;
  }
  .a11y-fab {
    width: 46px;
    height: 46px;
  }
  .wa-fab {
    width: 54px;
    height: 54px;
    right: 14px;
    bottom: 20px;
  }
}
.skip {
  position: absolute;
  top: -60px;
  inset-inline-start: 8px;
  background: #10283a;
  color: #fff;
  padding: 10px 16px;
  border-radius: 8px;
  z-index: 2000;
  font-weight: 700;
}
.skip:focus {
  top: 8px;
}
.gfix :focus-visible {
  outline: 3px solid #f5a300;
  outline-offset: 2px;
}
.gfix main:focus {
  outline: none;
}
.gfix .topbar:focus,
.gfix .topbar:focus-visible {
  outline: none;
}
.gfix.rf,
.gfix.rf * {
  font-family:
    Arial,
    Verdana,
    "Segoe UI",
    sans-serif !important;
  letter-spacing: .02em;
}
.gfix.rf p,
.gfix.rf li {
  line-height: 1.9;
}
.gfix.hl a:not(.wa-fab) {
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
  background: #fff3a8 !important;
  color: #00316b !important;
  outline: 1px solid #c9a800;
}
.gfix.hl .btn,
.gfix.hl .wa-fab,
.gfix.hl .tile {
  background-clip: padding-box;
}
.gfix.still *,
.gfix.still *::before,
.gfix.still *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
.gfix.hc {
  background: #000;
  color: #fff;
  filter: none;
}
.gfix.hc *:not(.wa-fab):not(.a11y-fab):not(svg):not(path):not(circle):not(rect):not(video):not(img) {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
  text-shadow: none !important;
  background-image: none !important;
  box-shadow: none !important;
}
.gfix.hc a {
  color: #ffe600 !important;
  text-decoration: underline;
}
.gfix.hc img {
  filter: contrast(1.1);
}
.gfix.hc .hero-shade {
  background: rgba(0, 0, 0, .7) !important;
}
.gfix.hc .wa-fab {
  background: #25d366 !important;
}
.gfix.hc .a11y-fab {
  background: #ffe600 !important;
  color: #000 !important;
}
.gfix.hc .a11y-panel * {
  background: #000 !important;
  color: #fff !important;
}
.gfix.hc .hero-title,
.gfix.hc h1,
.gfix.hc h2,
.gfix.hc h3 {
  -webkit-text-fill-color: #fff !important;
  background-clip: border-box !important;
}
.gfix.ar,
.gfix.ar * {
  letter-spacing: 0 !important;
}
.gfix.ar :where(span, p, a, li, i, b, label, legend, div, article, header, footer) {
  font-family:
    "NotoAr",
    "Heebo",
    "Roboto",
    sans-serif;
}
.gfix.ar .hero-title {
  font-size: clamp(22px, 3.6vw, 38px);
}
.bird-pros {
  margin-top: 28px;
}
.ph-strip {
  margin-top: 18px;
}
.ph {
  aspect-ratio: 4/3;
  border-radius: 12px;
  border: 2px dashed #9bb8c9;
  background:
    linear-gradient(
      135deg,
      #eef5f9,
      #eaf4ec);
  color: #5b7f95;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 14px;
  text-align: center;
  padding: 8px;
}
@media (min-width: 1051px) {
  .topbar {
    gap: 8px;
  }
  .topbar .logo {
    height: 82px;
    max-width: 150px;
  }
  .menu {
    flex-wrap: nowrap !important;
  }
  .menu > a,
  .dd-btn {
    white-space: nowrap;
    font-size: 14px !important;
  }
  .menu > a,
  .menu > .dd {
    padding-inline: 9px !important;
  }
  .menu > .dd {
    padding-inline: 0 !important;
  }
  .dd-btn {
    padding-inline: 9px !important;
  }
  .menu > a[aria-current=page] {
    padding-inline: 9px !important;
  }
  .top-actions {
    gap: 6px;
    flex-shrink: 0;
  }
  .lang-sw button {
    padding: 6px 9px;
    font-size: 13px;
  }
}
.media-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.mg-item {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  border-radius: 12px;
  display: block;
  background: #10283a;
}
.mg-vid {
  object-fit: contain;
}
.media-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.media-grid .mg-item {
  width: calc(25% - 9px);
  min-width: 170px;
  flex: 0 0 auto;
}
@media (max-width: 560px) {
  .media-grid .mg-item {
    width: calc(50% - 6px);
    min-width: 0;
  }
}
.mg-poster {
  display: block;
  position: relative;
  padding: 0;
  border: 0;
  cursor: pointer;
  overflow: hidden;
  background: #10283a;
}
.mg-poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.play-btn {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  color: #1b6f9a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  padding-inline-start: 3px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .35);
}
.mg-cap {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  padding: 18px 10px 8px;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  background: linear-gradient(transparent, rgba(0, 0, 0, .7));
}
.mg-yt {
  border: 0;
}
.rod-vid {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: contain;
  border-radius: 12px;
  background: #10283a;
  display: block;
}
.gallery .vid .rod-vid {
  max-width: 420px;
}
.gfix {
  overflow-x: clip;
}
main > .hero:first-child,
main > .hero {
  width: 100vw;
  max-width: 100vw;
  margin-inline: calc(50% - 50vw);
  border-radius: 0;
  min-height: clamp(440px, 66vh, 680px);
  margin-top: -16px;
}
.hero-body {
  max-width: none;
  width: 100%;
  padding-inline: max(24px, calc((100% - 968px) / 2));
}
.hero-body > * {
  max-width: 760px;
}
.hero-bat {
  display: block;
}
@media (max-width: 700px) {
  main > .hero {
    min-height: 480px;
  }
  .hero-body {
    padding-inline: 20px;
  }
}
.gfix .pros {
  max-width: none;
  margin: 0;
  padding: clamp(44px, 7vw, 80px) 16px;
}
.gfix .pros > * {
  max-width: 860px;
  margin-inline: auto;
}
.gfix .pros > .media-grid,
.gfix .pros > .strip,
.gfix .pros > .ph-strip {
  max-width: 968px;
}
.gfix .pros + .pros {
  border-top: 3px solid transparent;
  border-image:
    linear-gradient(
      90deg,
      var(--blue),
      var(--green)) 1;
}
.gfix .bird-pros {
  margin-top: 0;
  background: #eef6fa;
}
.gfix .pros.bird-pros + .pros.bird-pros {
  background: #f1f8f2;
}
.gfix a.active,
.gfix .btn-outline {
  color: #14608f;
}
.gfix .nav a.active,
.gfix header a.active {
  color: #14608f;
}
.gfix a[href*="/blog/"] > i {
  color: #14608f;
}
.gfix.ct :where(.prose, .page-head, .post, .post-body, .lead, article, main) {
  text-align: center;
}
.gfix.ct :where(h1, h2, h3, h4, p, li, blockquote, figcaption, .muted, .field-err) {
  text-align: center;
}
.gfix.ct .prose {
  margin-inline: auto;
  max-width: 760px;
}
.gfix.ct .prose ul,
.gfix.ct .prose ol {
  list-style-position: inside;
  padding-inline-start: 0;
}
.gfix.ct .prose li {
  margin-block: 6px;
}
.gfix.ct .page-head {
  justify-items: center;
}
.gfix.ct .page-head h1,
.gfix.ct .page-head p {
  margin-inline: auto;
}
.gfix.ct .lead h2 {
  border: 0;
  padding: 0;
}
.gfix.ct .lead input,
.gfix.ct .lead textarea {
  text-align: center;
}
.gfix.ct .lead fieldset legend {
  text-align: center;
  margin-inline: auto;
}
.gfix.ct .svc-pick {
  justify-content: center;
}
.gfix.ct .foot,
.gfix.ct .foot-cols > div {
  text-align: center;
}
.gfix.ct .post-img {
  float: none;
  display: block;
  margin: 0 auto 16px;
  width: min(360px, 100%);
  max-width: 100%;
}
.gfix.ct .about-cols,
.gfix.ct .split {
  text-align: center;
}
.gfix.ct .page-head {
  padding-inline: clamp(16px, 6vw, 80px);
}
.new-gallery .vid img {
  object-fit: contain;
  background: #111;
}
@media (max-width: 700px) {
  .gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 440px) {
  .gallery {
    grid-template-columns: minmax(0, 1fr);
  }
}
.review-section {
  margin: 32px 0;
  padding: 24px 18px;
  border-block: 1px solid var(--ds-hairline);
}
.process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}
.process-grid > div {
  padding: 18px;
  border: 1px solid var(--ds-hairline);
  border-radius: 12px;
  background: #fff;
}
.process-grid h3 {
  color: var(--deep);
  font-size: 19px;
  margin: 0 0 10px;
}
.process-grid ul {
  padding: 0;
  list-style-position: inside;
}
.review-note {
  color: var(--ds-ink-2);
  font-size: 14px;
  line-height: 1.7;
}
@media (max-width: 720px) {
  .process-grid {
    grid-template-columns: 1fr;
  }
}
.gfix .page-head h1 {
  line-height: 1.35;
}
.hero-subtitle {
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.65;
  color: #fff;
  margin: 0 0 22px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, .55);
}
.hero-body {
  box-sizing: border-box;
}
.solution-catalog {
  margin: 36px 0;
}
.solution-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.solution-card {
  border: 1px solid var(--ds-hairline);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  min-width: 0;
}
.solution-card figure {
  margin: 0;
  background: #f2f8ee;
}
.solution-card figure > img {
  width: 100%;
  height: 260px;
  object-fit: contain;
  display: block;
}
.solution-card figcaption {
  padding: 10px 14px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--ds-ink-2);
}
.solution-body {
  padding: 20px;
}
.solution-body h3 {
  color: var(--deep);
  margin: 0 0 12px;
  font-size: 21px;
}
.solution-body h4 {
  margin: 18px 0 6px;
  color: var(--deep);
  font-size: 16px;
}
.solution-body p {
  line-height: 1.7;
  margin: 0 0 12px;
}
.solution-extra {
  border-top: 1px solid var(--ds-hairline);
  margin: 18px 0;
  padding-top: 2px;
}
.solution-grid.single {
  display: block;
}
.solution-grid.single .solution-card {
  display: grid;
  grid-template-columns: minmax(240px, .8fr) 1.2fr;
}
.solution-grid.single figure > img {
  height: 400px;
}
@media (max-width: 800px) {
  .solution-grid {
    grid-template-columns: 1fr;
  }
  .solution-grid.single .solution-card {
    display: block;
  }
  .solution-grid.single figure > img {
    height: 300px;
  }
}
.installation-cases {
  margin: 32px 0 48px;
}
.installation-cases > h2 {
  color: #0b5277;
}
.case-intro {
  max-width: 760px;
  margin: 12px auto 22px;
  line-height: 1.7;
}
.case-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.case-card {
  border: 1px solid #dde4df;
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
}
.case-photo {
  width: 100%;
  height: 230px;
  object-fit: contain;
  background: #f2f7ef;
  display: block;
}
.case-body {
  padding: 22px;
}
.case-draft {
  font-size: 13px;
  color: #476251;
  background: #edf4e8;
  padding: 5px 10px;
  border-radius: 20px;
  display: inline-block;
}
.case-body h3 {
  color: #0b5277;
  line-height: 1.4;
  margin: 16px 0;
}
.case-body dl {
  margin: 0;
}
.case-body dt {
  font-weight: 700;
  color: #0b5277;
  margin: 18px 0 4px;
}
.case-body dd {
  margin: 0;
  line-height: 1.6;
}
.case-check {
  font-size: 14px;
  border-top: 1px solid #dde4df;
  padding-top: 16px;
  line-height: 1.7;
  margin: 22px 0;
}
.case-body .rod-vid {
  width: 100%;
  max-height: 260px;
  margin: 0;
}
.case-body .btn {
  margin-top: 6px;
}
@media (max-width: 800px) {
  .case-grid {
    grid-template-columns: 1fr;
  }
  .case-photo {
    height: 280px;
  }
  .case-body {
    padding: 22px;
  }
}
.gallery-folders {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: 1040px;
  margin: 40px auto 64px;
  padding: 0 24px;
}
.gallery-folder {
  border: 1px solid #dce5df;
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  text-decoration: none;
  color: #174353;
  transition: transform .15s, box-shadow .15s;
}
.gallery-folder:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px #12394d16;
}
.gallery-folder > img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  background: #eff4ef;
}
.gallery-folder > div {
  padding: 22px;
}
.gallery-folder h2 {
  margin: 0 0 8px;
  font-size: 27px;
}
.gallery-folder p {
  margin: 0 0 20px;
}
.gallery-folder span {
  color: #637d41;
  font-weight: 700;
}
.gallery-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 24px;
}
.gallery-toolbar button {
  font: inherit;
  cursor: pointer;
}
.gallery-toolbar [role=status] {
  font-size: 14px;
  flex-basis: 100%;
  text-align: center;
}
.gallery-toolbar + .gallery-folders {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 650px) {
  .gallery-folders,
  .gallery-toolbar + .gallery-folders {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 0 18px;
    margin-top: 24px;
  }
  .gallery-folder > img {
    height: 200px;
  }
  .gallery-toolbar {
    gap: 10px;
    margin: 18px;
  }
  .gallery-toolbar .btn {
    font-size: 14px;
    padding: 10px 14px;
  }
}
.foot .footer-phone {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.footer-phone bdi {
  white-space: nowrap;
}
.home-areas {
  max-width: 1180px;
  margin: 56px auto;
  padding: 0 24px;
}
.home-areas-head {
  text-align: center;
  margin-bottom: 28px;
}
.home-areas-head h2 {
  color: #0b527b;
  font-size: 30px;
  margin: 0 0 12px;
}
.home-areas-head p {
  max-width: 660px;
  margin: auto;
  line-height: 1.7;
}
.home-areas-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.home-area {
  padding: 24px;
  border: 1px solid #d8e0e6;
  border-radius: 16px;
  background: #fff;
  display: flex;
  flex-direction: column;
}
.home-area-number {
  color: #48778e;
  font-size: 15px;
  letter-spacing: 2px;
  margin-bottom: 18px;
}
.home-area h3 {
  color: #0b527b;
  font-size: 22px;
  line-height: 1.4;
  margin: 0 0 12px;
}
.home-area p {
  margin: 0 0 24px;
  line-height: 1.7;
  font-size: 17px;
}
.home-area-links {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.home-area-links a {
  color: #0b527b;
  border-top: 1px solid #e0e7eb;
  padding-top: 12px;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none;
}
.home-area-links a:hover {
  text-decoration: underline;
}
@media (max-width: 1000px) {
  .home-areas-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .home-areas {
    margin: 36px auto;
    padding: 0 20px;
  }
  .home-areas-head h2 {
    font-size: 27px;
  }
  .home-areas-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .home-area {
    padding: 22px;
  }
}
.testimonials-preview {
  padding-top: 44px;
  padding-bottom: 44px;
}
.testi-note {
  max-width: 740px;
  margin: 0 auto 28px;
  text-align: center;
  color: #626262;
  line-height: 1.75;
}
.testi-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.testi-grid.testi-single {
  grid-template-columns: minmax(0, 760px);
  justify-content: center;
}
.testi-card {
  margin: 0;
  border: 1px solid #d7e2e9;
  border-radius: 18px;
  background: #fff;
  padding: 24px;
  display: flex;
  flex-direction: column;
  text-align: start;
}
.testi-service {
  font-size: 14px;
  color: #176d94;
  font-weight: 700;
}
.testi-mark {
  font-size: 56px;
  line-height: 1;
  color: #b6d9ce;
  margin-top: 18px;
}
.testi-card blockquote {
  margin: 0 0 28px;
  font-size: 20px;
  line-height: 1.65;
  color: #424b51;
}
.testi-card figcaption {
  border-top: 1px solid #e5e9ec;
  padding-top: 18px;
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 14px;
  color: #6c6c6c;
}
.testi-card figcaption strong {
  color: #075477;
  font-weight: 600;
}
.testi-status {
  font-size: 12px;
  color: #6a6a6a;
  margin: 18px 0 0;
}
.testi-single .testi-card {
  padding: 28px;
}
@media (max-width: 760px) {
  .testi-grid {
    grid-template-columns: 1fr;
  }
  .testi-card {
    padding: 22px;
  }
  .testi-card blockquote {
    font-size: 19px;
  }
  .testimonials-preview {
    padding-top: 32px;
    padding-bottom: 32px;
  }
}
.testi-service-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.testi-service-grid .testi-card:only-child {
  grid-column: 1/-1;
  max-width: 760px;
  width: 100%;
  justify-self: center;
  box-sizing: border-box;
}
.testi-status {
  background: #f4f7f8;
  padding: 10px;
  border-radius: 8px;
  line-height: 1.6;
}
@media (max-width: 760px) {
  .testi-service-grid {
    grid-template-columns: 1fr;
  }
}
.system-specs {
  max-width: 1160px;
  margin: 52px auto;
  padding: 0 24px;
  scroll-margin-top: 100px;
}
.system-specs h2 {
  font-size: 30px;
  color: #133b55;
  margin-bottom: 12px;
}
.spec-intro {
  max-width: 800px;
  margin-inline: auto;
  line-height: 1.8;
  color: #4b626d;
}
.spec-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 24px;
}
.spec-card {
  border: 1px solid #d8e3e6;
  border-radius: 16px;
  padding: 24px;
  background: #fff;
}
.spec-number {
  color: #218572;
  font-weight: 700;
  font-size: 14px;
}
.spec-card h3 {
  font-size: 21px;
  margin: 8px 0 20px;
  color: #133b55;
}
.spec-card p {
  line-height: 1.9;
}
.spec-card dl {
  margin: 0;
}
.spec-card dl > div {
  display: grid;
  grid-template-columns: 42% 58%;
  padding: 12px 0;
  border-top: 1px solid #e7edef;
  gap: 0;
}
.spec-card dt {
  color: #596d78;
  font-size: 14px;
}
.spec-card dd {
  margin: 0;
  font-weight: 600;
  overflow-wrap: anywhere;
  unicode-bidi: plaintext;
}
.spec-note {
  background: #f1f7f5;
  border-radius: 10px;
  padding: 18px 20px;
  line-height: 1.8;
  font-size: 14px;
  color: #4b626d;
  margin-top: 20px;
}
@media (max-width: 650px) {
  .system-specs {
    padding: 0 18px;
    margin: 36px auto;
  }
  .spec-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .spec-card {
    padding: 20px;
  }
  .spec-card h3 {
    font-size: 20px;
  }
  .system-specs h2 {
    font-size: 26px;
  }
  .spec-card dl > div {
    grid-template-columns: 40% 60%;
  }
  .spec-card dt,
  .spec-card dd {
    font-size: 14px;
  }
}
.spec-grid.spec-single {
  grid-template-columns: minmax(0, 1fr);
}
.lead-demo-note {
  font-size: 14px;
  color: #536d78;
  margin: 4px 0;
}
.lead button:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.lead-whatsapp {
  border-top: 1px solid #d8e3e6;
  padding-top: 18px;
  margin-top: 16px;
}
.lead-whatsapp p {
  line-height: 1.7;
  margin: 0 0 12px;
}
.contact-grid .ccard {
  color: #172f3f;
}
.contact-grid .ccard span {
  color: #314b59;
  font-weight: 600;
  opacity: 1;
}
.contact-grid .ccard b,
.contact-grid .ccard a {
  color: #172f3f;
}
.lead {
  color: #172f3f;
}
.lead h2,
.lead legend,
.lead .chk span,
.lead-whatsapp p {
  color: #172f3f;
}
.lead input,
.lead textarea,
.lead select {
  color: #172f3f;
  border-color: #8c9ca5;
}
.lead input::placeholder,
.lead textarea::placeholder {
  color: #405766;
  opacity: 1;
}
.lead-demo-note {
  color: #314b59;
}
.lead .chk {
  border-color: #8c9ca5;
}
.lead button:disabled {
  opacity: 1;
  background: #d5e5df;
  color: #314b59;
  border-color: #8c9ca5;
}
.hero .hero-body {
  text-align: center;
}
.hero .hero-body > * {
  margin-inline: auto;
}
.hero .hero-cta {
  justify-content: center;
}
.practical-guides {
  padding: 32px 0;
  margin-bottom: 32px;
  text-align: center;
}
.guide-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 24px;
}
.guide-card {
  display: flex;
  flex-direction: column;
  padding: 24px;
  border: 1px solid #d8e0e6;
  border-radius: 18px;
  text-decoration: none;
  color: inherit;
  background: #fff;
}
.guide-card h3 {
  font-size: 22px;
  line-height: 1.35;
  color: #165777;
  margin: 12px 0;
}
.guide-card p {
  line-height: 1.7;
  margin: 0 0 20px;
}
.guide-number {
  font-weight: 600;
  color: #148879;
}
.guide-read {
  margin-top: auto;
  color: #165777;
  font-weight: 600;
}
.guide-card:hover,
.guide-card:focus-visible {
  border-color: #148879;
  background: #f4f9f7;
}
@media (max-width: 640px) {
  .guide-grid {
    grid-template-columns: 1fr;
  }
  .guide-card {
    padding: 22px;
  }
  .guide-card h3 {
    font-size: 21px;
  }
}
.svc-pick .chk .choice-animal {
  width: 32px;
  height: 32px;
  object-fit: contain;
  flex: 0 0 32px;
}
.svc-pick .chk {
  gap: 10px;
}
.pest-mention {
  display: inline;
  white-space: nowrap;
}
.pest-mention > img {
  display: inline-block;
  width: 1.05em;
  height: 1.05em;
  object-fit: contain;
  vertical-align: -.12em;
  margin-inline-end: .22em;
}
.hero .pest-mention > img,
.page-head:not(.plain) .pest-mention > img {
  filter: brightness(0) invert(1);
}
.pest-icon-lead {
  display: inline-block;
  width: 1.05em;
  height: 1.05em;
  object-fit: contain;
  vertical-align: -.12em;
  margin-inline-end: .28em;
}
.hero .pest-icon-lead,
.page-head:not(.plain) .pest-icon-lead,
.dark .pest-icon-lead {
  filter: brightness(0) invert(1);
}
.gfix .pest-mention > img {
  display: inline-block;
  width: 1.05em;
  height: 1.05em;
  max-width: none;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  background: transparent;
  border-radius: 0;
  vertical-align: -.12em;
  margin: 0;
  margin-inline-end: .22em;
}
.customer-project-card {
  background:
    linear-gradient(
      145deg,
      #fff,
      #f3f8f0);
  gap: 14px;
}
.customer-project-card h3 {
  font-size: 23px;
  font-weight: 600;
  color: #075477;
  margin: 0;
  text-align: inherit;
}
.customer-project-card p {
  margin: 0;
  line-height: 1.65;
}
.customer-place {
  color: #626262;
  font-size: 15px;
}
.customer-work {
  border-top: 1px solid #d7e2e9;
  padding-top: 16px;
  color: #176d94;
  font-size: 17px;
  font-weight: 500;
}
.customer-projects .testi-grid {
  margin-top: 26px;
}
.customer-projects .testi-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 760px) {
  .customer-projects .testi-grid {
    grid-template-columns: 1fr;
  }
}
.warranty-draft {
  max-width: 840px;
  margin: 32px auto;
  padding: 28px;
  text-align: right !important;
}
.warranty-draft h1 {
  font-size: 32px;
  color: #075477;
  margin: 20px 0;
}
.warranty-draft h2 {
  font-size: 21px;
  color: #075477;
  margin: 0 0 12px;
  text-align: right;
}
.warranty-draft p {
  line-height: 1.8;
  margin: 0 0 14px;
  text-align: right;
}
.warranty-draft section {
  padding: 24px 0;
  border-top: 1px solid #d7e2e9;
}
.warranty-draft-label,
.warranty-decision {
  background: #fff4d8;
  border: 1px solid #e2ca8c;
  border-radius: 10px;
  padding: 14px;
  color: #564315;
}
.warranty-draft-label {
  font-weight: 600;
}
.warranty-source {
  font-size: 14px;
  color: #626262;
}
.warranty-draft a {
  color: #176d94;
  text-decoration: underline;
}
@media (max-width: 760px) {
  .warranty-draft {
    padding: 18px;
    margin: 20px auto;
  }
  .warranty-draft h1 {
    font-size: 26px;
  }
}
.warranty-phone {
  display: inline-block;
  direction: ltr;
  unicode-bidi: isolate;
  margin-inline: 0.25em;
  white-space: nowrap;
}
.customer-flagship {
  grid-column: 1/-1;
  border-inline-start: 5px solid #176d94;
  padding: 30px 34px;
  gap: 24px;
  background:
    linear-gradient(
      145deg,
      #f3f8f0,
      #fff);
}
.customer-flagship-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.customer-quote-label {
  font-size: 13px;
  font-weight: 600;
  color: #176d94;
  margin-bottom: 8px !important;
}
.customer-flagship h3 {
  margin-bottom: 6px;
}
.customer-flagship .customer-work {
  border: 0;
  padding: 0;
  font-size: 16px;
}
.customer-flagship blockquote {
  margin: 0;
  font-size: 20px;
  line-height: 1.85;
  max-width: 980px;
}
.customer-flagship blockquote strong {
  font-weight: 600;
}
@media (max-width: 760px) {
  .customer-flagship {
    padding: 24px 22px;
    gap: 20px;
  }
  .customer-flagship-heading {
    display: block;
  }
  .customer-flagship .customer-work {
    margin-top: 14px;
  }
  .customer-flagship blockquote {
    font-size: 18px;
    line-height: 1.8;
  }
}
.customer-story {
  display: grid;
  grid-template-columns: minmax(260px, 0.95fr) minmax(0, 1.2fr);
  align-items: start;
  gap: 30px;
}
.customer-story-video {
  display: flex;
  flex-direction: column;
  gap: 12px;
  color: #075477;
  text-decoration: none;
}
.customer-story-image {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: #e6eceb;
}
.customer-story-image img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
}
.customer-story-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: rgba(7, 84, 119, .9);
  color: white;
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  direction: ltr;
}
.customer-story-caption {
  font-size: 15px;
  line-height: 1.65;
}
.customer-story-action {
  font-size: 14px;
  font-weight: 600;
  text-decoration: underline;
}
.customer-story-video:focus-visible {
  outline: 3px solid #176d94;
  outline-offset: 5px;
}
.customer-story blockquote {
  font-size: 18px;
  line-height: 1.85;
}
@media (max-width: 760px) {
  .customer-story {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .customer-story blockquote {
    font-size: 18px;
  }
}
.customer-story-image img {
  aspect-ratio: 4/3;
  object-fit: contain;
}
.wm {
  display: inline-block;
  white-space: nowrap;
  line-height: 1;
}
.wm-img,
.wm-img-w {
  display: inline-block;
  height: .78em;
  width: auto;
  max-width: none;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  background: transparent;
  border-radius: 0;
  margin: 0;
  vertical-align: -.02em;
}
.wm-img-w {
  display: none;
}
.hero .wm-img,
.page-head:not(.plain) .wm-img,
.dark .wm-img,
.mg-item .wm-img,
.mg-cap .wm-img,
.mg-poster .wm-img {
  display: none;
}
.hero .wm-img-w,
.page-head:not(.plain) .wm-img-w,
.dark .wm-img-w,
.mg-item .wm-img-w,
.mg-cap .wm-img-w,
.mg-poster .wm-img-w {
  display: inline-block;
}
.wm-img,
.wm-img-w {
  height: .78em !important;
  width: auto !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.wm-img-w {
  display: none !important;
}
.hero .wm-img,
.page-head:not(.plain) .wm-img,
.dark .wm-img,
.mg-item .wm-img,
.mg-cap .wm-img,
.mg-poster .wm-img {
  display: none !important;
}
.hero .wm-img-w,
.page-head:not(.plain) .wm-img-w,
.dark .wm-img-w,
.mg-item .wm-img-w,
.mg-cap .wm-img-w,
.mg-poster .wm-img-w {
  display: inline-block !important;
}
.see-also {
  margin-top: 8px;
}
.see-also ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.see-also a {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid #d7e2e9;
  border-radius: 999px;
  background: #fff;
  color: #075477;
  text-decoration: none;
}
.place-media {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin: 18px 0;
}
.place-media img,
.place-media video {
  width: 100%;
  height: 260px;
  object-fit: cover;
  border-radius: 12px;
  background: #eef3f6;
}
.place-note {
  font-size: .9em;
  opacity: .75;
}
.place-gallery-card {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 18px 0;
  padding: 10px;
  border: 1px solid #dce5df;
  border-radius: 16px;
  text-decoration: none;
  color: #174353;
  background: #fff;
}
.place-gallery-card img {
  width: 96px;
  height: 72px;
  object-fit: cover;
  border-radius: 10px;
}
.place-gallery-card span {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.place-gallery-card em {
  font-style: normal;
  opacity: .7;
  font-size: .9em;
}
.hp-field {
  position: fixed !important;
  left: -9999px;
  top: 0;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.lead-ok {
  background: #e4f3dc;
  border: 1px solid #1a8f5a;
  border-radius: 12px;
  padding: 12px 14px;
  color: #172f3f;
  margin: 4px 0;
}
.featured-works {
  max-width: 1100px;
  margin: 32px auto 0;
  padding: 0 24px;
}
.featured-works h2 {
  text-align: center;
  margin: 0 0 20px;
}
.featured-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.featured-card {
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dce5df;
  box-shadow: 0 8px 24px #12394d14;
}
.featured-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}
.featured-card figcaption {
  padding: 14px 16px;
  font-weight: 700;
  color: #174353;
  line-height: 1.4;
  text-align: center;
}
@media (max-width: 800px) {
  .featured-grid {
    grid-template-columns: 1fr;
  }
  .featured-works {
    padding: 0 18px;
  }
}
html.embed,
html.embed body {
  height: 100%;
  overflow: hidden;
}
html.embed #root {
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

