.case-page .case-hero{padding-block:60px 40px}.case-page .case-hero h1{font-size:clamp(2.5rem,5vw,4rem);line-height:1.05;letter-spacing:-.045em}.case-page .case-layout{display:block;max-width:1180px;padding-top:24px}.case-page .case-toc{position:relative;top:auto;display:flex;flex-direction:row;flex-wrap:wrap;overflow:visible;gap:8px;margin:0 0 40px;padding:18px 0;border-bottom:1px solid var(--line)}.case-page .case-toc a{font-size:14px}.case-page .case-body{max-width:none}.case-page .case-body section{padding-block:36px;scroll-margin-top:100px}.case-page .case-body h2{font-size:clamp(1.8rem,3vw,2.6rem);max-width:850px;line-height:1.15}.case-page .case-body section>p{max-width:760px}.case-page .case-body p{font-size:16px}.case-page .case-summary{gap:24px}.case-page .case-summary>p{max-width:620px}.case-page .decision-grid{gap:18px}.case-page .flow{flex-wrap:wrap;overflow:visible}.case-page .flow-step{flex:1 1 120px}.case-page .case-body section+section{border-top:1px solid var(--line)}
.screen-gallery{max-width:1144px;margin:0 auto 32px;padding:0 18px}.case-body .screen-gallery{padding:0}.screen-figure{margin:0}.screen-topline{display:flex;justify-content:space-between;gap:16px;padding:12px 16px;background:#202126;color:#ccc;font-size:13px}.screen-frame{background:#eee;border:1px solid var(--line);border-radius:16px;overflow:hidden}.screen-crop{max-height:560px;overflow:hidden}.screen-crop img{width:100%;height:auto;max-width:none}.screen-crop.is-expanded{max-height:none}.screen-caption{padding:16px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--muted);font-size:14px}.screen-controls{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0}.screen-controls button,.screen-tabs button,.screen-controls a{font:inherit;color:var(--text);border:1px solid #555;border-radius:24px;padding:10px 16px;background:transparent;cursor:pointer;text-decoration:none}.screen-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.screen-tabs button[aria-pressed=true]{background:var(--text);color:var(--ink)}.screen-panel[hidden]{display:none}.screen-panel h3{margin-top:0}.screen-panel>p{max-width:720px}.screen-demo{width:100%;height:650px;border:0;display:block;background:white}.screen-detail{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}.screen-detail img{width:100%;border-radius:12px}.screen-detail figcaption{color:var(--muted);padding:12px 0;font-size:14px}.project-nav{max-width:1144px;margin:auto;padding:30px 18px 48px;display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line)}.project-nav a{color:var(--text);padding:12px 18px;border:1px solid var(--line);border-radius:24px;text-decoration:none}.project-nav a[aria-current=page]{color:var(--lime)}
.constraint-grid,.content-patterns,.validation-list,.metric-plan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0}.constraint-grid article,.content-patterns article,.metric-plan article{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.constraint-grid small,.content-patterns small{display:block;margin-bottom:14px;color:var(--orange);font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.1em}.constraint-grid strong,.content-patterns strong,.metric-plan strong{display:block;font-size:18px;line-height:1.25}.constraint-grid p,.content-patterns p,.metric-plan p{margin:10px 0 0!important;font-size:14px!important}.question-list{margin:28px 0;border-top:1px solid var(--line)}.question-list article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.question-list span{color:var(--lime);font-weight:750}.question-list p{margin:0!important}.callout.neutral strong{color:var(--orange)}.decision-table{margin:28px 0;overflow:hidden;border:1px solid var(--line);border-radius:14px}.table-row{display:grid;grid-template-columns:.65fr 1fr 1.2fr;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line);color:#c1beb7;font-size:14px}.table-row:last-child{border-bottom:0}.table-row strong{color:var(--text)}.table-row.table-head{color:var(--muted);background:var(--surface);font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.validation-list{grid-template-columns:repeat(2,minmax(0,1fr))}.validation-list article{padding:18px 0;border-top:1px solid var(--line)}.validation-list span{color:var(--lime);font-size:13px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.validation-list p{margin:8px 0 0!important;font-size:15px!important}.metric-plan{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-note{margin-top:18px!important;color:var(--muted)!important;font-size:14px!important}
@media(max-width:760px){.constraint-grid,.content-patterns,.validation-list,.metric-plan{grid-template-columns:1fr}.table-row{grid-template-columns:1fr;gap:6px}.table-row.table-head{display:none}}
@media(max-width:650px){.screen-crop{max-height:340px}.screen-caption{align-items:flex-start;flex-direction:column}.screen-detail{grid-template-columns:1fr}.screen-demo{height:580px}.case-page .case-hero{padding-block:36px}.screen-tabs button{font-size:14px}.case-page .case-toc{margin-bottom:20px}.screen-controls{flex-shrink:1}}

/* Minimal case typography */
.case-page .case-hero h1{font-size:clamp(2.35rem,4.5vw,3.8rem);font-weight:440;line-height:1.06;letter-spacing:-.05em}
.case-page .case-body h2{font-size:clamp(1.75rem,2.7vw,2.35rem);font-weight:500;line-height:1.15}
.case-page .case-body h3{font-size:1.1rem;font-weight:550}
.case-page .case-body p,.case-page .case-body li{font-size:16px;line-height:1.7}
.case-page .case-toc a{font-size:13px;font-weight:450}

/* Rhopen LP screenshots: keep the presentation below the source-detail limit. */
.rhopen-lp-panel .screen-figure{width:min(100%,780px);margin-inline:auto}
.rhopen-lp-panel .screen-crop img{image-rendering:auto}
.screen-topline,.screen-caption,.screen-controls button,.screen-tabs button,.screen-controls a{font-size:13px}
.decision,.constraint-grid article,.content-patterns article,.metric-plan article{border-radius:12px}
.decision h3,.constraint-grid strong,.content-patterns strong,.metric-plan strong{font-size:1.05rem;font-weight:550}
.metric strong{font-size:1.35rem;font-weight:560}
.next-case strong{font-size:clamp(1.65rem,3.8vw,2.7rem);font-weight:520}

@media(max-width:650px){
  .case-page .case-hero h1{font-size:clamp(2rem,9vw,2.65rem)}
  .case-page .case-body h2{font-size:clamp(1.7rem,8vw,2.2rem)}
}

/* Fullscreen project viewer */
.featured-layout{margin-top:28px}
.featured-layout .screen-figure{width:min(100%,900px);margin-inline:auto}
.image-viewer[hidden]{display:none}
.image-viewer{position:fixed;inset:0;z-index:1000;padding:14px;display:grid;place-items:center;background:rgba(4,4,6,.92);backdrop-filter:blur(12px)}
.image-viewer-panel{width:min(1440px,100%);height:calc(100dvh - 28px);overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:#151518;box-shadow:0 28px 90px rgba(0,0,0,.5)}
.image-viewer-header{min-height:58px;padding:10px 14px 10px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#f5f3ee;border-bottom:1px solid rgba(255,255,255,.13);background:#202126;font-size:14px}
.image-viewer-header button{min-height:38px;padding:8px 14px;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:#fff;background:transparent;font:inherit;cursor:pointer}
.image-viewer-scroll{height:calc(100% - 58px);overflow:auto;overscroll-behavior:contain;background:#eef0f4}
.image-viewer-scroll img{width:100%;height:auto;display:block}
.viewer-open{overflow:hidden}

@media(max-width:650px){
  .image-viewer{padding:0}
  .image-viewer-panel{height:100dvh;border:0;border-radius:0}
  .image-viewer-header{min-height:54px}
  .image-viewer-scroll{height:calc(100% - 54px)}
}
