@import url("https://fonts.googleapis.com/css2?family=Geologica:wdth,wght@75..100,300..700&family=Spline+Sans:wght@400;500;600;700&display=swap");

:root {
  --sans: "Spline Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --serif: "Geologica", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --display: "Geologica", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

body,
button,
input,
select,
textarea {
  font-family: var(--sans);
}

h1,
h2,
.queen-caption strong,
.services-hero-caption strong,
.about-visual-caption strong,
.about-page .founder-info h3,
.legal-page .legal-article h2 {
  font-family: var(--display) !important;
  font-style: normal !important;
  font-synthesis: none;
  font-stretch: 78%;
  font-variation-settings: "wdth" 78, "wght" 500;
  font-weight: 500;
  letter-spacing: 0 !important;
}

h1 em,
h2 em,
.hero-statement,
blockquote {
  font-family: var(--display) !important;
  font-style: normal !important;
  font-synthesis: none;
  font-stretch: 82%;
  font-variation-settings: "wdth" 82, "wght" 350;
  font-weight: 350 !important;
  letter-spacing: 0 !important;
}

h3,
.desktop-nav,
.mobile-menu,
.header-contact,
.button-arrow,
.form-submit,
.site-footer {
  font-family: var(--sans) !important;
  letter-spacing: 0 !important;
}

h3 {
  font-family: var(--display) !important;
  font-style: normal !important;
  font-synthesis: none;
  font-stretch: 88%;
  font-variation-settings: "wdth" 88, "wght" 500;
  font-weight: 500;
}

.eyebrow {
  font-family: var(--sans) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.eyebrow::before {
  content: "" !important;
  box-sizing: border-box !important;
  flex: 0 0 15px !important;
  width: 15px !important;
  height: 15px !important;
  border: 1px solid var(--gold) !important;
  background: conic-gradient(
    from 90deg,
    var(--gold) 0 25%,
    transparent 0 50%,
    var(--gold) 0 75%,
    transparent 0
  ) !important;
  box-shadow: none !important;
}

.chess-sequence,
.chess-piece-inline {
  color: var(--gold) !important;
  font-family: "Segoe UI Symbol", "Noto Sans Symbols 2", Georgia, "Times New Roman", serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.chess-sequence {
  font-size: 21px !important;
}

.chess-piece-inline {
  display: inline-block;
  margin-right: 9px;
  font-size: 1.65em;
  vertical-align: -0.08em;
}

/* Hero labels stay quiet; the chess marker belongs to section eyebrows only. */
.services-hero .eyebrow::before,
.services-hero-caption > p::before,
.about-hero .eyebrow::before,
.about-visual-caption > p::before,
.contact-hero .eyebrow::before,
.work-hero .eyebrow::before,
.legal-hero .eyebrow::before {
  content: none !important;
  display: none !important;
}

/* Service identifiers use their chess piece alone; the label needs no second mark. */
.services-page .service-detail-head .eyebrow {
  gap: 0 !important;
}

.services-page .service-detail-head .eyebrow::before {
  content: none !important;
  display: none !important;
}

.site-footer .footer-column > a,
.site-footer .footer-legal a {
  font-size: 15px !important;
  line-height: 1.4 !important;
}

@media (max-width: 760px) {
  .site-footer .footer-column > a,
  .site-footer .footer-legal a {
    font-size: 14px !important;
  }
}

@media (max-width: 760px) {
  .eyebrow {
    gap: 10px !important;
  }

  .eyebrow::before {
    flex-basis: 13px !important;
    width: 13px !important;
    height: 13px !important;
  }

  .chess-sequence {
    font-size: 19px !important;
  }

}

@media (max-width: 560px) {
  .about-page .founders-section {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .about-page .founder {
    display: block !important;
    padding: 10px !important;
  }

  .about-page .founder-portrait {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
  }

  .about-page .founder-info {
    min-width: 0 !important;
    height: auto !important;
    padding: 22px 14px 24px !important;
  }
}

/* Final type scale: every section eyebrow and supporting description reads as one system. */
@media (min-width: 761px) {
  .eyebrow {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  main p:not(.eyebrow):not(.context-side-label):not(.context-signature):not(.form-note):not(.hero-statement) {
    font-size: 17px !important;
    line-height: 1.68 !important;
  }

  .product-copy > p.eyebrow {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 760px) {
  .eyebrow {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  main p:not(.eyebrow):not(.context-side-label):not(.context-signature):not(.form-note):not(.hero-statement) {
    font-size: 16px !important;
    line-height: 1.66 !important;
  }

  .product-copy > p.eyebrow {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }
}

/* Mobile home hero: preserve the editorial scale of the desktop composition. */
@media (max-width: 760px) {
  .home-page .hero.hero-v2 {
    padding-top: 104px !important;
    padding-bottom: 38px !important;
  }

  .home-page .hero-v2 .hero-grid {
    padding-top: 18px !important;
  }

  .home-page .hero-v2 h1 {
    margin-top: 12px !important;
    font-size: clamp(56px, 15.5vw, 64px) !important;
    line-height: 0.93 !important;
    letter-spacing: 0 !important;
  }

  .home-page .hero-v2 .hero-statement {
    color: var(--ink) !important;
    margin-top: 22px !important;
    padding-left: 16px !important;
    border-left: 3px solid var(--gold) !important;
    font-family: var(--display) !important;
    font-size: clamp(27px, 7.4vw, 31px) !important;
    font-style: normal !important;
    font-variation-settings: "wdth" 88, "wght" 600 !important;
    font-weight: 600 !important;
    line-height: 1.06 !important;
  }

  .home-page .hero-v2 .hero-intro {
    margin-top: 34px !important;
    padding-top: 24px !important;
  }

  .home-page .hero-v2 .hero-intro p {
    color: rgba(8, 47, 57, 0.9) !important;
    font-size: 19px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
  }
}
