/* TruDiff custom styles — edit this file; styles.css is compiled Tailwind output */

/* Hero background logo */
.hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.hero-bg__logo-wrap {
  position: absolute;
  right: -2.5rem;
  top: 50%;
  transform: translateY(-50%);
  width: min(440px, 78vw);
  aspect-ratio: 1;
  opacity: 0.42;
  background-color: hsla(0, 0%, 100%, 0.06);
  border: 1px solid rgba(201, 168, 76, 0.4);
}

.hero-bg__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    270deg,
    rgba(6, 15, 30, 0.2) 0%,
    rgba(6, 15, 30, 0.78) 42%,
    rgba(6, 15, 30, 0.95) 100%
  );
}

.hero-content {
  position: relative;
  max-width: 42rem;
}

@media (min-width: 640px) {
  .hero-bg__logo-wrap {
    right: -1rem;
    opacity: 0.48;
  }
}

@media (min-width: 1024px) {
  .hero-bg__logo-wrap {
    right: 0;
    width: min(480px, 40vw);
    opacity: 0.5;
  }
}

/* Contact page hero */
.contact-hero .hero-bg__logo-wrap {
  width: min(280px, 55vw);
  opacity: 0.2;
}

@media (min-width: 640px) {
  .contact-hero .hero-bg__logo-wrap {
    width: min(320px, 45vw);
    opacity: 0.24;
    right: -2rem;
  }
}

@media (min-width: 1024px) {
  .contact-hero .hero-bg__logo-wrap {
    width: min(360px, 32vw);
    opacity: 0.28;
    right: 1rem;
  }
}

/* Contact form panels */
.contact-panel {
  box-shadow: 0 8px 32px rgba(15, 34, 64, 0.08);
}

.contact-panel--call {
  background: linear-gradient(165deg, #0f2240 0%, #060f1e 100%);
  border-top: 3px solid #c9a84c;
}

.contact-panel--call [aria-label="What brings you here?"] button[aria-pressed="false"] {
  background-color: hsla(0, 0%, 100%, 0.08);
  border-color: hsla(0, 0%, 100%, 0.22);
  color: hsla(0, 0%, 100%, 0.88);
}

.contact-panel--call [aria-label="What brings you here?"] button[aria-pressed="false"]:hover {
  border-color: hsla(0, 0%, 100%, 0.45);
}

/* Contact pathway cards */
.contact-path {
  display: block;
  text-decoration: none;
  color: inherit;
}

.contact-path:hover {
  border-color: #b91c3b;
}

.contact-path:hover span {
  text-decoration: underline;
}

/* Footer */
.site-footer {
  padding: 1.25rem 1rem 1rem;
}

.site-footer__inner {
  margin: 0 auto;
  max-width: 28rem;
  text-align: center;
}

.site-footer__inner > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.site-footer__nav {
  margin-top: 0.875rem;
  text-align: center;
}

.site-footer nav ul {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.site-footer nav li + li {
  margin-top: 0.2rem;
}

.site-footer__legal {
  margin-top: 0.75rem;
  padding-top: 0.625rem;
  border-top: 1px solid rgba(15, 34, 64, 0.1);
}

/* Comparison table */
.comparison-table {
  min-width: 45rem;
}

.comparison-quote {
  min-width: 9.5rem;
  max-width: 11.5rem;
  font-size: 0.75rem;
  line-height: 1.45;
  vertical-align: top;
}
