/* Shared editorial layout for the project cards and dedicated case studies. */
.stack{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:20px 0;padding:0}.stack li{font-size:12px;border:1px solid #ffffff30;background:#ffffff08;border-radius:30px;padding:7px 11px;color:#ece9fa}
.showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.showcase-card{position:relative;display:flex;flex-direction:column}.showcase-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#edf1f7;border-bottom:1px solid var(--line)}.showcase-image img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .35s}.showcase-image:hover img{transform:scale(1.025)}.showcase-copy{padding:28px;display:flex;flex-direction:column;flex:1;background:linear-gradient(180deg,#130f2910,#130f2945)}.showcase-meta{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:center}.showcase-meta .tag{font-size:11px;letter-spacing:.13em}.showcase-meta>span:last-child{font-size:11px;color:var(--soft)}.showcase-copy h3{font-size:30px;margin:22px 0 10px}.showcase-copy p{color:var(--soft);line-height:1.65;margin:0}.showcase-copy .text-link{margin-top:auto;align-self:flex-start;padding-top:8px;font-size:15px}
.study-page:before{background-image:linear-gradient(#0e0b22b8,#0e0b22da),url('../images/sunset-landscape.png')}.study-page .wrap{max-width:1120px}.study-page nav .logo{color:white;text-decoration:none;padding:8px 0}.study-page nav{border-radius:28px}.study-hero{padding:76px 0 36px;max-width:880px}.study-name{font-size:18px;margin:24px 0 12px;color:#d4c3fc}.study-hero h1{font-size:clamp(38px,5.5vw,66px);line-height:1.08;margin:0 0 22px}.study-hero .lead{max-width:42em}.study-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:26px}.study-screen{position:relative;margin:18px 0 28px;padding:12px;border-radius:24px}.study-screen img{display:block;width:100%;height:auto;border-radius:15px;background:#fff}.study-screen figcaption{font-size:13px;line-height:1.6;color:var(--soft);padding:14px 10px 3px}.study-stats{position:relative;display:grid;grid-template-columns:repeat(3,1fr);padding:26px 12px;margin:24px 0 60px}.study-stats>div{padding:4px 22px;border-right:1px solid var(--line)}.study-stats>div:last-child{border:0}.study-stats strong{display:block;font-size:36px;font-weight:500}.study-stats span{display:block;font-size:13px;line-height:1.5;color:var(--soft);margin-top:8px}.study-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;margin:64px 0}.study-section h2,.engineering h2{font-size:32px;line-height:1.2;margin:14px 0 20px;font-weight:500}.study-section p,.engineering p{line-height:1.8;font-size:17px;color:#e0ddeb;margin:0}.study-section h3{font-size:21px;margin:24px 0 12px}.journey{position:relative;padding:28px}.journey ol{list-style:none;display:flex;gap:18px;padding:0;margin:24px 0 0}.journey li{flex:1;line-height:1.5;font-size:15px}.journey li span{display:block;width:32px;height:32px;border-radius:50%;background:#ddd3ff22;display:grid;place-items:center;color:#e1d4ff;font-size:11px;margin-bottom:12px}.study-features article{border-bottom:1px solid #ffffff25;padding:0 0 28px;margin-bottom:28px}.study-features article:last-child{margin-bottom:0}.study-features h3{margin-top:12px}.engineering{position:relative;padding:36px}.engineering p{max-width:52em}.evidence-note{font-size:13px;line-height:1.6;color:var(--soft);border-top:1px solid #ffffff25;padding-top:20px}.next-project{position:relative;display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:white;padding:30px;margin:44px 0}.next-project strong{display:block;font-weight:500;font-size:30px;margin-top:10px}.next-project>span:last-child{font-size:34px}.study-page footer a{color:inherit;text-underline-offset:4px}.skip-link{position:fixed;left:12px;top:-100px;z-index:20;background:white;color:#17102e;padding:12px 20px;border-radius:20px}.skip-link:focus{top:12px}
@media(max-width:760px){.showcase-grid{grid-template-columns:1fr}.study-section{grid-template-columns:1fr;gap:12px;margin:44px 0}.study-hero{padding-top:44px}.study-stats{margin-bottom:40px}.study-stats>div{padding:4px 12px}.study-stats strong{font-size:27px}.journey ol{flex-wrap:wrap}.journey li{flex:1 1 100px}.engineering{padding:26px}.study-section h2,.engineering h2{font-size:28px}.study-page nav{gap:4px}.study-page nav>a{font-size:13px}.study-page nav>.btn{padding:10px 12px}.showcase-copy{padding:24px}}
@media(max-width:420px){.study-stats{grid-template-columns:1fr;gap:16px}.study-stats>div{border-right:0;border-bottom:1px solid var(--line);padding-bottom:16px}.study-stats>div:last-child{padding-bottom:4px}.study-stats strong{font-size:32px}.study-screen{padding:8px}.study-screen figcaption{font-size:12px}.study-page nav .logo{font-size:16px}}
@media(prefers-reduced-motion:reduce){.showcase-image img{transition:none}.showcase-image:hover img{transform:none}}
.scenario-section{margin:60px 0;scroll-margin-top:30px}.scenario-section>h2{font-size:clamp(28px,4vw,38px);margin:14px 0}.scenario-section>p{max-width:760px;color:var(--soft);line-height:1.7}.scenario-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}.scenario-card{position:relative;display:block;color:inherit;text-decoration:none;overflow:hidden;border-radius:24px}.scenario-card>img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#f6f5f1}.scenario-copy{display:block;padding:24px}.scenario-copy h3{font-size:23px;margin:12px 0 18px}.scenario-card:focus-visible,.scenario-dialog button:focus-visible{outline:3px solid #dabdff;outline-offset:4px}.gallery-open{overflow:hidden}.scenario-dialog{box-sizing:border-box;width:min(960px,calc(100% - 32px));max-height:92dvh;margin:auto;padding:0;border:1px solid #ffffff50;border-radius:24px;color:#f5f1ff;background:linear-gradient(140deg,#302945f5,#171524fa);box-shadow:0 24px 100px #0008;overflow:auto;font-family:inherit}.scenario-dialog::backdrop{background:#0c0819bd;backdrop-filter:blur(7px)}.scenario-toolbar{display:flex;align-items:center;justify-content:space-between;padding:16px 22px}.scenario-dialog button{font:inherit;color:inherit;background:#ffffff12;border:1px solid #ffffff35;border-radius:24px;padding:10px 16px;cursor:pointer;min-height:44px}.scenario-dialog button:hover{background:#ffffff25}.scenario-dialog>img{display:block;width:100%;max-height:53dvh;object-fit:contain;background:#f6f5f1}.scenario-detail{padding:22px 28px}.scenario-detail h2{font-size:26px;margin:0 0 10px}.scenario-detail p{color:#e0ddeb;line-height:1.65;margin:0}.scenario-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.scenario-controls>span{font-size:12px;color:#c6bfd6;text-align:center}@media(max-width:600px){.scenario-grid{grid-template-columns:1fr}.scenario-detail{padding:20px}.scenario-controls{flex-wrap:wrap}.scenario-controls>span{order:3;width:100%}.scenario-toolbar{padding:12px 16px}.scenario-detail h2{font-size:22px}.scenario-dialog>img{max-height:40dvh}}
/* Evidence summaries and a scroll-guided product story. */
.outcome-section{margin:52px 0}.outcome-section h2{font-size:clamp(28px,4vw,38px);margin:14px 0 24px}.outcome-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.outcome-grid>div{border:1px solid #ffffff30;border-radius:22px;padding:24px;background:linear-gradient(145deg,#ffffff0d,#ffffff03)}.outcome-grid dt,.outcome-compact dt{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#d9bfff;margin-bottom:12px}.outcome-grid dd{margin:0;color:var(--soft);font-size:15px;line-height:1.75}.outcome-grid>div:last-child{border-color:#c9aeff60;background:#ad88ff0c}.outcome-compact{display:grid;gap:16px;margin:22px 0 0;padding-top:20px;border-top:1px solid #ffffff20}.outcome-compact dt{font-size:10px;margin-bottom:5px}.outcome-compact dd{font-size:13px;line-height:1.65;color:var(--soft);margin:0}.guided-story{margin:72px 0;scroll-margin-top:110px}.story-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start}.story-stage{position:sticky;top:110px;margin:0;padding:12px;border-radius:24px}.story-image-wrap{position:relative;overflow:hidden;border-radius:16px;background:#f7f6f1}.story-image-wrap>img{display:block;width:100%;height:auto;aspect-ratio:1265/712;object-fit:contain}.story-focus{position:absolute;left:22.7%;width:53.5%;top:var(--focus-top,55%);height:var(--focus-height,41%);border:2px solid #af64ff;border-radius:10px;box-shadow:0 0 0 999px #21143725,0 0 15px #b579ff65;pointer-events:none;transition:top .4s,height .4s}.story-stage figcaption{display:flex;gap:16px;align-items:center;padding:20px 10px 12px}.story-stage figcaption span{color:#d4b7ff;font-size:12px;white-space:nowrap}.story-stage figcaption strong{font-size:17px;font-weight:500}.story-stage .story-nav{position:static;display:flex;justify-content:flex-start;padding:0 8px 8px;gap:8px;background:none;border-radius:0}.story-nav a{display:grid;place-items:center;border:1px solid #ffffff25;border-radius:50%;width:38px;height:38px;padding:0;font-size:12px}.story-nav a[aria-current]{background:#dac3ff;color:#221333;border-color:#dac3ff}.story-chapter{min-height:65vh;padding:64px 0;scroll-margin-top:145px;border-top:1px solid #ffffff22}.story-chapter:first-child{padding-top:30px}.story-chapter h3{font-size:clamp(25px,3vw,33px);line-height:1.2;margin:18px 0}.story-chapter p{color:var(--soft);line-height:1.8;font-size:16px}.story-takeaway{display:block;color:#dcc6ff;font-size:14px;border-left:2px solid #c29af9;padding:8px 0 8px 16px;margin:24px 0}.story-chapter.is-current{border-color:#dabaff80}.story-mobile-image{display:none}.story-chapter .text-link{white-space:normal}.story-chapter:last-child{min-height:55vh}@media(max-width:800px){.outcome-grid{grid-template-columns:1fr}.story-layout{display:block}.story-stage{display:none}.story-mobile-image{display:block;width:100%;border-radius:16px;margin-top:24px}.story-chapter,.story-chapter:last-child{min-height:0;padding:30px 0}.guided-story{margin:48px 0}}@media(prefers-reduced-motion:reduce){.story-stage{display:none}.story-layout{display:block}.story-mobile-image{display:block;width:100%;max-width:720px;border-radius:16px;margin-top:24px}.story-chapter,.story-chapter:last-child{min-height:0;padding:30px 0}.story-focus{transition:none}}
.guided-story:not(.story-enhanced) .story-stage{display:none}.guided-story:not(.story-enhanced) .story-layout{display:block}.guided-story:not(.story-enhanced) .story-mobile-image{display:block;width:100%;max-width:720px;border-radius:16px;margin-top:24px}.guided-story:not(.story-enhanced) .story-chapter{min-height:0;padding:30px 0}
/* Concept artwork keeps its complete composition across screen sizes. */
.story-image-wrap{background:#191329}.story-image-wrap>img{aspect-ratio:3/2}.project-preview:has(img[src*="guest-story"]),.showcase-image:has(img[src*="guest-story"]){background:#191329}.project-preview img[src*="guest-story"],.showcase-image img[src*="guest-story"]{object-fit:contain}.story-mobile-image{height:auto}
/* Consistent illustrated covers across the complete project collection. */
.showcase-image:has(img[src*="-story-"]){background:#191329;aspect-ratio:3/2}.showcase-image img[src*="-story-"]{object-fit:contain}.study-screen img[src*="-story-"]{background:#191329}.report-evidence{position:relative;padding:24px;margin:40px 0}.report-evidence summary{cursor:pointer;font-size:17px;min-height:32px}.report-evidence p{color:var(--soft);line-height:1.7}.report-evidence img{display:block;width:100%;height:auto;margin-top:20px;border-radius:16px}.report-evidence summary:focus-visible{outline:2px solid #dbc4ff;outline-offset:5px}
/* Each project keeps a distinct visual identity within the shared layout. */
[data-project="clearflow"]{--project-accent:#a9ddfa;--project-art-bg:#edf7fc;--project-accent-ink:#102d40}
[data-project="techdesk"]{--project-accent:#70dce7;--project-art-bg:#111b26;--project-accent-ink:#08252c}
[data-project="car-price-prediction"]{--project-accent:#f0bc70;--project-art-bg:#262727;--project-accent-ink:#35240c}
[data-project="guest-check-in"]{--project-accent:#dac3ff;--project-art-bg:#191329;--project-accent-ink:#221333}
[data-project] .story-image-wrap,[data-project] .showcase-image:has(img[src*="-story-"]),[data-project] .study-screen img[src*="-story-"]{background:var(--project-art-bg)}
[data-project] .story-stage figcaption span,[data-project] .story-takeaway,[data-project] .outcome-grid dt,[data-project] .outcome-compact dt{color:var(--project-accent)}
[data-project] .story-nav a[aria-current]{background:var(--project-accent);border-color:var(--project-accent);color:var(--project-accent-ink)}
[data-project] .story-takeaway,[data-project] .story-chapter.is-current{border-color:var(--project-accent)}
[data-project] .showcase-copy .text-link:hover{color:var(--project-accent)}
