/* Approved Buddies design and copy refinements, November 2026. */
.section-icon-label.eyebrow {
  display: flex; align-items: center; justify-content: flex-start; gap: 13px;
  width: 100%; text-align: left; color: #526f5b; font-size: 18px;
  font-weight: 600; line-height: 1.7; letter-spacing: .06em; text-transform: none;
}
.section-heading-icon {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 52px;
  width: 52px; height: 52px; border-radius: 50%; background: #e5eddf; color: #526f5b;
}
.section-heading-icon svg { display: block; width: 25px; height: 25px; }
.recruit-banner .section-icon-label { color: #fffaf2; }
.recruit-banner .section-heading-icon { background: #8da58f; color: #fffaf2; }

.hero-copy { isolation: isolate; overflow: hidden; }
.hero-copy::before {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  top: 32px; right: -10%; width: 112%; aspect-ratio: 760 / 577;
  background: url("buddies-tree.webp") center / contain no-repeat; opacity: .18;
}
.hero h1 { font-size: clamp(34px, 4vw, 48px); line-height: 1.65; font-weight: 500; color: #647d68; }
.hero h1 .hero-happiness { color: #926e52; }
.hero-lead { line-height: 2.1; }
.hero-lead-phrase { display: inline-block; }
@media(min-width:761px) {
  .hero--wall .hero-copy { left: auto; right: 3.7%; }
}
@media(max-width:760px) {
  .hero--wall .hero-visual { height: auto; aspect-ratio: 1536 / 1112; }
}
.philosophy-grid { display: block; max-width: 820px; }
.philosophy-copy h2 { text-align: left; }
.philosophy-copy .philosophy-signature {
  margin: 34px 0 0; color: #647d68; font-size: 15px; font-weight: 500;
  line-height: 2; letter-spacing: .025em; text-align: right;
}
.philosophy-signature span { white-space: nowrap; }

.facility .facility-gallery { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px 20px; }
.facility .facility-gallery .facility-photo {
  grid-column: auto; height: auto; min-width: 0; margin: 0; border-radius: 0;
  overflow: visible; background: transparent;
}
.facility .facility-gallery .facility-photo img {
  display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover;
  border-radius: 20px; filter: none;
}
.facility .facility-gallery .facility-photo:hover img { transform: none; }
.facility .facility-gallery .facility-photo .room-exterior { object-position: center 38%; }
.facility .facility-gallery .facility-photo figcaption {
  position: static; display: block; background: none; padding: 13px 2px 0;
  color: #526f5b; font-size: 14px; line-height: 1.9; font-weight: 500;
  letter-spacing: .025em; text-align: left;
}
.day .timeline { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 18px; }
.moment-time {
  display: block; color: #526f5b; font-size: 24px; font-weight: 500; line-height: 1.5;
  font-variant-numeric: tabular-nums; margin: 0 0 8px; letter-spacing: .02em;
}
.day .moment b { min-height: 3.4em; line-height: 1.7; }
.day .moment small { font-size: 12px; line-height: 1.85; }

.company-principles { background: #fff8f0; }
.mission-copy { max-width: 800px; margin: 0 auto 46px; }
.mission-copy h2 { font-size: clamp(25px,3vw,34px); line-height: 1.8; }
.mission-copy p { line-height: 2.15; }
.company-values-title { font-size: 24px; margin-bottom: 26px; }
.company-values { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.company-value { border-top: 1px solid #b6c4b1; padding-top: 20px; min-width: 0; }
.company-value h3 { color: #647d68; font-size: 20px; margin: 0 0 12px; }
.company-value p { font-size: 14px; line-height: 2.1; margin-bottom: 0; }
.company-commitment { margin-top: 40px; background: #f5f3e8; border-radius: 19px; padding: 27px 30px; }
.company-commitment h3 { color: #647d68; font-size: 18px; margin: 0 0 12px; }
.company-commitment p { font-size: 14px; line-height: 2.15; margin: 0; }
.company-officers { display: grid; gap: 8px; }
.company-officer { display: flex; flex-wrap: wrap; gap: 3px 20px; line-height: 2; }
.company-officer > span:first-child { min-width: 10em; }
.company-officer > span:last-child { white-space: nowrap; }
.job-table .salary-amount { white-space: normal; overflow-wrap: normal; word-break: normal; }

@media(max-width:1000px) and (min-width:701px) {
  .facility .facility-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .day .timeline { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px 20px; }
}
@media(max-width:760px) {
  .section-icon-label.eyebrow { gap: 11px; font-size: 17px; }
  .section-heading-icon { width: 46px; height: 46px; flex-basis: 46px; }
  .section-heading-icon svg { width: 23px; height: 23px; }
  .hero h1 { font-size: clamp(31px,7vw,43px); line-height: 1.65; }
  .facility .facility-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 12px; }
  .facility .facility-gallery .facility-photo img { border-radius: 18px; }
  .company-values { grid-template-columns: minmax(0,1fr); gap: 25px; }
  .company-commitment { padding: 24px; }
  .company-officers { font-size: 14px; }
  .company-officer { column-gap: 12px; }
  .sub-nav a:not(.sub-button) { display: none; }
  .sub-nav .sub-button { white-space: nowrap; font-size: 12px; padding: 10px 12px; }
  .job-table .salary-amount { font-size: 15px; }
}
