.srp-projects { color: var(--srp-color-text); background: var(--srp-color-surface); }

.srp-projects-hero {
    min-height: min(54rem, 100svh);
    color: var(--srp-color-text-inverse);
    background:
        radial-gradient(circle at 82% 25%, rgba(140, 114, 255, .2), transparent 30%),
        linear-gradient(145deg, #090911, #151321 65%, #11101a);
}
.srp-projects-hero__inner {
    display: grid;
    min-height: min(54rem, 100svh);
    grid-template-columns: minmax(0, 1.18fr) minmax(22rem, .82fr);
    align-items: center;
    gap: clamp(3rem, 8vw, 9rem);
    padding-top: clamp(10rem, 12vw, 14rem);
    padding-bottom: clamp(5rem, 7vw, 8rem);
}
.srp-projects-hero__copy {
    display: grid;
    align-content: center;
}
.srp-projects-hero__copy h1 {
    display: grid;
    gap: .13em;
    max-width: 66rem;
    margin: 0;
    font-size: clamp(3.5rem, 6.5vw, 7.2rem);
    font-weight: 820;
    letter-spacing: -.06em;
    line-height: .93;
}
.srp-projects-hero__copy h1 span { display: block; }
.srp-projects-hero__lead {
    max-width: 48rem;
    margin: var(--srp-space-4) 0 0;
    color: var(--srp-color-text-inverse-muted);
    font-size: var(--srp-text-lead);
    line-height: 1.58;
}
.srp-project-index {
    display: grid;
    border-top: 1px solid rgba(255,255,255,.14);
}
.srp-project-index a {
    display: grid;
    grid-template-columns: 3.2rem minmax(0,1fr);
    align-items: center;
    gap: .9rem;
    padding: .8rem .25rem;
    border-bottom: 1px solid rgba(255,255,255,.14);
    color: rgba(255,255,255,.78);
    transition: color var(--srp-transition), padding-left var(--srp-transition);
}
.srp-project-index__icon {
    display: block;
    width: 1.4rem;
    aspect-ratio: 443.5 / 887;
    background-image: url("../img/domain-icons.png");
    background-repeat: no-repeat;
    background-size: 400% 100%;
    filter: invert(1);
}
.srp-project-index__copy { display: grid; gap: .18rem; }
.srp-project-index__copy strong { color: #fff; font-size: .9rem; }
.srp-project-index__copy small { color: rgba(255,255,255,.48); font-size: .68rem; }
.srp-project-index a:hover,
.srp-project-index a:focus-visible { padding-left: .65rem; color: #fff; }
.srp-project-index a:focus-visible { outline: 2px solid var(--srp-color-lilac); outline-offset: 3px; }

.srp-project-filters {
    padding-block: clamp(2.4rem, 4vw, 4rem);
    color: var(--srp-color-text);
    border-bottom: 1px solid rgba(23, 21, 30, .1);
    background: #efebe7;
    scroll-margin-top: 5rem;
}
.srp-filter-heading {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    margin-bottom: 1.25rem;
}
.srp-filter-heading span {
    color: #746c79;
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.srp-filter-heading h2 {
    margin: 0;
    font-size: clamp(1.15rem, 1rem + .45vw, 1.5rem);
    letter-spacing: .025em;
}
.srp-filter-bar {
    min-width: 0;
}
.srp-filter-rail {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    min-width: 0;
    gap: .7rem;
}
.srp-filter-rail::-webkit-scrollbar {
    display: none;
}
.srp-filter-button {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 7.2rem;
    grid-template-columns: 2.75rem minmax(0,1fr) auto;
    align-items: center;
    gap: .75rem;
    padding: .85rem;
    border: 1px solid rgba(23,21,30,.1);
    border-radius: 1.15rem;
    color: var(--srp-color-text);
    background: rgba(255,255,255,.58);
    text-align: left;
    cursor: pointer;
    transition:
        color var(--srp-transition),
        background-color var(--srp-transition),
        box-shadow var(--srp-transition),
        transform var(--srp-transition);
}
.srp-filter-button__icon,
.srp-filter-button__all {
    width: 1.65rem;
    aspect-ratio: 443.5 / 887;
    background-image: url("../img/domain-icons.png");
    background-repeat: no-repeat;
    background-size: 400% 100%;
}
.srp-filter-button__all {
    display: grid;
    width: 2.65rem;
    aspect-ratio: 1;
    place-items: center;
    border-radius: .8rem;
    color: #111019;
    background: var(--srp-gradient-accent);
    font-size: .9rem;
    font-weight: 850;
}
.srp-filter-button__copy {
    display: grid;
    min-width: 0;
    gap: .18rem;
}
.srp-filter-button__copy strong {
    overflow: hidden;
    font-size: .78rem;
    line-height: 1.18;
    text-overflow: ellipsis;
}
.srp-filter-button__copy small {
    color: #7b737f;
    font-size: .62rem;
}
.srp-filter-button b {
    color: #5d4db0;
    font-size: clamp(1.5rem, 1rem + 1.1vw, 2.25rem);
    letter-spacing: -.06em;
    line-height: 1;
}
.srp-filter-button:hover {
    background: #fff;
    box-shadow: 0 1rem 2.6rem rgba(33,28,42,.1);
    transform: translateY(-2px);
}
.srp-filter-button:focus-visible {
    outline: 3px solid var(--srp-color-violet);
    outline-offset: 2px;
}
.srp-filter-button.is-active {
    color: #fff;
    background: #191622;
    box-shadow: 0 .5rem 1.3rem rgba(33, 28, 42, .16);
}
.srp-filter-button.is-active .srp-filter-button__icon { filter: invert(1); }
.srp-filter-button.is-active .srp-filter-button__copy small { color: rgba(255,255,255,.5); }
.srp-filter-button.is-active b { color: var(--srp-color-lilac); }
.srp-filter-status {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.srp-project-overview {
    padding-block: var(--srp-section-space);
    background: var(--srp-color-surface);
}
.srp-project-overview[hidden] { display: none !important; }
.srp-section-head--project-list { max-width: 60rem; }
.srp-section-head--project-list h2 {
    margin: 0;
    font-size: clamp(2.4rem, 1.7rem + 2.7vw, 4.8rem);
    letter-spacing: -.055em;
    line-height: 1;
}
.srp-section-head--project-list > p:last-child {
    max-width: 49rem;
    margin: var(--srp-space-3) 0 0;
    color: var(--srp-color-text-muted);
    font-size: var(--srp-text-lead);
}
.srp-featured-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: clamp(1rem,2vw,1.5rem);
}
.srp-featured-card {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(11rem,.82fr) minmax(0,1.18fr);
    overflow: hidden;
    border: 1px solid rgba(23,21,30,.1);
    border-radius: var(--srp-radius-md);
    background: rgba(255,255,255,.6);
    transition: transform var(--srp-transition), box-shadow var(--srp-transition), border-color var(--srp-transition);
}
.srp-featured-card:hover {
    border-color: rgba(104,84,195,.28);
    box-shadow: 0 1.6rem 4rem rgba(33,28,42,.12);
    transform: translateY(-4px);
}
.srp-featured-card:focus-visible { outline: 3px solid var(--srp-color-violet); outline-offset: 4px; }
.srp-featured-card__media { min-height: 18rem; background: #171421; }
.srp-featured-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.srp-featured-card__placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    grid-template-columns: repeat(2,4rem);
    place-content: center;
    gap: 1rem;
    background: radial-gradient(circle at 50% 45%, rgba(140,114,255,.28), transparent 38%), #171421;
}
.srp-featured-card__placeholder .srp-icon {
    width: 4rem;
    height: 4rem;
    padding: .9rem;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 1rem;
    color: #c4baff;
}
.srp-featured-card__body {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(1.25rem,2.4vw,2.2rem);
}
.srp-featured-card__number { position: absolute; top: 1.2rem; right: 1.2rem; color: #7c68d7; font-size: .72rem; font-weight: 850; }
.srp-featured-card__theme-icon {
    width: 1.45rem;
    aspect-ratio: 443.5/887;
    background-image: url("../img/domain-icons.png");
    background-repeat: no-repeat;
    background-size: 400% 100%;
}
.srp-featured-card__body > p { margin: .8rem 0 0; color: #756d7b; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.srp-featured-card h3 { margin: .45rem 0 0; font-size: clamp(1.5rem,1.1rem + 1vw,2.35rem); letter-spacing: -.045em; }
.srp-featured-card__body > span:last-child { margin-top: .75rem; color: var(--srp-color-text-muted); font-size: var(--srp-text-sm); line-height: 1.5; }
.srp-project-filter-target[hidden] { display: none !important; }
.srp-project-filter-target:not([hidden]) { animation: srp-project-reveal 360ms ease-out both; }
@keyframes srp-project-reveal {
    from { opacity: .01; transform: translateY(.7rem); }
    to { opacity: 1; transform: translateY(0); }
}

.srp-project { position: relative; padding-block: var(--srp-section-space); scroll-margin-top: 5rem; }
.srp-project + .srp-project { border-top: 1px solid rgba(23,21,30,.09); }
.srp-project--light { background: var(--srp-color-surface); }
.srp-project--soft { background: #e9e3ec; }
.srp-project--temple { background: #f0ece8; }
.srp-project--solutions { background: #eee8f0; }
.srp-project--dark { color: #fff; background: #11101a; border-top-color: rgba(255,255,255,.08)!important; }
.srp-project--lab {
    color: #fff;
    background: radial-gradient(circle at 82% 12%, rgba(140,114,255,.12), transparent 25%), #171421;
    border-top-color: rgba(255,255,255,.08)!important;
}
.srp-theme-intro {
    display: grid;
    grid-template-columns: 6rem minmax(0,1fr);
    align-items: center;
    gap: clamp(1.5rem,4vw,3.5rem);
    margin-bottom: var(--srp-section-space);
    padding-bottom: clamp(2rem,4vw,4rem);
    border-bottom: 1px solid rgba(23,21,30,.1);
}
.srp-theme-intro__icon {
    display: grid;
    width: 6rem;
    height: 6rem;
    place-items: center;
    padding: .4rem;
    border: 1px solid rgba(23,21,30,.1);
    border-radius: 1.2rem;
    background: rgba(255,255,255,.72);
}
.srp-theme-intro h2 {
    max-width: 62rem;
    margin: 0;
    font-size: clamp(2rem,1.4rem + 2.1vw,4rem);
    letter-spacing: -.05em;
    line-height: 1.03;
}
.srp-theme-intro > div > p:last-child {
    max-width: 56rem;
    margin: var(--srp-space-3) 0 0;
    color: var(--srp-color-text-muted);
    font-size: var(--srp-text-lead);
}
.srp-theme-intro--dark { border-bottom-color: rgba(255,255,255,.1); }
.srp-theme-intro--dark .srp-theme-intro__icon { filter: none; border-color: rgba(255,255,255,.13); background: #f5f2ef; }
.srp-theme-intro--dark > div > p:last-child { color: rgba(255,255,255,.58); }

.srp-case-head {
    display: grid;
    grid-template-columns: minmax(0,1.2fr) minmax(20rem,.8fr);
    align-items: end;
    gap: clamp(2rem,6vw,7rem);
    margin-bottom: var(--srp-space-6);
}
.srp-project-number,
.srp-case-label {
    margin: 0 0 var(--srp-space-3);
    color: #6d59cb;
    font-size: var(--srp-text-xs);
    font-weight: 850;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}
.srp-project--dark .srp-project-number,
.srp-project--dark .srp-case-label,
.srp-project--lab .srp-project-number,
.srp-project--lab .srp-case-label { color: #b9aeff; }
.srp-case-head h2 {
    margin: 0;
    font-size: clamp(3.2rem,6vw,7rem);
    font-weight: 830;
    letter-spacing: -.065em;
    line-height: .92;
}
.srp-case-head__statement {
    max-width: 55rem;
    margin: var(--srp-space-4) 0 0;
    color: #4f4956;
    font-size: clamp(1.3rem,1rem + 1.05vw,2.05rem);
    line-height: 1.42;
}
.srp-project--dark .srp-case-head__statement,
.srp-project--lab .srp-case-head__statement { color: rgba(255,255,255,.68); }
.srp-case-head__aside { max-width: 30rem; margin: 0; color: var(--srp-color-text-muted); font-size: var(--srp-text-lead); }

.srp-project-tags { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.srp-project-tags li {
    padding: .52rem .78rem;
    border: 1px solid rgba(23,21,30,.11);
    border-radius: var(--srp-radius-pill);
    color: #5d5664;
    background: rgba(255,255,255,.55);
    font-size: var(--srp-text-xs);
    font-weight: 750;
}
.srp-project-tags--dark li,
.srp-project--dark .srp-project-tags li,
.srp-project--lab .srp-project-tags li {
    border-color: rgba(255,255,255,.13);
    color: rgba(255,255,255,.72);
    background: rgba(255,255,255,.055);
}

.srp-project-cover {
    position: relative;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(23,21,30,.1);
    border-radius: var(--srp-radius-lg);
    background: #d8d1dc;
    box-shadow: var(--srp-shadow);
}
.srp-project-cover img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.srp-project-cover figcaption {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    max-width: calc(100% - 2rem);
    padding: .62rem .85rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: var(--srp-radius-pill);
    color: rgba(255,255,255,.75);
    background: rgba(8,8,16,.78);
    backdrop-filter: blur(12px);
    font-size: .7rem;
    font-weight: 700;
}
.srp-project-cover--dark { border-color: rgba(255,255,255,.11); background: #090810; box-shadow: 0 2rem 6rem rgba(0,0,0,.3); }

.srp-project-stage {
    position: relative;
    min-height: clamp(27rem, 48vw, 46rem);
    padding: clamp(1rem, 3.5vw, 3.5rem);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: var(--srp-radius-lg);
    background:
        radial-gradient(circle at 78% 18%, rgba(174, 182, 255, .17), transparent 28%),
        linear-gradient(145deg, #0a0910, #262130);
    box-shadow: var(--srp-shadow);
}
.srp-project-stage::before {
    position: absolute;
    inset: auto -8% -45% 28%;
    height: 80%;
    border-radius: 50%;
    content: "";
    background: rgba(255, 255, 255, .08);
    filter: blur(2rem);
}
.srp-browser-mockup {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: clamp(.75rem, 1.4vw, 1.2rem);
    background: #111018;
    box-shadow: 0 1.7rem 4rem rgba(8, 7, 12, .28);
}
.srp-browser-mockup--hero {
    width: min(89%, 72rem);
    margin-top: clamp(1rem, 2vw, 2rem);
    transform: rotate(-1.6deg);
    transform-origin: center bottom;
}
.srp-browser-mockup__bar {
    display: flex;
    height: clamp(2rem, 3vw, 2.7rem);
    align-items: center;
    gap: .38rem;
    padding-inline: .75rem;
    color: rgba(255, 255, 255, .56);
    background: #211f27;
    font-size: .62rem;
}
.srp-browser-mockup__bar > span {
    width: .48rem;
    height: .48rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #69636f;
}
.srp-browser-mockup__bar > span:first-child { background: #f08d8d; }
.srp-browser-mockup__bar > span:nth-child(2) { background: #e6c06a; }
.srp-browser-mockup__bar > span:nth-child(3) { background: #7db88d; }
.srp-browser-mockup__bar strong {
    min-width: 0;
    margin-left: .45rem;
    overflow: hidden;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.srp-browser-mockup__viewport {
    position: relative;
    overflow: hidden;
    background: #0b0a10;
}
.srp-browser-mockup__viewport img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: top;
}
.srp-phone-mockup {
    position: absolute;
    z-index: 2;
    right: clamp(-.5rem, .5vw, .8rem);
    bottom: clamp(-1rem, -1vw, -.35rem);
    width: clamp(5.4rem, 14vw, 10.5rem);
    padding: .32rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: clamp(1rem, 2.4vw, 1.8rem);
    background: #15131a;
    box-shadow: 0 1.3rem 3.4rem rgba(8, 7, 12, .38);
}
.srp-phone-mockup img {
    width: 100%;
    aspect-ratio: 9 / 16.6;
    border-radius: clamp(.7rem, 1.8vw, 1.35rem);
    object-fit: cover;
    object-position: top;
}
.srp-phone-mockup__speaker {
    position: absolute;
    z-index: 1;
    top: .7rem;
    left: 50%;
    width: 30%;
    height: .28rem;
    border-radius: var(--srp-radius-pill);
    background: rgba(0, 0, 0, .68);
    transform: translateX(-50%);
}
.srp-phone-mockup--stage {
    right: clamp(2rem, 7vw, 7.5rem);
    bottom: clamp(1.5rem, 4vw, 4rem);
    width: clamp(7rem, 17vw, 12rem);
    transform: rotate(3deg);
}

.srp-case-intro,
.srp-role-panel {
    display: grid;
    grid-template-columns: minmax(18rem,.72fr) minmax(0,1.28fr);
    gap: clamp(2rem,8vw,9rem);
}
.srp-case-intro { padding-block: var(--srp-section-space); }
.srp-case-intro h3,
.srp-section-head--project h3,
.srp-role-panel h3,
.srp-vnoise-story h3,
.srp-platform-context h3,
.srp-lab-content h3 {
    margin: 0;
    font-size: clamp(1.8rem,1.3rem + 1.55vw,3.25rem);
    font-weight: 790;
    letter-spacing: -.045em;
    line-height: 1.08;
}
.srp-rich-copy { max-width: 48rem; }
.srp-rich-copy p { margin: 0; color: var(--srp-color-text-muted); font-size: var(--srp-text-lead); line-height: 1.65; }
.srp-rich-copy p + p { margin-top: var(--srp-space-3); }

.srp-role-panel {
    gap: clamp(2rem,6vw,6rem);
    padding: clamp(1.5rem,3.5vw,3.5rem);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: var(--srp-radius-lg);
    color: #fff;
    background: #171421;
    box-shadow: 0 2rem 5rem rgba(33,28,42,.15);
}
.srp-role-panel .srp-case-label { color: #b9aeff; }
.srp-role-panel__intro > p:last-child { max-width: 30rem; margin: var(--srp-space-3) 0 0; color: rgba(255,255,255,.6); }
.srp-role-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.srp-role-grid article {
    position: relative;
    min-height: 11rem;
    padding: clamp(1rem,2vw,1.7rem);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 1rem;
    background: rgba(255,255,255,.035);
}
.srp-role-grid__icon {
    position: absolute;
    top: 1.1rem;
    right: 1.1rem;
    width: 2rem;
    height: 2rem;
    color: #c2b8ff;
}
.srp-role-grid__title { display: flex; align-items: baseline; gap: .65rem; padding-right: 2.3rem; }
.srp-role-grid span { color: #b9aeff; font-size: .7rem; font-weight: 850; }
.srp-role-grid h4 { margin: 0; font-size: 1.12rem; }
.srp-role-grid p { margin: .55rem 0 0; color: rgba(255,255,255,.58); font-size: var(--srp-text-sm); }

.srp-objectives,
.srp-problem-solution,
.srp-change-section,
.srp-project-process,
.srp-before-after,
.srp-stack-comparison { padding-top: var(--srp-section-space); }
.srp-section-head--project { max-width: 58rem; margin-bottom: var(--srp-space-5); }
.srp-section-head--project > p:last-child { max-width: 46rem; margin: var(--srp-space-3) 0 0; color: var(--srp-color-text-muted); }
.srp-section-head--inverse { color: #fff; }
.srp-section-head--inverse > p:last-child { color: rgba(255,255,255,.6); }

.srp-objective-grid,
.srp-result-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.srp-objective-grid article,
.srp-result-grid article {
    position: relative;
    min-height: 14rem;
    padding: clamp(1.2rem,2vw,1.8rem);
    border: 1px solid rgba(23,21,30,.1);
    border-radius: var(--srp-radius-md);
    background: rgba(255,255,255,.58);
}
.srp-objective-grid__icon {
    width: 2.25rem;
    height: 2.25rem;
    margin-bottom: 2.4rem;
    color: #6b57c7;
}
.srp-objective-grid strong { display: block; color: #6854c3; font-size: clamp(1.3rem,1rem + .75vw,1.85rem); line-height: 1.1; }
.srp-objective-grid p,
.srp-result-grid p { margin: var(--srp-space-3) 0 0; color: var(--srp-color-text-muted); font-size: var(--srp-text-sm); }
.srp-result-grid { margin-top: var(--srp-space-6); }
.srp-result-grid span { color: #6d59cb; font-size: .7rem; font-weight: 850; }
.srp-result-grid h3 { margin: 1.6rem 0 0; font-size: 1.12rem; }

.srp-ps-list { border-top: 1px solid rgba(23,21,30,.12); }
.srp-ps-list article { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(2rem,6vw,6rem); padding-block: clamp(1.3rem,2.4vw,2.25rem); border-bottom: 1px solid rgba(23,21,30,.12); }
.srp-ps-list p { display: grid; grid-template-columns: 5.5rem minmax(0,1fr); gap: 1rem; margin: 0; color: #4f4956; }
.srp-ps-list p span { color: #746d7a; font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.srp-ps-list p:last-child { color: #352c58; font-weight: 650; }

.srp-change-matrix {
    border-top: 1px solid rgba(23, 21, 30, .14);
}
.srp-change-matrix__head {
    display: grid;
    grid-template-columns: minmax(8rem,.38fr) minmax(0,.81fr) minmax(0,.81fr);
    gap: clamp(1rem,3vw,3rem);
    padding: 0 0 .85rem;
    color: #746c79;
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.srp-change-matrix__head span { display: flex; align-items: center; gap: .45rem; }
.srp-change-matrix__head i {
    display: grid;
    width: 1.4rem;
    height: 1.4rem;
    place-items: center;
    border-radius: 50%;
    font-style: normal;
    font-size: .85rem;
}
.srp-change-matrix__head span:nth-child(2) i { color: #9f2f3a; background: #f4d9dc; }
.srp-change-matrix__head span:nth-child(3) i { color: #1d7549; background: #d7ebde; }
.srp-change-row {
    display: grid;
    grid-template-columns: minmax(8rem, .38fr) minmax(0, .81fr) minmax(0, .81fr);
    gap: clamp(1rem, 3vw, 3rem);
    align-items: start;
    padding-block: clamp(1.2rem, 2.4vw, 2.1rem);
    border-bottom: 1px solid rgba(23, 21, 30, .14);
}
.srp-change-row h4 {
    margin: .2rem 0 0;
    font-size: clamp(1rem, .92rem + .25vw, 1.2rem);
    letter-spacing: -.02em;
}
.srp-change-row p {
    display: grid;
    grid-template-columns: 1.8rem minmax(0, 1fr);
    gap: .75rem;
    margin: 0;
    color: #5b5561;
    line-height: 1.55;
}
.srp-change-row p > span:first-child {
    display: grid;
    width: 1.65rem;
    height: 1.65rem;
    place-items: center;
    border-radius: 50%;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1;
}
.srp-change-row__before > span:first-child {
    color: #9f2f3a;
    background: #f4d9dc;
}
.srp-change-row__after {
    color: #243d30 !important;
    font-weight: 650;
}
.srp-change-row__after > span:first-child {
    color: #1d7549;
    background: #d7ebde;
}

.srp-process-list { position: relative; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; }
.srp-process-list::before { position: absolute; top: 1.1rem; right: 0; left: 0; height: 1px; content: ""; background: rgba(23,21,30,.16); }
.srp-process-list li { position: relative; padding-right: clamp(1rem,2vw,2rem); }
.srp-process-list li > span { position: relative; z-index: 1; display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border: 1px solid rgba(104,84,195,.3); border-radius: 50%; color: #5f4bbd; background: var(--srp-color-surface); font-size: .65rem; font-weight: 850; }
.srp-process-list h4 { margin: 1.25rem 0 0; font-size: 1rem; }
.srp-process-list p { margin: .55rem 0 0; color: var(--srp-color-text-muted); font-size: var(--srp-text-sm); }

.srp-before-after__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
}
.srp-compare-card {
    min-width: 0;
    padding: clamp(1rem, 2.3vw, 2rem);
    border: 1px solid rgba(23, 21, 30, .1);
    border-radius: var(--srp-radius-md);
    background: rgba(255, 255, 255, .46);
}
.srp-compare-card--before { background: #ebe5e4; }
.srp-compare-card--after { background: #e5ece7; }
.srp-compare-card > header {
    display: flex;
    align-items: center;
    gap: .85rem;
    margin-bottom: 1.25rem;
}
.srp-state-icon {
    display: grid;
    width: 2.45rem;
    height: 2.45rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    font-size: 1.3rem;
    font-weight: 900;
    line-height: 1;
}
.srp-compare-card--before .srp-state-icon {
    color: #9f2f3a;
    background: #f4d9dc;
}
.srp-compare-card--after .srp-state-icon {
    color: #1d7549;
    background: #d2e8d9;
}
.srp-compare-card header small {
    display: block;
    color: #716a75;
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.srp-compare-card header h4 {
    margin: .1rem 0 0;
    font-size: clamp(1.1rem, .95rem + .5vw, 1.45rem);
    letter-spacing: -.025em;
}
.srp-device-scene {
    position: relative;
    min-height: clamp(17rem, 28vw, 27rem);
    padding: clamp(.65rem, 1.5vw, 1.1rem) clamp(1.2rem, 3vw, 2.2rem) clamp(2.2rem, 4vw, 3.5rem) 0;
}
.srp-device-scene--single {
    min-height: 0;
    padding: 0;
}
.srp-compare-card .srp-browser-mockup {
    width: 100%;
    box-shadow: 0 1.15rem 2.6rem rgba(33, 28, 42, .2);
}
.srp-compare-card .srp-phone-mockup {
    right: 0;
    bottom: 0;
}
.srp-compare-card > p {
    margin: 1.2rem 0 0;
    color: #5c5660;
    font-size: var(--srp-text-sm);
    line-height: 1.55;
}
.srp-screen-details {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(13rem, .55fr);
    gap: clamp(1rem, 2vw, 1.5rem);
    margin-top: clamp(1rem, 2vw, 1.5rem);
}
.srp-screen-details figure {
    position: relative;
    min-height: 18rem;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(23, 21, 30, .1);
    border-radius: var(--srp-radius-md);
    background: #d8d1dc;
}
.srp-screen-details img {
    width: 100%;
    height: 100%;
    min-height: 18rem;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: top;
}
.srp-screen-details figure:last-child img {
    aspect-ratio: 3 / 4;
}
.srp-screen-details figcaption {
    position: absolute;
    right: .8rem;
    bottom: .8rem;
    left: .8rem;
    padding: .7rem .85rem;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: .8rem;
    color: rgba(255, 255, 255, .84);
    background: rgba(12, 11, 19, .78);
    backdrop-filter: blur(10px);
    font-size: var(--srp-text-xs);
    font-weight: 750;
}
.srp-case-conclusion { max-width: 72rem; margin-top: var(--srp-section-space); padding: clamp(1.6rem,4vw,4rem); border: 1px solid rgba(23,21,30,.09); border-radius: var(--srp-radius-lg); background: linear-gradient(135deg,#e4ddf7,#f7f1eb); }
.srp-case-conclusion h3 { max-width: 58rem; margin: 0; font-size: clamp(2rem,1.5rem + 1.8vw,3.75rem); letter-spacing: -.05em; line-height: 1.05; }
.srp-case-conclusion > p:last-child { max-width: 50rem; margin: var(--srp-space-4) 0 0; color: #5b5362; font-size: var(--srp-text-lead); }

.srp-before-after--vnoise { padding-top: 0; }
.srp-before-after--vnoise .srp-browser-mockup__viewport img { aspect-ratio: 16 / 10; }
.srp-vnoise-story {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(2rem, 7vw, 8rem);
    padding-top: var(--srp-section-space);
}
.srp-vnoise-story article { padding-block: clamp(1.5rem,3vw,2.8rem); border-bottom: 1px solid rgba(23,21,30,.12); }
.srp-vnoise-story article:first-child { border-top: 1px solid rgba(23,21,30,.12); }
.srp-vnoise-story article > p:last-child,
.srp-platform-context > div > p:last-child,
.srp-lab-content > div > p:last-child { margin: var(--srp-space-3) 0 0; color: var(--srp-color-text-muted); line-height: 1.65; }
.srp-change-section--vnoise + .srp-screen-details { margin-top: var(--srp-space-6); }
.srp-screen-details--vnoise { grid-template-columns: minmax(0, 1.55fr) minmax(12rem, .45fr); }

.srp-temple-stage {
    min-height: clamp(24rem,42vw,38rem);
    padding: clamp(1rem,4vw,4rem);
    overflow: hidden;
    border-radius: var(--srp-radius-lg);
    background:
        radial-gradient(circle at 72% 22%, rgba(174,182,255,.24), transparent 28%),
        linear-gradient(145deg,#0a0910,#292331);
}
.srp-temple-stage__screen {
    display: flex;
    min-height: clamp(21rem,34vw,31rem);
    flex-direction: column;
    justify-content: center;
    padding: clamp(2rem,5vw,5rem);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--srp-radius-md);
    color: #fff;
    background: rgba(8,8,16,.62);
    box-shadow: 0 2rem 6rem rgba(0,0,0,.26);
}
.srp-temple-stage__screen > span { color: #c4baff; font-size: .74rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.srp-temple-stage__screen strong { max-width: 48rem; margin-top: 1rem; font-size: clamp(2.3rem,4.7vw,5.4rem); letter-spacing: -.055em; line-height: .98; }
.srp-temple-stage__screen i { width: 8rem; height: 2px; margin-top: 2rem; background: var(--srp-gradient-accent); }
.srp-temple-stage__screen small { margin-top: auto; color: rgba(255,255,255,.42); }
.srp-temple-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: clamp(2rem,7vw,8rem);
    padding-top: var(--srp-section-space);
}
.srp-temple-grid article { padding-top: 1.5rem; border-top: 1px solid rgba(23,21,30,.12); }
.srp-temple-grid h3 { margin: 0; font-size: clamp(1.8rem,1.3rem + 1.5vw,3.1rem); letter-spacing: -.045em; line-height: 1.08; }
.srp-temple-grid article > p:last-child { margin: var(--srp-space-3) 0 0; color: var(--srp-color-text-muted); line-height: 1.65; }
.srp-temple-outcomes {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 1rem;
    padding-top: var(--srp-section-space);
}
.srp-temple-outcomes article { min-height: 14rem; padding: 1.4rem; border: 1px solid rgba(23,21,30,.1); border-radius: var(--srp-radius-md); background: rgba(255,255,255,.58); }
.srp-temple-outcomes .srp-icon { width: 2rem; height: 2rem; color: #6d59cb; }
.srp-temple-outcomes h3 { margin: 2rem 0 0; font-size: 1.05rem; }
.srp-temple-outcomes p { margin: .65rem 0 0; color: var(--srp-color-text-muted); font-size: var(--srp-text-sm); }

.srp-platform-cover {
    display: grid;
    grid-template-columns: minmax(0,1.2fr) minmax(26rem,.8fr);
    gap: 1rem;
}
.srp-platform-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.srp-platform-stats article {
    display: flex;
    min-height: 13rem;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(1rem,2vw,1.6rem);
    border: 1px solid rgba(255,255,255,.11);
    border-radius: var(--srp-radius-md);
    background: rgba(255,255,255,.05);
}
.srp-platform-stats strong { color: #fff; font-size: clamp(2.8rem,3.8vw,4.8rem); letter-spacing: -.07em; line-height: .8; }
.srp-platform-stats h3 { margin: 1rem 0 0; color: #c4baff; font-size: .9rem; }
.srp-platform-stats p { margin: .3rem 0 0; color: rgba(255,255,255,.48); font-size: .7rem; }
.srp-platform-complexity,
.srp-configurator-story {
    display: grid;
    grid-template-columns: minmax(18rem,.72fr) minmax(0,1.28fr);
    gap: clamp(2rem,8vw,9rem);
    padding-top: var(--srp-section-space);
}
.srp-platform-complexity h3,
.srp-configurator-story h3,
.srp-platform-outlook h3 { margin: 0; font-size: clamp(1.8rem,1.3rem + 1.55vw,3.25rem); letter-spacing: -.045em; line-height: 1.08; }
.srp-platform-complexity > div:last-child p,
.srp-configurator-story > div:last-child p { margin: 0; color: rgba(255,255,255,.62); font-size: var(--srp-text-lead); line-height: 1.65; }
.srp-platform-complexity > div:last-child p + p,
.srp-configurator-story > div:last-child p + p { margin-top: var(--srp-space-3); }
.srp-platform-daily { padding-top: var(--srp-section-space); }
.srp-duty-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .8rem; }
.srp-duty-grid article { min-height: 14rem; padding: 1.25rem; border: 1px solid rgba(255,255,255,.1); border-radius: 1rem; background: rgba(255,255,255,.04); }
.srp-duty-grid .srp-icon { width: 1.8rem; height: 1.8rem; color: #fff; }
.srp-duty-grid h4 { margin: 2rem 0 0; font-size: .98rem; }
.srp-duty-grid p { margin: .6rem 0 0; color: rgba(255,255,255,.5); font-size: .78rem; line-height: 1.5; }
.srp-configurator-story { align-items: center; }
.srp-configurator-story__visual {
    display: flex;
    min-height: 20rem;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    padding: 2rem;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: var(--srp-radius-lg);
    background: radial-gradient(circle,rgba(140,114,255,.15),transparent 56%),rgba(255,255,255,.035);
}
.srp-configurator-story__visual .srp-icon { width: 3rem; height: 3rem; color: #c4baff; }
.srp-configurator-story__visual span,
.srp-configurator-story__visual strong { padding: .65rem .85rem; border: 1px solid rgba(255,255,255,.12); border-radius: .8rem; font-size: .76rem; }
.srp-configurator-story__visual strong { color: #111019; background: var(--srp-gradient-accent); }
.srp-configurator-story__visual i { width: 1.4rem; height: 1px; background: rgba(255,255,255,.25); }
.srp-platform-timeline { padding-top: var(--srp-section-space); }
.srp-platform-timeline ol { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.15); list-style: none; }
.srp-platform-timeline li { position: relative; padding: 2rem clamp(.8rem,1.5vw,1.4rem) 0 0; }
.srp-platform-timeline li::before { position: absolute; top: -.37rem; left: 0; width: .7rem; height: .7rem; border: 2px solid #11101a; border-radius: 50%; content: ""; background: #b9aeff; box-shadow: 0 0 0 1px rgba(185,174,255,.5); }
.srp-platform-timeline time { color: #b9aeff; font-size: 1.25rem; font-weight: 850; }
.srp-platform-timeline h4 { margin: .8rem 0 0; font-size: .95rem; }
.srp-platform-timeline p { margin: .55rem 0 0; color: rgba(255,255,255,.52); font-size: .78rem; }
.srp-platform-outlook {
    display: grid;
    grid-template-columns: minmax(10rem,.3fr) minmax(0,1.7fr);
    gap: 2rem;
    margin-top: var(--srp-section-space);
    padding: clamp(1.5rem,3vw,3rem);
    border: 1px solid rgba(255,255,255,.11);
    border-radius: var(--srp-radius-md);
    background: rgba(174,182,255,.08);
}
.srp-platform-outlook > span { color: #c4baff; font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.srp-platform-outlook p { margin: var(--srp-space-3) 0 0; color: rgba(255,255,255,.58); }

.srp-solution-principle {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
    color: #413a49;
}
.srp-solution-principle span { padding: .58rem .72rem; border: 1px solid rgba(23,21,30,.1); border-radius: var(--srp-radius-pill); background: rgba(255,255,255,.55); font-size: .7rem; font-weight: 800; }
.srp-solution-principle .srp-icon { width: 1rem; height: 1rem; color: #7b66d6; }
.srp-solution-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.srp-solution-grid article { min-height: 27rem; padding: clamp(1.3rem,2.5vw,2.2rem); border: 1px solid rgba(23,21,30,.1); border-radius: var(--srp-radius-md); background: rgba(255,255,255,.58); }
.srp-solution-grid__head { display: flex; align-items: center; justify-content: space-between; }
.srp-solution-grid__head > span { color: #6d59cb; font-size: .72rem; font-weight: 850; }
.srp-solution-grid__head .srp-icon { width: 2rem; height: 2rem; color: #6d59cb; }
.srp-solution-grid__context { margin: 2rem 0 0; color: #7a7280; font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.srp-solution-grid h3 { margin: .45rem 0 0; font-size: clamp(1.45rem,1.1rem + .9vw,2.25rem); letter-spacing: -.035em; }
.srp-solution-grid dl { display: grid; gap: .9rem; margin: var(--srp-space-4) 0 0; }
.srp-solution-grid dl > div { display: grid; grid-template-columns: 4.4rem minmax(0,1fr); gap: .8rem; padding-top: .85rem; border-top: 1px solid rgba(23,21,30,.09); }
.srp-solution-grid dt { color: #6d6571; font-size: .67rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.srp-solution-grid dd { margin: 0; color: var(--srp-color-text-muted); font-size: var(--srp-text-sm); }
.srp-solution-note { display: grid; grid-template-columns: minmax(10rem,.35fr) minmax(0,1.65fr); gap: 2rem; margin-top: var(--srp-space-5); padding: clamp(1.4rem,3vw,2.6rem); border-left: 3px solid #8c72ff; color: #fff; background: #171421; }
.srp-solution-note p { max-width: 60rem; margin: 0; color: rgba(255,255,255,.62); }

.srp-lab-cases { display: grid; gap: 1rem; }
.srp-lab-case {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    align-items: stretch;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: var(--srp-radius-lg);
    background: rgba(255,255,255,.035);
}
.srp-lab-case__copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(1.5rem,4vw,4rem); }
.srp-lab-case__number { margin: 0; color: #b9aeff; font-size: .68rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.srp-lab-case h3 { margin: .8rem 0 0; font-size: clamp(2rem,1.4rem + 2vw,4rem); letter-spacing: -.055em; line-height: 1; }
.srp-lab-case__copy > p:not(.srp-lab-case__number) { margin: 1.2rem 0 0; color: rgba(255,255,255,.6); line-height: 1.65; }
.srp-lab-case__copy ul { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.6rem 0 0; padding: 0; list-style: none; }
.srp-lab-case__copy li { padding: .48rem .65rem; border: 1px solid rgba(255,255,255,.1); border-radius: var(--srp-radius-pill); color: rgba(255,255,255,.58); font-size: .68rem; }
.srp-lab-case__media { min-width: 0; background: #11101a; }
.srp-lab-case__media figure { position: relative; height: 100%; min-height: 28rem; margin: 0; overflow: hidden; }
.srp-lab-case__media img { width: 100%; height: 100%; object-fit: cover; }
.srp-lab-case__media figcaption { position: absolute; right: .8rem; bottom: .8rem; padding: .55rem .7rem; border: 1px solid rgba(255,255,255,.12); border-radius: .7rem; color: rgba(255,255,255,.65); background: rgba(8,8,16,.74); font-size: .67rem; }
.srp-lab-case__media--pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.srp-lab-case__media--pair figure { min-height: 34rem; }
.srp-lab-case--wide .srp-lab-case__copy { grid-column: span 1; }
.srp-lab-case--final { border-color: rgba(174,182,255,.26); background: rgba(140,114,255,.08); }
.srp-lab-purpose {
    display: grid;
    grid-template-columns: 5rem minmax(0,1fr);
    gap: clamp(1.5rem,4vw,3rem);
    align-items: start;
    margin-top: var(--srp-space-6);
    padding: clamp(1.5rem,4vw,3.5rem);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--srp-radius-lg);
    background: radial-gradient(circle at 10% 20%,rgba(140,114,255,.17),transparent 28%),rgba(255,255,255,.04);
}
.srp-lab-purpose > .srp-icon { width: 4rem; height: 4rem; color: #c4baff; }
.srp-lab-purpose h3 { margin: 0; font-size: clamp(2rem,1.4rem + 2vw,4rem); letter-spacing: -.055em; line-height: 1; }
.srp-lab-purpose > div > p:last-child { max-width: 60rem; margin: var(--srp-space-3) 0 0; color: rgba(255,255,255,.6); font-size: var(--srp-text-lead); }

.srp-next-theme {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: .35rem 1rem;
    margin-top: var(--srp-section-space);
    padding: 1.4rem 0;
    border-block: 1px solid rgba(255,255,255,.12);
    color: #fff;
}
.srp-next-theme > span { color: rgba(255,255,255,.44); font-size: .67rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.srp-next-theme > strong { font-size: clamp(1.3rem,1rem + .8vw,2rem); }
.srp-next-theme .srp-icon { grid-column: 2; grid-row: 1/span 2; width: 2rem; height: 2rem; transition: transform var(--srp-transition); }
.srp-next-theme:hover .srp-icon,
.srp-next-theme:focus-visible .srp-icon { transform: translateX(.35rem); }
.srp-next-theme:focus-visible { outline: 3px solid var(--srp-color-lilac); outline-offset: 4px; }
.srp-project--temple .srp-next-theme { color: var(--srp-color-text); border-color: rgba(23,21,30,.12); }
.srp-project--temple .srp-next-theme > span { color: #756d7b; }
.srp-next-theme--light { color: var(--srp-color-text); border-color: rgba(23,21,30,.12); }
.srp-next-theme--light > span { color: #756d7b; }

@media (max-width: 75rem) {
    .srp-filter-rail { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .srp-objective-grid,
    .srp-result-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .srp-temple-outcomes,
    .srp-duty-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .srp-platform-timeline ol { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2.5rem 0; }
}
@media (max-width: 63.9375rem) {
    .srp-projects-hero__inner,
    .srp-case-head,
    .srp-case-intro,
    .srp-role-panel,
    .srp-platform-complexity,
    .srp-configurator-story { grid-template-columns: 1fr; }
    .srp-projects-hero__inner { gap: var(--srp-space-6); }
    .srp-project-index { grid-template-columns: repeat(2,minmax(0,1fr)); border-left: 1px solid rgba(255,255,255,.14); }
    .srp-project-index a { border-right: 1px solid rgba(255,255,255,.14); }
    .srp-featured-card { grid-template-columns: 1fr; }
    .srp-featured-card__media { min-height: 15rem; }
    .srp-platform-cover { grid-template-columns: 1fr; }
    .srp-lab-case { grid-template-columns: 1fr; }
    .srp-lab-case__media { order: -1; }
    .srp-lab-case--reverse .srp-lab-case__media { order: 0; }
}
@media (max-width: 52rem) {
    .srp-filter-rail { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .srp-role-grid,
    .srp-before-after__grid { grid-template-columns: 1fr; }
    .srp-featured-grid,
    .srp-temple-grid,
    .srp-solution-grid { grid-template-columns: 1fr; }
    .srp-change-row { grid-template-columns: 1fr; gap: .8rem; }
    .srp-change-matrix__head { display: none; }
    .srp-change-row h4 { margin-bottom: .25rem; }
    .srp-vnoise-story,
    .srp-screen-details,
    .srp-screen-details--vnoise { grid-template-columns: 1fr; }
    .srp-screen-details figure:last-child img { aspect-ratio: 16 / 10; }
    .srp-ps-list article { grid-template-columns: 1fr; gap: 1rem; }
    .srp-process-list { grid-template-columns: 1fr; }
    .srp-process-list::before { top: 0; bottom: 0; left: 1.08rem; width: 1px; height: auto; }
    .srp-process-list li { min-height: 9rem; padding: 0 0 2rem 4rem; }
    .srp-process-list li > span { position: absolute; top: 0; left: 0; }
    .srp-process-list h4 { margin-top: 0; }
    .srp-platform-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .srp-platform-timeline ol { grid-template-columns: 1fr; gap: 0; border-top: 0; border-left: 1px solid rgba(255,255,255,.15); }
    .srp-platform-timeline li { padding: 0 0 2.4rem 2rem; }
    .srp-platform-timeline li::before { top: .5rem; left: -.37rem; }
    .srp-solution-grid article { min-height: 0; }
    .srp-solution-note { grid-template-columns: 1fr; gap: 1rem; }
    .srp-platform-outlook { grid-template-columns: 1fr; }
    .srp-lab-purpose { grid-template-columns: 1fr; }
}
@media (max-width: 39.9375rem) {
    .srp-projects-hero { min-height: auto; }
    .srp-projects-hero__inner { min-height: auto; padding-top: 9rem; padding-bottom: 4rem; }
    .srp-projects-hero__copy h1 { font-size: clamp(3rem,15vw,4.8rem); }
    .srp-projects-hero__lead { font-size: 1.05rem; }
    .srp-project-index { grid-template-columns: 1fr; }
    .srp-project-filters { padding-block: 2.4rem; overflow: hidden; }
    .srp-filter-heading { display: grid; gap: .35rem; }
    .srp-filter-rail {
        display: flex;
        gap: .7rem;
        overflow-x: auto;
        margin-inline: calc(var(--srp-gutter) * -1);
        padding: .25rem var(--srp-gutter) .75rem;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }
    .srp-filter-button { width: 15rem; min-height: 6.5rem; flex: 0 0 15rem; scroll-snap-align: start; }
    .srp-case-head h2 { font-size: clamp(3rem,16vw,5rem); }
    .srp-case-head__statement { font-size: 1.15rem; }
    .srp-project-stage { min-height: 19rem; padding: .75rem; }
    .srp-browser-mockup--hero { width: 95%; margin-top: 1rem; }
    .srp-phone-mockup--stage { right: 1rem; bottom: 1rem; width: 5.7rem; }
    .srp-device-scene { min-height: 16rem; padding-right: 1rem; }
    .srp-compare-card .srp-phone-mockup { width: 4.8rem; }
    .srp-project-cover img,
    .srp-project-cover--portrait img { aspect-ratio: 4/3; }
    .srp-project-cover figcaption { position: static; max-width: none; border: 0; border-radius: 0; background: #171421; }
    .srp-role-grid article { min-height: 0; }
    .srp-objective-grid,
    .srp-result-grid { grid-template-columns: 1fr; }
    .srp-objective-grid article { display: grid; min-height: 0; grid-template-columns: 2.75rem minmax(0,1fr); align-items: start; gap: .25rem .9rem; padding: 1rem; }
    .srp-objective-grid__icon { grid-row: 1 / span 2; width: 2.4rem; height: 2.4rem; margin: 0; }
    .srp-objective-grid strong { align-self: center; font-size: 1.08rem; }
    .srp-objective-grid p { grid-column: 2; margin: .15rem 0 0; font-size: .78rem; line-height: 1.45; }
    .srp-result-grid article { min-height: 0; }
    .srp-ps-list p { grid-template-columns: 1fr; gap: .35rem; }
    .srp-screen-details figure,
    .srp-screen-details img { min-height: 14rem; }
    .srp-solution-grid dl > div { grid-template-columns: 1fr; gap: .35rem; }
    .srp-theme-intro { grid-template-columns: 1fr; }
    .srp-theme-intro__icon { width: 2.35rem; }
    .srp-platform-stats,
    .srp-temple-outcomes { grid-template-columns: 1fr; }
    .srp-duty-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem; }
    .srp-platform-stats article,
    .srp-temple-outcomes article { min-height: 0; }
    .srp-duty-grid article { display: grid; min-height: 0; grid-template-columns: 1.65rem minmax(0,1fr); align-content: start; gap: .55rem; padding: .85rem; }
    .srp-duty-grid .srp-icon { width: 1.55rem; height: 1.55rem; }
    .srp-duty-grid h4 { align-self: center; margin: 0; font-size: .82rem; line-height: 1.2; }
    .srp-duty-grid p { grid-column: 1 / -1; margin: .25rem 0 0; font-size: .68rem; line-height: 1.4; }
    .srp-configurator-story__visual { min-height: 15rem; }
    .srp-lab-case__media--pair { grid-template-columns: 1fr; }
    .srp-lab-case__media figure,
    .srp-lab-case__media--pair figure { min-height: 20rem; }
}
