/* Homepage closing sections: cooperation boundary and contact handoff. */

.page-home #trust.cooperation-guide-section {
  padding-block: clamp(82px, 9vw, 126px) !important;
  background:
    linear-gradient(180deg, rgba(250, 247, 240, 0.96), rgba(244, 239, 229, 0.9)),
    repeating-linear-gradient(90deg, rgba(93, 78, 54, 0.025) 0 1px, transparent 1px 112px) !important;
}

.page-home #trust .section-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1.16fr) minmax(300px, 0.66fr) !important;
  gap: 18px clamp(38px, 6vw, 86px) !important;
  align-items: end !important;
  max-width: none !important;
  margin-bottom: clamp(40px, 5.5vw, 72px) !important;
}

.page-home #trust .section-kicker {
  grid-column: 1 / -1;
  margin: 0 !important;
}

.page-home #trust .section-head h2 {
  max-width: 9.6em !important;
  margin: 0 !important;
  font-size: clamp(44px, 5.7vw, 78px) !important;
  line-height: 1.02 !important;
}

.page-home #trust .section-lead {
  max-width: 32em !important;
  margin: 0 0 5px !important;
  color: var(--txf-muted) !important;
  font-size: clamp(16px, 1.45vw, 19px) !important;
  line-height: 1.82 !important;
}

.page-home #trust .cooperation-guide {
  display: grid !important;
  grid-template-columns: minmax(292px, 0.38fr) minmax(0, 1fr) !important;
  overflow: hidden !important;
  border: 1px solid rgba(112, 94, 65, 0.24) !important;
  border-radius: 3px !important;
  background: rgba(255, 252, 246, 0.72) !important;
  box-shadow: 0 28px 72px rgba(71, 55, 34, 0.075) !important;
}

.page-home #trust .guide-manual {
  display: flex !important;
  min-width: 0 !important;
  min-height: 356px !important;
  flex-direction: column !important;
  padding: clamp(30px, 3.7vw, 48px) !important;
  border: 0 !important;
  border-right: 1px solid rgba(112, 94, 65, 0.22) !important;
  background:
    linear-gradient(145deg, rgba(20, 21, 19, 0.97), rgba(32, 34, 30, 0.95)),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.03) 0 1px, transparent 1px 76px) !important;
}

.page-home #trust .guide-manual > span {
  color: #83bcb0 !important;
  font-family: var(--txf-sans) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}

.page-home #trust .guide-manual strong {
  max-width: 9em !important;
  margin-top: clamp(48px, 6vw, 78px) !important;
  color: #fffaf0 !important;
  font-family: var(--txf-serif) !important;
  font-size: clamp(30px, 3vw, 43px) !important;
  font-weight: 760 !important;
  line-height: 1.13 !important;
}

.page-home #trust .guide-manual p {
  max-width: 29em !important;
  margin: auto 0 0 !important;
  color: rgba(255, 250, 240, 0.66) !important;
  font-family: var(--txf-sans) !important;
  font-size: 14px !important;
  line-height: 1.78 !important;
}

.page-home #trust .guide-checks {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  min-width: 0 !important;
  background: transparent !important;
}

.page-home #trust .guide-check,
.page-home #trust .guide-check:nth-child(2n) {
  display: flex !important;
  min-width: 0 !important;
  min-height: 356px !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: clamp(24px, 2.55vw, 34px) !important;
  border: 0 !important;
  border-right: 1px solid rgba(112, 94, 65, 0.18) !important;
  background: transparent !important;
}

.page-home #trust .guide-check:last-child {
  border-right: 0 !important;
}

.page-home #trust .guide-check > span {
  color: var(--txf-accent-deep) !important;
  font-family: var(--txf-sans) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.page-home #trust .guide-check > div {
  margin-top: auto !important;
}

.page-home #trust .guide-check h3 {
  margin: 0 0 16px !important;
  color: var(--txf-ink) !important;
  font-family: var(--txf-serif) !important;
  font-size: clamp(23px, 2vw, 30px) !important;
  line-height: 1.16 !important;
}

.page-home #trust .guide-check p {
  margin: 0 !important;
  color: var(--txf-muted) !important;
  font-family: var(--txf-sans) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.page-home #trust .boundary-closeout {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  gap: clamp(18px, 2.6vw, 36px);
  align-items: center;
  min-height: 86px;
  margin-top: 18px;
  padding: 14px 16px 14px clamp(24px, 3.2vw, 42px);
  color: #fffaf0;
  border-radius: 3px;
  background: #181916;
  box-shadow: 0 18px 52px rgba(34, 29, 22, 0.13);
}

.page-home #trust .boundary-closeout > span {
  color: #83bcb0;
  font-family: var(--txf-sans);
  font-size: 12px;
  font-weight: 900;
}

.page-home #trust .boundary-closeout > strong {
  min-width: 0;
  font-family: var(--txf-serif);
  font-size: clamp(17px, 1.55vw, 21px);
  font-weight: 680;
  line-height: 1.45;
}

.page-home #trust .boundary-closeout > a {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  color: #171814;
  border: 1px solid rgba(255, 250, 240, 0.45);
  border-radius: 2px;
  background: #fffaf0;
  font-family: var(--txf-sans);
  font-size: 14px;
  font-weight: 850;
  text-decoration: none;
  transition: transform 180ms ease, background-color 180ms ease;
}

.page-home #trust .boundary-closeout > a:hover {
  transform: translateY(-2px);
  background: #ffffff;
}

.page-home #contact.contact-flow-section {
  padding-block: clamp(82px, 9vw, 124px) !important;
  background:
    linear-gradient(180deg, rgba(239, 233, 222, 0.86), rgba(249, 246, 239, 0.98)),
    repeating-linear-gradient(0deg, rgba(112, 94, 65, 0.022) 0 1px, transparent 1px 80px) !important;
}

.page-home #contact .contact-box {
  display: grid !important;
  grid-template-columns: minmax(0, 0.98fr) minmax(390px, 0.78fr) !important;
  gap: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  color: var(--txf-ink) !important;
  border: 1px solid rgba(112, 94, 65, 0.26) !important;
  border-radius: 3px !important;
  background: rgba(255, 252, 246, 0.78) !important;
  box-shadow: 0 32px 86px rgba(71, 55, 34, 0.10) !important;
}

.page-home #contact .contact-copy,
.page-home #contact .contact-form-panel {
  min-width: 0 !important;
  padding: clamp(32px, 4.2vw, 58px) !important;
}

.page-home #contact .contact-copy {
  display: flex !important;
  min-height: 580px !important;
  flex-direction: column !important;
  border-right: 1px solid rgba(112, 94, 65, 0.22) !important;
  background:
    linear-gradient(155deg, rgba(255, 253, 248, 0.96), rgba(245, 240, 231, 0.78)),
    repeating-linear-gradient(90deg, rgba(112, 94, 65, 0.028) 0 1px, transparent 1px 88px) !important;
}

.page-home #contact .contact-copy h2 {
  max-width: 9.2em !important;
  margin: clamp(22px, 3vw, 38px) 0 0 !important;
  color: var(--txf-ink) !important;
  font-size: clamp(40px, 4.7vw, 64px) !important;
  line-height: 1.04 !important;
}

.page-home #contact .contact-lead {
  max-width: 35em !important;
  margin: 26px 0 0 !important;
  color: var(--txf-muted) !important;
  font-family: var(--txf-serif) !important;
  font-size: clamp(16px, 1.45vw, 19px) !important;
  line-height: 1.82 !important;
}

.page-home #contact .contact-outcomes {
  display: grid !important;
  gap: 0 !important;
  margin-top: auto !important;
  padding-top: clamp(36px, 5vw, 62px) !important;
  border-top: 1px solid rgba(112, 94, 65, 0.20) !important;
}

.page-home #contact .contact-outcomes > div {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 0.36fr) minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: baseline !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid rgba(112, 94, 65, 0.16) !important;
}

.page-home #contact .contact-outcomes > div:last-child {
  border-bottom: 0 !important;
}

.page-home #contact .contact-outcomes span {
  grid-row: auto !important;
  color: var(--txf-accent-deep) !important;
  font-family: var(--txf-sans) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.page-home #contact .contact-outcomes strong {
  color: var(--txf-ink) !important;
  font-family: var(--txf-serif) !important;
  font-size: 19px !important;
  line-height: 1.35 !important;
}

.page-home #contact .contact-outcomes em {
  margin: 0 !important;
  color: var(--txf-muted) !important;
  font-family: var(--txf-sans) !important;
  font-size: 13px !important;
  font-style: normal !important;
  line-height: 1.65 !important;
}

.page-home #contact .contact-form-panel {
  display: flex !important;
  min-height: 580px !important;
  flex-direction: column !important;
  color: var(--txf-ink) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(233, 228, 216, 0.68) !important;
  box-shadow: none !important;
}

.page-home #contact .contact-template-head {
  display: grid !important;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr) !important;
  gap: 20px !important;
  align-items: start !important;
}

.page-home #contact .contact-template-head span {
  color: var(--txf-accent-deep) !important;
  font-family: var(--txf-sans) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.page-home #contact .contact-template-head p {
  margin: 0 !important;
  color: var(--txf-muted) !important;
  font-family: var(--txf-sans) !important;
  font-size: 13px !important;
  line-height: 1.68 !important;
}

.page-home #contact .diagnosis-template {
  width: 100% !important;
  min-height: 270px !important;
  margin: 28px 0 0 !important;
  padding: 24px !important;
  overflow: auto !important;
  white-space: pre-wrap !important;
  color: var(--txf-text) !important;
  border: 1px solid rgba(112, 94, 65, 0.23) !important;
  border-radius: 2px !important;
  background: rgba(255, 253, 248, 0.72) !important;
  font: 14px/1.82 var(--txf-sans) !important;
}

.page-home #contact .diagnosis-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
  gap: 10px !important;
  margin-top: auto !important;
  padding-top: 20px !important;
}

.page-home #contact .diagnosis-actions > * {
  width: 100% !important;
  min-height: 48px !important;
  justify-content: center !important;
}

.page-home #contact .diagnosis-actions .copy-template,
.page-home #contact .diagnosis-actions .copy-email {
  color: var(--txf-ink) !important;
  border: 1px solid rgba(23, 24, 20, 0.24) !important;
  border-radius: 2px !important;
  background: transparent !important;
  font-family: var(--txf-sans) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.page-home #contact .diagnosis-actions .contact-mail {
  color: #fffaf0 !important;
  border-color: #181916 !important;
  border-radius: 2px !important;
  background: #181916 !important;
}

.page-home #contact .diagnosis-actions .copy-email {
  grid-column: 1 / -1 !important;
  min-height: 42px !important;
}

.page-home #contact .contact-direct {
  margin: 16px 0 0 !important;
  color: var(--txf-muted) !important;
  font-family: var(--txf-sans) !important;
  font-size: 12px !important;
  line-height: 1.65 !important;
}

.page-home #contact .contact-direct strong {
  color: var(--txf-ink) !important;
}

@media (max-width: 1080px) {
  .page-home #trust .guide-checks {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .page-home #trust .guide-check:nth-child(2) {
    border-right: 0 !important;
  }

  .page-home #trust .guide-check:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(112, 94, 65, 0.18) !important;
  }

  .page-home #trust .guide-check {
    min-height: 238px !important;
  }

  .page-home #contact .contact-box {
    grid-template-columns: minmax(0, 1fr) minmax(350px, 0.82fr) !important;
  }

  .page-home #contact .contact-outcomes > div {
    grid-template-columns: 34px minmax(0, 1fr) !important;
  }

  .page-home #contact .contact-outcomes em {
    grid-column: 2 !important;
  }
}

@media (max-width: 820px) {
  .page-home #trust .section-head,
  .page-home #trust .cooperation-guide,
  .page-home #contact .contact-box {
    grid-template-columns: 1fr !important;
  }

  .page-home #trust .section-head {
    gap: 20px !important;
  }

  .page-home #trust .section-head h2,
  .page-home #contact .contact-copy h2 {
    max-width: 100% !important;
    font-size: clamp(36px, 10vw, 52px) !important;
  }

  .page-home #trust .guide-manual {
    min-height: 320px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(112, 94, 65, 0.22) !important;
  }

  .page-home #trust .guide-manual strong {
    margin-top: 42px !important;
  }

  .page-home #trust .boundary-closeout {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 24px !important;
  }

  .page-home #trust .boundary-closeout > a {
    width: 100% !important;
    margin-top: 6px !important;
  }

  .page-home #contact .contact-copy,
  .page-home #contact .contact-form-panel {
    min-height: auto !important;
    padding: 30px 24px !important;
  }

  .page-home #contact .contact-copy {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(112, 94, 65, 0.22) !important;
  }

  .page-home #contact .contact-outcomes {
    margin-top: 38px !important;
    padding-top: 24px !important;
  }

  .page-home #contact .diagnosis-actions {
    margin-top: 20px !important;
  }
}

@media (max-width: 560px) {
  .page-home #trust.cooperation-guide-section,
  .page-home #contact.contact-flow-section {
    padding-block: 68px !important;
  }

  .page-home #trust .guide-checks {
    grid-template-columns: 1fr !important;
  }

  body.page-home #trust.cooperation-guide-section .guide-check:nth-child(n) {
    min-height: 190px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(112, 94, 65, 0.18) !important;
  }

  body.page-home #trust.cooperation-guide-section .guide-check:last-child {
    border-bottom: 0 !important;
  }

  .page-home #contact .contact-template-head,
  .page-home #contact .diagnosis-actions {
    grid-template-columns: 1fr !important;
  }

  .page-home #contact .diagnosis-actions .copy-email {
    grid-column: auto !important;
  }

  .page-home #contact .diagnosis-template {
    min-height: 250px !important;
    padding: 20px !important;
    font-size: 13px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-home #trust .boundary-closeout > a {
    transition: none !important;
  }
}
