.case-study{min-height:100vh;padding:4rem 3rem 6rem}.case-study__container{max-width:900px;margin:0 auto}.case-study__back{color:var(--muted);align-items:center;gap:.4rem;margin-bottom:2.5rem;font-size:.88rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.case-study__back:hover{color:var(--accent)}.case-study__title{font-family:var(--font-heading),Sora,sans-serif;letter-spacing:-.02em;color:var(--text);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;line-height:1.15}
.cs-page{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-body),Inter,sans-serif}.cs-animate{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(28px)}.cs-animate.cs-visible{opacity:1;transform:translateY(0)}.cs-container{max-width:1140px;margin:0 auto;padding:0 2.5rem}.cs-label{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;font-size:.72rem;font-weight:700;display:inline-block}.cs-label--highlight{color:var(--highlight)}.cs-section{padding:6rem 0}.cs-section--alt{background:var(--surface)}.cs-section__title{font-family:var(--font-heading),Sora,sans-serif;letter-spacing:-.025em;color:var(--text);margin-top:0;margin-bottom:2.5rem;font-size:clamp(1.75rem,3vw,2.6rem);font-weight:700;line-height:1.2}.cs-body{color:var(--muted);max-width:68ch;margin-bottom:1.25rem;font-size:1rem;line-height:1.82}.cs-body--center{text-align:center;max-width:72ch;margin:2.5rem auto 0}.cs-caption{color:var(--muted);text-align:center;letter-spacing:.03em;margin-top:.6rem;font-size:.8rem}.cs-img-placeholder{background:var(--surface);border:1.5px dashed var(--line);width:100%;color:var(--muted);letter-spacing:.05em;border-radius:10px;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;display:flex;position:relative;overflow:hidden}.cs-img-placeholder:before{content:"";pointer-events:none;background:linear-gradient(135deg,#0000 40%,#8b6fb80f 100%);position:absolute;inset:0}.cs-hero{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.cs-hero__image{position:relative;overflow:hidden}.cs-hero__image .cs-img-placeholder{border:none;border-right:1.5px dashed var(--line);border-radius:0;height:100%;min-height:600px}.cs-hero__image .cs-img-placeholder span{font-size:1rem}.cs-hero__content{background:var(--bg);align-items:center;padding:5rem 4rem 5rem 5rem;display:flex}.cs-hero__inner{max-width:520px}.cs-hero__title{font-family:var(--font-heading),Sora,sans-serif;letter-spacing:-.03em;color:var(--text);margin:.5rem 0 1.25rem;font-size:clamp(2rem,3.5vw,3rem);font-weight:700;line-height:1.15}.cs-hero__desc{color:var(--muted);max-width:52ch;margin-bottom:2rem;font-size:1rem;line-height:1.78}.cs-tech-pills{flex-wrap:wrap;gap:.5rem;margin-bottom:2.25rem;display:flex}.cs-tech-pill{letter-spacing:.03em;background:color-mix(in srgb,var(--accent)12%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent)30%,transparent);border-radius:999px;padding:.35rem .75rem;font-size:.75rem;font-weight:600}.cs-watch-btn{background:var(--accent);color:#fff;letter-spacing:.01em;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.8rem 1.75rem;font-size:.9rem;font-weight:600;transition:background .2s,transform .15s;display:inline-flex}.cs-watch-btn:hover{background:color-mix(in srgb,var(--accent)85%,#000);transform:translateY(-1px)}.cs-hero__ctas{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.cs-github-btn{color:var(--text);letter-spacing:.01em;border:1px solid var(--line);background:0 0;border-radius:8px;align-items:center;gap:.5rem;padding:.8rem 1.75rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:border-color .2s,color .2s,transform .15s;display:inline-flex}.cs-github-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.cs-overview__grid{grid-template-columns:1fr 1fr;align-items:start;gap:5rem;display:grid}.cs-overview__diagram .cs-img-placeholder{border-radius:12px}.cs-cards-3{grid-template-columns:repeat(3,1fr);gap:1.75rem;display:grid}.cs-card{border:1px solid var(--line);background:var(--bg);border-radius:14px;transition:transform .25s,box-shadow .25s;overflow:hidden}.cs-card:hover{transform:translateY(-3px);box-shadow:0 12px 40px #00000014}.cs-card__image .cs-img-placeholder{border:none;border-bottom:1px solid var(--line);border-radius:0}.cs-card__body{padding:1.5rem 1.5rem 1.75rem}.cs-card__title{font-family:var(--font-heading),Sora,sans-serif;color:var(--text);letter-spacing:-.01em;margin:0 0 .65rem;font-size:1.05rem;font-weight:700}.cs-card__text{color:var(--muted);margin:0;font-size:.9rem;line-height:1.75}.cs-steps{align-items:flex-start;gap:0;margin-bottom:0;display:flex;position:relative}.cs-steps__item{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.cs-steps__image{width:100%;padding:0 .75rem}.cs-steps__image .cs-img-placeholder{border-radius:12px}.cs-steps__label{letter-spacing:.04em;color:var(--muted);text-transform:uppercase;text-align:center;margin-top:.75rem;font-size:.82rem;font-weight:600}.cs-steps__arrow{color:var(--accent);z-index:1;pointer-events:none;font-size:1.5rem;font-weight:700;position:absolute;top:35%;right:-.5rem;transform:translateY(-50%)}.cs-cards-2{grid-template-columns:repeat(2,1fr);gap:1.75rem;display:grid}.cs-val-card{border:1px solid var(--line);background:var(--bg);border-radius:14px;transition:transform .25s,box-shadow .25s;overflow:hidden}.cs-val-card:hover{transform:translateY(-3px);box-shadow:0 12px 40px #00000014}.cs-val-card__image .cs-img-placeholder{border:none;border-bottom:1px solid var(--line);border-radius:0}.cs-val-card__body{padding:1.35rem 1.5rem 1.6rem}.cs-val-card__title{font-family:var(--font-heading),Sora,sans-serif;color:var(--text);margin:0 0 .4rem;font-size:1rem;font-weight:700}.cs-val-card__text{color:var(--muted);margin:0;font-size:.88rem;line-height:1.7}.cs-challenge{border-left:4px solid var(--highlight);background:color-mix(in srgb,var(--highlight)7%,var(--bg));border-radius:16px;max-width:860px;margin:0 auto;padding:3rem 3.5rem}.cs-challenge__title{font-family:var(--font-heading),Sora,sans-serif;letter-spacing:-.02em;color:var(--text);margin:.5rem 0 1.25rem;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:700}.cs-challenge__text{color:var(--muted);max-width:64ch;margin:0;font-size:1rem;line-height:1.82}.cs-video-wrap{border:1px solid var(--line);border-radius:14px;margin-bottom:2rem;overflow:hidden}.cs-video-wrap video{width:100%;display:block}.cs-final-images{grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:4rem;display:grid}.cs-final-images .cs-img-placeholder{border-radius:10px}.cs-outcomes{border:1px solid var(--line);background:var(--bg);border-radius:16px;max-width:780px;margin:0 auto;padding:3rem 3.5rem}.cs-outcomes__title{font-family:var(--font-heading),Sora,sans-serif;letter-spacing:-.015em;color:var(--text);margin:0 0 1.5rem;font-size:1.3rem;font-weight:700}.cs-outcomes__list{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.cs-outcomes__item{color:var(--muted);align-items:flex-start;gap:.85rem;font-size:.95rem;line-height:1.65;display:flex}.cs-outcomes__dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:.52em}.cs-footer-nav{border-top:1px solid var(--line);background:var(--bg);padding:3rem 0 4rem}.cs-arch--multi{gap:0;padding:1.75rem 1.5rem}.cs-arch__top-row{grid-template-columns:1fr 1fr;gap:.75rem;width:100%;margin-bottom:0;display:grid}.cs-arch__mid-arrows{grid-template-columns:1fr 1fr;width:100%;display:grid}.cs-arch__v-arrow{color:var(--accent);opacity:.7;justify-content:center;align-items:center;padding:.3rem 0;font-size:1.1rem;display:flex}.cs-arch__v-arrow--center{width:100%;padding:.3rem 0}.cs-arch__node{justify-content:center;align-items:center;gap:.5rem;display:flex}.cs-arch__node--api{background:color-mix(in srgb,var(--accent-2)10%,var(--bg));border-color:color-mix(in srgb,var(--accent-2)30%,transparent);color:var(--accent-2,var(--accent))}.cs-arch__node--db{background:color-mix(in srgb,var(--highlight)10%,var(--bg));border-color:color-mix(in srgb,var(--highlight)30%,transparent);color:var(--highlight,var(--accent))}.cs-arch__node--web,.cs-arch__node--mobile{font-size:.82rem}.cs-hero--web{grid-template-columns:1fr 1fr}.cs-hero__content--left{order:0;padding:5rem 5rem 5rem 4rem}.cs-hero__screenshot-wrap{background:var(--surface);justify-content:center;align-items:center;padding:3rem 3rem 3rem 1rem;display:flex}.cs-hero__screenshot{border:1px solid var(--line);border-radius:12px;width:100%;overflow:hidden;box-shadow:0 20px 60px #00000026,0 4px 16px #00000014}.cs-hero__screenshot .cs-img-placeholder{border:none;border-radius:0}.cs-arch{border:1px solid var(--line);background:var(--bg);border-radius:14px;flex-direction:column;align-items:center;gap:0;padding:2rem 1.5rem;display:flex}.cs-arch__row{flex-direction:column;align-items:center;width:100%;display:flex}.cs-arch__node{text-align:center;letter-spacing:.01em;width:100%;color:var(--text);border:1px solid var(--line);background:color-mix(in srgb,var(--accent)8%,var(--bg));border-radius:8px;padding:.75rem 1rem;font-size:.88rem;font-weight:600}.cs-arch__arrow{color:var(--accent);opacity:.7;padding:.3rem 0}.cs-process__grid{grid-template-columns:1fr 1fr;align-items:start;gap:5rem;display:grid}.cs-process__img-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.cs-process__img-item .cs-img-placeholder{border-radius:10px}.cs-challenges{grid-template-columns:1fr 1fr;gap:1.75rem;display:grid}.cs-challenge-card{border:1px solid var(--line);background:var(--bg);border-radius:14px;padding:2.25rem 2rem;transition:transform .25s,box-shadow .25s}.cs-challenge-card:hover{transform:translateY(-3px);box-shadow:0 12px 40px #00000012}.cs-challenge-card__icon{background:color-mix(in srgb,var(--accent)10%,var(--bg));border:1px solid color-mix(in srgb,var(--accent)25%,transparent);width:48px;height:48px;color:var(--accent);border-radius:10px;justify-content:center;align-items:center;margin-bottom:1.25rem;display:flex}.cs-challenge-card__title{font-family:var(--font-heading),Sora,sans-serif;letter-spacing:-.01em;color:var(--text);margin:0 0 .65rem;font-size:1.05rem;font-weight:700}.cs-challenge-card__text{color:var(--muted);margin:0;font-size:.9rem;line-height:1.75}.cs-result-grid{grid-template-columns:1fr 1fr;gap:1.25rem;margin:2rem 0 4rem;display:grid}.cs-result-grid__item .cs-img-placeholder{border-radius:10px}@media (max-width:900px){.cs-hero{grid-template-columns:1fr;min-height:auto}.cs-hero__image .cs-img-placeholder{border-right:none;border-bottom:1.5px dashed var(--line);min-height:300px}.cs-hero__content{padding:3rem 2rem}.cs-overview__grid{grid-template-columns:1fr;gap:2.5rem}.cs-cards-3{grid-template-columns:1fr}.cs-steps{flex-direction:column;gap:1.5rem}.cs-steps__arrow{display:none}.cs-steps__image{padding:0}.cs-cards-2{grid-template-columns:1fr}.cs-challenge{padding:2rem 1.75rem}.cs-final-images{grid-template-columns:1fr}.cs-outcomes{padding:2rem 1.75rem}.cs-container{padding:0 1.5rem}.cs-section{padding:4rem 0}.cs-hero--web{grid-template-columns:1fr}.cs-hero__content--left{order:1;padding:3rem 2rem 2rem}.cs-hero__screenshot-wrap{order:0;padding:2rem 1.5rem}.cs-process__grid{grid-template-columns:1fr;gap:2.5rem}.cs-challenges,.cs-result-grid{grid-template-columns:1fr}}
