/* Services page experience v4
   1) .service-lab = primary cinematic service story.
   2) #fast-discovery = lightweight draggable image-card slider only.
*/

/* Never expose the legacy catalog filter on the services page. */
body.source-services [data-strategy-service-catalog] .strategy-filterbar{display:none!important}

/* --------------------------------------------------------------------------
   PRIMARY SERVICES CINEMA
   -------------------------------------------------------------------------- */
body.source-services .service-lab.services-primary-cinema{
  position:relative;
  padding:132px 0 118px;
  overflow:visible;
  border-block:1px solid rgba(255,255,255,.055);
  background:
    radial-gradient(circle at 82% 15%,rgba(26,209,238,.065),transparent 30%),
    radial-gradient(circle at 12% 76%,rgba(138,92,246,.08),transparent 34%),
    linear-gradient(180deg,#070b18,#090f22 48%,#070b18);
}
body.source-services .services-primary-cinema>.container{position:relative}
body.source-services .services-primary-cinema .heading{max-width:900px;margin-bottom:48px}
body.source-services .services-primary-cinema .heading .kicker{color:#a7f2ff;border-color:rgba(26,209,238,.24);background:rgba(26,209,238,.07)}
body.source-services .services-primary-cinema .heading h2{font-size:clamp(38px,5vw,66px)}
body.source-services .services-primary-cinema .heading p{max-width:760px;color:#aeb9d3}

body.source-services .cinema-chapters{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
  margin-top:30px;
  padding:7px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(255,255,255,.025);
}
body.source-services .cinema-chapters button{
  min-width:0;min-height:62px;padding:9px 10px;border:1px solid transparent;border-radius:13px;
  background:transparent;color:#8794b1;text-align:right;
  transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease;
}
body.source-services .cinema-chapters button span{display:block;margin-bottom:3px;color:#72809f;font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace}
body.source-services .cinema-chapters button b{display:block;overflow:hidden;color:inherit;font-size:10px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
body.source-services .cinema-chapters button:hover{color:#dce6fb;background:rgba(255,255,255,.035)}
body.source-services .cinema-chapters button[aria-current="true"]{
  color:#fff;border-color:rgba(121,173,255,.25);
  background:linear-gradient(135deg,rgba(26,209,238,.08),rgba(93,131,255,.09),rgba(138,92,246,.08));
  box-shadow:0 12px 32px rgba(0,0,0,.12)
}
body.source-services .cinema-chapters button[aria-current="true"] span{color:#8deeff}
body.source-services .cinema-chapters button:focus-visible{outline:2px solid #8deeff;outline-offset:3px}

body.source-services .services-primary-cinema .lab-grid{grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:56px;align-items:start}
body.source-services .services-primary-cinema .lab-stage-wrap{position:sticky;top:102px;align-self:start}
body.source-services .services-primary-cinema .lab-stage{min-height:min(72vh,690px);border-radius:32px;border-color:rgba(126,158,255,.16);box-shadow:0 38px 120px rgba(0,0,0,.34)}
body.source-services .services-primary-cinema .service-list{gap:22px}
body.source-services .services-primary-cinema .service-item{
  min-height:440px;scroll-margin-top:140px;opacity:.36;transform:translateY(8px) scale(.985);
  border-color:rgba(255,255,255,.07);background:linear-gradient(150deg,rgba(255,255,255,.034),rgba(255,255,255,.014));box-shadow:none
}
body.source-services .services-primary-cinema .service-item.active{
  opacity:1;transform:none;border-color:color-mix(in srgb,var(--accent) 38%,rgba(255,255,255,.08));
  background:radial-gradient(circle at 0 0,color-mix(in srgb,var(--accent) 11%,transparent),transparent 42%),linear-gradient(150deg,rgba(20,29,57,.84),rgba(9,14,31,.92));
  box-shadow:0 28px 76px rgba(0,0,0,.24)
}
body.source-services .services-primary-cinema .service-item h3{font-size:clamp(25px,2.6vw,34px)}
body.source-services .services-primary-cinema .service-item>p{line-height:1.9}
body.source-services .services-primary-cinema .service-item>a{margin-top:25px;padding-bottom:3px;border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}
body.source-services .services-primary-cinema .service-item>a:focus-visible{outline:2px solid currentColor;outline-offset:5px;border-radius:3px}

/* --------------------------------------------------------------------------
   SOME OF OUR DIVERSE SERVICES — IMAGE CARD SLIDER, NOT CINEMATIC
   -------------------------------------------------------------------------- */
body.source-services .fast-discovery-slider{
  position:relative;overflow:hidden;padding:96px 0 90px;border-block:1px solid rgba(255,255,255,.055);background:#0a1021
}
body.source-services .fast-discovery-slider::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(93,131,255,.035),transparent 24%,transparent 76%,rgba(26,209,238,.025))
}
body.source-services .fast-discovery-slider .strategy-shell{position:relative}
body.source-services .fast-discovery-slider .strategy-head{margin:0 0 26px;text-align:right;max-width:790px}
body.source-services .fast-discovery-slider .strategy-head .strategy-kicker{
  color:#a9ecf7;border-color:rgba(26,209,238,.19);background:rgba(26,209,238,.055);font-size:12px;letter-spacing:0
}
body.source-services .fast-discovery-slider .strategy-head h2{max-width:720px;margin-top:12px;font-size:clamp(31px,4vw,50px)}
body.source-services .fast-discovery-slider .strategy-head p{max-width:690px;margin-inline:0;color:#9da9c3}

body.source-services .fast-discovery-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:12px 0 16px}
body.source-services .fast-discovery-controls__status{display:flex;align-items:baseline;gap:5px;direction:ltr;color:#71809f;font:800 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace}
body.source-services .fast-discovery-controls__status b{color:#fff;font-size:22px;font-weight:700}
body.source-services .fast-discovery-controls__actions{display:flex;gap:8px;direction:ltr}
body.source-services .fast-discovery-controls__actions button{
  width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.11);border-radius:13px;
  background:#10182f;color:#eaf0ff;font-size:20px;transition:border-color .2s ease,background .2s ease,transform .2s ease,opacity .2s ease
}
body.source-services .fast-discovery-controls__actions button:hover:not(:disabled){border-color:rgba(126,173,255,.38);background:#141f3d;transform:translateY(-2px)}
body.source-services .fast-discovery-controls__actions button:disabled{opacity:.28;cursor:not-allowed}
body.source-services .fast-discovery-controls__actions button:focus-visible{outline:2px solid #8deeff;outline-offset:3px}

body.source-services .fast-discovery-track{
  display:flex;gap:16px;width:100%;overflow-x:auto;overflow-y:hidden;padding:3px 2px 20px;
  scroll-snap-type:x mandatory;scroll-padding-inline:2px;scrollbar-width:none;overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;cursor:grab;user-select:none;direction:ltr
}
body.source-services .fast-discovery-track::-webkit-scrollbar{display:none}
body.source-services .fast-discovery-track.is-dragging{cursor:grabbing;scroll-snap-type:none}
body.source-services .fast-discovery-track:focus-visible{outline:2px solid rgba(141,238,255,.58);outline-offset:5px;border-radius:18px}

body.source-services .fast-discovery-slide{
  --slide-accent:#5d83ff;position:relative;flex:0 0 clamp(300px,31vw,374px);min-height:500px;
  display:flex;flex-direction:column;padding:16px 16px 20px;direction:rtl;scroll-snap-align:start;
  border:1px solid rgba(255,255,255,.09);border-radius:24px;background:#10182f;color:#f7f9ff;overflow:hidden;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease
}
body.source-services .fast-discovery-slide[data-family="store"]{--slide-accent:#1ad1ee}
body.source-services .fast-discovery-slide[data-family="site"]{--slide-accent:#5d83ff}
body.source-services .fast-discovery-slide[data-family="app"]{--slide-accent:#8a5cf6}
body.source-services .fast-discovery-slide[data-family="brand"]{--slide-accent:#f255a6}
body.source-services .fast-discovery-slide[data-family="growth"]{--slide-accent:#29d59b}
body.source-services .fast-discovery-slide[data-family="auto"]{--slide-accent:#ffaf45}
body.source-services .fast-discovery-slide.is-active{border-color:color-mix(in srgb,var(--slide-accent) 36%,rgba(255,255,255,.1));box-shadow:0 18px 44px rgba(0,0,0,.16)}
body.source-services .fast-discovery-slide:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--slide-accent) 32%,rgba(255,255,255,.1))}
body.source-services .fast-discovery-slide__top{display:flex;align-items:center;justify-content:space-between;direction:ltr;padding:4px 4px 0}
body.source-services .fast-discovery-slide__number{color:color-mix(in srgb,var(--slide-accent) 78%,#fff);font:800 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace}
body.source-services .fast-discovery-slide__top small{color:#7f8daa;font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}

body.source-services .fast-discovery-slide__image{
  position:relative;height:210px;margin:14px 0 20px;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:18px;
  background:#0a1125
}
body.source-services .fast-discovery-slide__image::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 58%,rgba(7,11,24,.14))
}
body.source-services .fast-discovery-slide__image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .4s cubic-bezier(.22,1,.36,1)}
body.source-services .fast-discovery-slide:hover .fast-discovery-slide__image img{transform:scale(1.025)}
body.source-services .fast-discovery-slide h3{margin:0 4px 8px;font-size:22px;line-height:1.35}
body.source-services .fast-discovery-slide p{margin:0 4px;color:#a6b1ca;font-size:12.5px;line-height:1.85}
body.source-services .fast-discovery-slide__tags{display:flex;gap:6px;flex-wrap:wrap;margin:17px 4px 0}
body.source-services .fast-discovery-slide__tags span{padding:5px 8px;border:1px solid rgba(255,255,255,.07);border-radius:999px;background:rgba(255,255,255,.025);color:#8f9db9;font-size:9px}
body.source-services .fast-discovery-slide>a{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 4px 0;padding-top:17px;
  border-top:1px solid rgba(255,255,255,.07);color:color-mix(in srgb,var(--slide-accent) 72%,#fff);font-size:11px;font-weight:900
}
body.source-services .fast-discovery-slide>a:focus-visible{outline:2px solid currentColor;outline-offset:5px;border-radius:4px}

/* --------------------------------------------------------------------------
   RESPONSIVE
   -------------------------------------------------------------------------- */
@media(max-width:1050px){
  body.source-services .services-primary-cinema .lab-grid{grid-template-columns:1fr 1fr;gap:34px}
  body.source-services .cinema-chapters{grid-template-columns:repeat(3,1fr)}
  body.source-services .services-primary-cinema .lab-stage{min-height:600px}
  body.source-services .fast-discovery-slide{flex-basis:min(365px,43vw)}
}
@media(max-width:820px){
  body.source-services .service-lab.services-primary-cinema{padding:92px 0 82px;overflow:hidden}
  body.source-services .services-primary-cinema .heading{margin-bottom:30px}
  body.source-services .cinema-chapters{display:flex;overflow-x:auto;gap:7px;padding:6px;scrollbar-width:none;scroll-snap-type:x proximity}
  body.source-services .cinema-chapters::-webkit-scrollbar{display:none}
  body.source-services .cinema-chapters button{flex:0 0 155px;scroll-snap-align:start}
  body.source-services .services-primary-cinema .lab-grid{display:block}
  body.source-services .services-primary-cinema .lab-stage-wrap{position:relative;top:auto;margin-bottom:24px}
  body.source-services .services-primary-cinema .lab-stage{min-height:500px}
  body.source-services .services-primary-cinema .service-list{gap:14px}
  body.source-services .services-primary-cinema .service-item{min-height:0;opacity:.72;transform:none}
  body.source-services .services-primary-cinema .service-item.active{opacity:1}

  body.source-services .fast-discovery-slider{padding:76px 0 68px}
  body.source-services .fast-discovery-slider .strategy-head{text-align:center;margin-inline:auto}
  body.source-services .fast-discovery-slider .strategy-head p{margin-inline:auto}
  body.source-services .fast-discovery-slide{flex-basis:min(82vw,360px);min-height:485px}
  body.source-services .fast-discovery-slide__image{height:195px}
}
@media(max-width:520px){
  body.source-services .services-primary-cinema .lab-stage{min-height:390px;border-radius:24px}
  body.source-services .services-primary-cinema .service-item{padding:25px;border-radius:23px}
  body.source-services .services-primary-cinema .outcomes{grid-template-columns:1fr}
  body.source-services .fast-discovery-controls{margin-top:6px}
  body.source-services .fast-discovery-controls__status b{font-size:19px}
  body.source-services .fast-discovery-controls__actions button{width:42px;height:42px}
  body.source-services .fast-discovery-track{margin-inline:calc((100vw - min(calc(100vw - 40px),1180px))/ -2);padding-inline:20px;scroll-padding-inline:20px}
  body.source-services .fast-discovery-slide{flex:0 0 86vw;min-height:470px}
  body.source-services .fast-discovery-slide__image{height:185px}
}
@media(prefers-reduced-motion:reduce){
  body.source-services .cinema-chapters button,
  body.source-services .fast-discovery-controls__actions button,
  body.source-services .fast-discovery-slide,
  body.source-services .fast-discovery-slide__image img,
  body.source-services .services-primary-cinema .service-item{transition:none!important}
  body.source-services .fast-discovery-slide:hover{transform:none}
  body.source-services .fast-discovery-slide:hover .fast-discovery-slide__image img{transform:none}
}
