/* About-only layouts; brand, buttons, header, footer, and menu come from styles.css. */
.about-hero { display: grid; grid-template-columns: 44% 56%; }
.about-hero-copy { position: relative; isolation: isolate; overflow: hidden; padding: 48px 34px 48px max(48px, calc((100vw - var(--max)) / 2)); align-self: center; }
.about-label { display: flex; align-items: center; gap: 14px; font-size: 12px; font-weight: 500; letter-spacing: 1.8px; margin-bottom: 17px; }
.about-label::after { content: ''; height: 1px; width: 65px; flex-shrink: 0; background: var(--gold); }
.about-hero .about-label { color: #e5c780; }
.about-hero h1 { color: var(--ivory); font-size: clamp(44px, 4.3vw, 60px); letter-spacing: -.8px; }
.about-hero-subtitle { font: 400 clamp(25px, 2.25vw, 32px)/1.2 Georgia, 'Times New Roman', serif; margin-top: 9px; }
.about-hero-intro { font-size: 17px; line-height: 1.5; margin-top: 24px; max-width: 390px; }
.about-hero .button { margin-top: 23px; }
.about-leaf { position: absolute; left: -55px; top: 36px; width: 180px; height: 310px; z-index: -1; color: var(--gold); opacity: .2; }
.about-hero-portrait { display: block; position: relative; overflow: hidden; min-height: 450px; }
.about-hero-portrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 88% 40%; transform: scale(1.45); transform-origin: 82% 35%; }
.about-story { padding-block: 40px; }
.about-story-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 44px; align-items: center; }
.about-story h2 { font-size: clamp(30px, 2.7vw, 38px); margin-bottom: 20px; }
.about-story-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.65; }
.about-story-photo { width: 100%; aspect-ratio: 6 / 5; object-fit: cover; object-position: center; }
.about-belief { padding-block: 30px; text-align: center; }
.about-belief h2 { display: flex; align-items: center; justify-content: center; gap: 28px; font-size: clamp(29px, 2.8vw, 39px); }
.about-belief h2::before, .about-belief h2::after { content: ''; height: 1px; background: var(--gold); flex: 1; }
.about-belief-lead { font-size: 18px; margin-top: 12px; }
.about-belief-copy { max-width: 920px; margin: 20px auto 0; font-size: 16px; line-height: 1.65; }
.about-values { padding-block: 34px 38px; }
.about-values #values-title { font-family: 'Segoe UI', Arial, sans-serif; color: var(--ink); margin-bottom: 25px; line-height: 1.5; }
.about-values-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.about-value { padding-inline: 27px; }
.about-value:first-child { padding-left: 0; }
.about-value:last-child { padding-right: 0; }
.about-value + .about-value { border-left: 1px solid var(--line); }
.about-value svg { width: 46px; height: 46px; fill: none; stroke: var(--forest); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 9px; }
.about-value h3 { font-size: 25px; margin-bottom: 9px; }
.about-value p { font-size: 15px; line-height: 1.55; }
.about-partner { position: relative; isolation: isolate; overflow: hidden; padding-block: 38px 42px; border-bottom: 1px solid var(--line); }
.about-partner-photo { position: absolute; right: 0; top: 0; width: 45%; height: 100%; object-fit: cover; object-position: center 40%; z-index: -2; }
.about-partner::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--cream) 45%, #f3ecdfed 61%, #f3ecdf22); }
.about-partner-copy { max-width: 650px; }
.about-partner h2 { margin-bottom: 18px; }
.about-partner-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.6; }
.about-partner .button { margin-top: 22px; }
@media (min-width: 1600px) {
  .about-hero-portrait { min-height: 490px; }
}
@media (max-width: 1100px) {
  .about-hero-copy { padding-left: 48px; padding-right: 24px; }
  .about-wide-break { display: none; }
  .about-hero .about-label::after { width: 30px; }
  .about-hero .about-label { letter-spacing: 1.2px; }
}
@media (max-width: 1000px) {
  .about-hero-copy { padding-left: 28px; }
  .about-story-grid { gap: 28px; }
  .about-value { padding-inline: 20px; }
  .about-partner-copy { max-width: 65%; }
}
@media (max-width: 800px) {
  .about-hero { grid-template-columns: 1fr; }
  .about-hero-portrait { order: -1; min-height: 0; height: 340px; }
  .about-hero-portrait img { object-position: 90% 32%; }
  .about-hero-copy { padding: 30px 28px 34px; }
  .about-hero-subtitle { font-size: 29px; max-width: 510px; }
  .about-hero-intro { max-width: 550px; margin-top: 20px; }
  .about-story-grid { grid-template-columns: 1fr; gap: 26px; }
  .about-story-photo { aspect-ratio: 16 / 9; max-height: 360px; object-position: center 40%; }
  .about-belief h2::before, .about-belief h2::after { display: none; }
  .about-values-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 0; }
  .about-value { padding-inline: 24px; }
  .about-value:nth-child(odd) { padding-left: 0; border-left: 0; }
  .about-value:nth-child(even) { padding-right: 0; }
  .about-partner-copy { max-width: 75%; }
}
@media (max-width: 600px) {
  .about-hero-portrait { height: 270px; }
  .about-hero-portrait img { object-position: 91% 28%; transform: scale(1.6); }
  .about-hero-copy { padding: 26px 20px 30px; }
  .about-hero h1 { font-size: 43px; }
  .about-hero-subtitle { font-size: 27px; max-width: 350px; }
  .about-label { gap: 12px; letter-spacing: 1.4px; font-size: 11px; }
  .about-label::after { width: 42px; }
  .about-hero-intro { font-size: 16px; }
  .about-story { padding-block: 30px; }
  .about-story h2 { font-size: 31px; }
  .about-story-photo { aspect-ratio: 4 / 3; }
  .about-belief { padding-block: 30px; }
  .about-belief h2 { font-size: 30px; }
  .about-belief-lead { font-size: 17px; }
  .about-belief-copy { text-align: left; }
  .about-values #values-title { max-width: 350px; }
  .about-values #values-title::after { width: 30px; }
  .about-value { padding-inline: 16px; }
  .about-value h3 { font-size: 23px; }
  .about-partner { padding-block: 32px; }
  .about-partner-copy { max-width: 100%; }
  .about-partner-photo { width: 100%; opacity: .2; }
  .about-partner::after { background: linear-gradient(90deg, var(--cream), #f3ecdfe0); }
  .about-partner .about-label { display: block; }
  .about-partner .about-label::after { display: none; }
}
@media (max-width: 360px) {
  .about-hero-portrait { height: 245px; }
  .about-hero h1 { font-size: 39px; }
  .about-hero-subtitle { font-size: 25px; }
  .about-values-grid { grid-template-columns: 1fr; gap: 20px; }
  .about-value, .about-value:nth-child(even) { padding: 0; border-left: 0; }
  .about-value + .about-value { border-top: 1px solid var(--line); padding-top: 20px; }
}
