/* The service remains an open editorial row. Only its photo preview floats. */
.services--hover { background:#f1f2f5; overflow:hidden; }
.services--hover .services__list { border-top-color:#cbd0da; }
.services--hover .service-row { position:relative; isolation:isolate; }
.services--hover .service-row::before { content:''; position:absolute; inset:0 -24px; background:linear-gradient(95deg,#781f380b,#ffffffc4 52%,#fff0); opacity:0; transform:scaleY(.82); transition:opacity .3s,transform .5s var(--ease); z-index:-1; pointer-events:none; }
.service-row--hover::before { opacity:1!important; transform:scaleY(1)!important; }
.service-row--hover::after { transform:scaleX(1); }
.services--hover .service-row__number { color:#9b9fac; font-weight:300; transition:color .35s,transform .5s var(--ease); }
.services--hover .service-row__icon { width:43px; height:43px; stroke-width:1.45; }
.services--hover .service-row__category { color:#6c7180; font-size:.75rem; letter-spacing:.085em; }
.services--hover .service-row__title { font-size:clamp(1.65rem,3.2vw,2.8rem); letter-spacing:-.06em; line-height:1.17; }
.service-row__preview-trigger { position:relative; display:inline-block; padding:3px 0; background:none; border:0; color:inherit; font:inherit; letter-spacing:inherit; cursor:default; text-align:left; transition:transform .5s var(--ease),color .3s; }
.service-row__specialties { font-size:.8125rem; color:#727a88; line-height:1.6; margin-top:11px; }
.services--hover .service-row__description { font-size:1rem; line-height:1.8; }
.service-row__direction { display:none; color:#727b8a; transition:color .3s,transform .5s var(--ease); }
.service-row__direction>.icon { width:28px; height:28px; }
.service-row--hover .service-row__preview-trigger { color:var(--color-bordeaux); transform:translateX(9px); }
.service-row--hover .service-row__icon { transform:rotate(-12deg) scale(1.12); }
.service-row--hover .service-row__number { color:var(--color-bordeaux); transform:translateY(-3px); }
.service-row--hover .service-row__direction { color:var(--color-orange); transform:translate(3px,-3px); }
.service-preview { position:fixed; top:0; left:0; width:280px; z-index:40; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .16s,visibility .16s; will-change:transform; }
.service-preview--visible { opacity:1; visibility:visible; pointer-events:none; }
.service-preview__shell { position:relative; padding:8px 8px 0; border-radius:14px; background:#fff; border:1px solid #ffffffd9; box-shadow:0 22px 60px -23px #15223866,0 4px 12px #15223812; transform:translateY(10px) rotate(-3deg) scale(.94); transform-origin:center; transition:transform .28s var(--ease); }
.service-preview--visible .service-preview__shell { transform:translateY(0) rotate(var(--preview-rotation,-3deg)) scale(1); }
.service-preview__photo { position:relative; height:155px; border-radius:8px; overflow:hidden; background:#e3e7ec; }
.service-preview__photo>img { width:100%; height:100%; display:block; object-fit:cover; }
.service-preview__photo::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 50%,#101c3070); }
.service-preview__index { position:absolute; left:12px; bottom:10px; z-index:1; color:#fff; font-size:10px; font-weight:500; letter-spacing:.07em; }
.service-preview__text { padding:15px 12px 19px; font-size:15px; font-weight:500; line-height:1.5; letter-spacing:-.02em; color:var(--color-navy); }
.service-preview__corner { position:absolute; width:21px; height:21px; right:-5px; top:-5px; border-top:2px solid var(--color-orange); border-right:2px solid var(--color-orange); }
.service-preview--swap .service-preview__photo>img { animation:preview-photo-in .25s var(--ease); }
@keyframes preview-photo-in { from{opacity:.4;transform:scale(1.045)} to{opacity:1;transform:scale(1)} }
@media(min-width:768px) {
  .services--hover .service-row { grid-template-columns:104px minmax(0,1fr) minmax(190px,.75fr) 28px; column-gap:24px; padding:32px 0; min-height:168px; }
  .services--hover .service-row__leading { gap:20px; }
  .service-row__direction { display:block; grid-column:4; }
  .services--hover .service-row__title { font-size:1.8rem; }
}
@media(min-width:1180px) {
  .services--hover .service-row { grid-template-columns:137px minmax(0,1fr) minmax(270px,.78fr) 32px; column-gap:34px; min-height:175px; padding:34px 0; }
  .services--hover .service-row__leading { gap:26px; }
  .services--hover .service-row__icon { width:48px; height:48px; }
  .services--hover .service-row__number { font-size:3.2rem; }
  .services--hover .service-row__title { font-size:clamp(2rem,2.9vw,2.65rem); }
  .services--hover .service-row__description { font-size:1.125rem; padding-right:0; }
  .service-row__specialties { font-size:.875rem; }
  .services--hover .service-row__category { font-size:.8125rem; }
}
@media(hover:none),(pointer:coarse) {
  .service-row__preview-trigger { cursor:pointer; }
  .service-preview { width:min(280px,calc(100vw - 36px)); }
  .service-preview__shell,.service-preview--visible .service-preview__shell { transform:none; }
}
@media(prefers-reduced-motion:reduce) {
  .service-preview,.service-preview__shell,.service-row__preview-trigger,.service-row__direction,.services--hover .service-row::before { transition:none!important; }
  .service-preview__photo>img { animation:none!important; }
  .service-preview--visible .service-preview__shell { transform:none; }
}
