:root {
  --color-primary: #c14408;
  --color-primary-dark: #a83703;
  --color-secondary: #2a200f;
  --color-secondary-deep: #1b1207;
  --color-tertiary: #f8e7df;
  --color-body-bg: #f7f7ec;
  --color-body-text: #5b564e;
  --color-white: #ffffff;
  --color-border: #ddd7c8;
  --color-muted: rgba(255, 255, 255, 0.72);
  --font-body: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-heading: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-label: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --container: 1320px;
  --gutter: 20px;
}
*,
::after,
::before {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  font: 400 16px/1.65 var(--font-body);
  color: var(--color-body-text);
  background: var(--color-body-bg);
  overflow-x: hidden;
}
a {
  color: inherit;
  text-decoration: none;
  transition: color 0.25s;
}
img {
  display: block;
  max-width: 100%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  color: var(--color-secondary);
  font-family: var(--font-heading);
  font-weight: 800;
  line-height: 1.12;
}
p {
  margin: 0;
}
.icon-sprite {
  position: absolute;
}
.container {
  width: min(100%, var(--container));
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.section {
  padding: 92px 0;
}
.section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 34px;
}
.section-head h2 {
  margin-top: 10px;
  font-size: clamp(32px, 4vw, 46px);
}
.section-head--center {
  justify-content: center;
  text-align: center;
}
.section-head--left {
  justify-content: flex-start;
}
.section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-primary);
  font: 600 14px/1 var(--font-label);
  letter-spacing: 1px;
  text-transform: uppercase;
}
.section-kicker span {
  width: 30px;
  height: 1px;
  background: currentColor;
  opacity: 0.5;
}
.section-kicker--light {
  color: #f47b3f;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 22px;
  border: 1px solid transparent;
  font: 600 14px/1 var(--font-body);
  white-space: nowrap;
  cursor: pointer;
  transition: 0.25s;
}
.btn--primary {
  background: var(--color-primary);
  color: var(--color-white);
}
.btn--primary:hover {
  background: var(--color-primary-dark);
}
.btn--outline {
  border-color: rgba(255, 255, 255, 0.6);
  color: var(--color-white);
}
.btn--outline:hover {
  background: var(--color-white);
  color: var(--color-secondary);
}
.topbar {
  background: linear-gradient(
    90deg,
    var(--color-secondary-deep) 0,
    var(--color-secondary) 100%
  );
  border-radius: 0 0 26px 26px;
  color: var(--color-white);
}
.topbar__inner {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.topbar__left,
.topbar__right {
  display: flex;
  align-items: center;
  flex: 1;
  gap: 16px;
}
.topbar__right {
  justify-content: flex-end;
}
.topbar__item {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: rgba(255, 255, 255, 0.93);
  font-size: 14px;
  white-space: nowrap;
}
.topbar__item svg {
  width: 16px;
  height: 16px;
  stroke: var(--color-primary);
  stroke-width: 1.9;
  fill: none;
}
.topbar__divider {
  width: 1px;
  height: 20px;
  background: rgba(255, 255, 255, 0.25);
}
.social {
  display: flex;
  align-items: center;
  gap: 13px;
}
.social a {
  display: inline-flex;
  color: rgba(255, 255, 255, 0.94);
}
.social a svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 1.9;
  fill: none;
}
.social a:hover {
  color: var(--color-primary);
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #f5f4ec;
  border-bottom: 1px solid #ece7d8;
  transition:
    box-shadow 0.25s,
    border-color 0.25s;
}
.site-header.scrolled {
  box-shadow: 0 10px 26px rgba(22, 17, 9, 0.14);
  border-color: transparent;
}
.site-header__inner {
  min-height: 92px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 36px;
}
.logo {
  display: inline-flex;
  align-items: center;
}
.logo img {
  width: 216px;
  max-width: 36vw;
  height: auto;
}
.main-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
}
.main-nav a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #251d11;
  font: 500 15px/1 var(--font-body);
}
.main-nav a svg {
  width: 10px;
  height: 10px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}
.main-nav a.active,
.main-nav a:hover {
  color: var(--color-primary);
}
.site-header__actions {
  display: flex;
  align-items: center;
  gap: 20px;
}
.help-call {
  display: flex;
  align-items: center;
  gap: 12px;
}
.help-call__icon {
  width: 56px;
  height: 56px;
  border: 1.6px solid var(--color-primary);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--color-primary);
}
.help-call__icon svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  stroke-width: 1.9;
  fill: none;
}
.help-call__copy small {
  display: block;
  margin-bottom: 3px;
  color: var(--color-primary);
  font: 600 13px/1 var(--font-label);
}
.help-call__copy strong {
  display: block;
  color: var(--color-secondary);
  font: 500 15px/1.15 var(--font-body);
}
.appointment-btn {
  display: inline-flex;
  align-items: center;
  min-height: 52px;
  padding-left: 28px;
  border-radius: 8px;
  background: var(--color-primary);
  color: var(--color-white);
  font: 700 14px/1 var(--font-body);
}
.appointment-btn:hover {
  background: var(--color-primary-dark);
}
.appointment-btn__arrow {
  width: 48px;
  height: 44px;
  margin: 4px 4px 4px 14px;
  border-radius: 6px;
  background: var(--color-white);
  color: #2a200f;
  display: grid;
  place-items: center;
}
.appointment-btn__arrow svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}
.hamburger {
  width: 46px;
  height: 46px;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid rgba(42, 32, 15, 0.2);
  background: 0 0;
  cursor: pointer;
}
.hamburger span {
  width: 24px;
  height: 2px;
  background: var(--color-secondary);
}
.mobile-overlay {
  position: fixed;
  inset: 0;
  z-index: 1190;
  background: rgba(0, 0, 0, 0.56);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.25s,
    visibility 0.25s;
}
.mobile-overlay.open {
  opacity: 1;
  visibility: visible;
}
.mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: min(88vw, 360px);
  height: 100dvh;
  z-index: 1200;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
  background: #fff;
  transform: translateX(100%);
  transition: transform 0.25s;
}
.mobile-nav.open {
  transform: translateX(0);
}
.mobile-nav__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.mobile-nav__close {
  width: 40px;
  height: 40px;
  border: 0;
  background: var(--color-tertiary);
  color: var(--color-secondary);
  display: grid;
  place-items: center;
  cursor: pointer;
}
.mobile-nav__close svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}
.mobile-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}
.mobile-nav ul a {
  display: block;
  padding: 8px 0;
  color: var(--color-secondary);
  font: 500 18px/1.2 var(--font-body);
}
.appointment-btn--mobile {
  width: max-content;
}
.mobile-nav .appointment-btn {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
.mobile-nav .appointment-btn__arrow {
  margin-left: 12px;
}
.hero {
  position: relative;
  overflow: hidden;
  background: var(--color-secondary);
}
.hero__slider {
  position: relative;
  min-height: min(79vh, 760px);
  max-height: 760px;
  overflow: hidden;
  background: url("images/main-slider-bg.webp") center/cover no-repeat;
}
.hero__slider::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
      90deg,
      rgba(16, 13, 8, 0.79) 0,
      rgba(16, 13, 8, 0.71) 28%,
      rgba(16, 13, 8, 0.45) 48%,
      rgba(16, 13, 8, 0.18) 66%,
      rgba(16, 13, 8, 0.03) 80%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.16) 0,
      rgba(0, 0, 0, 0.08) 46%,
      rgba(0, 0, 0, 0.34) 100%
    );
}
.hero-slide {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  transition: none;
}
.hero.is-ready .hero-slide {
  transition: opacity 0.75s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.hero-slide.active {
  z-index: 2;
  opacity: 1;
  pointer-events: auto;
}
.hero-slide__content {
  position: relative;
  z-index: 2;
  width: min(100%, 620px);
  padding-top: 92px;
  padding-bottom: 158px;
  padding-left: max(24px, calc((100vw - 1320px) / 2 + 20px));
  color: var(--color-white);
}
.hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  color: #f37330;
  font: 600 14px/1 var(--font-label);
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.hero-kicker svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}
.hero-slide__content h1,
.hero-slide__content h2 {
  margin-bottom: 16px;
  color: var(--color-white);
  font-size: clamp(40px, 5vw, 60px);
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.hero-slide__content p {
  max-width: 620px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 16px;
}
.hero-meta {
  margin-top: 52px;
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
}
.hero-btn {
  display: inline-flex;
  align-items: center;
  min-height: 52px;
  border-radius: 8px;
  background: var(--color-primary);
  color: var(--color-white);
  padding-left: 30px;
  font: 600 16px/1 var(--font-body);
}
.hero-btn:hover {
  background: var(--color-primary-dark);
}
.hero-btn__arrow {
  width: 48px;
  height: 44px;
  margin: 4px 4px 4px 14px;
  border-radius: 6px;
  background: var(--color-white);
  color: #2a200f;
  display: grid;
  place-items: center;
}
.hero-btn__arrow svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}
.hero-proof {
  display: flex;
  align-items: center;
  gap: 14px;
}
.hero-proof__avatars {
  display: flex;
  align-items: center;
}
.hero-proof__avatars img,
.hero-proof__plus {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.9);
  margin-left: -12px;
}
.hero-proof__avatars img:first-child {
  margin-left: 0;
}
.hero-proof__plus {
  display: grid;
  place-items: center;
  background: var(--color-primary);
  color: var(--color-white);
  font: 500 22px/1 var(--font-body);
}
.hero-proof__copy strong {
  display: block;
  color: var(--color-white);
  font: 700 30px/1 var(--font-heading);
}
.hero-proof__copy span {
  display: block;
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.86);
  font: 500 15px/1.3 var(--font-body);
}
.hero-slide__media {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
.hero-slide__media img {
  max-width: none;
  height: auto;
  backface-visibility: hidden;
}
.hero-slide.s1 .hero-slide__media img {
  width: min(980px, 73vw);
  transform: translate3d(22px, 0, 0);
}
.hero-slide.s2 .hero-slide__media img {
  width: min(1005px, 74vw);
  transform: translate3d(26px, 0, 0);
}
.hero-slide.s3 .hero-slide__media img {
  width: min(990px, 73vw);
  transform: translate3d(24px, 0, 0);
}
.hero-controls {
  position: absolute;
  left: max(24px, calc((100vw - 1320px) / 2 + 20px));
  bottom: 54px;
  z-index: 3;
  display: flex;
  gap: 12px;
}
.hero-control {
  width: 52px;
  height: 52px;
  border: 0;
  border-radius: 8px;
  background: var(--color-primary);
  color: var(--color-white);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition:
    transform 0.2s,
    background 0.2s;
}
.hero-control:hover {
  background: var(--color-primary-dark);
  transform: translateY(-2px);
}
.hero-control svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}
.services {
  background: var(--color-body-bg);
}
.services-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.services-grid--showcase {
  gap: 20px;
}
.service-feature {
  --svc-base: 108px;
  --svc-expand: 232px;
  --svc-icon: 78px;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}
.service-feature__link {
  position: relative;
  display: block;
  color: #fff;
}
.service-feature__image {
  width: 100%;
  height: auto;
  aspect-ratio: 600/650;
  object-fit: cover;
}
.service-feature__label {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  min-height: var(--svc-base);
}
.service-feature__icon {
  position: absolute;
  left: 0;
  bottom: 0;
  width: var(--svc-icon);
  height: var(--svc-base);
  display: grid;
  place-items: center;
  background: var(--color-primary);
  color: #fff;
}
.service-feature__icon svg {
  width: 40px;
  height: 40px;
  stroke: currentColor;
  stroke-width: 1.6;
  fill: none;
}
.service-feature__panel {
  position: absolute;
  left: var(--svc-icon);
  right: 0;
  bottom: 0;
  height: var(--svc-base);
  overflow: hidden;
  border-radius: 20px 10px 10px 0;
  background: linear-gradient(
    104deg,
    rgba(30, 27, 22, 0.88) 0,
    rgba(27, 25, 22, 0.84) 56%,
    rgba(24, 22, 19, 0.8) 100%
  );
  backdrop-filter: blur(3.2px);
  transition:
    height 0.36s,
    background 0.36s,
    backdrop-filter 0.36s;
}
.service-feature__panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
      137deg,
      rgba(255, 255, 255, 0.15) 0,
      rgba(255, 255, 255, 0) 36%
    ),
    linear-gradient(
      30deg,
      rgba(255, 255, 255, 0.08) 12%,
      rgba(255, 255, 255, 0) 44%
    );
  pointer-events: none;
}
.service-feature__panel h3 {
  position: absolute;
  z-index: 1;
  left: 22px;
  right: 20px;
  top: 50%;
  margin: 0;
  transform: translateY(-50%);
  color: #fff;
  font: 700 19px/1.14 var(--font-heading);
  letter-spacing: -0.01em;
  transition:
    top 0.36s,
    transform 0.36s;
}
.service-feature__details {
  position: absolute;
  z-index: 1;
  left: 22px;
  right: 20px;
  top: 84px;
  bottom: auto;
  opacity: 0;
  transform: translateY(12px);
  transition:
    opacity 0.28s,
    transform 0.28s;
}
.service-feature__details p {
  margin: 0 0 12px;
  color: rgba(255, 255, 255, 0.91);
  font: 500 15px/1.55 var(--font-body);
}
.service-feature__more {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #fff;
  font: 600 15px/1.2 var(--font-body);
}
.service-feature__more svg {
  width: 15px;
  height: 15px;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
}
.service-feature:focus-within .service-feature__panel,
.service-feature:hover .service-feature__panel {
  height: var(--svc-expand);
  background: linear-gradient(
    104deg,
    rgba(19, 17, 14, 0.93) 0,
    rgba(19, 17, 14, 0.89) 58%,
    rgba(19, 17, 14, 0.84) 100%
  );
  backdrop-filter: blur(4px);
}
.service-feature:focus-within .service-feature__panel h3,
.service-feature:hover .service-feature__panel h3 {
  top: 20px;
  transform: none;
}
.service-feature:focus-within .service-feature__details,
.service-feature:hover .service-feature__details {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 80ms;
}
.more-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--color-primary);
  font: 600 13px/1 var(--font-label);
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.more-link svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}
.more-link:hover {
  color: var(--color-secondary);
}
.section-kicker--spark {
  gap: 12px;
  color: #b4470f;
}
.section-kicker--spark span {
  display: none;
}
.section-kicker--spark svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}
.trusted-process {
  padding-top: 98px;
  padding-bottom: 46px;
  background: var(--color-body-bg);
}
.trusted-process .section-head {
  margin-bottom: 76px;
}
.trusted-process .section-head h2 {
  margin-top: 18px;
  max-width: 540px;
  font-size: clamp(30px, 2.5vw, 40px);
  line-height: 1.06;
  letter-spacing: -0.02em;
}
.trusted-process__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 24px;
  row-gap: 48px;
}
.trusted-process__grid::before {
  content: "";
  position: absolute;
  top: 74px;
  left: 12.5%;
  right: 12.5%;
  z-index: 0;
  border-top: 1px dashed #a79b89;
}
.trusted-step {
  position: relative;
  z-index: 1;
  text-align: center;
  cursor: default;
}
.trusted-step--consult {
  --step-image: url("images/home1-service-process-img1.jpg");
  --step-image-position: center;
}
.trusted-step--inspect {
  --step-image: url("images/Service-image-2.jpg");
  --step-image-position: 52% 54%;
}
.trusted-step--execute {
  --step-image: url("images/portfolio-listing-07.jpg");
  --step-image-position: center 32%;
}
.trusted-step--assure {
  --step-image: url("images/portfolio-listing-01.jpg");
  --step-image-position: 54% 36%;
}
.trusted-step__node {
  position: relative;
  width: 150px;
  height: 150px;
  margin: 0 auto 30px;
  border: 1.4px solid rgba(56, 44, 29, 0.52);
  border-radius: 50%;
  background: #ececef;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
  display: grid;
  place-items: center;
  transition: border-color 0.35s;
}
.trusted-step__node::after,
.trusted-step__node::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.35s;
}
.trusted-step__node::before {
  background: var(--step-image) var(--step-image-position, center) / cover
    no-repeat;
}
.trusted-step__node::after {
  background: rgba(31, 23, 12, 0.72);
}
.trusted-step__node svg {
  position: relative;
  z-index: 1;
  width: 56px;
  height: 56px;
  stroke: #5e5346;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
  transition: stroke 0.35s;
}
.trusted-step__badge {
  position: absolute;
  top: -22px;
  right: -12px;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: #2a200f;
  color: #fff;
  display: grid;
  place-items: center;
  z-index: 2;
  font: 700 29px/1 var(--font-label);
  letter-spacing: 0.4px;
  transition: background-color 0.35s;
}
.trusted-process__grid:not(:hover)
  .trusted-step:first-child
  .trusted-step__node::after,
.trusted-process__grid:not(:hover)
  .trusted-step:first-child
  .trusted-step__node::before,
.trusted-step:hover .trusted-step__node::after,
.trusted-step:hover .trusted-step__node::before {
  opacity: 1;
}
.trusted-process__grid:not(:hover)
  .trusted-step:first-child
  .trusted-step__node,
.trusted-step:hover .trusted-step__node {
  border-color: rgba(41, 29, 14, 0.2);
}
.trusted-process__grid:not(:hover)
  .trusted-step:first-child
  .trusted-step__node
  svg,
.trusted-step:hover .trusted-step__node svg {
  stroke: #ffffff;
}
.trusted-process__grid:not(:hover)
  .trusted-step:first-child
  .trusted-step__badge,
.trusted-step:hover .trusted-step__badge {
  background: #e85b10;
}
.trusted-step h3 {
  margin: 0 auto 16px;
  max-width: 298px;
  color: #2b2010;
  font-size: clamp(24px, 1.8vw, 30px);
  line-height: 1.06;
  letter-spacing: -0.015em;
}
.trusted-step p {
  margin: 0 auto;
  max-width: 286px;
  color: #8d8b86;
  font-size: 15px;
  line-height: 1.56;
}
.section-kicker--projects {
  color: #f36f2c;
}
.explore-projects {
  position: relative;
  padding-top: 52px;
  padding-bottom: 52px;
  background: #2b1d0d;
  overflow: hidden;
}
.explore-projects::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(
      90deg,
      rgba(36, 24, 10, 0.96) 0,
      rgba(43, 30, 14, 0.93) 44%,
      rgba(43, 30, 14, 0.9) 100%
    ),
    url("images/home1-testimonoal-bg.png") center/cover no-repeat;
}
.explore-projects::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 180px;
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(17, 11, 5, 0) 0,
    rgba(17, 11, 5, 0.8) 100%
  );
  pointer-events: none;
}
.explore-projects .container {
  position: relative;
  z-index: 2;
}
.explore-projects .section-head {
  margin-bottom: 50px;
}
.explore-projects .section-head h2 {
  margin-top: 14px;
  color: #fff;
  font-size: clamp(46px, 3.8vw, 62px);
  line-height: 1.06;
  letter-spacing: -0.02em;
}
.projects-showcase {
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.projects-showcase__track {
  width: max-content;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 28px;
}
.project-tile {
  flex: 0 0 360px;
  border-radius: 11px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  overflow: hidden;
  background: #120d06;
}
.project-tile:nth-child(odd) {
  margin-top: 58px;
}
.project-tile__link {
  position: relative;
  display: block;
  height: 480px;
}
.project-tile__link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.project-tile__link::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(13, 9, 4, 0) 48%,
    rgba(13, 9, 4, 0.68) 82%,
    rgba(13, 9, 4, 0.95) 100%
  );
}
.project-tile h3 {
  position: absolute;
  left: 22px;
  right: 20px;
  bottom: 18px;
  max-width: 250px;
  z-index: 1;
  color: #fff;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.section-kicker--calc {
  color: #f06a26;
}
.smart-calc {
  padding-top: 88px;
  padding-bottom: 94px;
  background: var(--color-body-bg);
}
.smart-calc .section-head {
  margin-bottom: 40px;
}
.smart-calc .section-head h2 {
  margin-top: 14px;
  font-size: clamp(40px, 3.3vw, 54px);
  line-height: 1.06;
  letter-spacing: -0.02em;
}
.smart-calc__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 282px;
  gap: 18px;
  align-items: stretch;
}
.calc-main,
.calc-summary {
  background: #efeff1;
  border: 1px solid #d2cfc6;
  border-radius: 18px;
}
.calc-main {
  margin: 0;
  display: grid;
  grid-template-columns: 292px minmax(0, 1fr) minmax(0, 1fr);
  min-height: 430px;
  overflow: hidden;
}
.calc-col {
  margin: 0;
  min-inline-size: 0;
  border: 0;
  padding: 32px 30px 28px;
}
.calc-col + .calc-col {
  border-left: 1px solid #ddd9d2;
}
.calc-slider + .calc-slider {
  margin-top: 50px;
}
.calc-slider__top {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 14px;
}
.calc-slider__value {
  flex: 0 0 90px;
  min-height: 40px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  background: var(--color-primary);
  color: #fff;
  font: 800 35px/1 var(--font-heading);
}
.calc-slider__label {
  max-width: 170px;
  color: #31271b;
  font: 600 17px/1.22 var(--font-body);
}
.calc-slider input[type="range"] {
  width: 100%;
  height: 6px;
  margin: 0;
  border-radius: 999px;
  border: 0;
  appearance: none;
  background: linear-gradient(
    90deg,
    var(--color-primary) 0 var(--fill, 0),
    #c7c6c3 var(--fill, 0) 100%
  );
}
.calc-slider input[type="range"]::-webkit-slider-runnable-track {
  height: 6px;
  background: 0 0;
  border-radius: 999px;
}
.calc-slider input[type="range"]::-webkit-slider-thumb {
  appearance: none;
  width: 22px;
  height: 22px;
  margin-top: -8px;
  border-radius: 50%;
  border: 4px solid #fff;
  background: #2b1f11;
  box-shadow: 0 0 0 1px rgba(75, 66, 52, 0.34);
  cursor: pointer;
}
.calc-slider input[type="range"]::-moz-range-track {
  height: 6px;
  background: #c7c6c3;
  border-radius: 999px;
}
.calc-slider input[type="range"]::-moz-range-progress {
  height: 6px;
  background: var(--color-primary);
  border-radius: 999px;
}
.calc-slider input[type="range"]::-moz-range-thumb {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 4px solid #fff;
  background: #2b1f11;
  box-shadow: 0 0 0 1px rgba(75, 66, 52, 0.34);
  cursor: pointer;
}
.calc-col h3 {
  margin-bottom: 12px;
  color: #2b2114;
  font-size: 18px;
  letter-spacing: -0.01em;
}
.calc-checklist {
  display: grid;
  gap: 8px;
}
.calc-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #3e362c;
  font: 500 16px/1.35 var(--font-body);
  cursor: pointer;
}
.calc-check input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 3px 0 0;
  border: 1px solid #c5c0b6;
  border-radius: 4px;
  appearance: none;
  background: #f7f7f8;
  position: relative;
}
.calc-check input[type="checkbox"]:checked {
  background: var(--color-primary);
  border-color: var(--color-primary);
}
.calc-check input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 1px;
  left: 4px;
  width: 4px;
  height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.calc-insurance {
  margin-top: 24px;
  position: relative;
}
.calc-insurance label {
  display: block;
  margin-bottom: 10px;
  color: #2b2114;
  font: 700 18px/1.2 var(--font-heading);
}
.calc-insurance__select {
  position: relative;
}
.calc-insurance__native {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
}
.calc-insurance__trigger {
  width: 100%;
  min-height: 56px;
  border: 1px solid #cfcac0;
  border-radius: 10px;
  padding: 0 18px 0 28px;
  background: #e6e5dd;
  color: #8b8479;
  font: 500 16px/1 var(--font-body);
  letter-spacing: 0.01em;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}
.calc-insurance__trigger svg {
  width: 12px;
  height: 12px;
  margin-right: 4px;
  stroke: #2b2114;
  stroke-width: 1.8;
  fill: none;
  transition: transform 0.2s;
}
.calc-insurance__select.open .calc-insurance__trigger svg {
  transform: rotate(180deg);
}
.calc-insurance__menu {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 8px);
  border: 1px solid #cbc6bd;
  border-radius: 10px;
  background: #ecebe6;
  padding: 10px;
  display: none;
  z-index: 8;
}
.calc-insurance__select.open .calc-insurance__menu {
  display: block;
}
.calc-insurance__search {
  width: 100%;
  min-height: 36px;
  border: 1px solid #c6c1b6;
  border-radius: 10px;
  background: #e7e5db;
  padding: 0 12px;
  color: #6f6a62;
  font: 500 15px/1 var(--font-body);
  margin-bottom: 12px;
  outline: 0;
}
.calc-insurance__search:focus {
  border-color: #b8b2a7;
}
.calc-insurance__option {
  width: 100%;
  min-height: 34px;
  border: 0;
  border-radius: 10px;
  background: 0 0;
  padding: 0 10px;
  color: #8b857e;
  font: 600 16px/1 var(--font-body);
  text-align: left;
  cursor: pointer;
}
.calc-insurance__option + .calc-insurance__option {
  margin-top: 3px;
}
.calc-insurance__option.is-selected {
  background: #e95404;
  color: #fff;
}
.calc-insurance__option[hidden] {
  display: none;
}
.calc-summary {
  padding: 34px 26px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 430px;
}
.calc-summary__icon {
  width: 84px;
  height: 84px;
  color: #1f160b;
}
.calc-summary__icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}
.calc-summary p {
  margin: 12px 0 6px;
  color: #2b2114;
  font: 700 18px/1.15 var(--font-heading);
}
.calc-summary strong {
  margin-bottom: 28px;
  color: #2b2114;
  font: 800 52px/1 var(--font-heading);
  letter-spacing: -0.02em;
}
.calc-summary__btn {
  width: 100%;
  max-width: 206px;
  min-height: 56px;
  border-radius: 8px;
  background: var(--color-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 600 16px/1 var(--font-body);
  transition: background 0.25s;
}
.calc-summary__btn:hover {
  background: var(--color-primary-dark);
}
.section-kicker--feedback {
  margin-bottom: 22px;
  color: #f06621;
  gap: 10px;
}
.section-kicker--feedback span {
  display: none;
}
.section-kicker--feedback svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}
.testimonials {
  position: relative;
  padding: 0;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 68% 28%,
      rgba(124, 81, 29, 0.18) 0,
      rgba(29, 18, 7, 0) 52%
    ),
    linear-gradient(90deg, rgba(38, 25, 9, 0.96) 0, rgba(32, 21, 8, 0.95) 100%),
    url("images/home1-testimonoal-bg.png") center/cover no-repeat;
}
.testimonials .container {
  position: relative;
}
.testi-slider {
  position: relative;
  min-height: 570px;
}
.testi-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.78s;
}
.testi-slide.active {
  opacity: 1;
  pointer-events: auto;
}
.testi-frame {
  min-height: 570px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 500px;
  gap: 46px;
  align-items: flex-start;
}
.testi-copy {
  max-width: 730px;
  padding: 92px 0 112px;
}
.testi-copy h2 {
  margin: 0 0 34px;
  color: #fff;
  font-size: clamp(40px, 3.35vw, 54px);
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.testi-copy blockquote {
  margin: 0 0 30px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 17px;
  line-height: 1.6;
}
.testi-stars {
  margin: 0 0 18px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 16px;
  line-height: 1;
}
.testi-stars span {
  color: #ffc107;
}
.testi-stars .off {
  color: #b58c23;
}
.testi-person {
  margin: 0;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 7px;
}
.testi-person strong {
  color: #fff;
  font: 700 20px/1.08 var(--font-heading);
  letter-spacing: -0.01em;
}
.testi-person span {
  color: rgba(255, 255, 255, 0.86);
  font: 600 16px/1.25 var(--font-body);
}
.testi-person span::before {
  content: " \2013 ";
  color: rgba(255, 255, 255, 0.75);
  margin-right: 2px;
}
.testi-image {
  width: 100%;
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: #fff;
}
.testi-image img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}
.testi-controls {
  position: absolute;
  left: 0;
  bottom: 92px;
  display: flex;
  gap: 14px;
  z-index: 4;
}
.team {
  background: var(--color-body-bg);
}
.team-kicker {
  margin-bottom: 16px;
  gap: 11px;
  color: #ef6922;
}
.team-kicker span {
  display: none;
}
.team-kicker svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}
.team .section-head {
  margin-bottom: 16px;
}
.team .section-head h2 {
  margin-top: 12px;
  font-size: clamp(42px, 3.45vw, 56px);
  letter-spacing: -0.02em;
}
.specialists-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.specialist-card {
  text-align: center;
  --specialist-bg-base: 205px;
  --specialist-bg-hover: 291px;
}
.specialist-card__visual {
  position: relative;
  height: 334px;
  margin: 0 0 16px;
}
.specialist-card__visual::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--specialist-bg-base);
  border-radius: 10px;
  background: #ebe7dd;
  z-index: 0;
  transition: height 0.34s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.specialist-card__visual img {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: auto;
  height: 304px;
  max-width: none;
  z-index: 1;
}
.specialist-card--alex .specialist-card__visual img {
  height: 310px;
}
.specialist-card--john .specialist-card__visual img {
  height: 305px;
}
.specialist-card--leo .specialist-card__visual img {
  height: 303px;
}
.specialist-card__meta {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 48px;
  justify-items: center;
  width: 100%;
}
.specialist-card h3 {
  margin: 0;
  color: #2b2114;
  font-size: 20px;
  line-height: 1.15;
}
.specialist-card__role {
  margin: 8px 0 0;
  grid-column: 1;
  grid-row: 2;
  align-self: start;
  color: #ef6722;
  font: 600 12px/1 var(--font-label);
  letter-spacing: 1.3px;
  text-transform: uppercase;
  transition:
    opacity 0.25s,
    transform 0.25s;
}
.specialist-card__social {
  grid-column: 1;
  grid-row: 2;
  align-self: start;
  margin-top: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition:
    opacity 0.25s,
    transform 0.25s,
    visibility 0.25s step-end;
}
.specialist-card__social a {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  background: #e95a0b;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition:
    background 0.2s,
    transform 0.2s;
}
.specialist-card__social a svg {
  width: 19px;
  height: 19px;
  stroke: currentColor;
  stroke-width: 1.9;
  fill: none;
}
.specialist-card__social a:hover {
  background: #ff6f1d;
  transform: translateY(-1px);
}
@media (hover: hover) and (pointer: fine) {
  .specialist-card:is(:hover, :focus-within) .specialist-card__visual::before {
    height: var(--specialist-bg-hover);
  }
  .specialist-card:is(:hover, :focus-within) .specialist-card__role {
    opacity: 0;
    transform: translateY(-8px);
  }
  .specialist-card:is(:hover, :focus-within) .specialist-card__social {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition:
      opacity 0.25s,
      transform 0.25s,
      visibility;
  }
}
@media (hover: none), (pointer: coarse) {
  .specialist-card__social {
    display: none;
  }
  .specialist-card__role {
    opacity: 1;
    transform: none;
  }
}
.blog {
  background: var(--color-body-bg);
}
.blog .section-head {
  margin-bottom: 42px;
}
.blog .section-head h2 {
  margin-top: 12px;
  font-size: clamp(44px, 3.65vw, 56px);
  letter-spacing: -0.02em;
}
.blog-kicker {
  margin-bottom: 18px;
  gap: 12px;
  color: #ef6722;
}
.blog-kicker span {
  display: none;
}
.blog-kicker svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.blog-card {
  border: 1px solid #d9d3c6;
  border-radius: 10px;
  overflow: hidden;
  background: #f5f5f5;
  min-height: 100%;
  transition:
    transform 0.25s,
    box-shadow 0.25s;
}
.blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(42, 32, 15, 0.13);
}
.blog-card__image {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 1720/1000;
}
.blog-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s;
}
.blog-card:hover .blog-card__image img {
  transform: scale(1.04);
}
.blog-card__body {
  padding: 26px 30px 22px;
  background: #f2f2f2;
}
.blog-card__date {
  position: absolute;
  right: 0;
  top: 0;
  min-height: 36px;
  padding: 0 18px;
  border-radius: 0 10px;
  background: #2b1e0c;
  color: #fff;
  display: inline-flex;
  align-items: center;
  font: 700 13px/1 var(--font-label);
  letter-spacing: 0.4px;
  text-transform: uppercase;
}
.blog-card__body h3 {
  margin-bottom: 14px;
  font-size: 25px;
  line-height: 1.15;
}
.blog-card__body h3 a:hover {
  color: var(--color-primary);
}
.blog-card__body > p {
  margin-bottom: 16px;
  color: #8c8881;
  font-size: 15px;
  line-height: 1.55;
}
.blog-card .more-link {
  gap: 10px;
  color: #342819;
  font: 600 15px/1 var(--font-body);
  letter-spacing: 0;
  text-transform: none;
}
.blog-card .more-link svg {
  width: 15px;
  height: 15px;
}
.blog-card .more-link:hover {
  color: #eb5b11;
}
.instagram {
  padding: 88px 0 98px;
  background: var(--color-body-bg);
}
.instagram .section-head {
  margin-bottom: 42px;
}
.instagram .section-head h2 {
  margin-top: 12px;
  font-size: clamp(44px, 3.7vw, 56px);
  letter-spacing: -0.02em;
}
.instagram-kicker {
  margin-bottom: 18px;
  gap: 12px;
  color: #ef6722;
}
.instagram-kicker span {
  display: none;
}
.instagram-kicker svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}
.instagram-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
}
.insta-item {
  position: relative;
  display: block;
  aspect-ratio: 1/1;
  border-radius: 10px;
  overflow: hidden;
}
.insta-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s;
}
.insta-item:hover img {
  transform: scale(1.04);
}
.site-footer {
  position: relative;
  color: #fff;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-bottom: 0;
  border-radius: 30px 30px 0 0;
  background:
    radial-gradient(
      circle at 76% 24%,
      rgba(124, 80, 27, 0.18) 0,
      rgba(28, 18, 7, 0) 48%
    ),
    linear-gradient(90deg, rgba(39, 25, 9, 0.97) 0, rgba(33, 22, 8, 0.97) 100%),
    url("images/home1-testimonoal-bg.png") center/cover no-repeat;
}
.site-footer .container {
  position: relative;
  z-index: 1;
}
.footer-top {
  background: 0 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  padding: 0;
}
.footer-top__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}
.footer-top__card {
  min-height: 170px;
  padding: 40px 26px 34px;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-content: start;
  gap: 18px;
}
.footer-top__card + .footer-top__card {
  border-left: 1px solid rgba(255, 255, 255, 0.18);
}
.footer-top__icon {
  width: 72px;
  height: 72px;
  border-radius: 10px;
  background: #e95a0b;
  color: #fff;
  display: grid;
  place-items: center;
}
.footer-top__icon svg {
  width: 31px;
  height: 31px;
  stroke: currentColor;
  stroke-width: 1.9;
  fill: none;
}
.footer-top__copy h3 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 20px;
  line-height: 1.08;
}
.footer-top__copy a,
.footer-top__copy p {
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  font: 500 15px/1.45 var(--font-body);
}
.footer-main {
  background: 0 0;
  padding: 64px 0 34px;
}
.footer-main__grid {
  display: grid;
  grid-template-columns: 1.45fr repeat(3, minmax(0, 1fr)) 1.22fr;
  gap: 44px;
}
.logo--footer img {
  width: 235px;
  max-width: 100%;
}
.footer-brand p {
  margin: 26px 0 30px;
  color: rgba(255, 255, 255, 0.9);
  font: 500 15px/1.5 var(--font-body);
}
.social--footer {
  gap: 9px;
}
.social--footer a {
  width: 38px;
  height: 36px;
  border-radius: 7px;
  background: #e95a0b;
  color: #fff;
  display: grid;
  place-items: center;
}
.social--footer a svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  stroke-width: 1.9;
  fill: none;
}
.social--footer a:hover {
  background: #ff6f1d;
  color: #fff;
}
.footer-col__toggle {
  width: 100%;
  margin: 0 0 20px;
  padding: 0;
  border: 0;
  background: 0 0;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  font: 800 19px/1.1 var(--font-heading);
  cursor: default;
}
.footer-col__toggle span {
  display: none;
}
.footer-col ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer-col li + li {
  margin-top: 12px;
}
.footer-col a {
  color: rgba(255, 255, 255, 0.9);
  font: 500 15px/1.36 var(--font-body);
}
.footer-col a:hover {
  color: #f27b39;
}
.footer-news h3 {
  margin-bottom: 16px;
  color: #fff;
  font: 800 19px/1.1 var(--font-heading);
}
.footer-news p {
  margin-bottom: 24px;
  color: rgba(255, 255, 255, 0.9);
  font: 500 15px/1.45 var(--font-body);
}
.footer-news__form {
  position: relative;
}
.footer-news__form input {
  width: 100%;
  min-height: 60px;
  border: 2px solid rgba(255, 255, 255, 0.9);
  border-radius: 10px;
  background: #fff;
  color: #261b10;
  padding: 0 96px 0 26px;
  font: 500 15px/1 var(--font-body);
}
.footer-news__form input::placeholder {
  color: #86807a;
}
.footer-news__form button {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 72px;
  height: calc(100% - 8px);
  border: 0;
  border-radius: 8px;
  background: #e95a0b;
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.footer-news__form button:hover {
  background: #ff6f1d;
}
.footer-news__form button svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}
.footer-news__terms {
  margin-top: 12px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: rgba(255, 255, 255, 0.92);
  font: 500 15px/1.45 var(--font-body);
}
.footer-news__terms input {
  appearance: none;
  margin: 3px 0 0;
  width: 14px;
  height: 14px;
  border: 0;
  border-radius: 3px;
  background: #fff;
  position: relative;
}
.footer-news__terms input:checked {
  background: #e95a0b;
  border-color: #e95a0b;
}
.footer-news__terms input:checked::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 1px;
  width: 5px;
  height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.footer-bottom {
  position: relative;
  background: 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  padding: 22px 0 16px;
}
.footer-bottom__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.footer-bottom a,
.footer-bottom p {
  color: rgba(255, 255, 255, 0.9);
  font: 500 14px/1.3 var(--font-body);
}
.footer-bottom a:hover {
  color: #fff;
}
.footer-mark {
  position: absolute;
  right: clamp(18px, 2.2vw, 34px);
  bottom: 14px;
  width: 30px;
  height: 36px;
  color: #ea5a0a;
  display: grid;
  place-items: center;
}
.footer-mark svg {
  width: 100%;
  height: 100%;
}
.footer-mark path:first-child {
  fill: currentColor;
}
.footer-mark path:last-child {
  fill: none;
  stroke: rgba(38, 24, 8, 0.95);
  stroke-width: 1.8;
  stroke-linejoin: round;
}
.video-modal {
  position: fixed;
  inset: 0;
  z-index: 1300;
  background: rgba(0, 0, 0, 0.78);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.25s,
    visibility 0.25s;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.video-modal.open {
  opacity: 1;
  visibility: visible;
}
.video-modal__box {
  width: min(960px, 100%);
  aspect-ratio: 16/9;
  background: #000;
  position: relative;
}
.video-modal__box iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.video-modal__close {
  position: absolute;
  top: -44px;
  right: 0;
  width: 36px;
  height: 36px;
  border: 0;
  background: #fff;
  color: var(--color-secondary);
  display: grid;
  place-items: center;
  cursor: pointer;
}
.video-modal__close svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}
.top-btn {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1100;
  width: 50px;
  height: 50px;
  border: 0;
  background: var(--color-primary);
  color: var(--color-white);
  display: grid;
  place-items: center;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: 0.25s;
}
.top-btn.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.top-btn svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.55s,
    transform 0.55s;
  transition-delay: var(--delay, 0ms);
}
.reveal.animated {
  opacity: 1;
  transform: translateY(0);
}
body.is-locked {
  overflow: hidden;
}
@media (max-width: 1540px) {
  .hero__slider {
    min-height: 700px;
  }
  .hero-slide__content {
    padding-top: 84px;
    padding-bottom: 148px;
  }
  .hero-slide.s1 .hero-slide__media img,
  .hero-slide.s2 .hero-slide__media img,
  .hero-slide.s3 .hero-slide__media img {
    width: min(860px, 68vw);
  }
}
@media (max-width: 1280px) {
  .site-header__inner {
    gap: 24px;
  }
  .logo img {
    width: 188px;
  }
  .main-nav ul {
    gap: 22px;
  }
  .hero__slider {
    min-height: 660px;
  }
  .hero-slide__content {
    padding-top: 76px;
    padding-bottom: 136px;
    padding-left: 24px;
  }
  .hero-meta {
    margin-top: 40px;
    gap: 22px;
  }
  .hero-proof__copy strong {
    font-size: 26px;
  }
  .blog-grid,
  .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .blog .section-head h2 {
    font-size: clamp(40px, 3.6vw, 50px);
  }
  .blog-card__body {
    padding: 24px 24px 20px;
  }
  .blog-card__body h3 {
    font-size: 23px;
  }
  .services-grid--showcase {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .service-feature {
    --svc-base: 100px;
    --svc-expand: 246px;
    --svc-icon: 74px;
  }
  .service-feature__icon {
    height: var(--svc-base);
  }
  .service-feature__panel h3 {
    font-size: 18px;
    left: 18px;
    right: 18px;
  }
  .service-feature__details {
    left: 18px;
    right: 18px;
    top: 78px;
    bottom: auto;
  }
  .service-feature__details p {
    font-size: 15px;
  }
  .service-feature__more {
    font-size: 13px;
  }
  .trusted-process .section-head {
    margin-bottom: 64px;
  }
  .trusted-process .section-head h2 {
    font-size: clamp(30px, 2.8vw, 38px);
  }
  .trusted-step h3 {
    font-size: clamp(24px, 2vw, 28px);
  }
  .explore-projects .section-head h2 {
    font-size: clamp(40px, 3.7vw, 54px);
  }
  .projects-showcase__track {
    gap: 22px;
  }
  .project-tile {
    flex-basis: 334px;
  }
  .project-tile__link {
    height: 452px;
  }
  .project-tile h3 {
    font-size: 19px;
  }
  .specialist-card {
    --specialist-bg-base: 198px;
    --specialist-bg-hover: 276px;
  }
  .specialists-grid {
    gap: 14px;
  }
  .specialist-card__visual {
    height: 320px;
  }
  .specialist-card__visual::before {
    height: 198px;
  }
  .specialist-card__visual img {
    height: 292px;
  }
  .specialist-card--alex .specialist-card__visual img {
    height: 298px;
  }
  .specialist-card--john .specialist-card__visual img {
    height: 293px;
  }
  .specialist-card--leo .specialist-card__visual img {
    height: 291px;
  }
  .smart-calc .section-head h2 {
    font-size: clamp(36px, 3vw, 46px);
  }
  .smart-calc__layout {
    grid-template-columns: minmax(0, 1fr) 264px;
  }
  .calc-main {
    grid-template-columns: 278px minmax(0, 1fr) minmax(0, 1fr);
  }
  .calc-col {
    padding: 28px 22px 24px;
  }
  .calc-slider + .calc-slider {
    margin-top: 38px;
  }
  .calc-slider__top {
    gap: 12px;
  }
  .calc-slider__value {
    flex-basis: 84px;
    min-height: 38px;
    font-size: 32px;
  }
  .calc-slider__label {
    font-size: 16px;
  }
  .calc-col h3,
  .calc-insurance label {
    font-size: 17px;
  }
  .calc-check {
    font-size: 15px;
  }
  .calc-summary {
    padding-inline: 20px;
  }
  .calc-summary p {
    font-size: 17px;
  }
  .calc-summary strong {
    font-size: 46px;
  }
  .footer-top__card {
    padding: 34px 20px 30px;
    grid-template-columns: 66px minmax(0, 1fr);
    gap: 14px;
  }
  .footer-top__icon {
    width: 66px;
    height: 66px;
  }
  .footer-main {
    padding-top: 56px;
  }
  .footer-main__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 1024px) {
  .topbar__inner {
    min-height: 44px;
  }
  .site-header__inner {
    min-height: 80px;
    grid-template-columns: 1fr auto;
    gap: 14px;
  }
  .help-call,
  .main-nav {
    display: none;
  }
  .appointment-btn {
    min-height: 46px;
    padding-left: 18px;
  }
  .appointment-btn__arrow {
    width: 40px;
    height: 38px;
  }
  .mobile-nav .appointment-btn__arrow {
    margin-left: 10px;
  }
  .hamburger {
    display: flex;
  }
  .hero__slider {
    max-height: none;
    min-height: 620px;
  }
  .hero-slide__content {
    padding-top: 72px;
    padding-bottom: 126px;
    padding-left: 20px;
    max-width: 620px;
  }
  .hero-slide__content h1,
  .hero-slide__content h2 {
    font-size: 46px;
  }
  .hero-slide__media {
    left: 42%;
    right: 0;
    pointer-events: none;
  }
  .hero-slide.s1 .hero-slide__media img,
  .hero-slide.s2 .hero-slide__media img,
  .hero-slide.s3 .hero-slide__media img {
    width: min(760px, 88vw);
    transform: translate3d(120px, 0, 0);
  }
  .hero-controls {
    left: 20px;
    bottom: 18px;
  }
  .testi-frame {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 66px 0 122px;
  }
  .testi-copy {
    max-width: 100%;
    padding: 0;
  }
  .testi-copy h2 {
    font-size: clamp(36px, 5.2vw, 46px);
    margin-bottom: 26px;
  }
  .testi-image {
    max-width: min(100%, 500px);
  }
  .blog .section-head {
    align-items: center;
    text-align: center;
    margin-bottom: 34px;
  }
  .blog .section-head h2 {
    font-size: clamp(36px, 5.2vw, 44px);
  }
  .blog-card__body {
    padding: 22px 22px 20px;
  }
  .blog-card__body h3 {
    font-size: 22px;
  }
  .team .section-head {
    align-items: center;
    text-align: center;
  }
  .specialist-card {
    --specialist-bg-base: 198px;
    --specialist-bg-hover: 270px;
  }
  .specialists-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
  .specialist-card__visual {
    height: 324px;
  }
  .specialist-card__visual::before {
    height: 198px;
  }
  .specialist-card__visual img {
    height: 296px;
  }
  .specialist-card--alex .specialist-card__visual img {
    height: 302px;
  }
  .specialist-card--john .specialist-card__visual img {
    height: 297px;
  }
  .specialist-card--leo .specialist-card__visual img {
    height: 295px;
  }
  .trusted-process__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 56px;
  }
  .trusted-process__grid::before {
    display: none;
  }
  .trusted-step__node {
    margin-bottom: 24px;
  }
  .trusted-step h3 {
    font-size: clamp(22px, 3vw, 26px);
  }
  .explore-projects {
    padding-top: 48px;
  }
  .explore-projects .section-head {
    margin-bottom: 42px;
  }
  .explore-projects .section-head h2 {
    font-size: clamp(36px, 4.9vw, 46px);
  }
  .projects-showcase__track {
    gap: 18px;
  }
  .project-tile {
    flex-basis: 290px;
  }
  .project-tile:nth-child(odd) {
    margin-top: 42px;
  }
  .project-tile__link {
    height: 408px;
  }
  .project-tile h3 {
    left: 18px;
    right: 16px;
    bottom: 16px;
    font-size: 18px;
  }
  .smart-calc {
    padding-top: 72px;
    padding-bottom: 82px;
  }
  .smart-calc .section-head {
    margin-bottom: 30px;
  }
  .smart-calc .section-head h2 {
    font-size: clamp(34px, 5vw, 42px);
  }
  .smart-calc__layout {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .calc-main {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .calc-col {
    padding: 24px 20px;
  }
  .calc-col + .calc-col {
    border-left: 0;
    border-top: 1px solid #ddd9d2;
  }
  .calc-slider + .calc-slider {
    margin-top: 28px;
  }
  .calc-slider__label {
    max-width: none;
  }
  .calc-col h3,
  .calc-insurance label {
    font-size: 17px;
  }
  .calc-summary {
    min-height: 0;
    padding: 28px 20px;
  }
  .calc-summary__btn {
    max-width: 270px;
  }
  .testi-slider {
    min-height: 860px;
  }
  .testi-controls {
    bottom: 30px;
  }
  .instagram .section-head {
    margin-bottom: 34px;
  }
  .instagram .section-head h2 {
    font-size: clamp(36px, 5.2vw, 44px);
  }
  .instagram-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
  .footer-top__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .footer-top__card {
    min-height: 146px;
    padding: 30px 20px 24px;
  }
  .footer-top__card:nth-child(odd) {
    border-left: 0;
  }
  .footer-top__card:nth-child(n + 3) {
    border-top: 1px solid rgba(255, 255, 255, 0.18);
  }
  .services-grid--showcase {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
  .service-feature {
    --svc-base: 92px;
    --svc-expand: 228px;
    --svc-icon: 68px;
  }
  .service-feature__icon {
    height: var(--svc-base);
  }
  .service-feature__icon svg {
    width: 34px;
    height: 34px;
  }
  .service-feature__panel h3 {
    font-size: 16px;
    left: 14px;
    right: 14px;
  }
  .service-feature__details {
    left: 14px;
    right: 14px;
    top: 72px;
    bottom: auto;
  }
  .service-feature__details p {
    margin-bottom: 10px;
    font-size: 14px;
  }
  .service-feature__more {
    font-size: 13px;
  }
}
@media (max-width: 767px) {
  .section {
    padding: 72px 0;
  }
  .topbar .social,
  .topbar__divider,
  .topbar__hours {
    display: none;
  }
  .topbar__item {
    font-size: 12px;
  }
  .logo img {
    width: 158px;
  }
  .site-header__actions .appointment-btn {
    display: none;
  }
  .section-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }
  .team .section-head {
    align-items: center;
    text-align: center;
  }
  .hero__slider {
    min-height: 560px;
  }
  .hero-slide__content {
    width: min(100%, 540px);
    padding-top: 56px;
    padding-bottom: 128px;
    padding-left: 20px;
  }
  .hero-kicker {
    margin-bottom: 14px;
    font-size: 12px;
  }
  .hero-slide__content h1,
  .hero-slide__content h2 {
    font-size: 40px;
    margin-bottom: 14px;
  }
  .hero-slide__content p {
    font-size: 15px;
  }
  .hero-meta {
    margin-top: 24px;
    gap: 16px;
  }
  .hero-btn {
    min-height: 48px;
    padding-left: 18px;
    font-size: 15px;
  }
  .hero-btn__arrow,
  .hero-proof__avatars img,
  .hero-proof__plus {
    width: 40px;
    height: 40px;
  }
  .hero-proof__plus {
    font-size: 20px;
  }
  .hero-proof__copy strong {
    font-size: 22px;
  }
  .hero-proof__copy span {
    font-size: 13px;
  }
  .hero-slide__media {
    left: 48%;
  }
  .hero-slide.s1 .hero-slide__media img,
  .hero-slide.s2 .hero-slide__media img,
  .hero-slide.s3 .hero-slide__media img {
    width: min(650px, 120vw);
    transform: translate3d(160px, 0, 0);
  }
  .services-grid {
    grid-auto-flow: column;
    grid-auto-columns: minmax(82%, 1fr);
    grid-template-columns: none;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px;
  }
  .service-feature {
    scroll-snap-align: start;
  }
  .blog-grid,
  .footer-top__grid,
  .trusted-process__grid {
    grid-template-columns: 1fr;
  }
  .footer-top__card {
    min-height: 0;
    padding: 24px 18px;
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 14px;
  }
  .footer-top__card + .footer-top__card {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
  }
  .footer-top__icon {
    width: 60px;
    height: 60px;
  }
  .trusted-process {
    padding-top: 76px;
    padding-bottom: 26px;
  }
  .trusted-process .section-head {
    align-items: center;
    text-align: center;
    margin-bottom: 46px;
  }
  .trusted-process .section-head h2 {
    max-width: 440px;
    font-size: clamp(32px, 8.2vw, 40px);
  }
  .blog .section-head {
    align-items: center;
    text-align: center;
    margin-bottom: 28px;
  }
  .blog .section-head h2 {
    font-size: clamp(32px, 7.9vw, 40px);
  }
  .blog-kicker {
    margin-bottom: 14px;
  }
  .blog-card__date {
    min-height: 34px;
    padding: 0 14px;
    font-size: 12px;
  }
  .blog-card__body {
    padding: 20px 18px 18px;
  }
  .blog-card__body h3 {
    font-size: 20px;
  }
  .blog-card .more-link,
  .blog-card__body > p {
    font-size: 14px;
  }
  .trusted-step__node {
    width: 142px;
    height: 142px;
    margin-bottom: 22px;
  }
  .trusted-step__node svg {
    width: 52px;
    height: 52px;
  }
  .trusted-step__badge {
    width: 56px;
    height: 56px;
    font-size: 24px;
    top: -18px;
    right: -10px;
  }
  .trusted-step h3 {
    font-size: clamp(22px, 6.4vw, 26px);
  }
  .explore-projects {
    padding-top: 42px;
    padding-bottom: 34px;
  }
  .explore-projects .section-head {
    margin-bottom: 28px;
  }
  .explore-projects .section-head h2 {
    font-size: clamp(32px, 7.7vw, 40px);
  }
  .projects-showcase {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 0 20px 8px;
  }
  .projects-showcase__track {
    margin: 0;
    gap: 16px;
  }
  .project-tile {
    flex-basis: min(82vw, 320px);
    scroll-snap-align: start;
  }
  .project-tile:nth-child(odd) {
    margin-top: 0;
  }
  .project-tile__link {
    height: 390px;
  }
  .project-tile h3 {
    font-size: 20px;
  }
  .smart-calc {
    padding-top: 64px;
    padding-bottom: 70px;
  }
  .smart-calc .section-head {
    align-items: center;
    text-align: center;
    margin-bottom: 24px;
  }
  .smart-calc .section-head h2 {
    font-size: clamp(30px, 8vw, 38px);
  }
  .calc-col {
    padding: 20px 16px;
  }
  .calc-slider__top {
    gap: 10px;
  }
  .calc-slider__value {
    flex-basis: 76px;
    min-height: 36px;
    font-size: 28px;
  }
  .calc-slider__label {
    font-size: 16px;
  }
  .calc-col h3,
  .calc-insurance label {
    font-size: 17px;
  }
  .calc-check {
    font-size: 15px;
  }
  .calc-summary__icon {
    width: 78px;
    height: 78px;
  }
  .calc-summary p {
    font-size: 17px;
  }
  .calc-summary strong {
    font-size: 42px;
  }
  .calc-summary__btn {
    width: 100%;
    max-width: none;
  }
  .testimonials {
    padding-bottom: 24px;
  }
  .testi-slider {
    min-height: 0;
  }
  .testi-frame {
    gap: 18px;
    padding: 50px 0 20px;
  }
  .testi-copy h2 {
    margin-bottom: 18px;
    font-size: clamp(32px, 9vw, 40px);
  }
  .testi-copy blockquote {
    margin-bottom: 16px;
    font-size: 16px;
    line-height: 1.55;
  }
  .testi-stars {
    margin-bottom: 14px;
  }
  .testi-person strong {
    font-size: 20px;
  }
  .testi-person span {
    font-size: 15px;
  }
  .testi-controls {
    position: static;
    margin-top: 8px;
  }
  .specialist-card {
    --specialist-bg-base: 186px;
    --specialist-bg-hover: 186px;
  }
  .specialists-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .specialist-card__visual {
    height: 304px;
    margin-bottom: 14px;
  }
  .specialist-card__visual::before {
    height: 186px;
  }
  .specialist-card__visual img {
    height: 278px;
  }
  .specialist-card--alex .specialist-card__visual img {
    height: 284px;
  }
  .specialist-card--john .specialist-card__visual img {
    height: 279px;
  }
  .specialist-card--leo .specialist-card__visual img {
    height: 277px;
  }
  .specialist-card h3 {
    font-size: 22px;
  }
  .instagram .section-head {
    margin-bottom: 26px;
  }
  .instagram .section-head h2 {
    font-size: clamp(32px, 8.2vw, 40px);
  }
  .instagram-kicker {
    margin-bottom: 14px;
  }
  .instagram-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
  .footer-main__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .footer-main {
    padding: 50px 0 24px;
  }
  .logo--footer img {
    width: 195px;
  }
  .footer-col ul {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.25s;
  }
  .footer-col.open ul {
    max-height: 440px;
  }
  .footer-col__toggle {
    margin-bottom: 14px;
    cursor: pointer;
  }
  .footer-col__toggle span {
    display: inline-block;
    font-size: 20px;
    line-height: 1;
  }
  .footer-news__form input {
    min-height: 56px;
    padding-left: 18px;
    padding-right: 84px;
  }
  .footer-news__form button {
    width: 62px;
  }
  .footer-bottom__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding-right: 42px;
  }
  .footer-mark {
    right: 14px;
    bottom: 10px;
    width: 26px;
    height: 32px;
  }
}
@media (max-width: 479px) {
  .topbar__left {
    gap: 14px;
    flex-wrap: wrap;
  }
  .hero__slider {
    min-height: 520px;
  }
  .hero-slide__content {
    padding-top: 46px;
    padding-bottom: 116px;
  }
  .hero-slide__content h1,
  .hero-slide__content h2 {
    font-size: 36px;
  }
  .hero-slide__content p {
    font-size: 14px;
  }
  .hero-control {
    width: 48px;
    height: 48px;
  }
  .project-tile {
    flex-basis: 86vw;
  }
  .project-tile__link {
    height: 370px;
  }
  .project-tile h3 {
    font-size: 19px;
  }
  .calc-slider__top {
    flex-wrap: wrap;
    margin-bottom: 12px;
  }
  .calc-slider__value {
    flex-basis: 70px;
    font-size: 26px;
  }
  .calc-col h3,
  .calc-insurance label,
  .calc-summary p {
    font-size: 17px;
  }
  .calc-summary strong {
    font-size: 38px;
    margin-bottom: 22px;
  }
}
.contact-page .about-hero {
  border-radius: 20px 20px 0 0;
}
.contact-page-main {
  padding-top: 76px;
  padding-bottom: 54px;
}
.contact-main__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: start;
  gap: 44px;
}
.contact-main__copy h2 {
  margin-top: 14px;
  margin-bottom: 30px;
  max-width: 560px;
  font-size: clamp(38px, 3.7vw, 56px);
  line-height: 1.06;
  letter-spacing: -0.02em;
}
.contact-main__form {
  padding: 32px 30px 30px;
  border: 1px solid #d1cdc2;
  border-radius: 20px;
  background: #f3f3f4;
}
.contact-main__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.contact-main__fields label {
  margin: 0;
}
.contact-main__fields input,
.contact-main__fields select,
.contact-main__fields textarea {
  width: 100%;
  border: 1px solid #cbc6ba;
  border-radius: 12px;
  background: #ecebe2;
  color: #2f281f;
  font: 500 15px/1.3 var(--font-body);
}
.contact-main__fields input::placeholder,
.contact-main__fields textarea::placeholder,
.contact-main__fields select {
  color: #837f78;
}
.contact-main__fields input,
.contact-main__fields select {
  min-height: 58px;
  padding: 0 26px;
}
.contact-main__fields select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #4a4339 50%),
    linear-gradient(135deg, #4a4339 50%, transparent 50%);
  background-position:
    calc(100% - 24px) calc(50% - 3px),
    calc(100% - 18px) calc(50% - 3px);
  background-size:
    7px 7px,
    7px 7px;
  background-repeat: no-repeat;
  cursor: pointer;
}
.contact-main__fields textarea {
  resize: none;
  min-height: 104px;
  padding: 18px 26px;
}
.contact-main__message {
  grid-column: 1/-1;
}
.contact-main__agree {
  margin-top: 22px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #837f78;
  font: 400 14px/1.4 var(--font-body);
}
.contact-main__agree input {
  width: 16px;
  height: 16px;
  margin: 0;
  border: 1px solid #b8b3aa;
  border-radius: 4px;
  appearance: none;
  background: #f3f3f4;
  cursor: pointer;
}
.contact-main__agree input:checked {
  background: var(--color-primary);
  border-color: var(--color-primary);
}
.contact-main__submit {
  margin-top: 24px;
  min-width: 174px;
  min-height: 52px;
  padding: 0 28px;
  border: 0;
  border-radius: 8px;
  background: var(--color-primary);
  color: #fff;
  font: 700 16px/1 var(--font-body);
  cursor: pointer;
}
.contact-main__submit:hover {
  background: var(--color-primary-dark);
}
.contact-main__image {
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
}
.contact-main__image img {
  width: 100%;
  height: 100%;
  min-height: 574px;
  object-fit: cover;
  object-position: center;
}
.contact-branches {
  padding-top: 26px;
  padding-bottom: 78px;
}
.contact-branches .section-head {
  margin-bottom: 28px;
}
.contact-branches .section-head h2 {
  margin-top: 12px;
  font-size: clamp(36px, 3.1vw, 46px);
}
.contact-branches__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}
.contact-branch-card {
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
  background: #d8d3c7;
}
.contact-branch-card img {
  width: 100%;
  height: 222px;
  object-fit: cover;
}
.contact-branch-card h3 {
  margin: 0;
  min-height: 52px;
  display: grid;
  place-items: center;
  color: #fff;
  background: #241c12;
  font-size: 28px;
  line-height: 1;
}
.contact-branch-card h3.is-active {
  background: var(--color-primary);
}
.contact-map {
  border-radius: 0 0 10px 10px;
  overflow: hidden;
  border: 1px solid #ddd7c9;
}
.contact-map iframe {
  display: block;
  width: 100%;
  height: 372px;
  border: 0;
}
@media (max-width: 1280px) {
  .contact-main__grid {
    gap: 30px;
  }
  .contact-main__copy h2 {
    font-size: clamp(34px, 3.5vw, 46px);
    margin-bottom: 24px;
  }
  .contact-main__form {
    padding: 20px;
  }
  .contact-main__image img {
    min-height: 534px;
  }
  .contact-branch-card h3 {
    font-size: 24px;
  }
}
@media (max-width: 1024px) {
  .contact-page .about-hero {
    border-radius: 16px 16px 0 0;
  }
  .contact-page-main {
    padding-top: 64px;
    padding-bottom: 46px;
  }
  .contact-main__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .contact-main__copy h2 {
    max-width: 100%;
  }
  .contact-main__image img {
    min-height: 460px;
  }
  .contact-branches {
    padding-top: 20px;
    padding-bottom: 64px;
  }
  .contact-branches__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .contact-map iframe {
    height: 340px;
  }
}
@media (max-width: 767px) {
  .contact-page .about-hero {
    border-radius: 0;
  }
  .contact-page-main {
    padding-top: 54px;
    padding-bottom: 40px;
  }
  .contact-main__copy h2 {
    font-size: clamp(30px, 8vw, 38px);
    margin-bottom: 18px;
  }
  .contact-main__form {
    padding: 16px;
    border-radius: 12px;
  }
  .contact-main__fields {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .contact-main__fields input,
  .contact-main__fields select {
    min-height: 48px;
  }
  .contact-main__image img {
    min-height: 380px;
  }
  .contact-branches {
    padding-top: 10px;
    padding-bottom: 54px;
  }
  .contact-branches .section-head {
    margin-bottom: 18px;
    align-items: center;
    text-align: center;
  }
  .contact-branches .section-head h2 {
    font-size: clamp(30px, 8vw, 38px);
  }
  .contact-branches__grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .contact-branch-card img {
    height: 210px;
  }
  .contact-branch-card h3 {
    min-height: 48px;
    font-size: 22px;
  }
  .contact-map iframe {
    height: 290px;
  }
}
.services-page .about-hero {
  border-radius: 34px 34px 0 0;
}
.services-page-showcase {
  padding-top: 86px;
  padding-bottom: 88px;
}
.services-grid--page {
  gap: 26px;
}
.services-page-showcase .service-feature:nth-child(4) .service-feature__image {
  object-position: center 46%;
}
.services-page-showcase .service-feature:nth-child(5) .service-feature__image {
  object-position: center 55%;
}
.services-page-showcase .service-feature:nth-child(6) .service-feature__image {
  object-position: center 50%;
}
@media (max-width: 1280px) {
  .services-page .about-hero {
    border-radius: 28px 28px 0 0;
  }
  .services-page-showcase {
    padding-top: 72px;
    padding-bottom: 76px;
  }
  .services-grid--page {
    gap: 20px;
  }
}
@media (max-width: 1024px) {
  .services-page .about-hero {
    border-radius: 22px 22px 0 0;
  }
  .services-page-showcase {
    padding-top: 64px;
    padding-bottom: 66px;
  }
  .services-grid--page {
    gap: 16px;
  }
}
@media (max-width: 767px) {
  .services-page .about-hero {
    border-radius: 0;
  }
  .services-page-showcase {
    padding-top: 52px;
    padding-bottom: 56px;
  }
  .services-grid--page {
    gap: 14px;
  }
}
.gallery-page main {
  background: var(--color-body-bg);
}
.gallery-hero {
  position: relative;
  width: min(100%, 1360px);
  margin-inline: auto;
  border-radius: 34px 34px 0 0;
  overflow: hidden;
  background: #2b1d0d;
}
.gallery-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
      90deg,
      rgba(27, 18, 8, 0.87) 0,
      rgba(27, 18, 8, 0.56) 38%,
      rgba(27, 18, 8, 0.08) 76%
    ),
    linear-gradient(180deg, rgba(0, 0, 0, 0.11) 0, rgba(0, 0, 0, 0.16) 100%);
}
.gallery-hero__inner {
  position: relative;
  z-index: 1;
  min-height: 220px;
  padding-top: 74px;
  padding-bottom: 50px;
}
.gallery-hero h1 {
  display: inline-block;
  margin-bottom: 12px;
  color: #fff;
  font-size: clamp(44px, 4.9vw, 66px);
  line-height: 1.02;
  letter-spacing: -0.02em;
}
.gallery-hero__crumb {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: rgba(255, 255, 255, 0.94);
  font: 500 34px/1 var(--font-body);
}
.gallery-hero__crumb a:hover {
  color: #fff;
}
.gallery-showcase {
  padding-top: 88px;
  padding-bottom: 92px;
}
.gallery-masonry {
  display: grid;
  grid-template-columns: 1fr 1.14fr 1.72fr 1.14fr;
  grid-template-rows: 300px 300px;
  gap: 20px;
}
.gallery-card {
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
  background: #e4dfd4;
}
.gallery-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gallery-card--a {
  grid-column: 1;
  grid-row: 1;
}
.gallery-card--b {
  grid-column: 1;
  grid-row: 2;
}
.gallery-card--c {
  grid-column: 2;
  grid-row: 1 / span 2;
}
.gallery-card--d {
  grid-column: 3;
  grid-row: 1;
}
.gallery-card--e {
  grid-column: 3;
  grid-row: 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  overflow: visible;
  background: 0 0;
  border-radius: 0;
}
.gallery-card--e figure {
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
  background: #e4dfd4;
}
.gallery-card--f {
  grid-column: 4;
  grid-row: 1 / span 2;
}
.gallery-card--a img {
  object-position: center 30%;
}
.gallery-card--b img {
  object-position: center 55%;
}
.gallery-card--c img {
  object-position: center center;
}
.gallery-card--d img {
  object-position: center 45%;
}
.gallery-card--e figure:first-child img {
  object-position: center 52%;
}
.gallery-card--e figure:last-child img {
  object-position: center 48%;
}
.gallery-card--f img {
  object-position: center 44%;
}
@media (max-width: 1280px) {
  .gallery-hero {
    width: min(100%, 1320px);
    border-radius: 28px 28px 0 0;
  }
  .gallery-hero__inner {
    min-height: 238px;
    padding-top: 82px;
    padding-bottom: 62px;
  }
  .gallery-hero__crumb {
    font-size: 30px;
  }
  .gallery-showcase {
    padding-top: 74px;
    padding-bottom: 78px;
  }
  .gallery-masonry {
    grid-template-rows: 268px 268px;
    gap: 16px;
  }
  .gallery-card--e {
    gap: 16px;
  }
}
@media (max-width: 1024px) {
  .gallery-hero {
    border-radius: 22px 22px 0 0;
  }
  .gallery-hero__inner {
    min-height: 220px;
    padding-top: 70px;
    padding-bottom: 54px;
  }
  .gallery-hero__crumb {
    font-size: 27px;
  }
  .gallery-showcase {
    padding-top: 62px;
    padding-bottom: 66px;
  }
  .gallery-masonry {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: 254px 254px 254px;
    gap: 14px;
  }
  .gallery-card--a {
    grid-column: 1;
    grid-row: 1;
  }
  .gallery-card--b {
    grid-column: 1;
    grid-row: 2;
  }
  .gallery-card--c {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
  .gallery-card--d {
    grid-column: 3;
    grid-row: 1;
  }
  .gallery-card--e {
    grid-column: 2 / span 2;
    grid-row: 3;
    gap: 14px;
  }
  .gallery-card--f {
    grid-column: 3;
    grid-row: 2;
  }
}
@media (max-width: 767px) {
  .gallery-hero {
    border-radius: 0;
    width: 100%;
  }
  .gallery-hero__inner {
    min-height: 186px;
    padding-top: 56px;
    padding-bottom: 44px;
  }
  .gallery-hero h1 {
    font-size: clamp(36px, 8.2vw, 48px);
  }
  .gallery-hero__crumb {
    font-size: 22px;
  }
  .gallery-showcase {
    padding-top: 50px;
    padding-bottom: 54px;
  }
  .gallery-masonry {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 220px 220px 220px 220px;
    gap: 12px;
  }
  .gallery-card {
    border-radius: 16px;
  }
  .gallery-card--a {
    grid-column: 1;
    grid-row: 1;
  }
  .gallery-card--b {
    grid-column: 1;
    grid-row: 2;
  }
  .gallery-card--c {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
  .gallery-card--d {
    grid-column: 1 / span 2;
    grid-row: 3;
  }
  .gallery-card--e {
    grid-column: 1 / span 2;
    grid-row: 4;
    gap: 12px;
  }
  .gallery-card--e figure {
    border-radius: 16px;
  }
  .gallery-card--f {
    display: none;
  }
}
@media (max-width: 479px) {
  .gallery-hero__inner {
    min-height: 170px;
    padding-top: 48px;
    padding-bottom: 38px;
  }
  .gallery-hero h1 {
    font-size: clamp(32px, 9vw, 40px);
  }
  .gallery-hero__crumb {
    font-size: 18px;
  }
  .gallery-masonry {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 12px;
  }
  .gallery-card,
  .gallery-card--e figure {
    border-radius: 14px;
  }
  .gallery-card--a,
  .gallery-card--b,
  .gallery-card--c,
  .gallery-card--d,
  .gallery-card--e,
  .gallery-card--f {
    grid-column: auto;
    grid-row: auto;
  }
  .gallery-card--a,
  .gallery-card--b,
  .gallery-card--d,
  .gallery-card--f {
    aspect-ratio: 1/0.78;
  }
  .gallery-card--c {
    aspect-ratio: 1/1.1;
  }
  .gallery-card--e {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .gallery-card--e figure {
    aspect-ratio: 1/0.78;
  }
}
.about-page main {
  background: var(--color-body-bg);
}
.about-hero {
  position: relative;
  width: min(100%, 1360px);
  margin-inline: auto;
  border-radius: 18px;
  overflow: hidden;
  background: #2b1d0d;
}
.about-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
      90deg,
      rgba(28, 20, 10, 0.82) 0,
      rgba(28, 20, 10, 0.56) 33%,
      rgba(28, 20, 10, 0.08) 76%
    ),
    linear-gradient(180deg, rgba(0, 0, 0, 0.16) 0, rgba(0, 0, 0, 0.18) 100%);
}
.about-hero__inner {
  position: relative;
  z-index: 1;
  min-height: 172px;
  padding-top: 42px;
  padding-bottom: 38px;
}
.about-hero h1 {
  display: inline-block;
  margin-bottom: 12px;
  color: #fff;
  font-size: clamp(42px, 4.8vw, 64px);
  line-height: 1;
  letter-spacing: -0.02em;
}
.about-hero__crumb {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.92);
  font: 500 13px/1 var(--font-body);
}
.about-hero__crumb a:hover {
  color: #fff;
}
.about-hero__crumb span {
  opacity: 0.55;
}
.about-durable {
  padding-top: 82px;
  padding-bottom: 84px;
}
.about-durable__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.03fr);
  align-items: start;
  gap: 54px;
}
.about-durable__copy h2 {
  margin-top: 14px;
  margin-bottom: 16px;
  max-width: 540px;
  font-size: clamp(40px, 4vw, 58px);
  line-height: 1.02;
  letter-spacing: -0.02em;
}
.about-durable__copy > p {
  max-width: 490px;
  color: #5f5a52;
  font-size: 16px;
}
.about-durable__list {
  margin: 30px 0 36px;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: 13px;
}
.about-durable__list li {
  position: relative;
  padding-left: 24px;
  color: #4b4238;
  font: 500 15px/1.36 var(--font-body);
}
.about-durable__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--color-primary);
}
.about-durable__list li::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 7px;
  width: 5px;
  height: 3px;
  border: 1.8px solid #fff;
  border-top: 0;
  border-right: 0;
  transform: rotate(-45deg);
}
.about-inline-btn {
  display: inline-flex;
  align-items: center;
  min-height: 52px;
  border-radius: 7px;
  background: var(--color-primary);
  color: #fff;
  padding-left: 28px;
  font: 600 14px/1 var(--font-body);
}
.about-inline-btn:hover {
  background: var(--color-primary-dark);
}
.about-inline-btn span {
  width: 40px;
  height: 40px;
  margin: 6px 6px 6px 14px;
  border-radius: 6px;
  background: #fff;
  color: #281f12;
  display: grid;
  place-items: center;
}
.about-inline-btn svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  stroke-width: 2.4;
  fill: none;
}
.about-durable__media {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.86fr);
  grid-template-rows: 188px 188px 82px;
  gap: 12px;
}
.about-durable__figure {
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
}
.about-durable__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-durable__figure--main {
  grid-column: 1;
  grid-row: 1 / span 2;
}
.about-durable__figure--side {
  grid-column: 2;
  grid-row: 2;
}
.about-durable__stat {
  border-radius: 12px;
  background: var(--color-primary);
  color: #fff;
  text-transform: uppercase;
  display: grid;
  place-items: center;
  text-align: center;
}
.about-durable__stat strong {
  display: block;
  font: 800 46px/1 var(--font-heading);
  letter-spacing: -0.02em;
}
.about-durable__stat span {
  display: block;
  margin-top: 4px;
  font: 600 11px/1.1 var(--font-label);
  letter-spacing: 1.2px;
}
.about-durable__stat--technology {
  grid-column: 2;
  grid-row: 1;
}
.about-durable__mini {
  grid-column: 1/-1;
  grid-row: 3;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.about-durable__mini .about-durable__stat {
  border-radius: 10px;
}
.about-durable__mini .about-durable__stat strong {
  font-size: 40px;
}
.about-why {
  position: relative;
  padding-top: 86px;
  padding-bottom: 86px;
  background: #25180a;
  overflow: hidden;
}
.about-why::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(30, 19, 7, 0.96) 0,
      rgba(35, 23, 10, 0.92) 48%,
      rgba(35, 23, 10, 0.9) 100%
    ),
    url("images/home1-testimonoal-bg.png") center/cover no-repeat;
  opacity: 0.98;
}
.about-why .container {
  position: relative;
  z-index: 1;
}
.about-why .section-head {
  margin-bottom: 38px;
}
.about-why .section-head h2 {
  margin-top: 16px;
  color: #fff;
  font-size: clamp(40px, 3.6vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.about-why__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.about-why__card {
  padding: 18px 14px 16px;
  border-radius: 12px;
  background: #f2f0e8;
}
.about-why__card header {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.about-why__icon {
  width: 24px;
  height: 24px;
  color: var(--color-primary);
  display: grid;
  place-items: center;
}
.about-why__icon svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  stroke-width: 1.7;
  fill: none;
}
.about-why__card h3 {
  font-size: 25px;
  line-height: 1.05;
  letter-spacing: -0.015em;
}
.about-why__card figure {
  margin: 0 0 14px;
  border-radius: 10px;
  overflow: hidden;
}
.about-why__card figure img {
  width: 100%;
  aspect-ratio: 264/168;
  object-fit: cover;
}
.about-why__card ul {
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.about-why__card li {
  position: relative;
  padding-left: 18px;
  color: #61584d;
  font-size: 13px;
  line-height: 1.5;
}
.about-why__card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-primary);
}
.about-why__card a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #24190b;
  font: 600 14px/1 var(--font-body);
}
.about-why__card a svg {
  width: 13px;
  height: 13px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}
.about-why__card a:hover {
  color: var(--color-primary);
}
.about-partner {
  padding-top: 82px;
  padding-bottom: 82px;
  background: var(--color-body-bg);
}
.about-partner__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  align-items: center;
  gap: 52px;
}
.about-partner__image {
  margin: 0;
  border-radius: 0;
  overflow: hidden;
}
.about-partner__image img {
  width: 100%;
  aspect-ratio: 740/525;
  object-fit: cover;
}
.about-partner__copy h2 {
  margin-top: 14px;
  margin-bottom: 24px;
  font-size: clamp(38px, 3.7vw, 54px);
  line-height: 1.03;
  letter-spacing: -0.02em;
}
.about-partner__copy h3 {
  margin-bottom: 10px;
  color: #261e14;
  font-size: 30px;
  line-height: 1.1;
}
.about-partner__copy p {
  margin-bottom: 22px;
  color: #827d76;
  font-size: 15px;
  line-height: 1.6;
}
.about-partner__copy ul {
  margin: 0 0 34px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.about-partner__copy li {
  position: relative;
  padding-left: 24px;
  color: #4f463c;
  font-size: 14px;
  line-height: 1.5;
}
.about-partner__copy li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--color-primary);
}
.about-partner__copy li::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 8px;
  width: 5px;
  height: 3px;
  border: 1.8px solid #fff;
  border-top: 0;
  border-right: 0;
  transform: rotate(-45deg);
}
.about-awards {
  position: relative;
  padding-top: 84px;
  padding-bottom: 94px;
  background: #24170a;
  overflow: hidden;
}
.about-awards::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(33, 22, 8, 0.97) 0,
      rgba(38, 24, 9, 0.92) 50%,
      rgba(38, 24, 9, 0.9) 100%
    ),
    url("images/home1-testimonoal-bg.png") center/cover no-repeat;
}
.about-awards .container {
  position: relative;
  z-index: 1;
}
.about-awards .section-head {
  margin-bottom: 30px;
}
.about-awards .section-head h2 {
  margin-top: 14px;
  color: #fff;
  font-size: clamp(40px, 3.5vw, 54px);
  line-height: 1.05;
  letter-spacing: -0.02em;
}
.about-awards__table {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.about-awards__row {
  display: grid;
  grid-template-columns: 92px 190px minmax(0, 1fr) 86px;
  align-items: center;
  gap: 18px;
  min-height: 118px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.about-awards__index {
  color: #fff;
  font: 700 50px/1 var(--font-heading);
  letter-spacing: -0.02em;
}
.about-awards__brand {
  color: rgba(255, 255, 255, 0.84);
  font: 700 13px/1.2 var(--font-label);
  letter-spacing: 1px;
  text-transform: uppercase;
}
.about-awards__row h3 {
  color: #fff;
  font-size: 34px;
  line-height: 1.06;
  letter-spacing: -0.015em;
}
.about-awards__row strong {
  color: #fff;
  text-align: right;
  font: 700 44px/1 var(--font-heading);
  letter-spacing: -0.02em;
}
.about-awards__row--highlight {
  margin: 10px 0;
  padding-inline: 16px;
  border: 0;
  border-radius: 8px;
  background: rgba(18, 12, 5, 0.35);
}
.about-awards__row.about-awards__row--highlight {
  border: none !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.about-awards__row--highlight figure {
  margin: 0;
  width: 238px;
  justify-self: start;
  border-radius: 6px;
  overflow: hidden;
}
.about-awards__row--highlight figure img {
  width: 100%;
  aspect-ratio: 238/92;
  object-fit: cover;
}
.about-brands {
  padding-top: 74px;
  padding-bottom: 70px;
}
.about-brands .section-head {
  margin-bottom: 34px;
}
.about-brands .section-head h2 {
  margin-top: 14px;
  font-size: clamp(36px, 3vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.02em;
}
.about-brands__track {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid #d8d4c8;
  border-radius: 6px;
  background: #f8f7f2;
  overflow: hidden;
  transition:
    opacity 0.22s,
    transform 0.22s;
}
.about-brands__track.is-switching {
  opacity: 0.6;
  transform: translateY(2px);
}
.about-brands__item {
  min-height: 142px;
  padding: 22px 12px;
  display: grid;
  place-items: center;
  border-right: 1px solid #ddd8ca;
  color: #332719;
  text-align: center;
  font: 700 16px/1.2 var(--font-heading);
  letter-spacing: 0.7px;
  text-transform: uppercase;
}
.about-brands__item:last-child {
  border-right: 0;
}
.about-brands__dots {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
}
.about-brands__dots button,
.about-brands__dots span {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #2a2013;
  cursor: pointer;
}
.about-brands__dots button:focus-visible {
  outline: #e85b10 solid 2px;
  outline-offset: 4px;
}
.about-brands__dots button.active,
.about-brands__dots span.active {
  width: 28px;
  height: 28px;
  border: 1.5px solid #e85b10;
  background: 0 0;
  position: relative;
}
.about-brands__dots button.active::before,
.about-brands__dots span.active::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #e85b10;
}
@media (max-width: 1280px) {
  .about-hero {
    width: min(100%, 1320px);
  }
  .about-hero__inner {
    min-height: 182px;
    padding-top: 48px;
    padding-bottom: 46px;
  }
  .about-durable__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 36px;
  }
  .about-durable__copy h2 {
    font-size: clamp(36px, 3.8vw, 48px);
  }
  .about-durable__media {
    grid-template-rows: 170px 170px 76px;
  }
  .about-durable__stat strong {
    font-size: 40px;
  }
  .about-durable__mini .about-durable__stat strong {
    font-size: 34px;
  }
  .about-why .section-head h2 {
    font-size: clamp(34px, 3.5vw, 44px);
  }
  .about-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
  .about-why__card h3 {
    font-size: 24px;
  }
  .about-partner__grid {
    gap: 34px;
  }
  .about-partner__copy h2 {
    font-size: clamp(34px, 3.6vw, 44px);
  }
  .about-partner__copy h3 {
    font-size: 26px;
  }
  .about-awards .section-head h2 {
    font-size: clamp(34px, 3.4vw, 44px);
  }
  .about-awards__row {
    grid-template-columns: 74px 148px minmax(0, 1fr) 68px;
    min-height: 108px;
  }
  .about-awards__index {
    font-size: 42px;
  }
  .about-awards__row h3 {
    font-size: 30px;
  }
  .about-awards__row strong {
    font-size: 36px;
  }
  .about-awards__row--highlight figure {
    width: 190px;
  }
  .about-brands__item {
    min-height: 126px;
    font-size: 14px;
  }
}
@media (max-width: 1024px) {
  .about-hero {
    border-radius: 14px;
  }
  .about-hero__inner {
    min-height: 166px;
    padding-top: 42px;
    padding-bottom: 40px;
  }
  .about-durable {
    padding-top: 70px;
    padding-bottom: 70px;
  }
  .about-durable__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .about-durable__copy h2 {
    max-width: 680px;
    font-size: clamp(34px, 5vw, 42px);
  }
  .about-durable__copy > p {
    max-width: 100%;
  }
  .about-durable__media {
    max-width: 700px;
    grid-template-rows: 182px 182px 82px;
  }
  .about-why {
    padding-top: 70px;
    padding-bottom: 70px;
  }
  .about-why .section-head {
    margin-bottom: 30px;
  }
  .about-partner {
    padding-top: 70px;
    padding-bottom: 70px;
  }
  .about-partner__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .about-partner__image img {
    aspect-ratio: 740/470;
  }
  .about-partner__copy ul {
    margin-bottom: 26px;
  }
  .about-awards {
    padding-top: 72px;
    padding-bottom: 78px;
  }
  .about-awards__row {
    grid-template-columns: 62px 124px minmax(0, 1fr) 58px;
    gap: 12px;
    min-height: 94px;
  }
  .about-awards__index {
    font-size: 34px;
  }
  .about-awards__row h3 {
    font-size: 24px;
  }
  .about-awards__row strong {
    font-size: 30px;
  }
  .about-awards__brand {
    font-size: 11px;
  }
  .about-awards__row--highlight {
    padding-inline: 10px;
  }
  .about-awards__row--highlight figure {
    width: 150px;
  }
  .about-brands {
    padding-top: 64px;
    padding-bottom: 62px;
  }
  .about-brands .section-head {
    margin-bottom: 24px;
  }
  .about-brands__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .about-brands__item:nth-child(3n) {
    border-right: 0;
  }
  .about-brands__item:nth-child(n + 4) {
    border-top: 1px solid #ddd8ca;
  }
}
@media (max-width: 767px) {
  .about-hero {
    border-radius: 0;
    width: 100%;
  }
  .about-hero__inner {
    min-height: 138px;
    padding-top: 34px;
    padding-bottom: 34px;
  }
  .about-hero h1 {
    font-size: 38px;
  }
  .about-durable {
    padding-top: 58px;
    padding-bottom: 58px;
  }
  .about-durable__copy h2 {
    margin-top: 10px;
    margin-bottom: 14px;
    font-size: clamp(30px, 8vw, 38px);
  }
  .about-durable__copy > p {
    font-size: 15px;
  }
  .about-durable__list {
    margin: 24px 0 30px;
    grid-template-columns: 1fr;
    row-gap: 10px;
  }
  .about-inline-btn {
    min-height: 46px;
    padding-left: 20px;
  }
  .about-inline-btn span {
    width: 34px;
    height: 34px;
  }
  .about-durable__media {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    max-width: none;
    gap: 12px;
  }
  .about-durable__figure--main,
  .about-durable__figure--side,
  .about-durable__mini,
  .about-durable__stat--technology {
    grid-column: auto;
    grid-row: auto;
  }
  .about-durable__figure img {
    aspect-ratio: 5/4;
  }
  .about-durable__mini {
    grid-template-columns: 1fr;
  }
  .about-durable__stat {
    min-height: 88px;
  }
  .about-durable__stat strong {
    font-size: 34px;
  }
  .about-why {
    padding-top: 58px;
    padding-bottom: 58px;
  }
  .about-why .section-head {
    margin-bottom: 24px;
    align-items: center;
    text-align: center;
  }
  .about-why .section-head h2 {
    margin-top: 12px;
    font-size: clamp(30px, 8vw, 38px);
  }
  .about-why__grid {
    grid-template-columns: 1fr;
  }
  .about-why__card h3 {
    font-size: 22px;
  }
  .about-partner {
    padding-top: 58px;
    padding-bottom: 58px;
  }
  .about-partner__copy h2 {
    margin-top: 12px;
    margin-bottom: 16px;
    font-size: clamp(30px, 8vw, 38px);
  }
  .about-partner__copy h3 {
    font-size: 24px;
  }
  .about-partner__copy p {
    margin-bottom: 16px;
  }
  .about-partner__copy ul {
    margin-bottom: 22px;
  }
  .about-awards {
    padding-top: 58px;
    padding-bottom: 62px;
  }
  .about-awards .section-head {
    margin-bottom: 16px;
    align-items: center;
    text-align: center;
  }
  .about-awards .section-head h2 {
    margin-top: 12px;
    font-size: clamp(30px, 8vw, 38px);
  }
  .about-awards__row,
  .about-awards__row--highlight {
    grid-template-columns: 1fr;
    gap: 8px;
    min-height: 0;
    padding: 16px 0;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
  }
  .about-awards__brand,
  .about-awards__index,
  .about-awards__row h3,
  .about-awards__row strong {
    text-align: left;
  }
  .about-awards__index {
    font-size: 30px;
  }
  .about-awards__row h3 {
    font-size: 21px;
  }
  .about-awards__row strong {
    font-size: 27px;
  }
  .about-awards__row--highlight figure {
    width: min(100%, 270px);
  }
  .about-brands {
    padding-top: 54px;
    padding-bottom: 52px;
  }
  .about-brands .section-head {
    align-items: center;
    text-align: center;
    margin-bottom: 16px;
  }
  .about-brands .section-head h2 {
    margin-top: 12px;
    font-size: clamp(30px, 8vw, 38px);
  }
  .about-brands__track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .about-brands__item {
    min-height: 102px;
    font-size: 13px;
  }
  .about-brands__item:nth-child(2n) {
    border-right: 0;
  }
  .about-brands__item:nth-child(n + 3) {
    border-top: 1px solid #ddd8ca;
  }
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.gallery-page .gallery-showcase,
body.gallery-page .site-footer {
  content-visibility: auto;
  contain-intrinsic-size: 1px 1200px;
}
