/* Services archive: reference-led geometry in the SH Digital Labs design system. */

.sv-page { overflow: hidden; background: var(--night-950); }
.sv-page h1, .sv-page h2, .sv-page h3 { text-wrap: balance; }
.sv-tag {
    margin: 0;
    color: var(--ice-300);
    font: 500 11px/1.5 var(--font-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* A stepped title stage shared in spirit with About and Contact. */
.sv-hero { padding: 122px 0 0; background: var(--night-950); }
.sv-hero__shell { position: relative; }
.sv-hero__clip-defs { position: absolute; }
.sv-hero__visual {
    position: relative;
    display: grid;
    place-items: center;
    min-height: clamp(390px, 37vw, 520px);
    overflow: hidden;
    border-radius: var(--radius-lg);
    clip-path: polygon(7% 0, 100% 0, 100% 70%, 96% 70%, 96% 100%, 19% 100%, 19% 87%, 0 87%, 0 12%, 5% 12%);
    clip-path: url(#services-hero-clip);
    background: linear-gradient(120deg, var(--ink-900), var(--signal-700));
}
.sv-hero__visual > img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 44%;
    transform: translate3d(0, var(--sv-hero-shift, 0), 0) scale(1.045);
    transition: transform 1.4s cubic-bezier(.16, 1, .3, 1);
    will-change: transform;
}
.sv-hero__visual::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(90deg, rgba(5, 7, 11, .16), rgba(5, 7, 11, .03) 60%, rgba(5, 7, 11, .2));
    pointer-events: none;
}
.sv-hero h1 {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--white);
    font-size: clamp(3.5rem, 6.1vw, 6.3rem);
    font-weight: 500;
    letter-spacing: -.055em;
    line-height: 1;
    text-align: center;
}
.sv-hero__vertical {
    position: absolute;
    z-index: 1;
    right: 7%;
    bottom: 7%;
    color: transparent;
    font-size: clamp(2.5rem, 4.2vw, 4.6rem);
    font-weight: 600;
    letter-spacing: -.06em;
    line-height: 1;
    text-orientation: mixed;
    white-space: nowrap;
    writing-mode: vertical-rl;
    -webkit-text-stroke: 1px rgba(255, 255, 255, .66);
}
.sv-hero__breadcrumb {
    position: absolute;
    z-index: 2;
    bottom: 12px;
    left: var(--margin);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--mist-300);
    font-size: 12px;
}
.sv-hero__breadcrumb a { color: var(--white); text-decoration: none; }
.sv-hero__breadcrumb a:hover { color: var(--ice-300); }
.sv-hero__breadcrumb > span:first-of-type { color: var(--ice-300); }

/* Five-card editorial mosaic: tall, tall, stacked pair, tall. */
.sv-featured { padding: 96px 0 70px; background: var(--night-950); }
.sv-featured__intro, .sv-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr);
    align-items: end;
    gap: 70px;
    margin-bottom: 38px;
}
.sv-featured__intro h2 {
    max-width: 17ch;
    margin: 18px 0 0;
    color: var(--white);
    font-size: clamp(2rem, 3.15vw, 3.3rem);
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: 1.08;
}
.sv-featured__intro > p, .sv-section-head > p {
    max-width: 38ch;
    margin: 0 0 5px;
    color: var(--mist-300);
    font-size: var(--text-body-m);
    line-height: 1.55;
}
.sv-featured__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 236px));
    gap: 16px;
}
.sv-feature {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    padding: 26px;
    border: 1px solid rgba(169, 199, 255, .21);
    border-radius: 20px;
    background: var(--slate-850);
    color: var(--white);
    text-decoration: none;
    isolation: isolate;
    transition: border-color .25s ease, transform .25s ease;
}
.sv-feature:hover, .sv-feature:focus-visible { border-color: rgba(140, 215, 255, .7); transform: translateY(-4px); }
.sv-feature:focus-visible { outline: 2px solid var(--ice-300); outline-offset: 3px; }
.sv-feature--1 { grid-column: 1; grid-row: 1 / 3; }
.sv-feature--2 { grid-column: 2; grid-row: 1 / 3; background: linear-gradient(135deg, #0a2c6e, #154cbd 50%, #0b234d); }
.sv-feature--3 { grid-column: 3; grid-row: 1; background: linear-gradient(135deg, #17355e, #0f223c); }
.sv-feature--4 { grid-column: 3; grid-row: 2; }
.sv-feature--5 { grid-column: 4; grid-row: 1 / 3; }
.sv-feature__image {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}
.sv-feature:hover .sv-feature__image { transform: scale(1.06); }
.sv-feature::before { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(180deg, rgba(5, 7, 11, .35), rgba(5, 7, 11, .16) 25%, rgba(5, 7, 11, .93) 100%); }
.sv-feature--2 .sv-feature__image { opacity: .36; mix-blend-mode: screen; }
.sv-feature--3 .sv-feature__image, .sv-feature--4 .sv-feature__image { opacity: .2; }
.sv-feature--3::before, .sv-feature--4::before { background: linear-gradient(145deg, rgba(4, 14, 31, .35), rgba(3, 10, 23, .77)); }
.sv-feature__index { color: var(--ice-100); font: 500 10px/1.4 var(--font-mono); letter-spacing: .05em; text-transform: uppercase; }
.sv-feature__body { display: flex; flex-direction: column; gap: 9px; margin-top: auto; padding-right: 34px; }
.sv-feature__title { color: var(--white); font-size: clamp(1.4rem, 1.9vw, 2rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.1; }
.sv-feature__copy { color: rgba(235, 243, 255, .88); font-size: 13px; line-height: 1.48; }
.sv-feature--3 .sv-feature__title, .sv-feature--4 .sv-feature__title { font-size: 1.3rem; }
.sv-feature--3 .sv-feature__copy, .sv-feature--4 .sv-feature__copy { display: none; }
.sv-feature__arrow {
    position: absolute;
    right: 22px;
    bottom: 22px;
    display: grid;
    place-items: center;
    width: 35px;
    height: 35px;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 50%;
    background: rgba(4, 11, 24, .4);
    color: var(--white);
}
.sv-feature__arrow .icon { width: 16px; height: 16px; transition: transform .25s ease; }
.sv-feature:hover .sv-feature__arrow .icon { transform: translate(2px, -2px); }

/* Eight small advantage blocks use the reference's open-grid rhythm. */
.sv-capabilities { padding: 70px 0 138px; background: var(--night-950); }
.sv-section-head { align-items: end; margin-bottom: 72px; }
.sv-section-head h2 { max-width: 16ch; margin: 20px 0 0; font-size: clamp(2.5rem, 4.6vw, 4.8rem); font-weight: 500; letter-spacing: -.055em; line-height: 1.05; }
.sv-capabilities__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 18px; overflow: hidden; border: 1px solid rgba(205, 232, 255, .3); border-radius: 28px; background: linear-gradient(180deg, rgba(1, 7, 22, .12), rgba(1, 7, 22, .46)), url("../services-capabilities-bg.webp") center calc(50% + var(--sv-capability-shift, 0px)) / cover no-repeat, #071226; box-shadow: 0 30px 90px rgba(0, 8, 28, .38), inset 0 1px 0 rgba(255, 255, 255, .1); }
.sv-capability { position: relative; isolation: isolate; min-height: 242px; overflow: hidden; padding: 28px 27px 34px; border: 1px solid rgba(214, 235, 255, .24); border-top-color: rgba(240, 248, 255, .38); border-left-color: rgba(231, 244, 255, .32); border-radius: 17px; background: linear-gradient(145deg, rgba(213, 235, 255, .14), rgba(37, 71, 123, .16) 38%, rgba(3, 12, 31, .45) 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 16px 36px rgba(0, 5, 20, .16); -webkit-backdrop-filter: blur(20px) saturate(1.35); backdrop-filter: blur(20px) saturate(1.35); transition: border-color .3s ease, background .3s ease, box-shadow .3s ease; }
.sv-capability:hover { border-color: rgba(220, 241, 255, .48); background: linear-gradient(145deg, rgba(224, 241, 255, .19), rgba(41, 89, 160, .2) 42%, rgba(3, 12, 31, .42)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 20px 42px rgba(0, 8, 30, .24); }
.sv-capability::before { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(118deg, rgba(255, 255, 255, .12), transparent 26%, transparent 66%, rgba(124, 202, 255, .07)); pointer-events: none; }
.sv-capability__top { display: flex; align-items: start; justify-content: space-between; margin-bottom: 42px; }
.sv-capability__icon { display: grid; place-items: center; width: 37px; height: 37px; border: 1px solid rgba(200, 232, 255, .34); border-radius: 10px; background: rgba(5, 19, 45, .28); color: var(--ice-300); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08); }
.sv-capability__icon .icon { width: 20px; height: 20px; }
.sv-capability__number { color: rgba(220, 238, 255, .7); font: 500 11px/1.4 var(--font-mono); }
.sv-capability h3 { margin: 0 0 10px; font-size: 1.15rem; font-weight: 500; letter-spacing: -.025em; line-height: 1.2; }
.sv-capability p { max-width: 30ch; margin: 0; color: rgba(226, 237, 252, .79); font-size: 13px; line-height: 1.55; }

/* Real approved client voice beside a truthful three-pillar overview. */
.sv-proof { padding: 0 0 138px; background: var(--night-950); }
.sv-proof__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.sv-proof__quote, .sv-proof__system { position: relative; min-height: 500px; overflow: hidden; margin: 0; padding: clamp(36px, 4vw, 66px); border: 1px solid rgba(169, 199, 255, .2); border-radius: 24px; }
.sv-proof__quote { display: flex; flex-direction: column; background: linear-gradient(90deg, rgba(8, 13, 28, .84), rgba(8, 13, 28, .62) 62%, rgba(8, 13, 28, .22)), url("../client-testimonial-bg.webp") 58% center / cover; }
.sv-proof__quote-mark { display: block; margin-top: auto; color: var(--ice-300); font-size: 5.5rem; line-height: .65; }
.sv-proof__quote blockquote { max-width: 24ch; margin: 24px 0 45px; color: var(--white); font-size: clamp(1.6rem, 2.4vw, 2.6rem); font-weight: 500; letter-spacing: -.04em; line-height: 1.24; }
.sv-proof__quote figcaption { display: flex; flex-direction: column; gap: 4px; color: var(--mist-300); font-size: 13px; }
.sv-proof__quote figcaption strong { color: var(--white); font-weight: 500; }
.sv-proof__system { display: flex; flex-direction: column; background: linear-gradient(90deg, rgba(5, 12, 28, .48), rgba(5, 12, 28, .12)), url("../joinuppractice-bg.webp") 58% center / cover; }
.sv-proof__system h2 { max-width: 12ch; margin: 24px 0 0; color: var(--white); font-size: clamp(2.25rem, 3.4vw, 4rem); font-weight: 500; letter-spacing: -.055em; line-height: 1.08; }
.sv-proof__number { margin-top: auto; color: var(--white); font-size: clamp(5rem, 10vw, 10rem); font-weight: 500; letter-spacing: -.08em; line-height: .9; }
.sv-proof__number span { color: var(--ice-300); }
.sv-proof__system ul { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 28px 0 0; padding: 0; list-style: none; color: var(--ice-100); font: 500 11px/1.5 var(--font-mono); text-transform: uppercase; }

/* The original editable Services page copy is kept in this split chapter. */
.sv-editorial { position: relative; isolation: isolate; overflow: hidden; padding: 130px 0; background: #05070b; }
.sv-editorial::before { position: absolute; z-index: 0; inset: 0; content: ""; background: url("../card-next-to-misson-bg.webp") center calc(52% + var(--sv-editorial-shift, 0px)) / cover no-repeat; opacity: .32; pointer-events: none; }
.sv-editorial::after { position: absolute; z-index: 0; inset: 0; content: ""; background: linear-gradient(90deg, rgba(5, 7, 11, .62) 0%, rgba(5, 7, 11, .88) 48%, rgba(5, 7, 11, .68) 100%); pointer-events: none; }
.sv-editorial > .container { position: relative; z-index: 1; }
.sv-editorial__grid { display: grid; grid-template-columns: minmax(0, .83fr) minmax(0, 1.17fr); gap: clamp(60px, 8vw, 160px); }
.sv-editorial__intro { position: relative; }
.sv-editorial__intro h2 { max-width: 13ch; margin: 22px 0 0; font-size: clamp(2.6rem, 4.4vw, 4.8rem); font-weight: 500; letter-spacing: -.055em; line-height: 1.08; }
.sv-editorial__body { max-width: 700px; color: var(--mist-300); font-size: var(--text-body-m); line-height: 1.65; }
.sv-editorial__body > :first-child { margin-top: 0; }
.sv-editorial__body h2 { margin: 48px 0 20px; padding-top: 30px; border-top: 1px solid var(--rule); color: var(--white); font-size: 1.55rem; font-weight: 500; letter-spacing: -.03em; }
.sv-editorial__body ul { margin: 0; padding-left: 1.1em; }
.sv-editorial__body li { margin-bottom: 10px; }
.sv-editorial__body li::marker { color: var(--ice-300); }
.sv-editorial__body strong { color: var(--white); font-weight: 500; }

/* All published services remain browsable, grouped by their actual terms. */
.sv-catalog-intro { padding: 105px 0 72px; background: var(--night-950); }
.sv-catalog-intro__panel { position: relative; isolation: isolate; display: flex; min-height: 520px; overflow: hidden; flex-direction: column; justify-content: space-between; padding: clamp(42px, 6vw, 84px); border: 1px solid rgba(169, 199, 255, .2); border-radius: 28px; background: radial-gradient(circle at 84% 32%, rgba(36, 118, 255, .22), transparent 31%), linear-gradient(135deg, #0b172b 0%, #07101e 47%, #05070b 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04); }
.sv-catalog-intro__panel::before { position: absolute; z-index: -1; top: -9%; right: -5%; width: min(64%, 780px); height: 116%; content: ""; background: url("../pattern-sh.webp") right center / auto 104% no-repeat; opacity: .55; -webkit-mask-image: linear-gradient(90deg, transparent 0, transparent 12%, #000 42%); mask-image: linear-gradient(90deg, transparent 0, transparent 12%, #000 42%); pointer-events: none; }
.sv-catalog-intro__panel::after { position: absolute; z-index: -2; inset: 0; content: ""; background: repeating-linear-gradient(90deg, transparent 0 calc(12.5% - 1px), rgba(140, 215, 255, .035) calc(12.5% - 1px) 12.5%); pointer-events: none; }
.sv-catalog-intro__copy { position: relative; z-index: 1; max-width: 620px; }
.sv-catalog-intro h2 { max-width: 14ch; margin: 20px 0 18px; font-size: clamp(2.8rem, 5vw, 5rem); font-weight: 500; letter-spacing: -.06em; line-height: 1.05; }
.sv-catalog-intro__copy > p:last-child { max-width: 38ch; margin: 0; color: var(--mist-300); font-size: var(--text-body-l); line-height: 1.55; }
.sv-catalog-intro__routes { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 850px; margin-top: 70px; border-top: 1px solid rgba(169, 199, 255, .2); }
.sv-catalog-intro__routes span { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 19px 24px 0 0; color: rgba(235, 243, 255, .78); font-size: 13px; }
.sv-catalog-intro__routes b { color: var(--ice-300); font: 500 10px/1.4 var(--font-mono); }
.sv-pillar { padding: 70px 0 100px; border-top: 1px solid var(--rule); background: var(--night-950); }
.sv-pillar--digital-presence { background: linear-gradient(rgba(3, 7, 15, .80), rgba(3, 7, 15, .88)), url("../service-pillar-digital-presence-bg.webp") center calc(42% + var(--sv-pillar-shift, 0px)) / cover no-repeat; }
.sv-pillar--growth-engine { background: linear-gradient(rgba(3, 7, 15, .72), rgba(3, 7, 15, .87)), url("../service-pillar-growth-engine-bg.webp") center calc(42% + var(--sv-pillar-shift, 0px)) / cover no-repeat; }
.sv-pillar--software-intelligence { background: linear-gradient(rgba(3, 7, 15, .62), rgba(3, 7, 15, .84)), url("../service-pillar-software-intelligence-bg.webp") center calc(42% + var(--sv-pillar-shift, 0px)) / cover no-repeat; }
.sv-pillar__head { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 38px; }
.sv-pillar__head h2 { margin: 18px 0 13px; color: var(--white); font-size: clamp(2.65rem, 4.2vw, 4.25rem); font-weight: 500; letter-spacing: -.055em; line-height: 1.05; }
.sv-pillar__head p:not(.sv-tag) { max-width: 67ch; margin: 0; color: var(--mist-300); font-size: var(--text-body-m); line-height: 1.55; }
.sv-pillar__link { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; min-height: 48px; padding: 11px 20px; border: 1px solid var(--border-strong); border-radius: 999px; color: var(--white); font-size: 14px; text-decoration: none; transition: background .2s ease, border-color .2s ease; }
.sv-pillar__link:hover, .sv-pillar__link:focus-visible { border-color: var(--ice-300); background: rgba(36, 118, 255, .15); }
.sv-pillar__link .icon { width: 15px; height: 15px; transition: transform .2s ease; }
.sv-pillar__link:hover .icon { transform: translate(2px, -2px); }
.sv-pillar__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.sv-service { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 222px; padding: 27px; border: 1px solid rgba(169, 199, 255, .15); border-radius: 18px; background: rgba(20, 30, 45, .62); color: var(--white); text-decoration: none; transition: transform .25s ease, border-color .25s ease, background .25s ease; }
.sv-service:hover, .sv-service:focus-visible { transform: translateY(-3px); border-color: rgba(140, 215, 255, .5); background: var(--slate-800); }
.sv-service:focus-visible { outline: 2px solid var(--ice-300); outline-offset: 2px; }
.sv-service__top { display: flex; align-items: start; justify-content: space-between; min-height: 55px; }
.sv-service__icon .service-icon { display: grid; place-items: center; width: 40px; height: 40px; margin: 0; border: 1px solid rgba(140, 215, 255, .2); border-radius: 10px; background: rgba(1, 88, 248, .08); color: var(--ice-300); }
.sv-service__icon .icon { width: 19px; height: 19px; }
.sv-service__index { color: var(--steel-500); font: 500 11px/1.3 var(--font-mono); }
.sv-service strong { margin: 12px 42px 8px 0; color: var(--white); font-size: 1.25rem; font-weight: 500; letter-spacing: -.03em; line-height: 1.2; }
.sv-service__copy { display: -webkit-box; max-width: 45ch; overflow: hidden; padding-right: 24px; color: var(--mist-300); font-size: 13px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.sv-service__arrow { position: absolute; right: 26px; bottom: 26px; color: var(--ice-300); }
.sv-service__arrow .icon { width: 17px; height: 17px; transition: transform .2s ease; }
.sv-service:hover .sv-service__arrow .icon { transform: translate(2px, -2px); }
.sv-empty { padding: 50px 0 100px; }

.sv-outro { position: relative; isolation: isolate; overflow: hidden; padding: 136px 0 150px; background: var(--night-950); }
.sv-outro::before { position: absolute; z-index: -1; inset: 0; content: ""; background: url("../dh-section-bg.webp") right center / auto 115% no-repeat; opacity: .42; pointer-events: none; }
.sv-outro h2 { max-width: 18ch; margin: 22px 0 75px; color: var(--white); font-size: clamp(3rem, 5.5vw, 6.5rem); font-weight: 500; letter-spacing: -.065em; line-height: 1.05; }
.sv-outro ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin: 0; padding: 0; list-style: none; }
.sv-outro li { display: flex; flex-direction: column; gap: 34px; padding-top: 20px; border-top: 1px solid var(--rule); color: var(--white); font-size: 1.05rem; font-weight: 500; }
.sv-outro li span { color: var(--ice-300); font: 500 11px/1.4 var(--font-mono); }

/* Reference-led motion: split titles, drawn labels and staggered sections. */
.sv-motion-word {
    display: inline-block;
    white-space: nowrap;
}
.sv-motion-character {
    display: inline-block;
}
.sv-motion-ready .sv-motion-title .sv-motion-character {
    opacity: 0;
    translate: 20px 0;
    transition:
        opacity 1s cubic-bezier(.22, 1, .36, 1),
        translate 1s cubic-bezier(.22, 1, .36, 1);
    transition-delay: calc(100ms + var(--sv-character-index, 0) * 30ms);
}
.sv-motion-ready .sv-motion-title.is-motion-visible .sv-motion-character {
    opacity: 1;
    translate: 0 0;
}
.sv-motion-ready .sv-motion-kicker {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    transition: opacity .2s ease, clip-path 1.2s cubic-bezier(.22, 1, .36, 1);
}
.sv-motion-ready .sv-motion-kicker.is-motion-visible {
    opacity: 1;
    clip-path: inset(0 0 0 0);
}
.sv-motion-ready .sv-motion-item {
    opacity: 0;
    translate: 0 30px;
    scale: .985;
    filter: blur(4px);
    transition:
        opacity .72s cubic-bezier(.16, 1, .3, 1),
        translate .9s cubic-bezier(.16, 1, .3, 1),
        scale .9s cubic-bezier(.16, 1, .3, 1),
        filter .72s ease;
    transition-delay: var(--sv-delay, 0ms);
}
.sv-motion-ready .sv-motion-item.is-motion-visible,
.sv-motion-ready .sv-motion-group.is-motion-visible > .sv-motion-item {
    opacity: 1;
    translate: 0 0;
    scale: 1;
    filter: blur(0);
}
.sv-motion-ready .sv-hero__visual:not(.is-motion-visible) > img {
    transform: translate3d(0, var(--sv-hero-shift, 0), 0) scale(1.11);
}
.sv-motion-ready .sv-proof__number {
    font-variant-numeric: tabular-nums;
}

@media (max-width: 1100px) {
    .sv-featured__grid { grid-template-rows: repeat(2, minmax(0, 210px)); }
    .sv-feature { padding: 21px; }
    .sv-feature__title { font-size: 1.5rem; }
    .sv-capability { padding: 24px; }
    .sv-pillar__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .sv-featured__intro, .sv-section-head { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .sv-featured__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: minmax(245px, auto); }
    .sv-feature--1, .sv-feature--2, .sv-feature--3, .sv-feature--4, .sv-feature--5 { grid-column: auto; grid-row: auto; }
    .sv-feature--5 { grid-column: 1 / -1; }
    .sv-feature--3 .sv-feature__copy, .sv-feature--4 .sv-feature__copy { display: block; }
    .sv-capabilities__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); background-size: auto 650px; background-repeat: repeat-y; }
    .sv-proof__quote, .sv-proof__system { min-height: 440px; padding: 38px; }
    .sv-editorial__grid { grid-template-columns: minmax(0, 1fr); gap: 55px; }
    .sv-editorial__intro h2 { max-width: 16ch; }
}

@media (max-width: 767px) {
    .sv-hero { padding-top: 112px; }
    .sv-hero [class*="sv-hero__"] { padding-top: 0; padding-bottom: 0; }
    .sv-hero__visual { min-height: 330px; clip-path: polygon(9% 0, 100% 0, 100% 78%, 96% 78%, 96% 100%, 23% 100%, 23% 88%, 0 88%, 0 11%, 7% 11%); clip-path: url(#services-hero-clip-mobile); }
    .sv-hero h1 { font-size: clamp(2.7rem, 9vw, 4.5rem); }
    .sv-hero__vertical { right: 6%; font-size: 2rem; }
    .sv-hero__breadcrumb { bottom: 5px; font-size: 10px; }
    .sv-featured { padding: 82px 0 60px; }
    .sv-capabilities { padding: 65px 0 100px; }
    .sv-section-head { margin-bottom: 48px; }
    .sv-proof { padding-bottom: 100px; }
    .sv-proof__grid { grid-template-columns: minmax(0, 1fr); }
    .sv-editorial { padding: 100px 0; }
    .sv-catalog-intro { padding: 80px 0 55px; }
    .sv-catalog-intro__panel { min-height: 560px; }
    .sv-pillar { padding: 65px 0 90px; }
    .sv-pillar__head { align-items: start; flex-direction: column; gap: 25px; }
    .sv-outro { padding: 100px 0 110px; }
    .sv-outro::before { background-position: 72% center; background-size: auto 100%; opacity: .22; }
    .sv-outro ol { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; }
}

@media (max-width: 520px) {
    .sv-hero__visual { min-height: 280px; border-radius: 18px; }
    .sv-hero h1 { font-size: clamp(2.4rem, 9vw, 3.3rem); }
    .sv-hero__vertical { display: none; }
    .sv-featured__intro h2 { font-size: 2.3rem; }
    .sv-featured__grid { grid-template-columns: minmax(0, 1fr); grid-auto-rows: minmax(265px, auto); }
    .sv-feature--5 { grid-column: auto; }
    .sv-feature__title, .sv-feature--3 .sv-feature__title, .sv-feature--4 .sv-feature__title { font-size: 1.75rem; }
    .sv-section-head h2 { font-size: 2.65rem; }
    .sv-capabilities__grid { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 10px; border-radius: 22px; background-size: auto 560px; }
    .sv-capability { min-height: 0; padding: 25px; }
    .sv-capability__top { margin-bottom: 24px; }
    .sv-proof__quote, .sv-proof__system { min-height: 440px; padding: 30px; }
    .sv-editorial__intro h2 { font-size: 2.8rem; }
    .sv-catalog-intro__panel { min-height: 620px; padding: 34px 28px; border-radius: 22px; }
    .sv-catalog-intro__panel::before { top: 4%; right: -34%; width: 105%; height: 72%; opacity: .28; }
    .sv-catalog-intro h2 { font-size: 2.9rem; }
    .sv-catalog-intro__routes { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 54px; }
    .sv-catalog-intro__routes span { padding: 14px 0; border-bottom: 1px solid rgba(169, 199, 255, .12); }
    .sv-pillar__head h2 { font-size: 2.8rem; }
    .sv-pillar__grid { grid-template-columns: minmax(0, 1fr); }
    .sv-service { min-height: 208px; }
    .sv-outro h2 { font-size: 3rem; }
    .sv-outro ol { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
    .sv-feature, .sv-feature__image, .sv-feature__arrow .icon, .sv-service, .sv-service__arrow .icon, .sv-capability, .sv-hero__visual > img { transition: none; }
    .sv-motion-ready .sv-motion-character,
    .sv-motion-ready .sv-motion-kicker,
    .sv-motion-ready .sv-motion-item,
    .sv-motion-ready .sv-motion-group > .sv-motion-item {
        opacity: 1;
        translate: none;
        scale: none;
        filter: none;
        clip-path: none;
        transition: none;
    }
}
