/* Textile-inspired decorative accents based on the supplied family portrait; no symbolic meaning is claimed. */
.textile-ribbon {
  height: 92px;
  background-color: #103e31;
  background-image: url('/assets/textile-accent.jpeg');
  background-position: center center;
  background-repeat: repeat-x;
  background-size: auto 205px;
  border-top: 2px solid #d5af60;
  border-bottom: 2px solid #d5af60;
}

.story-image::after {
  content: '';
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 0;
  height: 16px;
  background-color: #103e31;
  background-image: url('/assets/textile-accent.jpeg');
  background-position: center;
  background-repeat: repeat-x;
  background-size: auto 66px;
}

.story-image .photo-tab { bottom: 16px; }

.ownership-note { background: #e4c77e; border-bottom: 3px solid #b58e40; }
.ownership-note-inner { display: flex; align-items: center; gap: 26px; min-height: 96px; padding: 18px 0; color: var(--green); }
.ownership-badge { display: inline-flex; align-items: center; flex: none; min-height: 50px; padding: 10px 22px; border: 1px solid #11372d; border-radius: 999px; background: var(--green); color: #fff; box-shadow: 0 4px 0 #b28a3e; font-size: .78rem; line-height: 1.25; letter-spacing: .12em; text-align: center; }
.ownership-message { max-width: 830px; font-size: 1.02rem; font-weight: 600; line-height: 1.45; }

.founder-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  gap: 10%;
  padding-bottom: 65px;
  margin-bottom: 75px;
  border-bottom: 1px solid #cdd6ca;
}

.founder-row h2 { max-width: 10ch; margin-bottom: 0; }
.founder-copy { padding-left: 25px; border-left: 3px solid var(--gold); }
.founder-copy h3 { color: var(--green); margin-bottom: 14px; }
.founder-copy p { color: #4e5a51; line-height: 1.85; margin-bottom: 0; }
.visit-card .visit-phone { display: block; width: fit-content; margin: -2px 0 16px; font-size: 1rem; }
.contact-methods { display: grid; gap: 12px; margin-top: 24px; }
.contact-methods a { display: grid; width: fit-content; gap: 2px; overflow-wrap: anywhere; }
.contact-methods a span { color: #d8bc79; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.contact-methods a strong { color: #fff; font-size: 1rem; font-weight: 600; text-decoration: underline; text-decoration-color: #809d87; text-underline-offset: 4px; }
.footer-top a[href^="tel:"], .footer-top a[href^="mailto:"] { color: #d7e3d9; overflow-wrap: anywhere; }
.bot-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
#inquiry-form button:disabled { opacity: .65; cursor: wait; }
.founder-dates { display: flex; flex-wrap: wrap; gap: 20px 32px; margin-top: 28px; }
.founder-dates div { display: flex; align-items: baseline; gap: 10px; }
.founder-dates strong { color: var(--green); font-size: 1.2rem; }
.founder-dates span { color: #4e5a51; font-size: .9rem; }

.service-card {
  min-height: 215px;
  padding: 32px 28px;
  justify-content: center;
}

.service-card h3 {
  color: var(--green);
  margin-bottom: 12px;
}

@media (max-width: 760px) {
  .textile-ribbon { height: 70px; background-size: auto 170px; }
  .ownership-note-inner { align-items: flex-start; flex-direction: column; gap: 14px; padding: 20px 0 22px; }
  .ownership-message { font-size: .96rem; }
  .founder-row { grid-template-columns: 1fr; gap: 28px; padding-bottom: 48px; margin-bottom: 62px; }
}

@media (max-width: 500px) {
  .service-card { min-height: 0; padding: 34px 26px; }
}
