@import "style.css";

/* About page layout to match reference design */
.about-hero{
  position:relative;
  overflow:hidden;
}
.about-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(9,4,3,.92) 0%, rgba(9,4,3,.65) 42%, rgba(9,4,3,.22) 72%, rgba(9,4,3,.08) 100%),
    url("assets/About.webp");
  background-size:auto, cover;
  background-position:left center, 58% center;
  background-repeat:no-repeat;
  transform:scale(1.04);
}
.about-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 18%, rgba(198,154,91,.14), transparent 30%),
    linear-gradient(180deg, rgba(6,2,1,.08), rgba(6,2,1,.42));
}
.about-hero > .container{position:relative;z-index:2}
.about-hero .hero-copy{
  padding:34px 0 40px;
  padding-left:max(0px, env(safe-area-inset-left, 0px));
  padding-right:max(0px, env(safe-area-inset-right, 0px));
  max-width:560px;
  text-align:left;
  min-width:0;
}
/* Eyebrow: stronger, premium label */
.about-hero .eyebrow--hero{
  font-size:.8rem;
  font-weight:500;
  letter-spacing:.28em;
  padding:6px 14px;
  border-width:1px;
  border-color:rgba(246,234,216,.5);
  margin-bottom:18px;
  color:var(--gold-2);
}
.about-hero .display-title--about{
  font-size:var(--text-section);
  text-align:left;
  line-height:var(--leading-section);
  margin-bottom:20px;
  letter-spacing:-.02em;
  text-wrap:balance;
  overflow-wrap:anywhere;
}
.about-hero .hero-title-line1{
  display:inline-block;
  white-space:nowrap;
  letter-spacing:-.02em;
}
/* Match Services hero: allow wrapping on phones so titles never overflow */
@media (max-width: 767px){
  .about-hero .hero-title-line1{
    white-space:normal;
  }
}
.about-hero .display-title--about .hero-title-accent{
  color:var(--gold-2);
}
.about-hero .banner-copy--about{
  max-width:none;
  margin-bottom:0;
  margin-left:-2px;
  text-align:left;
  font-size:var(--fluid-lead);
  line-height:var(--leading-loose);
  color:var(--text-body);
}

.about-stats{
  position:relative;
  background:rgba(10,5,4,.72);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.about-stats-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:0;
  padding:18px 0;
  flex-wrap:nowrap;
}
.about-stat{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 24px;
  position:relative;
  min-height:32px;
  flex:1;
}
.about-stat.reveal--left{
  opacity:0;
  transform:translateX(-24px);
  transition:opacity .7s ease, transform .7s ease;
}
.about-stat.reveal--left.visible{
  opacity:1;
  transform:translateX(0);
}
.about-stats-row .about-stat.reveal--left:nth-child(1){transition-delay:.05s}
.about-stats-row .about-stat.reveal--left:nth-child(2){transition-delay:.14s}
.about-stats-row .about-stat.reveal--left:nth-child(3){transition-delay:.23s}
.about-stats-row .about-stat.reveal--left:nth-child(4){transition-delay:.32s}
.about-stat + .about-stat::before{
  content:"";
  position:absolute;
  left:-11px;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:22px;
  background:rgba(246,234,216,.18);
}
.about-stat-icon{
  width:18px;
  height:18px;
  flex-shrink:0;
  fill:none;
  stroke:var(--gold-2);
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:1;
  filter:drop-shadow(0 0 10px rgba(198,154,91,.55));
}
.about-stat-label{
  display:block;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
  white-space:nowrap;
  color:var(--gold-2);
  text-shadow:
    0 0 20px rgba(230,194,142,.45),
    0 0 2px rgba(198,154,91,.35);
}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .about-stat-label{
    background:linear-gradient(135deg, #fff4e0 0%, var(--gold-2) 38%, var(--gold) 72%, #d4a86a 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    text-shadow:none;
  }
}

/* Tablet / small laptop: 2×2 stat cards so labels are readable (wide strip overflows below ~1100px) */
@media (max-width: 1024px) and (min-width: 641px){
  .about-stats-row{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px 14px;
    padding:18px 0;
    justify-content:stretch;
  }
  .about-stat{
    flex:none;
    padding:12px 14px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
    box-shadow:var(--shadow);
    min-height:auto;
  }
  .about-stat + .about-stat::before{
    display:none;
  }
  .about-stat-label{
    white-space:normal;
    line-height:1.35;
    font-size:.74rem;
  }
}

.about-section{
  padding:86px 0;
}
.about-section .section-title{
  position:relative;
  padding-bottom:14px;
  text-wrap:balance;
  overflow-wrap:anywhere;
}
.about-section .section-title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:min(100px, 32vw);
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg, rgba(198, 154, 91, 0.95), rgba(198, 154, 91, 0.2));
}

.about-split{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:38px;
  align-items:center;
}
.about-media{
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(198,154,91,.18);
  box-shadow:0 30px 90px rgba(0,0,0,.68);
  background:rgba(0,0,0,.22);
}
.about-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.about-grid-3{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
  margin-top:22px;
}
.profile-card{
  position:relative;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 30px 90px rgba(0,0,0,.70);
  background:rgba(255,255,255,.02);
  min-height:420px;
  transition:.28s ease;
}
.profile-card:hover{
  transform:translateY(-6px);
  border-color:rgba(198,154,91,.28);
  box-shadow:0 22px 70px rgba(0,0,0,.55);
}
.profile-card .media{
  position:absolute;
  inset:0;
}
.profile-card .media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.96) contrast(1.03);
  transform:scale(1.02);
}
.profile-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(8,4,3,.22) 0%, rgba(8,4,3,.46) 40%, rgba(8,4,3,.92) 100%);
}
.profile-card .body{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  padding:18px 18px 16px;
  border-radius:18px;
  background:rgba(16,8,5,.74);
  border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
}
.profile-card h3{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:1.6rem;
  line-height:1.1;
  margin-bottom:8px;
  color:rgba(246,234,216,.96);
}
.profile-card p{
  margin:0;
  color:var(--text-secondary);
  font-size:.96rem;
}

.mission-list{
  margin-top:16px;
  padding-left:18px;
  display:grid;
  gap:10px;
  color:var(--text-secondary);
}
.mission-list li{
  list-style:disc;
}

/* Our Mission card - modest offset below stats strip */
.about-mission{
  padding-top:28px;
  padding-bottom:52px;
  background:linear-gradient(180deg, rgba(27,14,8,.5) 0%, rgba(18,9,5,.35) 50%, rgba(13,5,4,0) 100%);
  border-top:1px solid rgba(198,154,91,.08);
  border-bottom:1px solid rgba(198,154,91,.08);
}
.mission-content{
  text-align:left;
}
.mission-content .eyebrow{
  display:inline-block;
  margin-bottom:14px;
  color:var(--gold-2);
}
.mission-card-title{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(1.75rem, 3.2vw, 2.25rem);
  font-weight:600;
  color:var(--gold-2);
  margin-bottom:18px;
  letter-spacing:-.02em;
}
.mission-copy{
  margin:0;
  max-width:56ch;
  font-size:1.05rem;
  line-height:1.75;
  color:var(--text-body);
}
.mission-card-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px 22px;
  margin-top:20px;
  text-align:left;
}
@media (max-width:900px){
  .mission-card-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px 18px;
  }
}
.mission-card-item{
  position:relative;
  overflow:hidden;
  padding:18px 20px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  box-shadow:var(--shadow);
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  align-items:start;
  column-gap:12px;
  row-gap:10px;
}
/* Scroll reveal + hover - must include opacity/transform so .reveal isn’t overridden */
.mission-card-item.reveal{
  transition:
    opacity .8s cubic-bezier(0.22, 1, 0.36, 1),
    transform .8s cubic-bezier(0.22, 1, 0.36, 1),
    border-color .28s ease,
    box-shadow .28s ease;
}
.mission-card-item.reveal.visible:hover{
  transform:translateY(-6px) scale(1);
  border-color:rgba(198,154,91,.25);
  box-shadow:0 18px 60px rgba(0,0,0,.55);
}
.mission-card-item::after{
  content:"";
  position:absolute;
  right:-20px;
  bottom:-50px;
  width:160px;
  height:160px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(198,154,91,.14), transparent 68%);
  pointer-events:none;
}
.mission-card-item > *{
  position:relative;
  z-index:1;
}
.mission-card-item-icon{
  grid-column:1;
  grid-row:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  margin:0;
  flex-shrink:0;
}
.mission-card-item-icon svg{
  width:22px;
  height:22px;
  display:block;
  fill:none;
  stroke:var(--gold-2);
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 10px rgba(198,154,91,.45));
}
.mission-card-item-title{
  grid-column:2;
  grid-row:1;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:1.2rem;
  font-weight:600;
  color:var(--gold-2);
  margin:0;
  letter-spacing:-.02em;
  line-height:1.2;
}
.mission-card-item-desc{
  grid-column:1 / -1;
  grid-row:2;
  margin:0;
  font-size:.9rem;
  line-height:1.5;
  color:var(--text-body);
}

/* Mission: intro then cards one-by-one (scroll reveal + staggered delays) */
.about-mission .mission-content > .eyebrow.reveal{transition-delay:0s}
.about-mission .mission-content > .mission-copy.reveal{transition-delay:.06s}
.mission-card-grid .mission-card-item.reveal:nth-child(1){transition-delay:.12s}
.mission-card-grid .mission-card-item.reveal:nth-child(2){transition-delay:.2s}
.mission-card-grid .mission-card-item.reveal:nth-child(3){transition-delay:.28s}
.mission-card-grid .mission-card-item.reveal:nth-child(4){transition-delay:.36s}
.mission-card-grid .mission-card-item.reveal:nth-child(5){transition-delay:.44s}
.mission-card-grid .mission-card-item.reveal:nth-child(6){transition-delay:.52s}

/* Meet Our Trainers */
.about-trainers{
  padding-top:28px;
  padding-bottom:28px;
}
/* Tablet: less air above heading than generic .about-section (86px) */
@media (max-width: 1024px) and (min-width: 641px){
  .about-section.about-trainers{
    padding-top:40px;
  }
}
.about-trainers .section-top{
  margin-bottom:36px;
}
.about-trainers #trainers-title{
  font-size:clamp(1.65rem, 2.85vw, 2.35rem);
  line-height:1.14;
}
.about-trainers .trainer-card.reveal:nth-child(1){transition-delay:.04s}
.about-trainers .trainer-card.reveal:nth-child(2){transition-delay:.1s}
.about-trainers .trainer-card.reveal:nth-child(3){transition-delay:.16s}
.about-trainers .trainer-card.reveal:nth-child(4){transition-delay:.22s}

/* Phone: centered cards + circular portrait */
@media (max-width: 767px){
  .trainers-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:22px;
    max-width:100%;
    margin-inline:auto;
  }
  .trainer-card{
    position:relative;
    border-radius:24px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
    box-shadow:var(--shadow);
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding:clamp(24px, 5vw, 32px) clamp(18px, 4vw, 24px) clamp(22px, 4vw, 28px);
    min-height:0;
    transition:
      transform .28s ease,
      border-color .28s ease,
      box-shadow .28s ease;
  }
  .trainer-card::after{
    content:"";
    position:absolute;
    right:-20px;
    bottom:-50px;
    width:160px;
    height:160px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(198,154,91,.14), transparent 68%);
    pointer-events:none;
    z-index:0;
  }
  .trainer-card:hover{
    transform:translateY(-6px);
    border-color:rgba(198,154,91,.25);
    box-shadow:0 18px 60px rgba(0,0,0,.55);
  }
  .trainer-media{
    position:relative;
    z-index:1;
    flex-shrink:0;
    margin-bottom:20px;
    width:120px;
    height:120px;
  }
  .trainer-media::before{
    content:"";
    position:absolute;
    inset:-4px;
    border-radius:50%;
    border:2px solid rgba(198,154,91,.35);
    pointer-events:none;
  }
  .trainer-media img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border-radius:50%;
    object-fit:cover;
    object-position:center 22%;
    display:block;
  }
  .trainer-body{
    position:relative;
    z-index:1;
    padding:0;
    max-width:280px;
    margin:0 auto;
  }
  .trainer-name{
    font-family:"Cormorant Garamond", Georgia, serif;
    font-size:1.35rem;
    font-weight:600;
    letter-spacing:-.02em;
    margin:0 0 8px;
    color:rgba(246,234,216,.98);
    line-height:1.25;
  }
  .trainer-role{
    display:inline-block;
    align-self:center;
    margin:0 0 14px;
    padding:4px 12px;
    font-size:.7rem;
    font-weight:600;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--gold-2);
    background:rgba(198,154,91,.12);
    border-radius:100px;
  }
  .trainer-copy{
    margin:0;
    font-size:.875rem;
    line-height:1.65;
    color:var(--text-secondary);
  }
}

/* Tablet & laptop: identical mentor cards + 2×2 grid (four trainers) */
@media (min-width: 768px){
  .trainers-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-template-rows:repeat(2, minmax(0, auto));
    gap:clamp(18px, 2.5vw, 26px);
    max-width:1040px;
    margin-inline:auto;
    align-content:start;
  }
  .trainer-card{
    position:relative;
    display:flex;
    min-height:0;
    border-radius:22px;
    overflow:hidden;
    border:1px solid rgba(198,154,91,.2);
    background:
      linear-gradient(135deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.02) 50%, rgba(12,5,3,.4) 100%);
    box-shadow:
      0 4px 0 rgba(198,154,91,.08) inset,
      var(--shadow);
    flex-direction:row;
    align-items:stretch;
    text-align:left;
    padding:0;
  }
  .trainer-card::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background:radial-gradient(120% 80% at 100% 0%, rgba(198,154,91,.12), transparent 55%);
    pointer-events:none;
    opacity:.9;
  }
  .trainer-card::after{
    left:0;
    top:0;
    bottom:0;
    right:auto;
    width:3px;
    height:auto;
    border-radius:22px 0 0 22px;
    background:linear-gradient(180deg, var(--gold-2), rgba(198,154,91,.35), transparent 85%);
    opacity:.85;
    z-index:2;
  }
  .trainer-card:hover{
    transform:translateY(-4px);
    border-color:rgba(230,194,142,.35);
    box-shadow:
      0 4px 0 rgba(198,154,91,.12) inset,
      0 22px 56px rgba(0,0,0,.5),
      0 0 0 1px rgba(230,194,142,.12);
  }
  .trainer-media{
    position:relative;
    z-index:1;
    flex:0 0 clamp(132px, 28%, 168px);
    width:clamp(132px, 28%, 168px);
    min-height:200px;
    margin:0;
    align-self:stretch;
    margin-bottom:0;
  }
  .trainer-media::before{
    display:none;
  }
  .trainer-media::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    width:32px;
    background:linear-gradient(90deg, transparent, rgba(9,4,3,.55));
    pointer-events:none;
    z-index:2;
  }
  .trainer-media img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border-radius:0;
    object-fit:cover;
    object-position:center 22%;
    display:block;
  }
  .trainer-body{
    position:relative;
    z-index:1;
    flex:1;
    min-width:0;
    max-width:none;
    margin:0;
    padding:22px 22px 22px 8px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-left:1px solid rgba(255,255,255,.06);
  }
  .trainer-name{
    font-family:"Cormorant Garamond", Georgia, serif;
    font-weight:600;
    letter-spacing:-.02em;
    color:rgba(246,234,216,.98);
    font-size:clamp(1.2rem, 2.1vw, 1.38rem);
    margin:0 0 10px;
    line-height:1.22;
  }
  .trainer-role{
    display:inline-block;
    align-self:flex-start;
    margin:0 0 12px;
    padding:5px 12px 4px;
    font-size:.66rem;
    font-weight:600;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--gold-2);
    background:rgba(198,154,91,.14);
    border:1px solid rgba(198,154,91,.22);
    border-radius:100px;
  }
  .trainer-copy{
    font-size:.84rem;
    line-height:1.62;
    color:var(--text-secondary);
  }
}

/* Our Locations */
.about-locations{
  padding-top:28px;
  padding-bottom:28px;
  background:
    radial-gradient(900px 420px at 12% 0%, rgba(198,154,91,.18) 0%, rgba(0,0,0,0) 60%),
    linear-gradient(180deg, rgba(255,255,255,.03) 0%, rgba(255,255,255,.01) 100%);
  border-top:1px solid rgba(198,154,91,.18);
  border-bottom:1px solid rgba(198,154,91,.10);
}
.about-locations #locations-title{
  font-size:clamp(1.65rem, 2.85vw, 2.3rem);
  line-height:1.14;
  color:rgba(246,234,216,.96);
}
.about-locations #locations-title em{
  color:var(--gold);
}
.about-locations .section-top{ margin-bottom:32px }

/* Branch cards - same layout as Contact page */
.about-locations .branch-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:18px;
  margin-bottom:0;
}
.about-locations a.branch-hero{
  color:inherit;
  text-decoration:none;
}
.about-locations .branch-hero{
  border-radius:26px;
  overflow:hidden;
  border:1px solid rgba(198,154,91,.28);
  background:rgba(18,8,5,.4);
  box-shadow:
    0 30px 90px rgba(0,0,0,.72),
    0 0 0 1px rgba(230,194,142,.1) inset,
    0 8px 40px rgba(198,154,91,.14);
  position:relative;
  min-height:260px;
  display:block;
  cursor:pointer;
  transition:transform .32s ease, border-color .32s ease, box-shadow .32s ease;
}
.about-locations .branch-hero__bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 100% 90% at 0% 0%, rgba(230,194,142,.2) 0%, transparent 52%),
    radial-gradient(ellipse 70% 60% at 100% 100%, rgba(139,90,48,.18) 0%, transparent 50%),
    linear-gradient(125deg, rgba(12,5,3,.93) 0%, rgba(18,9,5,.72) 42%, rgba(9,4,3,.35) 100%),
    url("assets/Cafe.png") center/cover no-repeat;
  transform:scale(1.03);
}
.about-locations .branch-hero--school .branch-hero__bg{
  background:
    radial-gradient(ellipse 100% 90% at 0% 0%, rgba(230,194,142,.22) 0%, transparent 50%),
    radial-gradient(ellipse 80% 70% at 100% 30%, rgba(198,154,91,.16) 0%, transparent 55%),
    linear-gradient(125deg, rgba(14,6,4,.94) 0%, rgba(20,10,6,.75) 45%, rgba(9,4,3,.38) 100%),
    url("assets/Chakrapat Branch.webp") center/cover no-repeat;
}
.about-locations .branch-hero__content{
  position:relative;
  z-index:1;
  padding:22px 22px 20px;
  max-width:520px;
}
.about-locations .branch-hero__kicker{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(230,194,142,.42);
  background:linear-gradient(145deg, rgba(230,194,142,.22) 0%, rgba(139,102,48,.16) 100%);
  color:var(--gold-2);
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:12px;
  box-shadow:0 2px 16px rgba(198,154,91,.2);
}
.about-locations .branch-hero__title{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(1.35rem, 2.4vw, 2rem);
  line-height:1.18;
  margin-bottom:6px;
  text-wrap:balance;
  color:#faf3e8;
  text-shadow:0 2px 28px rgba(198,154,91,.35), 0 1px 0 rgba(20,10,6,.35);
}
.about-locations .branch-hero__copy{
  color:var(--text-body);
  margin-bottom:10px;
}
.about-locations .branch-hero__meta{
  color:var(--gold-2);
  font-weight:600;
  text-shadow:0 1px 12px rgba(0,0,0,.35);
}
.about-locations .branch-hero__actions{
  margin-top:14px;
}
.about-locations .branch-hero__btn{
  min-height:44px;
  width:auto;
  border-color:rgba(230,194,142,.48);
  background:linear-gradient(165deg, rgba(230,194,142,.14) 0%, rgba(20,10,6,.35) 100%);
  color:var(--gold-2);
  box-shadow:0 4px 20px rgba(0,0,0,.25);
  transition:background .28s ease, border-color .28s ease, box-shadow .28s ease, color .28s ease;
}
.about-locations .branch-hero:hover .branch-hero__btn{
  border-color:rgba(255,248,240,.45);
  background:linear-gradient(165deg, #e6c28e 0%, #c69a5b 48%, #8b6630 100%);
  color:#1a0d06;
  box-shadow:
    0 6px 28px rgba(198,154,91,.45),
    0 1px 0 rgba(255,255,255,.35) inset;
}
.about-locations .branch-hero:hover{
  transform:translateY(-6px);
  border-color:rgba(230,194,142,.48);
  box-shadow:
    0 22px 60px rgba(0,0,0,.6),
    0 0 48px rgba(198,154,91,.28),
    0 0 0 1px rgba(230,194,142,.2) inset;
}
.about-locations .branch-hero:focus{
  outline:none;
}
.about-locations .branch-hero:focus-visible{
  box-shadow:
    0 0 0 3px rgba(230,194,142,.45),
    0 0 36px rgba(198,154,91,.25);
}

/* CTA: match Product page `.product-wholesale` card */
.about-cta{
  padding:clamp(20px, 3.5vw, 40px) 0 clamp(16px, 3vw, 28px);
  border-top:1px solid rgba(198,154,91,.14);
  background:linear-gradient(180deg, rgba(13,5,4,.4) 0%, rgba(13,5,4,.85) 100%);
}
.about-cta__content{
  text-align:left;
}
.about-cta__inner{
  border-radius:20px;
  padding:clamp(22px, 3.5vw, 36px) clamp(20px, 3.5vw, 36px);
  border:1px solid rgba(230,194,142,.2);
  background:
    radial-gradient(ellipse 90% 80% at 20% 30%, rgba(198,154,91,.14), transparent 55%),
    linear-gradient(135deg, rgba(32,18,12,.95) 0%, rgba(14,7,5,.98) 100%);
  box-shadow:0 18px 48px rgba(0,0,0,.35);
}
.about-cta__eyebrow{
  margin-bottom:8px;
  font-size:.65rem;
  padding:4px 12px;
  color:var(--gold-2);
}
.about-cta__title{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(1.35rem, 4.2vw, 2.1rem);
  font-weight:600;
  line-height:1.2;
  margin:0 0 10px;
  max-width:min(36ch, 100%);
  overflow-wrap:break-word;
  color:var(--text);
  letter-spacing:-.03em;
}
/* Opening line: warm champagne cream */
.about-cta__title-line{
  color:rgba(250,243,232,.94);
  font-weight:600;
  text-shadow:
    0 1px 0 rgba(20,10,6,.35),
    0 0 28px rgba(198,154,91,.12);
}
/* Brand name: rich gold gradient (no filter — drop-shadow + background-clip:text clips tail glyphs like "Bud" in Chromium) */
.about-cta__title-accent{
  font-style:italic;
  font-weight:600;
  letter-spacing:-.02em;
  color:var(--gold-2);
  /* Room for italic overshoot so the last letter isn’t clipped */
  display:inline-block;
  padding-inline:0.03em 0.14em;
  margin-inline-end:-0.06em;
  text-shadow:
    0 1px 2px rgba(0,0,0,.45),
    0 0 24px rgba(198,154,91,.45),
    0 0 2px rgba(230,194,142,.5);
}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .about-cta__title-accent{
    background:linear-gradient(135deg, #fff8ee 0%, #f6ead8 24%, var(--gold-2) 46%, var(--gold) 68%, #e8c994 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    -webkit-text-fill-color:transparent;
    text-shadow:none;
  }
}
.about-cta__text{
  font-size:.94rem;
  line-height:1.58;
  color:var(--text-secondary);
  max-width:58ch;
  margin:0 0 18px;
}
.about-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
}
.about-cta__actions .btn{
  min-height:44px;
  padding:10px 16px;
  font-size:.88rem;
  line-height:1.35;
  white-space:normal;
  text-align:center;
  box-sizing:border-box;
}
.about-cta__outline{
  border-color:rgba(230,194,142,.35);
}
@media (max-width: 900px){
  .about-cta__actions{
    flex-direction:column;
    align-items:stretch;
  }
  .about-cta__actions .btn{
    width:100%;
    justify-content:center;
  }
}
@media (max-width: 640px){
  .about-cta__inner{
    padding:clamp(18px, 4vw, 28px) clamp(16px, 4vw, 24px);
  }
  .about-cta__title{
    max-width:none;
  }
  .about-cta__text{
    font-size:.9rem;
    line-height:1.62;
  }
}

/* Same mobile hero treatment as Home (home.css) + Gallery: vertical scrim, centered photo, no zoom */
@media (max-width: 767px){
  .about-hero{
    padding-top:max(12px, env(safe-area-inset-top, 0px));
  }
  .about-hero::before{
    transform:none;
    background:
      linear-gradient(180deg, rgba(9, 4, 3, 0.94) 0%, rgba(9, 4, 3, 0.62) 38%, rgba(9, 4, 3, 0.4) 100%),
      url("assets/About.webp");
    background-size:auto, cover;
    background-position:center top, center center;
    background-repeat:no-repeat;
  }
  .about-hero .hero-copy{
    padding:26px 0 30px;
    max-width:100%;
  }
  .about-hero .display-title--about{
    font-size:clamp(1.85rem, 7.2vw, 2.55rem);
    line-height:1.08;
    letter-spacing:-.018em;
    text-wrap:balance;
    margin-bottom:14px;
  }
  .about-hero .banner-copy--about{
    max-width:100%;
    font-size:.94rem;
    line-height:1.58;
    margin-left:0;
  }
}

@media (max-width: 640px){
  .about-split{grid-template-columns:1fr}
  .about-grid-3{grid-template-columns:1fr}
  .about-locations .branch-grid{grid-template-columns:1fr}
  .about-locations .branch-hero__content{padding:18px 18px 16px}
  .profile-card{min-height:380px}
  .about-stats-row{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:10px 16px;
    padding:16px 0;
    justify-content:stretch;
  }
  .about-stat{
    flex:none;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
    box-shadow:var(--shadow);
    min-height:auto;
  }
  .about-stat + .about-stat::before{
    display:none;
  }
  .about-stat-label{
    white-space:normal;
    line-height:1.35;
    font-size:.72rem;
  }
  /* Horizontal inset comes from global .container (same as Home / Services / Gallery) */
  .about-hero .hero-copy{
    padding:22px 0 28px;
    max-width:100%;
  }
  .about-hero .display-title--about{
    font-size:clamp(1.65rem, 6.2vw, 2.35rem);
    line-height:1.12;
  }
  .about-hero .hero-title-line1{
    letter-spacing:-.035em;
  }
  .about-hero .banner-copy--about{
    max-width:100%;
    font-size:.95rem;
    line-height:1.65;
  }
  .about-section{padding:60px 0 74px}
  .about-section.about-mission{
    padding-top:24px;
    padding-bottom:44px;
  }
  .about-section.about-trainers{
    padding-top:32px;
    padding-bottom:28px;
  }
  .about-section.about-locations{
    padding-top:28px;
    padding-bottom:28px;
  }
  .mission-card-grid{grid-template-columns:1fr; gap:14px}
  .about-section .section-title{
    font-size:clamp(1.5rem, 5vw, 2.2rem);
    line-height:1.25;
  }
  .about-section .section-copy{
    max-width:100%;
    font-size:.95rem;
  }
  .profile-card{min-height:340px}
  .about-cta__eyebrow{
    letter-spacing:.2em;
    font-size:.64rem;
    padding-inline:10px;
  }
  .about-hero .eyebrow--hero{
    letter-spacing:.2em;
    font-size:.76rem;
    padding-inline:12px;
  }
}

@media (max-width: 480px){
  .about-stats-row{
    grid-template-columns:1fr;
  }
  .about-stat-label{font-size:.75rem}
}

/* Phones/tablets in landscape: buttons side by side; enough vertical padding to avoid a cramped strip */
@media (max-width: 896px) and (orientation: landscape){
  .about-cta{
    padding-top:clamp(28px, 5vw, 52px);
    padding-bottom:clamp(32px, 6vw, 56px);
  }
  .about-cta__inner{
    padding:22px 22px 26px;
  }
  .about-cta__text{
    margin-bottom:14px;
  }
  .about-cta__actions{
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
  }
  .about-cta__actions .btn{
    width:auto;
    min-width:min(200px, 38vw);
    flex:1 1 auto;
  }
}

@media (prefers-reduced-motion: reduce){
  .about-stat.reveal--left,
  .about-stat.reveal--left.visible{
    opacity:1 !important;
    transform:none !important;
  }
}

