/* Portfolio case study. Real screenshots and native CMS components. */
.sdx-rag-case__header{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.sdx-rag-case__header h1{font-size:clamp(2.35rem,4.1vw,4.7rem);line-height:1.08}
.sdx-rag-case__tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:1.4rem 0 0;padding:0}
.sdx-rag-case__tags li{border:1px solid #73c7cb66;border-radius:.4rem;padding:.45rem .7rem;font-size:.75rem;color:#c9e9eb}
.sdx-rag-case__figure{margin:0;min-width:0}
.sdx-rag-case__figure>a{position:relative;display:block;border-radius:1rem;overflow:hidden;border:1px solid #80aeb866;box-shadow:0 1rem 3rem #061e2930}
.sdx-rag-case__figure img{display:block;width:100%;height:auto}
.sdx-rag-case__figure figcaption{margin-top:.8rem;color:var(--portfolio-muted);font-size:.8rem;line-height:1.65}
.sdx-rag-case__header figcaption{color:#b8d8dc}
.sdx-rag-case__zoom{position:absolute;bottom:.8rem;right:.8rem;display:flex;gap:.5rem;align-items:center;background:#0a3441;color:#fff;padding:.5rem .7rem;border:1px solid #86c6ca;border-radius:.4rem;font-size:.7rem}
.sdx-rag-case__body{display:grid;gap:clamp(2.75rem,5vw,4.5rem);padding-block:1rem 2rem}
.sdx-rag-case__context{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem)}
.sdx-rag-case__context h2{margin-bottom:1.1rem}
.sdx-rag-case__context p+p{margin-top:1rem}
.sdx-rag-case__role{background:#e8f3f4;border:1px solid var(--portfolio-line);border-radius:1rem;padding:clamp(1.5rem,3vw,2.5rem)}
.sdx-rag-case__role>i{display:block;color:var(--portfolio-accent);font-size:1.75rem;margin-bottom:1rem}
.sdx-rag-case h3{font-size:1.25rem;line-height:1.35;margin:0 0 .8rem}
.sdx-rag-case__scope,.sdx-rag-case__models{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0;border-block:1px solid var(--portfolio-line);padding:1.5rem 0}
.sdx-rag-case dt{font-size:.75rem;color:var(--portfolio-accent);font-weight:700;margin-bottom:.6rem}
.sdx-rag-case dd{margin:0;font-size:.95rem;line-height:1.65}
.sdx-rag-case__intro{margin-top:1.1rem!important;color:var(--portfolio-muted)}
.sdx-rag-case__flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;list-style:none;padding:0;margin:1.8rem 0 0;counter-reset:flow}
.sdx-rag-case__flow li{position:relative;background:#f2f8f9;border:1px solid var(--portfolio-line);border-radius:1rem;padding:1.5rem}
.sdx-rag-case__flow li>span{display:grid;place-items:center;width:2.3rem;height:2.3rem;background:#0b5967;color:#fff;border-radius:50%;font-size:.8rem;margin-bottom:1.4rem}
.sdx-rag-case__flow p,.sdx-rag-case__modules p{font-size:.94rem;color:var(--portfolio-muted);line-height:1.75}
.sdx-rag-case__boundary{border-left:3px solid var(--portfolio-accent);padding:.8rem 1.2rem;background:#f2f8f9;margin-top:1.3rem!important;font-size:.9rem;color:var(--portfolio-muted)}
.sdx-rag-case__modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.8rem}
.sdx-rag-case__modules article{border:1px solid var(--portfolio-line);border-radius:1rem;padding:1.5rem}
.sdx-rag-case__modules article>i{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:.7rem;background:#e6f2f3;color:#196472;font-size:1.3rem;margin-bottom:1.2rem}
.sdx-rag-case__mobile{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:center;gap:clamp(2rem,6vw,6rem);background:#edf6f7;border:1px solid var(--portfolio-line);border-radius:1.3rem;padding:clamp(1.5rem,4vw,3.5rem)}
.sdx-rag-case__figure--mobile{max-width:300px;margin-inline:auto}
.sdx-rag-case__mobile-points{list-style:none;margin:1.8rem 0 0;padding:0;display:grid;gap:1.4rem}
.sdx-rag-case__mobile-points h3{font-size:1.1rem;margin-bottom:.4rem}
.sdx-rag-case__mobile-points p{font-size:.94rem;color:var(--portfolio-muted)}
.sdx-rag-case__measurement{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.sdx-rag-case__metric{border:1px solid #236b78;background:radial-gradient(ellipse at right bottom,#267b8666,transparent),#0a3441;border-radius:1.3rem;padding:clamp(2rem,4vw,3rem);color:#eefafa}
.sdx-rag-case__metric strong{display:block;font-size:clamp(3.5rem,7vw,6rem);line-height:1.1;font-weight:750;letter-spacing:-.045em;margin-bottom:1rem}
.sdx-rag-case__metric p{color:#c9e6e8}
.sdx-rag-case__measurement h2{margin-bottom:1.1rem}
.sdx-rag-case__limits{margin-top:1rem!important;font-size:.88rem;color:var(--portfolio-muted)}
.sdx-rag-case__models{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.5rem}
.sdx-rag-case__result{background:#e5f2f3;border:1px solid var(--portfolio-line);border-radius:1.3rem;padding:clamp(1.5rem,4vw,3rem)}
.sdx-rag-case__result>i{display:block;color:var(--portfolio-accent);font-size:2rem;margin-bottom:1rem}
.sdx-rag-case__result h2{margin-bottom:1.2rem}
.sdx-rag-case__result a{display:inline-flex;align-items:center;gap:.7rem;color:#0b5967;font-weight:700;margin-top:1.3rem}
.sdx-rag-case__related{margin-top:1.5rem}
@media(max-width:1100px){.sdx-rag-case__header{grid-template-columns:minmax(0,1fr)}.sdx-rag-case__header .gallery_container{max-width:850px}.sdx-rag-case__flow{grid-template-columns:repeat(2,minmax(0,1fr))}.sdx-rag-case__modules{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.sdx-rag-case__context,.sdx-rag-case__mobile,.sdx-rag-case__measurement{grid-template-columns:minmax(0,1fr)}.sdx-rag-case__scope{grid-template-columns:repeat(2,minmax(0,1fr))}.sdx-rag-case__mobile{gap:2rem}.sdx-rag-case__models{grid-template-columns:minmax(0,1fr)}.sdx-rag-case__metric strong{font-size:4rem}.sdx-rag-case__flow,.sdx-rag-case__modules{grid-template-columns:minmax(0,1fr)}}
/* Technical edition: readable chapters, functional pipeline and measured results. */
.sdx-rag-case__toc{border:1px solid var(--portfolio-line);border-radius:1rem;padding:1.5rem 2rem;background:#f2f8f9}
.sdx-rag-case__toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 2rem;margin:1rem 0 0;padding-left:1.3rem}
.sdx-rag-case__toc li{padding-left:.35rem;font-size:.94rem}
.sdx-rag-case__toc a{color:var(--portfolio-ink);text-decoration:underline;text-underline-offset:.2em}
.sdx-rag-case__body section[id]{scroll-margin-top:7rem}
.sdx-rag-case__architecture{margin-top:2rem;border:1px solid var(--portfolio-line);border-radius:1.3rem;padding:clamp(1.25rem,3vw,2.5rem);background:linear-gradient(135deg,#e1f0f2,#f7fbfb)}
.sdx-rag-case__pipeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;list-style:none;margin:1.8rem 0 0;padding:0}
.sdx-rag-case__step{min-width:0;padding:1.15rem;border:1px solid #93b9c2;border-radius:.8rem;background:#fff}
.sdx-rag-case__step-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1.2rem}
.sdx-rag-case__step-number{display:grid;place-items:center;flex-shrink:0;width:1.8rem;height:1.8rem;border-radius:50%;background:#0b5967;color:#fff;font-weight:700;font-size:.8rem}
.sdx-rag-case__place{font-size:.68rem;font-weight:700;color:#196472}
.sdx-rag-case__step h4{font-size:1.08rem;line-height:1.45;margin:0 0 .7rem;color:#0a3441}
.sdx-rag-case__step p{font-size:.86rem;line-height:1.75;color:var(--portfolio-muted)}
.sdx-rag-case__step--server{background:#0a3441;border-color:#0a3441}
.sdx-rag-case__step--server h4,.sdx-rag-case__step--server .sdx-rag-case__place{color:#e9fbfc}
.sdx-rag-case__step--server p{color:#c5e2e5}
.sdx-rag-case__step--server .sdx-rag-case__step-number{background:#9adddd;color:#0a3441}
.sdx-rag-case__technical{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(1.5rem,4vw,4rem);border-top:1px solid var(--portfolio-line);padding-top:2rem}
.sdx-rag-case__technical h2{font-size:clamp(1.6rem,2.4vw,2.25rem);line-height:1.2}
.sdx-rag-case__chapter-copy{max-width:78ch;min-width:0}
.sdx-rag-case__chapter-copy>p+p,.sdx-rag-case__bench-notes>p+p{margin-top:1.1rem}
.sdx-rag-case__chapter-copy p{font-size:1rem;line-height:1.9}
.sdx-rag-case__admin-gallery{margin-top:2.5rem}
.sdx-rag-case__admin-gallery>p{font-size:.9rem;color:var(--portfolio-muted);max-width:90ch}
.sdx-rag-case__screens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.5rem;margin-top:1.5rem}
.sdx-rag-case__screens .sdx-rag-case__figure--admin_models{grid-column:1/-1}
.sdx-rag-case__benchmarks>p,.sdx-rag-case__references>p{margin-top:1.1rem!important}
.sdx-rag-case__table-wrap{overflow-x:auto;overflow-y:hidden;margin:1.5rem 0 2rem;border:1px solid var(--portfolio-line);border-radius:.8rem}
.sdx-rag-case__table-wrap table{width:100%;border-collapse:collapse;font-size:.9rem;line-height:1.7}
.sdx-rag-case__table-wrap th,.sdx-rag-case__table-wrap td{text-align:left;padding:1rem;vertical-align:top;border-bottom:1px solid var(--portfolio-line)}
.sdx-rag-case__table-wrap thead{background:#0a3441;color:#e9fbfc}
.sdx-rag-case__table-wrap tbody th{font-weight:600;width:38%}
.sdx-rag-case__table-wrap tbody td:nth-child(2){white-space:nowrap;color:#0b5967;font-weight:700}
.sdx-rag-case__table-wrap tr:last-child>*{border-bottom:0}
.sdx-rag-case__table-wrap tbody tr:nth-child(even){background:#f2f8f9}
.sdx-rag-case__references ul{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;list-style:none;margin:1.2rem 0 0;padding:0}
.sdx-rag-case__references a{color:#0b5967;text-decoration:underline;text-underline-offset:.2em;font-size:.9rem}
@media(max-width:1100px){.sdx-rag-case__pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.sdx-rag-case__technical,.sdx-rag-case__screens,.sdx-rag-case__toc ol,.sdx-rag-case__pipeline{grid-template-columns:minmax(0,1fr)}.sdx-rag-case__toc{padding:1.25rem}.sdx-rag-case__table-wrap table{font-size:.8rem}.sdx-rag-case__table-wrap th,.sdx-rag-case__table-wrap td{padding:.7rem}.sdx-rag-case__table-wrap tbody th{width:34%}.sdx-rag-case__chapter-copy p{font-size:.96rem}}

/* Follow the numbered pipeline across the first row, then back across the second. */
.sdx-rag-case__step{position:relative}
@media(min-width:1101px){
 .sdx-rag-case__step:nth-child(5){grid-column:4;grid-row:2}.sdx-rag-case__step:nth-child(6){grid-column:3;grid-row:2}.sdx-rag-case__step:nth-child(7){grid-column:2;grid-row:2}.sdx-rag-case__step:nth-child(8){grid-column:1;grid-row:2}
 .sdx-rag-case__step:not(:last-child)::after{content:"→";position:absolute;right:-.9rem;top:50%;z-index:1;color:#0b5967;font-size:1rem;font-weight:700}
 .sdx-rag-case__step:nth-child(4)::after{content:"↓";left:50%;right:auto;top:auto;bottom:-1.4rem}
 .sdx-rag-case__step:nth-child(n+5):not(:last-child)::after{content:"←";left:-.9rem;right:auto}
}
@media(max-width:767px){.sdx-rag-case__step:not(:last-child)::after{content:"↓";position:absolute;left:50%;bottom:-1.4rem;z-index:1;color:#0b5967;font-weight:700}}
