/* Shared light theme for the public site. */
html {
  background: #f7f8f6;
}

body,
.about-page,
.contact-page,
.download-page,
.policy-page {
  background: #f7f8f6;
  color: #171a18;
}

body::before,
.contact-hero::after {
  display: none;
}

body :focus-visible {
  outline: 3px solid #a27400;
  outline-offset: 3px;
}

.site-header,
.site-header.is-scrolled {
  background: #111311;
  box-shadow: none;
  backdrop-filter: none;
}

.nav,
.site-header.is-scrolled .nav {
  height: 82px;
}

.brand {
  width: 186px;
}

.nav-links {
  color: #f7f8f6;
  font-size: 0.84rem;
  font-weight: 600;
}

.nav-links a:hover {
  color: #f4cb38;
}

.breadcrumb {
  padding-top: 116px;
  margin-bottom: 0;
  color: #5e6661;
  font-size: 0.8rem;
}

.breadcrumb a,
.breadcrumb a:hover {
  color: #765900;
}

.breadcrumb li + li::before {
  color: #919b93;
}

.section-kicker {
  color: #775900;
}

/* About */
.about-layout {
  gap: 0 32px;
  padding: 32px 0 90px;
}

.about-intro-card,
.about-summary-card,
.about-list-card,
.about-card-grid article {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.about-intro-card,
.about-summary-card {
  min-height: 350px;
  padding: 38px 0 50px;
  background: transparent;
}

.about-summary-card {
  border-left: 1px solid #cbd3cc;
  padding-left: 36px;
}

.about-intro-card h1,
.about-summary-card h2,
.about-list-card h2,
.about-card-grid h3 {
  color: #171a18;
}

.about-intro-card h1 {
  max-width: 590px;
  margin-top: 0;
  font-size: clamp(2.5rem, 4.5vw, 4.5rem);
}

.about-summary-card h2,
.about-list-card h2 {
  margin-top: 0;
  font-size: clamp(1.55rem, 2.35vw, 2.35rem);
}

.about-intro-card p,
.about-summary-card p,
.about-list-card p,
.about-card-grid p {
  color: #59615d;
  font-size: 0.94rem;
}

.about-card-grid {
  padding: 20px 0;
  border-top: 1px solid #cbd3cc;
}

.about-card-grid article {
  min-height: 210px;
  padding: 26px;
  background: #eaeeea;
}

.about-values-grid article {
  min-height: 185px;
}

.about-card-grid article:hover {
  transform: none;
  background: #e0e7e0;
}

.about-card-grid span {
  color: #765900;
}

.about-list-card {
  padding: 38px 0;
  background: transparent;
  border-top: 1px solid #cbd3cc;
}

/* Contact */
.contact-hero {
  gap: 20px;
  padding: 30px 0 24px;
}

.contact-hero h1 {
  margin-top: 0;
  color: #171a18;
  font-size: clamp(2.3rem, 4.5vw, 4.4rem);
}

.contact-hero p,
.contact-info-panel p,
.contact-route-card p {
  color: #59615d;
  font-size: 0.94rem;
}

.contact-hero-visual {
  min-height: 320px;
}

.contact-hero-visual img {
  filter: drop-shadow(0 22px 30px rgba(13, 20, 16, 0.15));
  animation: none;
}

.contact-grid {
  gap: 20px;
  padding: 24px 0 90px;
}

.contact-form-panel,
.contact-info-panel {
  border: 0;
  border-radius: 6px;
  background: #fff;
  box-shadow: none;
}

.contact-info-panel {
  background: #eaeeea;
}

.contact-form-panel::before,
.contact-info-panel::before {
  display: none;
}

.contact-form-panel h2,
.contact-info-panel h2 {
  margin-top: 0;
  color: #171a18;
  font-size: clamp(1.5rem, 2.4vw, 2.4rem);
}

.contact-form-panel label span {
  color: #39423c;
}

.contact-form-panel input,
.contact-form-panel select,
.contact-form-panel textarea {
  border: 1px solid #cbd3cc;
  border-radius: 5px;
  background: #f7f8f6;
  color: #171a18;
}

.contact-form-panel input:focus,
.contact-form-panel select:focus,
.contact-form-panel textarea:focus {
  border-color: #a27400;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(162, 116, 0, 0.12);
}

.contact-submit {
  padding: 0 7px 0 17px;
  background: #171a18;
  border-color: #171a18;
  color: #fff;
}

.contact-submit:hover {
  background: #373d38;
  box-shadow: none;
}

.contact-methods a,
.contact-methods div,
.contact-route-card {
  border: 0;
  border-radius: 4px;
  background: #fff;
}

.contact-methods a:hover {
  transform: none;
  background: #f9f3de;
}

.contact-methods span {
  color: #765900;
}

.contact-methods strong {
  color: #171a18;
  overflow-wrap: anywhere;
}

/* Downloads */
.download-hero {
  display: block;
  padding: 38px 0 42px;
}

.download-hero h1 {
  margin-top: 0;
  color: #171a18;
  font-size: clamp(2.2rem, 3.8vw, 3.5rem);
}

.download-hero p,
.download-card p {
  color: #59615d;
}

.download-badge-panel {
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.download-grid {
  gap: 18px;
  padding-bottom: 86px;
}

.download-card {
  display: flex;
  min-height: 190px;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 6px;
  background: #eaeeea;
  box-shadow: none;
  color: #171a18;
}

.download-card:nth-child(2) {
  background: #fff;
}

.download-card h2 {
  margin: 0 0 28px;
  font-size: 1.45rem;
}

.download-card .download-store-link {
  display: block;
  width: 176px;
}

.download-card span {
  color: #765900;
}

.download-text-link {
  border-radius: 5px;
  background: #171a18;
  color: #fff;
}

/* Policy pages */
.policy-hero {
  padding: 36px 0 28px;
}

.policy-hero h1 {
  margin-top: 0;
  color: #171a18;
  font-size: clamp(2.1rem, 3.2vw, 3.2rem);
}

.policy-hero p {
  color: #68716a;
}

.policy-content {
  max-width: 920px;
  margin-bottom: 70px;
  padding: 24px 0 50px;
  border: 0;
  border-top: 1px solid #cbd3cc;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.policy-content h2 {
  color: #171a18;
}

.policy-content p,
.policy-content li {
  color: #4e5750;
  font-size: 0.94rem;
}

.policy-content a {
  color: #765900;
  text-decoration: underline;
}

/* Shared footer */
.site-footer {
  width: 100%;
  padding: 0;
  background: #e4b51b;
}

.footer-panel {
  width: min(1180px, calc(100% - 64px));
  min-height: 330px;
  gap: 42px;
  margin: 0 auto;
  padding: 56px 0 26px;
  border-radius: 0;
  background: transparent;
}

.footer-brand p,
.footer-links a,
.footer-contact a,
.footer-contact p {
  color: rgba(18, 23, 19, 0.76);
}

@media (max-width: 980px) {
  .nav-links {
    background: #151816;
    color: #f7f8f6;
  }
}

@media (max-width: 680px) {
  body,
  .about-page,
  .contact-page,
  .download-page,
  .policy-page {
    background: #f7f8f6;
  }

  .nav,
  .site-header.is-scrolled .nav {
    height: 76px;
  }

  .brand {
    width: 148px;
  }

  .breadcrumb {
    padding-top: 99px;
    margin-bottom: 0;
  }

  .about-layout {
    gap: 0;
    padding: 10px 0 65px;
  }

  .about-intro-card,
  .about-summary-card {
    min-height: 0;
    padding: 30px 0;
  }

  .about-summary-card {
    border-top: 1px solid #cbd3cc;
    border-left: 0;
  }

  .about-card-grid article {
    min-height: 0;
  }

  .contact-hero {
    gap: 0;
    padding: 20px 0 12px;
  }

  .contact-hero-visual {
    min-height: 235px;
  }

  .contact-hero-visual img {
    width: min(330px, 90vw);
  }

  .contact-grid {
    padding: 12px 0 70px;
  }

  .download-hero {
    gap: 26px;
    padding: 26px 0 34px;
  }

  .download-grid {
    padding-bottom: 70px;
  }

  .policy-hero {
    padding: 26px 0 20px;
  }

  .policy-content {
    margin-bottom: 50px;
    padding: 20px 0 30px;
  }

  .footer-panel {
    width: calc(100% - 36px);
    padding-inline: 0;
  }
}
