.srp-project--solutions { content-visibility:auto; contain-intrinsic-size:72rem; padding:var(--srp-section-space) 0; color:#17151e; background:#f6f3ef; scroll-margin-top:5rem; }
.srp-solutions-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,.55fr); gap:1.5rem 5rem; align-items:end; }
.srp-solutions-heading .srp-case-label { grid-column:1/-1; }
.srp-solutions-heading h2 { margin:0; font-size:clamp(3.5rem,7vw,7.5rem); font-weight:900; letter-spacing:-.08em; line-height:.8; text-transform:uppercase; }
.srp-solutions-heading h2 i { color:inherit; font:inherit; font-style:normal; margin-left:.06em; }
.srp-solutions-heading > p:last-child { margin:0; color:#665f6a; }
.srp-solution-rack { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(20rem,.68fr); gap:clamp(2rem,5vw,5rem); margin-top:clamp(4rem,7vw,7rem); }
.srp-solution-rack__shelf { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; align-content:start; padding:1rem 1rem 1.4rem; border:1px solid rgba(23,21,30,.1); border-radius:1.5rem; background:linear-gradient(180deg,#e7e3e9,#d9d3dc); box-shadow:inset 0 -1.2rem 1.8rem rgba(65,47,76,.08); }
.srp-solution-module { position:relative; min-height:13rem; padding:1rem .8rem; overflow:hidden; border:1px solid rgba(23,21,30,.13); border-radius:1rem; color:#1a1520; background:#f8f6f3; text-align:left; cursor:pointer; transform-origin:center bottom; transition:transform 430ms cubic-bezier(.2,.75,.2,1),box-shadow 430ms ease,background 330ms ease; }
.srp-solution-module::after { position:absolute; right:.65rem; bottom:.6rem; left:.65rem; height:.22rem; border-radius:999px; content:""; background:#b6aec1; }
.srp-solution-module > span { display:block; color:#7b6a8c; font-size:.58rem; font-weight:900; }
.srp-solution-module strong { display:block; margin-top:3rem; font-size:clamp(.86rem,1vw,1.05rem); line-height:1.05; text-transform:uppercase; }
.srp-solution-module small { display:block; margin-top:.7rem; color:#756d78; font-size:.62rem; }
.srp-solution-module.is-active { z-index:4; color:#fff; background:linear-gradient(160deg,#201331,#4e2d73); box-shadow:0 1.8rem 3.5rem rgba(52,35,66,.24); transform:translateY(-1.8rem) rotate(-1deg) scale(1.04); }
.srp-solution-module.is-active::after { background:#aeb6ff; }
.srp-solution-module.is-active > span,.srp-solution-module.is-active small { color:rgba(255,255,255,.55); }
.srp-solution-rack__detail { position:relative; min-height:28rem; border-top:1px solid rgba(23,21,30,.12); }
.srp-solution-detail { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; opacity:0; pointer-events:none; transform:translateY(1rem); transition:opacity .35s ease,transform .5s cubic-bezier(.2,.75,.2,1); }
.srp-solution-detail.is-active { opacity:1; pointer-events:auto; transform:translateY(0); }
.srp-solution-detail__meta { display:flex; flex-wrap:wrap; gap:.5rem; }
.srp-solution-detail__meta span { padding:.45rem .65rem; border:1px solid rgba(23,21,30,.12); border-radius:999px; color:#6d5c7d; font-size:.58rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.srp-solution-detail h3 { margin:1.2rem 0 0; font-size:clamp(2.2rem,4vw,4.3rem); font-weight:900; letter-spacing:-.06em; line-height:.9; text-transform:uppercase; }
.srp-solution-detail p { margin:1.2rem 0 0; color:#665f6a; line-height:1.6; }
.srp-solution-detail > strong { margin-top:1.4rem; padding-top:1rem; border-top:1px solid rgba(23,21,30,.12); color:#49316b; font-size:.84rem; }
@media (max-width:60rem) { .srp-solutions-heading,.srp-solution-rack { grid-template-columns:1fr; } .srp-solution-rack__detail { min-height:18rem; } }
@media (max-width:39.9375rem) {
    .srp-project--solutions { padding-block:4.5rem; }
    .srp-solutions-heading h2 { font-size:clamp(2.9rem,13.3vw,4.15rem); }
    .srp-solutions-heading > p:last-child { font-size:.92rem; }
    .srp-solution-rack { margin-top:2.5rem; }
    .srp-solution-rack__shelf {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:.6rem;
        margin:0;
        padding:.75rem;
        overflow:visible;
        border-radius:1.2rem;
    }
    .srp-solution-module {
        min-height:8.5rem;
        padding:.8rem .7rem;
    }
    .srp-solution-module strong { margin-top:1.8rem; font-size:.78rem; }
    .srp-solution-module small { font-size:.56rem; }
    .srp-solution-module.is-active { transform:translateY(-.25rem) scale(1.015); }
    .srp-solution-rack__detail { min-height:18rem; }
    .srp-solution-detail h3 { font-size:2rem; }
    .srp-solution-detail p { font-size:.9rem; }
}
