/* JOY'S BOX V52 — Capabilities redesign + desktop-parity clients on mobile */

.services-v52{
  position:relative;
  padding:clamp(112px,8vw,150px) var(--pad) 0;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 18%,rgba(194,154,61,.08),transparent 30%),
    linear-gradient(180deg,#0b0b0a 0%,#0d0d0b 100%);
  isolation:isolate;
}
.services-v52::before{
  content:"";
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.025) 50%,transparent 100%);
  opacity:.42;
}
.services-v52__head{
  position:relative;z-index:2;
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.5fr);
  gap:clamp(42px,7vw,112px);align-items:end;
  margin-bottom:clamp(72px,7vw,112px);
}
.services-v52__head .display-title{
  margin:0;
  font-size:clamp(76px,9.8vw,158px);
  line-height:.755;
  letter-spacing:-.055em;
}
.services-v52__head .display-title span{color:var(--gold)}
.services-v52__head>p{
  margin:0 0 12px;max-width:500px;color:#aaa69d;
  font:500 14px/1.78 var(--sans);
}

.cap-v52{
  position:relative;z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(390px,.68fr);
  gap:clamp(46px,6vw,96px);
  align-items:start;
}
.cap-v52__visual{
  position:sticky;
  top:8vh;
  height:84vh;
  min-height:650px;
}
.cap-v52__frame{
  position:relative;width:100%;height:100%;overflow:hidden;
  border-radius:26px;
  background:#131311;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 30px 90px rgba(0,0,0,.28);
  isolation:isolate;
}
.cap-v52__frame::before{
  content:"";position:absolute;inset:18px;z-index:8;border:1px solid rgba(255,255,255,.16);border-radius:18px;pointer-events:none;
}
.cap-v52__frame::after{
  content:"";position:absolute;inset:0;z-index:7;pointer-events:none;
  background:
    radial-gradient(circle at 78% 14%,rgba(229,191,92,.13),transparent 23%),
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.08) 38%,rgba(0,0,0,.76) 100%);
}
.cap-v52__image{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.055);clip-path:inset(0 0 100% 0);transition:opacity .45s ease,transform 1.05s cubic-bezier(.16,1,.3,1),clip-path .88s cubic-bezier(.16,1,.3,1)}
.cap-v52__image.is-active{opacity:1;transform:scale(1);clip-path:inset(0 0 0 0)}
.cap-v52__image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82) contrast(1.04) brightness(.86)}
.cap-v52__shade{position:absolute;inset:0;z-index:4;background:linear-gradient(90deg,rgba(0,0,0,.12),transparent 54%,rgba(0,0,0,.10)),linear-gradient(180deg,rgba(0,0,0,.08),transparent 44%,rgba(0,0,0,.56) 100%);pointer-events:none}
.cap-v52__chrome{position:absolute;z-index:9;left:34px;right:34px;display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.72);font:700 7px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;pointer-events:none}
.cap-v52__chrome--top{top:34px}
.cap-v52__ghost{position:absolute;z-index:5;right:28px;top:42px;color:rgba(255,255,255,.08);font:600 clamp(150px,16vw,260px)/.7 var(--cond);letter-spacing:-.08em;pointer-events:none;transition:opacity .35s ease,transform .6s cubic-bezier(.16,1,.3,1)}
.cap-v52__hud{position:absolute;z-index:10;left:34px;right:34px;bottom:34px;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:end;color:#fff}
.cap-v52__hud small{display:block;margin-bottom:9px;color:var(--gold);font:700 8px/1 var(--sans);letter-spacing:.16em}
.cap-v52__hud strong{display:block;font:600 clamp(56px,6.2vw,104px)/.74 var(--cond);letter-spacing:-.04em;text-transform:uppercase;max-width:780px}
.cap-v52__count{min-width:210px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;color:rgba(255,255,255,.76);font:700 7px/1 var(--sans);letter-spacing:.12em}
.cap-v52__count i{display:block;height:1px;background:rgba(255,255,255,.26);overflow:hidden}
.cap-v52__count b{display:block;width:100%;height:100%;background:var(--gold);transform:scaleX(.1667);transform-origin:left;transition:transform .55s cubic-bezier(.16,1,.3,1)}

.cap-v52__chapters{border-top:1px solid rgba(255,255,255,.13)}
.cap-v52__chapter{
  min-height:48vh;
  padding:clamp(42px,5vw,74px) 0 clamp(54px,6vw,90px);
  border-bottom:1px solid rgba(255,255,255,.12);
  opacity:.34;
  transition:opacity .35s ease,transform .55s cubic-bezier(.16,1,.3,1);
  transform:translate3d(0,8px,0);
}
.cap-v52__chapter.is-active{opacity:1;transform:none}
.cap-v52__meta{display:grid;grid-template-columns:42px 1fr;gap:16px;align-items:center;margin-bottom:clamp(24px,2vw,34px)}
.cap-v52__meta span{color:var(--gold);font:700 9px/1 var(--sans);letter-spacing:.12em}
.cap-v52__meta small{color:#7f7b72;font:700 8px/1 var(--sans);letter-spacing:.17em}
.cap-v52__chapter h3{margin:0;color:#f2eee5;font:600 clamp(54px,5.7vw,91px)/.76 var(--cond);letter-spacing:-.042em;text-transform:uppercase}
.cap-v52__chapter p{max-width:500px;margin:28px 0 0;color:#aaa69d;font:500 13px/1.72 var(--sans)}
.cap-v52__mobile-image{display:none}
.services-v52 .portfolio-rail{margin-left:calc(var(--pad)*-1);margin-right:calc(var(--pad)*-1);margin-top:clamp(78px,7vw,112px)}

@media (max-width:1100px){
  .cap-v52{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:34px}
  .cap-v52__visual{height:74vh;min-height:560px}
  .cap-v52__hud strong{font-size:clamp(50px,6vw,78px)}
  .cap-v52__count{min-width:170px}
}

@media (max-width:900px){
  .services-v52{padding:90px 18px 0!important}
  .services-v52__head{grid-template-columns:1fr!important;gap:22px!important;margin-bottom:48px!important}
  .services-v52__head .display-title{font-size:clamp(60px,16.2vw,84px)!important;line-height:.76!important}
  .services-v52__head>p{font-size:12px!important;line-height:1.62!important;margin:0!important;max-width:35ch!important}
  .cap-v52{display:block!important}
  .cap-v52__visual{display:none!important}
  .cap-v52__chapters{border-top:1px solid rgba(255,255,255,.14)!important}
  .cap-v52__chapter{
    min-height:0!important;padding:28px 0 38px!important;opacity:1!important;transform:none!important;
  }
  .cap-v52__mobile-image{display:block!important;position:relative;height:58vw;max-height:300px;margin:0 0 22px;border-radius:18px;overflow:hidden;background:#171714}
  .cap-v52__mobile-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.36))}
  .cap-v52__mobile-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.84) contrast(1.03) brightness(.9);transform:scale(1.025)}
  .cap-v52__meta{margin-bottom:15px!important;grid-template-columns:34px 1fr!important}
  .cap-v52__chapter h3{font-size:clamp(46px,12.5vw,64px)!important;line-height:.78!important}
  .cap-v52__chapter p{font-size:11px!important;line-height:1.58!important;margin-top:16px!important;max-width:34ch!important}
  .services-v52 .portfolio-rail{margin:54px -18px 0!important}

  /* Exact desktop identity-wall idea on mobile: same title+note relationship, same two moving rails. */
  html.v38-mobile .clients-v23{padding:92px 0 90px!important;overflow:hidden!important}
  html.v38-mobile .clients-v23__head{padding:0 18px!important}
  html.v38-mobile .clients-v23__title-row{
    display:grid!important;grid-template-columns:minmax(0,1fr) 118px!important;gap:16px!important;align-items:end!important;margin-top:28px!important;
  }
  html.v38-mobile .clients-v23__title-row .headline{
    margin:0!important;font-size:clamp(58px,15.5vw,78px)!important;line-height:.77!important;letter-spacing:-.053em!important;
  }
  html.v38-mobile .clients-v23__note{
    justify-self:end!important;display:grid!important;grid-template-columns:1fr!important;gap:6px!important;align-items:end!important;max-width:118px!important;
  }
  html.v38-mobile .clients-v23__note strong{font-size:46px!important;line-height:.72!important}
  html.v38-mobile .clients-v23__note p{font-size:8.5px!important;line-height:1.42!important;margin:0!important;color:#5c574e!important}
  html.v38-mobile .clients-v23__wall{
    margin-top:44px!important;border-top:1px solid var(--v23-line)!important;border-bottom:1px solid var(--v23-line)!important;
    overflow:hidden!important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)!important;
    mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)!important;
  }
  html.v38-mobile .client-rail-v23{overflow:hidden!important;padding:0!important;margin:0!important;border-bottom:1px solid var(--v23-line)!important}
  html.v38-mobile .client-rail-v23--b{border-bottom:0!important}
  html.v38-mobile .client-rail-v23__track{
    display:flex!important;gap:0!important;width:max-content!important;grid-template-columns:none!important;animation:none!important;will-change:transform!important;
  }
  html.v38-mobile .client-chip-v23,
  html.v38-mobile .client-chip-v23[aria-hidden="true"]{
    display:grid!important;flex:0 0 auto!important;width:210px!important;min-width:210px!important;max-width:210px!important;height:142px!important;min-height:142px!important;max-height:142px!important;
    padding:18px 26px!important;border:0!important;border-right:1px solid var(--v23-line)!important;background:rgba(255,255,255,.08)!important;
    opacity:1!important;transform:none!important;
  }
  html.v38-mobile .client-chip-v23::before{display:block!important}
  html.v38-mobile .client-chip-v23 img{max-width:132px!important;max-height:68px!important;filter:grayscale(1) contrast(.9)!important;opacity:.66!important;transform:scale(.96)!important}
  html.v38-mobile .clients-v23__footer{
    padding:15px 18px 0!important;display:flex!important;flex-direction:row!important;justify-content:space-between!important;gap:14px!important;font-size:5.8px!important;line-height:1.35!important;
  }
  html.v38-mobile .clients-v23__footer span:last-child{text-align:right!important}
}

@media (prefers-reduced-motion:reduce){
  .cap-v52__image,.cap-v52__chapter{transition:none!important}
}
