@import url("https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&family=Karla:wght@400;500;600;700&display=swap");
:root { --color-primary-50: #f9f5ec; --color-primary-100: #efe5cf; --color-primary-200: #e2d1a9; --color-primary-300: #cfb270; --color-primary-400: #bf9840; --color-primary-500: #907230; --color-primary-600: #796028; --color-primary-700: #624e21; --color-primary-800: #4b3c19; --color-primary-900: #2e250f; --color-accent-50: #faf9ef; --color-accent-100: #f3f0d8; --color-accent-200: #e9e5b9; --color-accent-300: #dad38b; --color-accent-400: #cec464; --color-accent-500: #c2b63d; --color-accent-600: #a39933; --font-sans: "Karla", system-ui, sans-serif; --font-heading: "Libre Baskerville", "Georgia", serif; --section-y: 4.8rem; --section-yMd: 7.2rem; --block-gap: 3rem; --card-pad: 2.4rem; --radius-button: 0px; --radius-card: 22px; --radius-image: 22px; }
/* theme-css-contract: v3
   gen-07-12 — generated by scripts/theme-pipeline/generate.js (#1004; all 34 blocks since #1051). */

.hero {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-50);
  color: var(--color-primary-900);
  text-align: center;
}

.hero__media {
  width: 100%;
  border-radius: calc(var(--radius-block) * 7);
  object-fit: cover;
  object-position: center;
  background-color: var(--color-primary-100);
  margin-top: 2rem;
}

.hero__body {
  gap: 1rem;
  margin-left: auto;
  margin-right: auto;
}

.hero__title {
  font-family: var(--font-heading);
  font-size: 3.75rem;
  line-height: 1.02;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--color-primary-900);
}

.hero__sub {
  margin-top: 0.75rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--color-primary-800);
  margin-left: auto;
  margin-right: auto;
}

.hero__cta {
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.hero__deco {
  height: 0.25rem;
  border-radius: 9999px;
  background-color: var(--color-accent-400);
  margin-left: auto;
  margin-right: auto;
}

.hero__form {
  gap: 1rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
  margin-left: auto;
  margin-right: auto;
}

.hero__form-error {
  padding: 0.75rem 1rem;
  border-radius: calc(var(--radius-block) * 7);
  border-width: 1px;
  border-style: solid;
  border-color: var(--color-accent-400);
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--color-primary-900);
}

.hero__form-success {
  padding: 0.75rem 1rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-primary-900);
  margin-left: auto;
  margin-right: auto;
}

.cta-banner {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-50);
  color: var(--color-primary-900);
}

@media (min-width: 1024px) {
  .cta-banner {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.cta-banner__headline {
  font-family: var(--font-heading);
  font-size: 2.5rem;
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--color-primary-900);
}

.cta-banner__desc {
  margin-top: 0;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--color-primary-800);
}

.cta-banner__action {
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.page-header {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-900);
  color: var(--color-primary-50);
}

.page-header__crumbs {
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  color: var(--color-primary-100);
}

.page-header__title {
  font-family: var(--font-heading);
  font-size: 2.5rem;
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--color-primary-50);
}

.page-header__sub {
  margin-top: 0.75rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--color-primary-100);
}

.contact-form {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-50);
  color: var(--color-primary-900);
}

@media (min-width: 1024px) {
  .contact-form {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.contact-form__heading {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-900);
}

.contact-form__intro {
  margin-top: 0;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--color-primary-800);
}

.contact-form__form {
  gap: 1rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
}

.contact-form__error {
  padding: 0.75rem 1rem;
  border-radius: calc(var(--radius-block) * 7);
  border-width: 1px;
  border-style: solid;
  border-color: var(--color-accent-400);
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--color-primary-900);
}

.contact-form__note {
  font-size: 0.75rem;
  line-height: 1.6;
  color: var(--color-primary-800);
}

.contact-form__success {
  padding: 0.75rem 1rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-primary-900);
}

.contact-form__media {
  width: 100%;
  border-radius: calc(var(--radius-block) * 7);
  object-fit: cover;
  object-position: center;
  background-color: var(--color-primary-100);
}

.contact-form__aside {
  gap: 1rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
}

.quote-form {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-50);
  color: var(--color-primary-900);
}

@media (min-width: 1024px) {
  .quote-form {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.quote-form__form {
  gap: 1rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
}

.quote-form__intro {
  margin-top: 0.75rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--color-primary-800);
}

.quote-form__main {
  gap: 1rem;
}

.quote-form__aside {
  gap: 1rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
}

.quote-form__step {
  gap: 0.75rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
}

.quote-form__error {
  padding: 0.75rem 1rem;
  border-radius: calc(var(--radius-block) * 7);
  border-width: 1px;
  border-style: solid;
  border-color: var(--color-accent-400);
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--color-primary-900);
}

.quote-form__action {
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.quote-form__success {
  padding: 0.75rem 1rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-primary-900);
}

.services-list {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-900);
  color: var(--color-primary-50);
}

@media (min-width: 1024px) {
  .services-list {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.services-list__item {
  gap: 0.75rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-800);
}

.services-list__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-accent-400);
  color: var(--color-primary-900);
}

.services-list__title {
  font-family: var(--font-heading);
  font-size: 1.1875rem;
  line-height: 1.3;
  font-weight: 800;
  color: var(--color-primary-50);
}

.services-list__desc {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--color-primary-100);
}

.services-list__actions {
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.services-list__features {
  gap: 0.5rem;
  padding-left: 1.1rem;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--color-primary-100);
}

.services-list__products {
  gap: 0.5rem;
  padding-left: 1.1rem;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--color-primary-100);
}

.services-nav {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-50);
  color: var(--color-primary-900);
}

.services-nav__link {
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background-color: var(--color-accent-400);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-900);
}

.service-related-pages {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-50);
  color: var(--color-primary-900);
}

@media (min-width: 1024px) {
  .service-related-pages {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.service-related-pages__headline {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-900);
}

.service-related-pages__sub {
  margin-top: 0.75rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--color-primary-800);
}

.service-related-pages__card {
  gap: 0.75rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
}

.contact-info {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-900);
  color: var(--color-primary-50);
}

@media (min-width: 1024px) {
  .contact-info {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.contact-info__headline {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-50);
}

.contact-info__location {
  gap: 0.35rem 1.5rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-800);
}

.contact-info__label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-primary-100);
}

.contact-info__address {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--color-primary-100);
}

.contact-info__phone {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  border-width: 0 0 1px;
  border-style: solid;
  border-color: var(--color-accent-400);
  color: var(--color-accent-400);
}

.contact-info__email {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  border-width: 0 0 1px;
  border-style: solid;
  border-color: var(--color-accent-400);
  color: var(--color-accent-400);
}

.contact-info__media {
  width: 100%;
  border-radius: calc(var(--radius-block) * 7);
  object-fit: cover;
  object-position: center;
  background-color: var(--color-primary-800);
}

.process-steps {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-50);
  color: var(--color-primary-900);
}

@media (min-width: 1024px) {
  .process-steps {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.process-steps__headline {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-900);
}

.process-steps__sub {
  margin-top: 0;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--color-primary-800);
}

.process-steps__step {
  gap: 0.75rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
}

.process-steps__num {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
  background-color: var(--color-accent-400);
  font-family: var(--font-heading);
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--color-primary-900);
}

.process-steps__title {
  font-family: var(--font-heading);
  font-size: 1.1875rem;
  line-height: 1.3;
  font-weight: 800;
  color: var(--color-primary-900);
}

.process-steps__desc {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--color-primary-800);
}

.team-grid {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-50);
  color: var(--color-primary-900);
}

@media (min-width: 1024px) {
  .team-grid {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.team-grid__headline {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-900);
}

.team-grid__sub {
  margin-top: 0.75rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--color-primary-800);
}

.team-grid__member {
  gap: 0.75rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
}

.team-grid__name {
  font-family: var(--font-heading);
  font-size: 1.1875rem;
  line-height: 1.3;
  font-weight: 800;
  color: var(--color-primary-900);
}

.team-grid__role {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-primary-800);
}

.team-grid__bio {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--color-primary-800);
}

.blog-preview {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-900);
  color: var(--color-primary-50);
}

@media (min-width: 1024px) {
  .blog-preview {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.blog-preview__headline {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-50);
}

.blog-preview__sub {
  margin-top: 0.75rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--color-primary-100);
}

.blog-preview__post {
  gap: 0.75rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-800);
}

.blog-preview__category {
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background-color: var(--color-accent-400);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-900);
}

.blog-preview__date {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--color-primary-100);
}

.blog-preview__title {
  font-family: var(--font-heading);
  font-size: 1.1875rem;
  line-height: 1.3;
  font-weight: 800;
  color: var(--color-primary-50);
}

.blog-preview__excerpt {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--color-primary-100);
}

.content-split {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-50);
  color: var(--color-primary-900);
}

@media (min-width: 1024px) {
  .content-split {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.content-split__media {
  width: 100%;
  border-radius: calc(var(--radius-block) * 7);
  object-fit: cover;
  object-position: center;
  background-color: var(--color-primary-100);
}

.content-split__headline {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-900);
}

.content-split__body {
  gap: 1rem;
}

.content-split__bullets {
  gap: 0.5rem;
  padding-left: 1.1rem;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--color-primary-800);
}

.content-split__stats {
  gap: 1rem;
}

.content-split__stat {
  gap: 0.75rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
}

.content-split__stat-value {
  font-family: var(--font-heading);
  font-size: 2rem;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-500);
}

.content-split__stat-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-primary-800);
}

.text-block {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-50);
  color: var(--color-primary-900);
}

.text-block__headline {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-900);
}

.text-block__body {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--color-primary-800);
}

.text-block__attribution {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--color-primary-800);
}

.text-block__list {
  gap: 0.5rem;
  padding-left: 1.1rem;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--color-primary-800);
}

.social-proof {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-900);
  color: var(--color-primary-50);
}

@media (min-width: 1024px) {
  .social-proof {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.social-proof__headline {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-50);
}

.social-proof__rating {
  font-family: var(--font-heading);
  font-size: 2rem;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-accent-500);
}

.social-proof__reviews {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--color-primary-100);
}

.social-proof__platform {
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background-color: var(--color-accent-400);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-900);
}

.social-proof__badge {
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background-color: var(--color-accent-400);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-900);
}

.social-proof__quote {
  font-size: 1.0625rem;
  line-height: 1.7;
  font-style: italic;
  color: var(--color-primary-50);
}

.social-proof__quote-author {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--color-primary-100);
}

.social-proof__stat {
  gap: 0.75rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-800);
}

.social-proof__stat-value {
  font-family: var(--font-heading);
  font-size: 2rem;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-accent-500);
}

.social-proof__stat-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-primary-100);
}

.social-proof__media {
  width: 100%;
  border-radius: calc(var(--radius-block) * 7);
  object-fit: cover;
  object-position: center;
  background-color: var(--color-primary-800);
}

.features-grid {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-50);
  color: var(--color-primary-900);
}

@media (min-width: 1024px) {
  .features-grid {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.features-grid__headline {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-900);
}

.features-grid__sub {
  margin-top: 0.75rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--color-primary-800);
}

.features-grid__item {
  gap: 0.75rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
}

.features-grid__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-accent-400);
  color: var(--color-primary-900);
}

.features-grid__title {
  font-family: var(--font-heading);
  font-size: 1.1875rem;
  line-height: 1.3;
  font-weight: 800;
  color: var(--color-primary-900);
}

.features-grid__desc {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--color-primary-800);
}

.newsletter-signup {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-50);
  color: var(--color-primary-900);
}

@media (min-width: 1024px) {
  .newsletter-signup {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.newsletter-signup__headline {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-900);
}

.newsletter-signup__desc {
  margin-top: 0.75rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--color-primary-800);
}

.newsletter-signup__form {
  gap: 1rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
}

.faq-accordion {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-900);
  color: var(--color-primary-50);
}

@media (min-width: 1024px) {
  .faq-accordion {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.faq-accordion__headline {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-50);
}

.faq-accordion__sub {
  margin-top: 0.75rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--color-primary-100);
}

.faq-accordion__item {
  gap: 0.5rem;
  padding: 1.25rem 0;
  border-width: 0 0 1px;
  border-style: solid;
  border-color: var(--color-primary-700);
}

.faq-accordion__question {
  font-family: var(--font-heading);
  font-size: 1.1875rem;
  line-height: 1.3;
  font-weight: 800;
  color: var(--color-primary-50);
}

.faq-accordion__answer {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--color-primary-100);
}

.testimonials {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-50);
  color: var(--color-primary-900);
}

@media (min-width: 1024px) {
  .testimonials {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.testimonials__headline {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-900);
}

.testimonials__sub {
  margin-top: 0.75rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--color-primary-800);
}

.testimonials__item {
  gap: 0.75rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
}

.testimonials__rating {
  gap: 0.25rem;
}

.testimonials__star {
  font-size: 0.875rem;
  line-height: 1;
  color: var(--color-primary-600);
}

.testimonials__quote {
  font-size: 1.0625rem;
  line-height: 1.7;
  font-style: italic;
  color: var(--color-primary-900);
}

.testimonials__name {
  font-family: var(--font-heading);
  font-size: 1.1875rem;
  line-height: 1.3;
  font-weight: 800;
  color: var(--color-primary-900);
}

.testimonials__meta {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--color-primary-800);
}

.testimonials__service {
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background-color: var(--color-accent-400);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-900);
}

.announcement-bar {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-50);
  color: var(--color-primary-900);
}

.announcement-bar__message {
  margin-top: 0.75rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--color-primary-800);
}

.announcement-bar__link {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  border-width: 0 0 1px;
  border-style: solid;
  border-color: var(--color-primary-600);
  color: var(--color-primary-600);
}

.pricing-table {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-900);
  color: var(--color-primary-50);
}

@media (min-width: 1024px) {
  .pricing-table {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.pricing-table__headline {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-50);
}

.pricing-table__sub {
  margin-top: 0.75rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--color-primary-100);
}

.pricing-table__item {
  gap: 0.75rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-800);
}

.pricing-table__item--featured {
  border-width: 2px;
  border-style: solid;
  border-color: var(--color-accent-400);
  background-color: var(--color-primary-800);
}

.pricing-table__badge {
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background-color: var(--color-accent-400);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-900);
}

.pricing-table__name {
  font-family: var(--font-heading);
  font-size: 1.1875rem;
  line-height: 1.3;
  font-weight: 800;
  color: var(--color-primary-50);
}

.pricing-table__price {
  font-family: var(--font-heading);
  font-size: 2rem;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-accent-500);
}

.pricing-table__desc {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--color-primary-100);
}

.pricing-table__features {
  gap: 0.5rem;
  padding-left: 1.1rem;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--color-primary-100);
}

.pricing-table__action {
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.gallery {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-50);
  color: var(--color-primary-900);
}

@media (min-width: 1024px) {
  .gallery {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.gallery__headline {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-900);
}

.gallery__sub {
  margin-top: 0.75rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--color-primary-800);
}

.gallery__item {
  gap: 0.75rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
}

.gallery__image {
  width: 100%;
  border-radius: calc(var(--radius-block) * 7);
  object-fit: cover;
  object-position: center;
  background-color: var(--color-primary-100);
}

.gallery__placeholder {
  width: 100%;
  border-radius: calc(var(--radius-block) * 7);
  object-fit: cover;
  object-position: center;
  background-color: var(--color-primary-100);
}

.gallery__caption {
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--color-primary-800);
}

.gallery__category {
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background-color: var(--color-accent-400);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-primary-900);
}

.gallery__title {
  font-family: var(--font-heading);
  font-size: 1.1875rem;
  line-height: 1.3;
  font-weight: 800;
  color: var(--color-primary-900);
}

.gallery__desc {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--color-primary-800);
}

.map-area {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-50);
  color: var(--color-primary-900);
}

@media (min-width: 1024px) {
  .map-area {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.map-area__headline {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-900);
}

.map-area__sub {
  margin-top: 0.75rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--color-primary-800);
}

.map-area__area {
  gap: 0.75rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
}

.map-area__name {
  font-family: var(--font-heading);
  font-size: 1.1875rem;
  line-height: 1.3;
  font-weight: 800;
  color: var(--color-primary-900);
}

.map-area__desc {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--color-primary-800);
}

.trusted-brands {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-900);
  color: var(--color-primary-50);
}

.trusted-brands__headline {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-50);
}

.trusted-brands__brand {
  height: 2.5rem;
  object-fit: contain;
  opacity: 0.85;
  color: var(--color-primary-100);
}

.card-group {
  gap: calc(var(--section-block-gap) * 8);
  padding: calc(var(--section-block-pad) * 8) 1.5rem;
  background-color: var(--color-primary-50);
  color: var(--color-primary-900);
}

@media (min-width: 1024px) {
  .card-group {
    gap: calc(var(--section-block-gap) * 12);
    padding: calc(var(--section-block-pad) * 11.2) 3rem;
  }
}

.card-group__headline {
  font-family: var(--font-heading);
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-primary-900);
}

.card-group__sub {
  margin-top: 0.75rem;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--color-primary-800);
}

.card-group__item {
  gap: 0.75rem;
  padding: 1.75rem;
  border-radius: calc(var(--radius-block) * 7);
  background-color: var(--color-primary-100);
}

.card-group__title {
  font-family: var(--font-heading);
  font-size: 1.1875rem;
  line-height: 1.3;
  font-weight: 800;
  color: var(--color-primary-900);
}

.card-group__desc {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--color-primary-800);
}

.card-group__features {
  gap: 0.5rem;
  padding-left: 1.1rem;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--color-primary-800);
}
:root { --btn-primary-bg: var(--color-primary-600); --btn-primary-ink: #ffffff; --btn-primary-hover: var(--color-primary-700); --btn-outline-ink: var(--color-primary-600); --btn-accent-hover: var(--color-accent-300); }
