/* ================= About page ================= */

/* ---------- intro ---------- */
.ab-intro{padding-block:var(--sec)}
.ab-intro-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(32px,7vw,120px);align-items:end}
.ab-intro h2{margin-top:0;font-size:clamp(32px,3.9vw,60px);line-height:1.08;max-width:15.5em}
.ab-intro h2 em{color:var(--gold-tx)}
.ab-intro-txt{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,48px);margin-top:clamp(32px,3.6vw,52px);max-width:760px}
.ab-intro-txt p{color:var(--mute);font-size:14.5px}
.ab-intro-txt p:first-child{color:var(--ink);font-family:var(--serif);font-size:clamp(18px,1.5vw,22px);line-height:1.4}
.ab-pillars{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(36px,4vw,60px);border-top:1px solid var(--line);max-width:760px}
.ab-pillars li{display:flex;padding:18px 16px 0 0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.ab-pillars li+li{padding-left:16px;border-left:1px solid var(--line)}
.ab-intro-img .ph{aspect-ratio:.72;overflow:hidden;background:var(--soft)}
.ab-intro-img img{width:100%;height:118%;object-fit:cover;will-change:transform}
.ab-intro-img figcaption{display:flex;align-items:center;gap:14px;margin-top:16px;color:var(--mute)}

/* ---------- hormonal hair ---------- */
.ab-horm{padding-bottom:var(--sec)}
.ab-horm-top{display:block;padding-top:clamp(28px,3vw,44px);border-top:1px solid var(--line);margin-bottom:clamp(30px,3.6vw,52px)}
.ab-horm-top h2{margin-top:0;font-size:clamp(26px,2.6vw,38px);font-weight:500;text-transform:uppercase;line-height:1.02;letter-spacing:-.01em}
.ab-horm-lede{max-width:560px;margin-top:20px}
.ab-horm-lede p{color:var(--mute);font-size:14px}
.ab-horm-lede .ab-sub{margin-top:16px;color:var(--ink);font-family:var(--serif);font-style:italic;font-size:17px}
.hc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.4vw,20px)}
.hc .ph{aspect-ratio:.8;overflow:hidden;background:var(--soft)}
.hc .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.hc:hover .ph img{transform:scale(1.05)}
.hc-body{position:relative;padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}
.hc-body::before{content:"";position:absolute;left:0;top:-1px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .8s var(--ease-out)}
.hc:hover .hc-body::before{transform:scaleX(1);transform-origin:left}
.hc h3{font-family:var(--serif);font-weight:400;font-size:clamp(22px,1.9vw,30px);line-height:1.08;letter-spacing:-.01em}
.hc h3 em{font-style:italic;color:var(--gold-sm)}
.hc p{margin-top:12px;color:var(--mute);font-size:13.5px;line-height:1.6}
.ab-note{display:block;margin-top:clamp(40px,4.4vw,64px);padding:clamp(24px,2.6vw,36px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ab-note-title{font-weight:400;font-size:clamp(20px,1.7vw,26px);line-height:1.2;color:var(--gold-tx)}
.ab-note-title+p{margin-top:12px}
.ab-note p{font-family:var(--serif);font-size:clamp(18px,1.6vw,24px);line-height:1.45;max-width:880px}

/* ---------- technology (navy) ---------- */
.ab-tech{padding:var(--sec) 0;overflow:hidden}
.ab-tech-head{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:clamp(44px,5.4vw,84px)}
.ab-tech-head h2{margin-top:0;font-size:clamp(36px,5vw,80px);line-height:1.02}
.ab-tech-head h2 em{color:var(--gold)}
.tk{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,7vw,120px);align-items:center}
.tk+.tk{margin-top:clamp(56px,7vw,110px)}
.tk-rev .tk-img{order:2}
.tk-img{aspect-ratio:.86;overflow:hidden;background:rgba(255,255,255,.06)}
.tk-img img{width:100%;height:118%;object-fit:cover;will-change:transform;filter:saturate(.85)}
.tk-copy{max-width:500px}
.tk-rev .tk-copy{justify-self:end}
.tk h3{margin-top:0;font-size:clamp(32px,3.6vw,56px);line-height:1.04}
.tk h3 em{color:var(--gold)}
.tk-copy p{margin-top:18px;color:rgba(255,255,255,.66);font-size:15px}
.tk-copy .tk-claim{margin-top:26px;padding-left:18px;border-left:1px solid var(--gold);color:#fff;font-family:var(--serif);font-size:clamp(18px,1.5vw,22px);line-height:1.4}
.tk-copy .tk-sub{margin-top:28px;color:#fff;font-family:var(--serif);font-style:italic;font-size:17px;line-height:1.45}
.tk-points{margin-top:16px;border-top:1px solid var(--line)}
.tk-points li{padding:16px 0;border-bottom:1px solid var(--line)}
.tk-points b{display:block;font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.tk-points span{display:block;margin-top:8px;color:rgba(255,255,255,.66);font-size:14px;line-height:1.6}
.ab-tech-close{max-width:860px;margin:clamp(60px,7vw,110px) auto 0;padding-top:clamp(36px,4vw,56px);border-top:1px solid rgba(255,255,255,.16);text-align:center;font-size:clamp(24px,2.6vw,40px);line-height:1.25}
.ab-tech-close em{color:var(--gold)}

/* ---------- areas ---------- */
.ab-areas{padding-block:var(--sec)}
.ab-areas-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,7vw,120px);align-items:center}
.ab-areas-copy{max-width:520px}
.ab-areas h2{margin-top:0;font-size:clamp(34px,4.2vw,64px);line-height:1.04}
.ab-areas h2 em{color:var(--gold-tx)}
.ab-areas-copy>p{margin-top:22px;color:var(--mute);font-size:14.5px}
.ab-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.ab-chips li{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;padding:7px 13px;border:1px solid var(--line);border-radius:999px}
.ab-areas-copy>.ab-flag{display:flex;gap:14px;align-items:baseline;margin-top:28px;color:var(--ink);font-family:var(--serif);font-style:italic;font-size:17px;line-height:1.45}
.ab-flag::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--gold);transform:translateY(-2px)}
.ab-areas .btn{margin-top:clamp(30px,3.4vw,46px)}
.ab-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:clamp(8px,1vw,14px);align-items:start}
.ab-mosaic .ph{overflow:hidden;background:var(--soft)}
.ab-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.ab-mosaic figure:hover img{transform:scale(1.05)}
.ab-mosaic .m1{grid-row:1/3}
.ab-mosaic .m1 .ph{aspect-ratio:.62}
.ab-mosaic .m2 .ph{aspect-ratio:1.2}
.ab-mosaic .m3 .ph{aspect-ratio:1}
.ab-mosaic .m3{margin-top:0}

/* ---------- credentials (reuses home .cred) ---------- */
.cred-img img{object-position:50% 50%}
.cred .cred-grid h2{margin-top:0}
.cred .cred-sub{margin-top:14px;color:var(--gold);font-family:var(--serif);font-style:italic;font-size:clamp(17px,1.4vw,20px);line-height:1.4}
.cred .cred-sub+p.lead{margin-top:22px}

/* ---------- care ---------- */
.ab-care{padding-block:var(--sec)}
.ab-care-grid{display:block;max-width:900px;margin-inline:auto}
.ab-care h2{margin-top:0;font-size:clamp(26px,2.6vw,38px);font-weight:500;text-transform:uppercase;line-height:1.02;letter-spacing:-.01em}
.ab-steps{list-style:none;padding:0;margin:clamp(30px,3.6vw,52px) 0 0;border-top:1px solid var(--line)}
.ab-steps li{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:24px 0;border-bottom:1px solid var(--line)}
.ab-steps em{font-family:var(--serif);font-size:15px;color:var(--gold-sm)}
.ab-steps h3{font-weight:500;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.ab-steps p{margin-top:8px;color:var(--mute);font-size:14px;max-width:560px}
.ab-purpose{max-width:900px;margin:clamp(44px,5vw,72px) auto 0;text-align:center;font-size:clamp(26px,3.4vw,52px);line-height:1.16}
.ab-purpose em{color:var(--gold-tx)}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .ab-intro-grid{grid-template-columns:1fr 1fr;align-items:start}
  .ab-intro-txt{grid-template-columns:1fr}
  .hc-grid{grid-template-columns:repeat(2,1fr);row-gap:44px}
  .ab-areas-grid{grid-template-columns:1fr}
  .ab-areas-copy{max-width:640px}
}
@media (max-width:768px){
  .ab-intro-grid{grid-template-columns:1fr;gap:40px}
  .ab-intro h2{font-size:clamp(28px,8vw,38px)}
  .ab-pillars{grid-template-columns:1fr}
  .ab-pillars li{padding:14px 0;border-bottom:1px solid var(--line)}
  .ab-pillars li+li{padding-left:0;border-left:0}
  .ab-intro-img .ph{aspect-ratio:4/5}

  .hc-grid{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);margin:0 calc(var(--gut)*-1);padding:0 var(--gut);gap:12px;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .hc-grid::-webkit-scrollbar{display:none}
  .hc{flex:0 0 82%;min-width:0;scroll-snap-align:start}
  .hc .ph{aspect-ratio:4/5}

  .ab-tech-head{align-items:flex-start;text-align:left}
  .ab-tech-head h2{font-size:clamp(34px,10vw,48px)}
  .tk{grid-template-columns:1fr;gap:28px}
  .tk-rev .tk-img{order:0}
  .tk-rev .tk-copy{justify-self:start}
  .tk-img{aspect-ratio:4/5}
  .ab-tech-close{text-align:left}

  .ab-areas h2{font-size:clamp(32px,9vw,44px)}
  .ab-areas .btn{width:100%;justify-content:space-between}
  .ab-mosaic .m1 .ph{aspect-ratio:.6}

  .ab-steps li{grid-template-columns:40px 1fr;gap:10px}
  .ab-purpose{text-align:left}
}
@media (min-width:560px) and (max-width:768px){
  .hc{flex-basis:calc(50% - 6px)}
  .ab-areas .btn{width:auto}
}
