/* =========================================================
   ABOUT PAGE
   ========================================================= */

/* ---------- Hero ---------- */
.abt-hero{
  position:relative; overflow:hidden; background:var(--black);
  padding-top:calc(var(--nav-dip-depth, 112px) + 2.6rem); padding-bottom:3.2rem;
}
.abt-hero-bg{ position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; }
.abt-hero-overlay{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(11,10,8,.62) 0%, rgba(11,10,8,.82) 70%, rgba(11,10,8,.94) 100%);
}
.abt-hero .container{ position:relative; z-index:2; }
.abt-hero .occ-breadcrumb{ color:rgba(246,241,231,.55); margin-bottom:1.1rem; }
.abt-hero .occ-breadcrumb a{ color:rgba(246,241,231,.8); text-decoration:none; }
.abt-hero .occ-breadcrumb a:hover{ color:var(--gold); }
.abt-hero .occ-breadcrumb .is-current{ color:var(--gold); }

.abt-hero-title{ font-family:var(--font-display); font-size:clamp(2.1rem, 4.4vw, 3.4rem); color:var(--white); margin-bottom:.8rem; max-width:760px; }
.abt-hero-title em{ font-style:italic; color:var(--gold); font-weight:400; }
.abt-hero-copy{ font-family:var(--font-body); font-size:1rem; line-height:1.75; color:rgba(246,241,231,.72); max-width:600px; margin-bottom:0; }

/* ---------- Our Story ---------- */
.abt-story-section{ padding:4.5rem 0; background:var(--white); }
.abt-story-grid{ display:grid; grid-template-columns:1fr 1fr; gap:3.2rem; align-items:center; }
.abt-story-media{ position:relative; }
.abt-story-media img{ width:100%; height:460px; object-fit:cover; border-radius:16px; box-shadow:0 26px 60px rgba(11,10,8,.16); }
.abt-story-badge{
  position:absolute; left:-1.4rem; bottom:-1.4rem; z-index:2;
  background:var(--black); color:var(--white); border-radius:14px; padding:1.1rem 1.4rem;
  box-shadow:0 20px 44px rgba(11,10,8,.3);
}
.abt-story-badge strong{ display:block; font-family:var(--font-display); font-size:1.6rem; color:var(--gold); }
.abt-story-badge span{ font-family:var(--font-body); font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:rgba(246,241,231,.75); }

.abt-story-eyebrow{
  font-family:var(--font-body); font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--gold); margin-bottom:.7rem; display:block;
}
.abt-story-title{ font-family:var(--font-display); font-size:clamp(1.7rem, 2.8vw, 2.3rem); color:var(--black); margin-bottom:1.1rem; }
.abt-story-title em{ font-style:italic; color:var(--gold); font-weight:400; }
.abt-story-text{ font-family:var(--font-body); font-size:.95rem; line-height:1.75; color:#5c5548; margin-bottom:1.1rem; }
.abt-story-quote{
  margin-top:1.4rem; padding-left:1.2rem; border-left:3px solid var(--gold);
  font-family:var(--font-display); font-style:italic; font-size:1.15rem; color:#2c291f; line-height:1.5;
}
.abt-story-quote cite{
  display:block; margin-top:.6rem; font-family:var(--font-body); font-style:normal; font-size:.78rem;
  font-weight:700; color:#7a7568; text-transform:none;
}

/* ---------- Our Values ---------- */
.abt-values-section{ padding:1rem 0 4.5rem; background:var(--white); }
.abt-values-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:1.2rem; }
.abt-value-card{
  padding:1.6rem 1.4rem; border-radius:16px; border:1px solid rgba(212,175,55,.2);
  background:var(--ivory); transition:transform .35s ease, box-shadow .35s ease;
}
.abt-value-card:hover{ transform:translateY(-6px); box-shadow:0 22px 44px rgba(11,10,8,.1); }
.abt-value-icon{
  width:48px; height:48px; border-radius:14px; margin-bottom:1rem;
  display:flex; align-items:center; justify-content:center;
  background:rgba(212,175,55,.14); color:var(--gold); font-size:1.3rem;
}
.abt-value-card h4{ font-family:var(--font-display); font-size:1.15rem; color:var(--black); margin-bottom:.5rem; }
.abt-value-card p{ font-family:var(--font-body); font-size:.85rem; line-height:1.6; color:#7a7568; margin:0; }

/* ---------- Meet the Team ---------- */
.abt-team-section{ padding:1rem 0 4.5rem; background:var(--ivory); }
.abt-team-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:1.4rem; }
.abt-team-card{
  position:relative; border-radius:16px; overflow:hidden; background:var(--white);
  box-shadow:0 14px 32px rgba(11,10,8,.08); transition:transform .35s ease, box-shadow .35s ease;
}
.abt-team-card:hover{ transform:translateY(-6px); box-shadow:0 26px 50px rgba(11,10,8,.14); }
.abt-team-photo{ position:relative; height:260px; overflow:hidden; }
.abt-team-photo img{ width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.22,1,.36,1); }
.abt-team-card:hover .abt-team-photo img{ transform:scale(1.06); }
.abt-team-social{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  display:flex; justify-content:center; gap:.5rem; padding:.8rem;
  background:linear-gradient(0deg, rgba(11,10,8,.75) 0%, transparent 100%);
  opacity:0; transform:translateY(6px); transition:opacity .3s ease, transform .3s ease;
}
.abt-team-card:hover .abt-team-social{ opacity:1; transform:translateY(0); }
.abt-team-social a{
  width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.15); color:var(--white); font-size:.8rem; text-decoration:none;
  transition:background .25s ease;
}
.abt-team-social a:hover{ background:var(--gold); }
.abt-team-body{ padding:1.1rem 1.2rem 1.3rem; text-align:center; }
.abt-team-body h4{ font-family:var(--font-display); font-size:1.1rem; color:var(--black); margin-bottom:.2rem; }
.abt-team-body span{ font-family:var(--font-body); font-size:.75rem; color:var(--gold); font-weight:700; text-transform:uppercase; letter-spacing:.03em; }

@media (max-width:991px){
  .abt-hero{ padding-bottom:2.4rem; }
  .abt-story-grid{ grid-template-columns:1fr; }
  .abt-story-media img{ height:340px; }
  .abt-values-grid{ grid-template-columns:repeat(2, 1fr); }
  .abt-team-grid{ grid-template-columns:repeat(2, 1fr); }
}

@media (max-width:575px){
  .abt-hero{ padding-top:calc(var(--nav-dip-depth, 70px) + 1.6rem); padding-bottom:2rem; }
  .abt-story-badge{ left:.8rem; bottom:-1rem; padding:.85rem 1.1rem; }
  .abt-story-badge strong{ font-size:1.3rem; }
  .abt-values-grid{ grid-template-columns:1fr; }
  .abt-team-grid{ grid-template-columns:1fr 1fr; gap:.9rem; }
  .abt-team-photo{ height:190px; }
}

@media (prefers-reduced-motion: reduce){
  .abt-value-card, .abt-team-card, .abt-team-photo img, .abt-team-social{ transition:none; }
}
