/* ============================================================================================
   Services — premium partner capability experience
   ============================================================================================ */

.services-hero {
    min-height: clamp(34rem, 70svh, 49rem);
    display: flex;
    align-items: stretch;
    padding-block: clamp(2rem,4vw,3.75rem) clamp(4rem,7vw,6.5rem);
    overflow: hidden;
    background: linear-gradient(118deg,#0d102b,#352552 55%,color-mix(in srgb, var(--accent) 45%, #000));
}

.services-hero-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.services-hero-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,rgba(12,8,34,.96) 0%,rgba(38,18,62,.86) 37%,rgba(25,54,72,.48) 66%,rgba(13,50,61,.18) 100%),
        linear-gradient(0deg,rgba(7,8,27,.58),transparent 58%);
}

.services-hero-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    filter: saturate(.92) contrast(1.04);
    animation: services-hero-breathe 17s var(--ease-in-out) both;
}

@keyframes services-hero-breathe {
    from { transform: scale(1.075); }
    to { transform: scale(1.015); }
}

.services-hero::before {
    z-index: 2;
    opacity: .38;
    background-image: linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
                      linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
    background-size: 4.5rem 4.5rem;
    mask-image: linear-gradient(100deg,transparent,#000 38%,#000 90%);
    -webkit-mask-image: linear-gradient(100deg,transparent,#000 38%,#000 90%);
}

.services-hero-container {
    position: relative;
    z-index: 4;
    width: 100%;
    display: grid;
    grid-template-rows: auto 1fr;
}

.services-hero-copy {
    align-self: end;
    display: grid;
    justify-items: start;
    gap: clamp(1rem,2vw,1.5rem);
    max-width: 48rem;
    padding-block-start: clamp(4rem,10vw,8rem);
    animation: services-copy-in .8s cubic-bezier(.2,.75,.2,1) both;
}

@keyframes services-copy-in {
    from { opacity: 0; transform: translateY(1.3rem); }
    to { opacity: 1; transform: translateY(0); }
}

.services-hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    padding: .5rem .8rem;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: var(--radius-pill);
    background: rgba(8,11,33,.3);
    backdrop-filter: blur(14px) saturate(1.2);
    -webkit-backdrop-filter: blur(14px) saturate(1.2);
    color: rgba(255,255,255,.78);
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.services-hero-kicker i {
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: var(--highlight);
    box-shadow: 0 0 1rem color-mix(in srgb, var(--highlight) 80%, transparent);
}

.services-hero h1 {
    max-width: 11ch;
    margin: 0;
    color: #fff;
    font-size: clamp(3.25rem,7vw,7rem) !important;
    line-height: .9;
    letter-spacing: -.07em;
    text-shadow: 0 .45rem 2.2rem rgba(5,7,24,.5);
}

.services-hero .lead {
    max-width: 42rem;
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: clamp(1.05rem,1.65vw,1.3rem);
    text-shadow: 0 .2rem 1rem rgba(5,7,24,.45);
}

html[dir="rtl"] .services-hero h1 { line-height: 1.14; letter-spacing: 0; }

.services-hero-glow {
    position: absolute;
    z-index: 1;
    width: 30rem;
    aspect-ratio: 1;
    inset-inline-end: -7rem;
    inset-block-start: -13rem;
    border-radius: 50%;
    background: color-mix(in srgb, var(--highlight) 16%, transparent);
    filter: blur(95px);
    pointer-events: none;
}

.services-hero-orbit {
    position: absolute;
    z-index: 3;
    aspect-ratio: 1;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;
    pointer-events: none;
    animation: services-orbit 14s ease-in-out infinite alternate;
}

.services-hero-orbit-a { width: clamp(18rem,34vw,35rem); inset-inline-end: -8rem; inset-block-start: -10rem; }
.services-hero-orbit-b { width: clamp(8rem,16vw,16rem); inset-inline-end: clamp(6rem,15vw,16rem); inset-block-end: -6rem; border-color: color-mix(in srgb, var(--highlight) 28%, transparent); animation-delay: -5s; }

@keyframes services-orbit {
    from { transform: translate3d(0,0,0); opacity: .55; }
    to { transform: translate3d(-2%,5%,0) scale(1.04); opacity: .9; }
}

.services-hero-wordmark {
    position: absolute;
    z-index: 3;
    inset-inline-end: clamp(1rem,4vw,4rem);
    inset-block-end: 3.5rem;
    color: rgba(255,255,255,.1);
    font: 800 clamp(3rem,7vw,7rem)/1 var(--font-sans);
    letter-spacing: .08em;
    writing-mode: vertical-rl;
    pointer-events: none;
}

.services-hero-edge {
    position: absolute;
    inset-inline-start: 0;
    inset-block-end: -2rem;
    width: clamp(5rem,12vw,10rem);
    height: 2px;
    background: linear-gradient(90deg,var(--highlight),color-mix(in srgb, var(--highlight) 0%, transparent));
    box-shadow: 0 0 1.5rem color-mix(in srgb, var(--highlight) 45%, transparent);
}

.services-experience { overflow: hidden; background: var(--surface); }
.services-catalog { padding-block: clamp(5.5rem,10vw,9rem); }

.services-catalog-container {
    display: grid;
    grid-template-columns: minmax(15rem,.7fr) minmax(0,1.45fr);
    gap: clamp(2.5rem,7vw,7rem);
    align-items: start;
}

.services-catalog-intro {
    position: sticky;
    top: calc(var(--header-height) + 2rem);
    display: grid;
    justify-items: start;
    gap: 1rem;
}

.services-catalog-intro .title-lg { font-size: clamp(2rem,3.6vw,3.4rem); line-height: 1.08; letter-spacing: -.045em; }
.services-section-index { color: color-mix(in srgb,var(--primary) 28%,transparent); font: 700 .7rem/1 var(--font-sans); letter-spacing: .18em; }
.services-intro-line { width: clamp(4rem,10vw,8rem); height: 2px; margin-top: .5rem; background: linear-gradient(90deg,var(--accent),transparent); }

.services-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1rem,2.5vw,1.5rem); }

.services-experience .service-card {
    position: relative;
    min-height: 22rem;
    overflow: hidden;
    padding: clamp(1.4rem,3vw,2rem);
    border-color: color-mix(in srgb,var(--primary) 11%,var(--border));
    border-radius: 1.5rem;
    background: linear-gradient(155deg,var(--surface),color-mix(in srgb,var(--primary-050) 28%,var(--surface)));
    box-shadow: 0 1.2rem 3rem -2.4rem rgba(17,22,45,.45);
}

.services-experience .service-card::after {
    content: "";
    position: absolute;
    width: 12rem;
    aspect-ratio: 1;
    inset-inline-end: -6rem;
    inset-block-end: -7rem;
    border: 1px solid color-mix(in srgb,var(--accent) 20%,transparent);
    border-radius: 50%;
    transition: transform .7s var(--ease-out);
}

.services-experience .service-card:hover { transform: translateY(-7px); border-color: color-mix(in srgb,var(--accent) 32%,var(--border)); box-shadow: 0 2rem 4rem -2.4rem rgba(17,22,45,.4); }
.services-experience .service-card:hover::after { transform: scale(1.18) translate(-8%,-8%); }
.services-experience .service-icon { width: 3.4rem; height: 3.4rem; border-radius: 1rem; background: color-mix(in srgb,var(--accent) 10%,var(--surface)); }
.services-experience .service-card h3 { max-width: 15ch; font-size: clamp(1.25rem,2vw,1.6rem); letter-spacing: -.025em; }
.services-experience .service-card p { line-height: 1.7; }
.services-experience .service-card-index { color: color-mix(in srgb,var(--primary) 28%,transparent); }
.services-experience .service-card-link { position: relative; z-index: 2; }
.services-experience .service-card-media { min-height: 11rem; margin: -2rem -2rem 0; }

.services-partner-band { border-block: 1px solid color-mix(in srgb,var(--primary) 10%,transparent); background: var(--background-alt); }
.services-partner-band .container { min-height: 5rem; display: flex; align-items: center; justify-content: center; gap: clamp(1rem,4vw,3rem); color: var(--muted-soft); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.services-partner-band i { width: .32rem; height: .32rem; border-radius: 50%; background: var(--accent); box-shadow: 0 0 .75rem color-mix(in srgb,var(--accent) 60%,transparent); }

.service-hero-editor-preview img { object-position: center; }
.service-hero-editor-shade { background: linear-gradient(90deg,rgba(21,8,42,.92),rgba(73,31,90,.58) 52%,rgba(18,65,76,.12)); }

@media (max-width: 61.99rem) {
    .services-catalog-container { grid-template-columns: 1fr; }
    .services-catalog-intro { position: static; max-width: 42rem; }
}

@media (max-width: 40rem) {
    .services-hero { min-height: 34rem; }
    .services-hero-media img { object-position: 62% center; }
    .services-grid { grid-template-columns: 1fr; }
    .services-experience .service-card { min-height: 19rem; }
    .services-experience .service-card-media { margin: -1.4rem -1.4rem 0; }
    .services-partner-band .container span:last-of-type,
    .services-partner-band .container i:last-of-type { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .services-hero-media img,
    .services-hero-copy,
    .services-hero-orbit { animation: none; }
    .services-hero-media img { transform: none; }
}
