:root {
  --color-gold: #d3a34c;
  --color-gold-light: #e9c477;
  --color-text: #0a0a0a;
  --color-body: #404040;
  --content-width: 1210px;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--color-text);
  background: #fff;
  font-family: "Poppins", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.hero {
  min-height: 810px;
  overflow: hidden;
  background-color: #fff;
  background-image: url("../img/Hero.png");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}

.hero__container {
  position: relative;
  display: flex;
  width: min(calc(100% - 48px), var(--content-width));
  min-height: 810px;
  margin: 0 auto;
  padding-top: 42px;
}

.hero__content {
  position: relative;
  z-index: 1;
  width: 550px;
}

.hero__logo {
  display: block;
  width: 138px;
  height: auto;
  margin-bottom: 20px;
}

.hero__eyebrow {
  margin-bottom: 29px;
  color: var(--color-gold);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.hero__eyebrow span {
  padding: 0 10px;
  font-size: 10px;
}

.hero__title {
  font-size: clamp(48px, 4.05vw, 58px);
  font-weight: 500;
  letter-spacing: -2.9px;
  line-height: 1.02;
}

.hero__title span {
  color: var(--color-gold);
  font-weight: 300;
  letter-spacing: -3px;
}

.hero__accent {
  width: 66px;
  height: 2px;
  margin: 22px 0 25px;
  background: var(--color-gold);
}

.hero__description {
  color: var(--color-body);
  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.7;
}

.hero__cta {
  display: inline-flex;
  min-height: 59px;
  margin-top: 27px;
  overflow: hidden;
  border-radius: 7px;
  color: #fff;
  background: #080808;
  text-decoration: none;
  box-shadow: 0 7px 22px rgb(0 0 0 / 8%);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.hero__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgb(0 0 0 / 15%);
}

.hero__cta-label,
.hero__cta-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero__cta-label {
  gap: 15px;
  padding: 0 25px 0 22px;
  font-size: 14px;
  font-weight: 500;
}

.hero__cta-label .fa-whatsapp {
  color: var(--color-gold-light);
  font-size: 26px;
}

.hero__cta-arrow {
  width: 58px;
  color: #15100a;
  background: linear-gradient(135deg, #e7bc68, #c99236);
  font-size: 18px;
}

.hero__evaluation {
  display: flex;
  align-items: center;
  gap: 17px;
  margin-top: 23px;
  color: var(--color-body);
  font-size: 12px;
  line-height: 1.65;
}

.hero__evaluation::before {
  width: 2px;
  height: 39px;
  background: var(--color-gold-light);
  content: "";
}

.hero__evaluation > i {
  color: var(--color-gold);
  font-size: 29px;
}

.benefits-section {
  padding-top: 38px;
  background: #fff;
}

.benefits__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  width: min(calc(100% - 48px), var(--content-width));
  min-height: 120px;
  margin: 0 auto;
  padding: 27px 0 28px;
  border-top: 1px solid var(--color-gold-light);
}

.benefit {
  position: relative;
  display: flex;
  align-items: center;
  gap: 24px;
  min-height: 60px;
  padding: 0 28px;
}

.benefit:first-child {
  padding-left: 27px;
}

.benefit:not(:last-child)::after {
  position: absolute;
  top: 12px;
  right: 0;
  width: 1px;
  height: 39px;
  background: #e7cca0;
  content: "";
}

.benefit > i {
  flex: 0 0 31px;
  color: var(--color-gold);
  font-size: 29px;
  text-align: center;
}

.benefit p {
  font-size: 12.5px;
  line-height: 1.45;
}

.benefit strong {
  font-weight: 600;
}

.natural-section {
  min-height: 100vh;
  overflow: hidden;
  background-color: #fdfaf5;
  background-image: url("../img/SectionTwo.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.natural-section__container {
  position: relative;
  width: min(calc(100% - 48px), var(--content-width));
  min-height: 100vh;
  margin: 0 auto;
}

.natural-section__header {
  position: absolute;
  top: calc(50% - 359px);
  right: 0;
  left: 0;
  z-index: 1;
  text-align: center;
}

.natural-section__eyebrow {
  color: var(--color-gold);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 2.1px;
  text-transform: uppercase;
}

.natural-section__accent {
  display: block;
  width: 39px;
  height: 2px;
  margin: 18px auto 7px;
  background: var(--color-gold);
}

.natural-section__title {
  font-size: clamp(43px, 3.75vw, 54px);
  font-weight: 500;
  letter-spacing: -2.7px;
  line-height: 1.08;
}

.natural-section__description {
  margin-top: 18px;
  color: var(--color-body);
  font-size: 15px;
  line-height: 1.7;
}

.natural-section__features {
  position: absolute;
  top: calc(50% - 59px);
  right: 7px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 455px;
  min-height: 360px;
}

.natural-feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 180px;
  text-align: center;
}

.natural-feature:nth-child(odd) {
  border-right: 1px solid var(--color-gold-light);
}

.natural-feature:nth-child(-n + 2) {
  border-bottom: 1px solid var(--color-gold-light);
}

.natural-feature > i {
  color: #d69b31;
  font-size: 58px;
}

.natural-feature h3 {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.45;
}

.process-section {
  min-height: 100vh;
  overflow: hidden;
  background-color: #fdfbf7;
  background-image: url("../img/SectionThree.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.process-section__container {
  position: relative;
  display: flex;
  align-items: center;
  width: min(calc(100% - 48px), 1296px);
  min-height: 100vh;
  margin: 0 auto;
}

.process-section__content {
  position: relative;
  z-index: 1;
  width: 528px;
}

.process-section__eyebrow {
  margin-bottom: 13px;
  color: #b77e20;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 4px;
  text-transform: uppercase;
}

.process-section__title {
  font-size: clamp(46px, 4vw, 58px);
  font-weight: 500;
  letter-spacing: -3px;
  line-height: 1.03;
}

.process-section__description {
  margin-top: 18px;
  color: #2f2f2f;
  font-size: 15px;
  line-height: 1.55;
}

.process-steps {
  position: relative;
  display: grid;
  gap: 8px;
  margin-top: 30px;
}

.process-steps::before {
  position: absolute;
  top: 51px;
  bottom: 51px;
  left: -25px;
  width: 1px;
  background: #cf9b3b;
  content: "";
}

.process-step {
  position: relative;
  display: grid;
  grid-template-columns: 116px 1fr;
  align-items: center;
  min-height: 108px;
  overflow: visible;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(110deg, #c9912d 0%, #e5b95e 55%, #d8a443 100%);
  box-shadow: inset 0 1px rgb(255 255 255 / 16%);
}

.process-step::before {
  position: absolute;
  top: 50%;
  left: -29px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #c69031;
  content: "";
  transform: translateY(-50%);
}

.process-step__number {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 62px;
  border-right: 2px solid rgb(255 255 255 / 78%);
  font-size: 51px;
  font-weight: 300;
  letter-spacing: -3px;
  line-height: 1;
}

.process-step__text {
  padding: 10px 28px;
}

.process-step__text h3 {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.25;
}

.process-step__text p {
  margin-top: 3px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
}

.cases-section {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background-color: #fdfaf5;
}

.cases-section__background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.cases-section__container {
  position: relative;
  display: flex;
  align-items: center;
  width: min(calc(100% - 48px), 1296px);
  min-height: 100vh;
  margin: 0 auto;
}

.cases-section__content {
  position: relative;
  z-index: 2;
  width: 480px;
  margin-left: auto;
}

.cases-section__ornament {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 254px;
  margin-bottom: 43px;
  color: #bd862c;
}

.cases-section__ornament i {
  font-size: 26px;
}

.cases-section__ornament span {
  flex: 1;
  height: 1px;
  background: #bd862c;
}

.cases-section__eyebrow {
  margin-bottom: 15px;
  color: #b68738;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 4px;
  text-transform: uppercase;
}

.cases-section__title {
  font-size: clamp(47px, 3.8vw, 55px);
  font-weight: 500;
  letter-spacing: -2.8px;
  line-height: 1.12;
}

.cases-section__description {
  margin-top: 24px;
  color: #4a4a4a;
  font-size: 15.5px;
  line-height: 1.75;
}

.cases-section__seal {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 136px;
  height: 136px;
  margin-top: 62px;
  border: 1px solid #bf8b35;
  border-radius: 50%;
  color: #bd8833;
  outline: 1px solid #bf8b35;
  outline-offset: -7px;
  text-align: center;
}

.cases-section__seal strong {
  font-size: 38px;
  font-weight: 500;
  line-height: 1;
}

.cases-section__seal span {
  margin-top: 2px;
  font-size: 16px;
  line-height: 1.25;
}

.cases-section__seal i {
  margin-top: 8px;
  font-size: 14px;
}

.cases-section__labels {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.case-label {
  position: absolute;
  padding: 9px 15px;
  border-radius: 9px;
  color: #fff;
  background: rgb(190 139 61 / 84%);
  font-size: 15px;
  font-weight: 500;
  box-shadow: 0 3px 10px rgb(92 58 16 / 10%);
}

.case-label--main-before {
  top: 16%;
  left: 0;
}

.case-label--main-after {
  bottom: 16%;
  left: 0;
}

.case-label--small-before {
  top: 50%;
  left: 31%;
}

.case-label--small-after {
  bottom: 16%;
  left: 31%;
}

.technology-section {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background: #fff;
}

.technology-section__background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.technology-section__container {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: min(calc(100% - 48px), 1296px);
  min-height: 100vh;
  margin: 0 auto;
}

.technology-section__content {
  width: 570px;
}

.technology-section__eyebrow-row {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 24px;
}

.technology-section__eyebrow {
  color: #c18b35;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.technology-section__eyebrow-row > span {
  width: 66px;
  height: 1px;
  background: #d7ac68;
}

.technology-section__title {
  font-size: clamp(37px, 3.1vw, 45px);
  font-weight: 500;
  letter-spacing: -2.3px;
  line-height: 1.08;
}

.technology-section__title span {
  color: #c79a52;
  font-weight: 300;
}

.technology-section__accent {
  display: block;
  width: 63px;
  height: 2px;
  margin: 25px 0 26px;
  background: #bd852d;
}

.technology-section__description {
  color: #555;
  font-size: 14.5px;
  line-height: 1.7;
}

.technology-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 33px 0;
  margin-top: 45px;
}

.technology-feature {
  position: relative;
  display: grid;
  grid-template-columns: 43px 1fr;
  gap: 14px;
  min-height: 95px;
  padding-right: 20px;
}

.technology-feature:nth-child(even) {
  padding-right: 0;
  padding-left: 27px;
  border-left: 1px solid #d3a85f;
}

.technology-feature > i {
  color: #ce993e;
  font-size: 34px;
  text-align: center;
}

.technology-feature h3 {
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.3;
}

.technology-feature p {
  margin-top: 8px;
  color: #4b4b4b;
  font-size: 12px;
  line-height: 1.55;
}

.technology-section__professional {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 35px;
  color: #565656;
  text-transform: uppercase;
}

.technology-section__signature {
  color: #cb9640;
  font-family: cursive;
  font-size: 33px;
  font-style: italic;
  line-height: 1;
  text-transform: none;
}

.technology-section__professional strong {
  margin-top: 9px;
  font-size: 12px;
  letter-spacing: 2px;
}

.technology-section__professional span {
  margin-top: 8px;
  font-size: 10.5px;
  letter-spacing: .2px;
}

.faq-section {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background: #fff;
}

.faq-section__background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.faq-section__container {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  width: min(calc(100% - 48px), 1296px);
  min-height: 100vh;
  margin: 0 auto;
}

.faq-section__content {
  width: 650px;
  text-align: center;
}

.faq-section__eyebrow-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #c18a31;
}

.faq-section__eyebrow-row > span {
  width: 95px;
  height: 1px;
  background: #dbb877;
}

.faq-section__eyebrow-row i {
  font-size: 11px;
}

.faq-section__eyebrow-row p {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.faq-section__title {
  margin-top: 27px;
  font-size: clamp(42px, 3.55vw, 51px);
  font-weight: 500;
  letter-spacing: -2.8px;
  line-height: 1.08;
}

.faq-section__accent {
  display: block;
  width: 50px;
  height: 3px;
  margin: 22px auto 18px;
  background: #c18a31;
}

.faq-section__description {
  color: #505050;
  font-size: 13.5px;
  line-height: 1.65;
}

.faq-list {
  display: grid;
  gap: 7px;
  margin-top: 29px;
  text-align: left;
}

.faq-item {
  overflow: hidden;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(110deg, #d09531 0%, #e7b458 57%, #d39936 100%);
  box-shadow: inset 0 1px rgb(255 255 255 / 15%);
}

.faq-item h3 {
  font: inherit;
}

.faq-question {
  display: grid;
  grid-template-columns: 54px 1fr 28px;
  align-items: center;
  gap: 17px;
  width: calc(100% - 40px);
  min-height: 81px;
  margin: 0 20px;
  border: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.faq-item.is-open .faq-question {
  border-bottom: 1px solid rgb(255 255 255 / 64%);
}

.faq-question__number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 49px;
  height: 49px;
  border: 1.5px solid #fff;
  border-radius: 50%;
  font-size: 16px;
  font-weight: 500;
}

.faq-question__text {
  font-size: 15.5px;
  font-weight: 500;
}

.faq-question__toggle {
  position: relative;
  width: 20px;
  height: 20px;
}

.faq-question__toggle::before,
.faq-question__toggle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 2px;
  background: #fff;
  content: "";
  transform: translate(-50%, -50%);
  transition: transform 180ms ease;
}

.faq-question__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.faq-item.is-open .faq-question__toggle::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 240ms ease;
}

.faq-answer p {
  min-height: 0;
  overflow: hidden;
  margin: 0 40px;
  font-size: 12.5px;
  line-height: 1.65;
}

.faq-item.is-open .faq-answer {
  grid-template-rows: 1fr;
}

.faq-item.is-open .faq-answer p {
  padding: 17px 0 25px;
}

.faq-section__footer {
  margin-top: 18px;
  color: #555;
  font-size: 12px;
}

.faq-section__footer i {
  margin-right: 10px;
  color: #c18a31;
  font-size: 11px;
}

.site-footer {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background: #fff;
}

.site-footer__background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.site-footer__container {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  width: min(calc(100% - 48px), 1118px);
  min-height: 100vh;
  margin: 0 auto;
}

.site-footer__content {
  width: 520px;
}

.site-footer__eyebrow-row {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #c18a31;
}

.site-footer__eyebrow-row p {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.site-footer__eyebrow-row i {
  font-size: 11px;
}

.site-footer__eyebrow-row span {
  width: 56px;
  height: 1px;
  background: #d3a75e;
}

.site-footer__title {
  margin-top: 27px;
  font-size: clamp(44px, 3.75vw, 54px);
  font-weight: 500;
  letter-spacing: -2.8px;
  line-height: 1.05;
}

.site-footer__title span {
  color: #c89b54;
  font-weight: 300;
}

.site-footer__accent {
  display: block;
  width: 58px;
  height: 2px;
  margin: 22px 0 25px;
  background: #bc842b;
}

.site-footer__description {
  color: #505050;
  font-size: 15px;
  line-height: 1.65;
}

.site-footer__location {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 20px;
  font-size: 13px;
  font-weight: 500;
}

.site-footer__location i {
  color: #d39a38;
  font-size: 25px;
}

.site-footer__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 415px;
  min-height: 71px;
  margin-top: 29px;
  padding: 0 37px 0 66px;
  border-radius: 12px;
  color: #fff;
  background: #0a0a0a;
  font-size: 16px;
  font-weight: 400;
  text-decoration: none;
  box-shadow: 0 8px 22px rgb(0 0 0 / 10%);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.site-footer__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 11px 25px rgb(0 0 0 / 17%);
}

.site-footer__cta i {
  color: #d6a24a;
  font-size: 20px;
}

.site-footer__highlights {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 26px;
  color: #3f3f3f;
  font-size: 10.5px;
  white-space: nowrap;
}

.site-footer__highlights i,
.site-footer__highlights b {
  color: #c89135;
  font-size: 10px;
}

.site-footer__social {
  display: flex;
  gap: 14px;
  margin-top: 25px;
}

.site-footer__social a {
  display: grid;
  grid-template-columns: 30px 1fr 18px;
  align-items: center;
  gap: 12px;
  width: 226px;
  min-height: 61px;
  padding: 0 18px;
  border: 1px solid #d8b77c;
  border-radius: 11px;
  color: #171717;
  font-size: 13.5px;
  font-weight: 500;
  text-decoration: none;
  transition: border-color 180ms ease, background 180ms ease;
}

.site-footer__social a:hover {
  border-color: #bd8429;
  background: rgb(211 163 76 / 7%);
}

.site-footer__social a i:first-child {
  color: #ca9235;
  font-size: 26px;
}

.site-footer__social a i:last-child {
  color: #ca9235;
  font-size: 17px;
}

.site-footer__logo {
  position: absolute;
  right: 19%;
  bottom: 5.5%;
  width: 158px;
  height: auto;
}

@media (max-width: 1050px) {
  .hero {
    position: relative;
    background-position: 58% top;
  }

  .hero::before {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #fff 0%, rgb(255 255 255 / 95%) 38%, rgb(255 255 255 / 25%) 72%);
    content: "";
  }

  .benefits__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 0;
  }

  .benefit:nth-child(2)::after {
    display: none;
  }

  .natural-section::before {
    position: absolute;
    inset: 0;
    background: rgb(253 250 245 / 22%);
    content: "";
  }

  .natural-section {
    position: relative;
    background-position: 45% center;
  }

  .natural-section__features {
    right: 0;
    width: 430px;
    background: rgb(253 250 245 / 68%);
    backdrop-filter: blur(3px);
  }

  .process-section {
    position: relative;
    background-position: 57% center;
  }

  .process-section::before {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #fdfbf7 0%, rgb(253 251 247 / 96%) 43%, rgb(253 251 247 / 18%) 72%);
    content: "";
  }

  .process-section__content {
    width: min(51vw, 528px);
  }

  .process-step {
    grid-template-columns: 94px 1fr;
  }

  .process-step__text {
    padding-right: 15px;
    padding-left: 20px;
  }

  .process-step__text h3 {
    font-size: 16px;
  }

  .cases-section {
    position: relative;
  }

  .cases-section::before {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(270deg, #fdfaf5 0%, rgb(253 250 245 / 95%) 43%, rgb(253 250 245 / 8%) 70%);
    content: "";
  }

  .cases-section__content {
    width: 43%;
    margin-left: auto;
  }

  .cases-section__labels {
    z-index: 2;
  }

  .technology-section::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(270deg, #fff 0%, rgb(255 255 255 / 96%) 48%, rgb(255 255 255 / 10%) 72%);
    content: "";
  }

  .technology-section__container {
    z-index: 2;
  }

  .technology-section__content {
    width: 52%;
  }

  .technology-feature {
    grid-template-columns: 34px 1fr;
    gap: 10px;
  }

  .technology-feature:nth-child(even) {
    padding-left: 16px;
  }

  .technology-feature > i {
    font-size: 27px;
  }

  .technology-feature h3 {
    font-size: 12px;
  }

  .technology-feature p {
    font-size: 10.5px;
  }

  .faq-section::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #fff 0%, rgb(255 255 255 / 97%) 48%, rgb(255 255 255 / 10%) 75%);
    content: "";
  }

  .faq-section__container {
    z-index: 2;
  }

  .faq-section__content {
    width: 55%;
  }

  .faq-question {
    grid-template-columns: 48px 1fr 24px;
    gap: 12px;
  }

  .faq-question__text {
    font-size: 13px;
  }

  .site-footer::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #fff 0%, rgb(255 255 255 / 97%) 48%, rgb(255 255 255 / 8%) 74%);
    content: "";
  }

  .site-footer__container {
    z-index: 2;
  }

  .site-footer__content {
    width: 49%;
  }

  .site-footer__highlights {
    flex-wrap: wrap;
    white-space: normal;
  }

  .site-footer__social {
    width: 100%;
  }

  .site-footer__social a {
    width: 50%;
  }
}

@media (max-width: 700px) {
  .hero {
    min-height: auto;
    background-position: 62% top;
    background-size: auto 530px;
  }

  .hero::before {
    background: linear-gradient(180deg, rgb(255 255 255 / 8%) 0, #fff 500px);
  }

  .hero__container {
    display: block;
    width: min(calc(100% - 36px), 520px);
    min-height: auto;
    padding-top: 445px;
    padding-bottom: 36px;
  }

  .hero__content {
    width: 100%;
  }

  .hero__eyebrow {
    margin-bottom: 20px;
    font-size: 11px;
    letter-spacing: 2px;
  }

  .hero__logo {
    width: 122px;
    margin-bottom: 18px;
  }

  .hero__title {
    font-size: clamp(39px, 12.4vw, 55px);
    letter-spacing: -2.2px;
  }

  .hero__title span {
    letter-spacing: -2.4px;
  }

  .hero__description {
    font-size: 14px;
  }

  .desktop-only {
    display: none;
  }

  .hero__cta {
    width: 100%;
  }

  .hero__cta-label {
    flex: 1;
    padding-right: 12px;
    padding-left: 12px;
    font-size: 12.5px;
  }

  .benefits-section {
    padding-top: 26px;
  }

  .benefits__grid {
    position: relative;
    grid-template-columns: 1fr;
    gap: 0;
    width: min(calc(100% - 36px), 520px);
    margin: 0 auto;
    padding-top: 12px;
  }

  .benefit,
  .benefit:first-child {
    padding: 16px 8px;
    border-bottom: 1px solid #ead5af;
  }

  .benefit:not(:last-child)::after {
    display: none;
  }

  .benefit p {
    font-size: 13px;
  }

  .benefit p br {
    display: none;
  }

  .natural-section {
    min-height: 100vh;
    background-position: 35% 250px;
    background-size: auto 600px;
  }

  .natural-section::before {
    background: linear-gradient(180deg, #fdfaf5 0 245px, transparent 340px, transparent 760px, #fdfaf5 850px);
  }

  .natural-section__container {
    width: min(calc(100% - 36px), 520px);
    min-height: 100vh;
    padding-top: 42px;
    padding-bottom: 40px;
  }

  .natural-section__header {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    transform: none;
  }

  .natural-section__eyebrow {
    font-size: 11px;
    letter-spacing: 1.6px;
  }

  .natural-section__title {
    font-size: clamp(34px, 10vw, 46px);
    letter-spacing: -2px;
  }

  .natural-section__description {
    font-size: 13.5px;
  }

  .natural-section__features {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    min-height: auto;
    margin-top: 430px;
    background: rgb(253 250 245 / 88%);
  }

  .natural-feature {
    gap: 12px;
    min-height: 155px;
    padding: 15px 6px;
  }

  .natural-feature > i {
    font-size: 43px;
  }

  .natural-feature h3 {
    font-size: 12.5px;
  }

  .process-section {
    min-height: 100vh;
    background-position: 68% bottom;
    background-size: auto 560px;
  }

  .process-section::before {
    background: linear-gradient(180deg, #fdfbf7 0 820px, rgb(253 251 247 / 12%) 980px);
  }

  .process-section__container {
    display: block;
    width: min(calc(100% - 36px), 520px);
    min-height: 100vh;
    padding-top: 45px;
    padding-bottom: 565px;
  }

  .process-section__content {
    width: 100%;
  }

  .process-section__eyebrow {
    font-size: 11px;
    letter-spacing: 3px;
  }

  .process-section__title {
    font-size: clamp(36px, 10.5vw, 48px);
    letter-spacing: -2.3px;
  }

  .process-section__description {
    font-size: 13.5px;
  }

  .process-steps {
    margin-top: 25px;
  }

  .process-steps::before,
  .process-step::before {
    display: none;
  }

  .process-step {
    grid-template-columns: 76px 1fr;
    min-height: 103px;
    border-radius: 9px;
  }

  .process-step__number {
    height: 58px;
    font-size: 38px;
    letter-spacing: -2px;
  }

  .process-step__text {
    padding: 10px 12px 10px 16px;
  }

  .process-step__text h3 {
    font-size: 14px;
  }

  .process-step__text p {
    font-size: 11.5px;
  }

  .cases-section {
    min-height: 100vh;
  }

  .cases-section__background {
    top: auto;
    right: auto;
    bottom: 0;
    left: calc(50% - 350px);
    width: auto;
    height: 820px;
    object-fit: fill;
  }

  .cases-section::before {
    background: linear-gradient(180deg, #fdfaf5 0 620px, rgb(253 250 245 / 15%) 760px);
  }

  .cases-section__container {
    display: block;
    width: min(calc(100% - 36px), 520px);
    min-height: 100vh;
    padding-top: 46px;
    padding-bottom: 820px;
  }

  .cases-section__content {
    width: 100%;
    margin-left: 0;
  }

  .cases-section__ornament {
    width: 190px;
    margin-bottom: 30px;
  }

  .cases-section__eyebrow {
    font-size: 11px;
    letter-spacing: 3px;
  }

  .cases-section__title {
    font-size: clamp(38px, 11vw, 50px);
    letter-spacing: -2.2px;
  }

  .cases-section__description {
    margin-top: 18px;
    font-size: 13.5px;
  }

  .cases-section__seal {
    width: 112px;
    height: 112px;
    margin-top: 35px;
  }

  .cases-section__seal strong {
    font-size: 30px;
  }

  .cases-section__seal span {
    font-size: 13px;
  }

  .cases-section__labels {
    display: none;
  }

  .technology-section {
    min-height: 100vh;
  }

  .technology-section::after {
    background: linear-gradient(180deg, transparent 0 440px, #fff 575px);
  }

  .technology-section__background {
    top: 0;
    right: auto;
    bottom: auto;
    left: -25px;
    width: auto;
    height: 580px;
    object-fit: fill;
  }

  .technology-section__container {
    display: block;
    width: min(calc(100% - 36px), 520px);
    min-height: 100vh;
    padding-top: 570px;
    padding-bottom: 45px;
  }

  .technology-section__content {
    width: 100%;
  }

  .technology-section__eyebrow-row {
    gap: 12px;
    margin-bottom: 18px;
  }

  .technology-section__eyebrow {
    font-size: 11px;
    letter-spacing: 2px;
  }

  .technology-section__eyebrow-row > span {
    width: 38px;
  }

  .technology-section__title {
    font-size: clamp(34px, 9.5vw, 45px);
    letter-spacing: -2px;
  }

  .technology-section__description {
    font-size: 13.5px;
  }

  .technology-features {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 32px;
  }

  .technology-feature,
  .technology-feature:nth-child(even) {
    grid-template-columns: 43px 1fr;
    min-height: auto;
    padding: 20px 0;
    border-bottom: 1px solid #e5cfaa;
    border-left: 0;
  }

  .technology-feature > i {
    font-size: 31px;
  }

  .technology-feature h3 {
    font-size: 13px;
  }

  .technology-feature p {
    font-size: 11.5px;
  }

  .technology-section__professional {
    margin-top: 30px;
  }

  .faq-section {
    min-height: 100vh;
  }

  .faq-section::after {
    background: linear-gradient(180deg, transparent 0 360px, #fff 500px);
  }

  .faq-section__background {
    top: 0;
    right: auto;
    bottom: auto;
    left: 50%;
    width: auto;
    height: 510px;
    object-fit: fill;
    transform: translateX(-62%);
  }

  .faq-section__container {
    display: block;
    width: min(calc(100% - 36px), 520px);
    min-height: 100vh;
    padding-top: 475px;
    padding-bottom: 42px;
  }

  .faq-section__content {
    width: 100%;
  }

  .faq-section__eyebrow-row {
    gap: 7px;
  }

  .faq-section__eyebrow-row > span {
    width: 30px;
  }

  .faq-section__eyebrow-row p {
    font-size: 10px;
    letter-spacing: 2px;
  }

  .faq-section__title {
    margin-top: 19px;
    font-size: clamp(34px, 10vw, 45px);
    letter-spacing: -2px;
  }

  .faq-section__description {
    font-size: 13px;
  }

  .faq-question {
    grid-template-columns: 43px 1fr 20px;
    gap: 10px;
    width: calc(100% - 24px);
    min-height: 72px;
    margin: 0 12px;
  }

  .faq-question__number {
    width: 41px;
    height: 41px;
    font-size: 13px;
  }

  .faq-question__text {
    font-size: 12px;
  }

  .faq-answer p {
    margin: 0 22px;
    font-size: 11.5px;
  }

  .faq-section__footer {
    font-size: 11.5px;
    line-height: 1.6;
  }

  .site-footer {
    min-height: 100vh;
  }

  .site-footer::after {
    background: linear-gradient(180deg, transparent 0 360px, #fff 500px);
  }

  .site-footer__background {
    top: 0;
    right: auto;
    bottom: auto;
    left: 50%;
    width: auto;
    height: 510px;
    object-fit: fill;
    transform: translateX(-62%);
  }

  .site-footer__container {
    display: block;
    width: min(calc(100% - 36px), 520px);
    min-height: 100vh;
    padding-top: 475px;
    padding-bottom: 40px;
  }

  .site-footer__content {
    width: 100%;
  }

  .site-footer__eyebrow-row {
    gap: 8px;
  }

  .site-footer__eyebrow-row p {
    font-size: 9.5px;
    letter-spacing: 1.3px;
  }

  .site-footer__eyebrow-row span {
    width: 30px;
  }

  .site-footer__title {
    margin-top: 20px;
    font-size: clamp(38px, 11vw, 50px);
    letter-spacing: -2.2px;
  }

  .site-footer__description {
    font-size: 13.5px;
  }

  .site-footer__cta {
    width: 100%;
    min-height: 63px;
    padding: 0 24px;
    font-size: 14px;
  }

  .site-footer__highlights {
    line-height: 1.7;
  }

  .site-footer__social {
    flex-direction: column;
  }

  .site-footer__social a {
    width: 100%;
  }

  .site-footer__logo {
    position: relative;
    right: auto;
    bottom: auto;
    display: block;
    width: 145px;
    margin: 38px auto 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .hero__cta {
    transition: none;
  }
}
