@import url('https://fonts.googleapis.com/css2?family=Newsreader:opsz,wght@6..72,400;6..72,500&display=swap');

:root {
  --paper: #faf9f6 !important;
  --paper-deep: #faf9f6 !important;
  --brand-accent: #596052;
  --cookie-paper: #faf9f6 !important;
}

html,
body,
.site-header,
.gallery-site-header,
.gallery-next-story,
.gallery-inquiry,
.gallery-site-footer,
.portfolio-mid-inquiry,
.photo-lightbox,
.cookie-dialog {
  background-color: #faf9f6 !important;
}

body,
p,
nav,
label,
input,
select,
textarea,
button {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

h1,
h2,
.path-card h3,
.collection-cards h3,
.testimonial-feature blockquote,
.testimonial-closing blockquote,
.approach__quote,
.experience-testimonial blockquote,
.kind-word blockquote,
.words-quote blockquote,
.principle-grid blockquote,
.process-list blockquote,
.portfolio-mid-inquiry p {
  font-family: "Newsreader", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: -0.03em !important;
}

h1,
h2,
.path-card h3,
.collection-cards h3 {
  line-height: 1.01 !important;
}

.testimonial-feature blockquote,
.testimonial-closing blockquote,
.experience-testimonial blockquote,
.kind-word blockquote,
.words-quote blockquote,
.principle-grid blockquote,
.process-list blockquote {
  line-height: 1.12 !important;
}

.approach__quote {
  line-height: 1.22 !important;
}

.wordmark,
.wordmark--footer,
.gallery-footer__wordmark {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-weight: 300 !important;
  letter-spacing: 0.16em !important;
}

.wordmark--footer {
  max-width: 100%;
  font-size: clamp(2.4rem, 11vw, 8rem) !important;
}

/* Keep the large footer wordmark at the approved Experience-page rhythm everywhere. */
.site-footer {
  padding-top: clamp(4rem, 7.5vw, 7.5rem) !important;
}

.site-footer .footer-grid {
  margin-top: clamp(4rem, 7.5vw, 7.5rem) !important;
}

/* Keep each footer column title visually separate from the links beneath it. */
.site-footer .footer-label {
  margin-bottom: clamp(1.55rem, 1.45vw, 2rem) !important;
}

.site-footer .footer-grid nav {
  gap: 0.85rem;
}

.gallery-footer__wordmark {
  max-width: 100%;
  font-size: clamp(2.1rem, 5vw, 4.4rem) !important;
}

.eyebrow,
.gallery-next-story__label,
.gallery-form__eyebrow,
.gallery-footer__label {
  color: var(--brand-accent) !important;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.16em !important;
  line-height: 1.4 !important;
}

.primary-nav,
.menu-toggle,
.nav,
.gallery-menu-toggle {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.15em !important;
}

.text-link,
.submit-button,
.gallery-form button {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 0.76rem !important;
  letter-spacing: 0.1em !important;
}

.story-card__meta p,
.story-card__meta > span,
.gallery-tile__meta p,
.gallery-tile__meta > span,
.words-quote > p,
.words-photo figcaption {
  font-size: 0.72rem !important;
  letter-spacing: 0.12em !important;
}

.form-field label,
.gallery-form label {
  font-size: 0.75rem !important;
  letter-spacing: 0.1em !important;
}

.footer-grid a,
.footer-label,
.footer-legal,
.gallery-footer__grid a,
.gallery-footer__legal,
.persistent-inquiry,
.gallery-quick-actions a,
.gallery-quick-actions button {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.1em !important;
}

.text-link span,
.path-card > span {
  color: var(--brand-accent) !important;
}

.text-link {
  border-color: rgba(89, 96, 82, 0.42) !important;
}

/* Keep legal tables scrollable inside the page instead of widening mobile viewports. */
.legal-content,
.legal-content__body,
.legal-section,
.legal-table-wrap {
  min-width: 0;
  max-width: 100%;
}

.legal-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 760px) {
  .legal-content {
    display: block;
  }

  .legal-content__body {
    width: 100%;
  }
}
