/* Shared project directory and editorial case-study system. */
:root { --case-paper:#050505; --case-ink:#ededed; --case-muted:#929292; --case-nav-muted:#666666; --case-line:#282828; --case-accent:#bcbcbc; }
.projects-modal { font-family:"Avenir Next","PingFang SC","Hiragino Sans GB",sans-serif; }
.projects-modal-shell { width:min(1400px,calc(100% - 96px)); padding-top:100px; }
.projects-modal-header { padding-bottom:36px; align-items:center; }
.projects-modal-title { font-weight:500; letter-spacing:-.06em; }
.projects-modal-body { display:block; padding-top:0; }
.projects-modal-actions { display:flex; gap:12px; align-items:center; margin-right:20px; }
.projects-modal-actions a, .content-refresh { color:#a9ada2; font-size:12px; border:1px solid #373b33; background:none; border-radius:3px; padding:10px 13px; text-decoration:none; cursor:pointer; }
.catalog-toolbar { display:flex; gap:28px; align-items:center; justify-content:space-between; padding:32px 0 22px; border-bottom:1px solid #252922; }
.catalog-filters { display:flex; flex-wrap:wrap; gap:8px 22px; }
.catalog-filters button { background:none; border:0; padding:9px 0; color:#7f8778; font-size:13px; cursor:pointer; white-space:nowrap; }
.catalog-filters button[aria-pressed="true"] { color:#edf2e6; box-shadow:0 1px #edf2e6; }
.catalog-search { flex:0 1 250px; min-width:180px; }
.catalog-search span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.catalog-search input { display:block; width:100%; border:1px solid #383e32; border-radius:3px; padding:12px 15px; background:#0d100a; color:#e8e8e3; font-family:inherit; font-size:13px; outline-offset:4px; }
.catalog-meta { display:flex; justify-content:space-between; align-items:center; color:#92998b; font-size:12px; padding:18px 0 28px; }
.catalog-meta select { background:#10130d; color:#bac3af; border:1px solid #343b2e; border-radius:3px; font:inherit; padding:7px 9px; margin-left:8px; }
.catalog-count { margin:0; font-variant-numeric:tabular-nums; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 28px; }
.catalog-card { min-width:0; text-decoration:none; color:inherit; display:block; }
.catalog-art { position:relative; display:flex; align-items:center; justify-content:center; aspect-ratio:21/9; overflow:clip; background:#090b07; }
.catalog-art img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.catalog-card:hover .catalog-art img { transform:scale(1.025); }
.catalog-number { position:absolute; left:12px; top:12px; color:#fff; background:#0009; padding:4px 7px; font:10px monospace; }
.catalog-open { display:grid; place-items:center; width:32px; height:32px; position:absolute; right:12px; bottom:12px; color:#fff; background:#0009; border:1px solid #fff4; border-radius:50%; transition:background .2s; }
.catalog-card:hover .catalog-open { background:#566c44; }
.catalog-card-meta { display:flex; justify-content:space-between; gap:12px; margin-top:19px; color:#88947d; font-size:11px; }
.catalog-card h3 { font-size:clamp(21px,2vw,28px); font-weight:500; letter-spacing:-.035em; margin:10px 0 9px; line-height:1.3; }
.catalog-card p { color:#959c8f; font-size:13px; line-height:1.8; margin:0; max-width:39em; }
.catalog-type-art { padding:40px 30px; font-size:clamp(24px,2.8vw,44px); color:#7c896f; font-weight:400; letter-spacing:-.04em; line-height:1.25; }
.no-cover .catalog-art { border:1px solid #30382a; background:#11160e; }
.catalog-empty { grid-column:1/-1; padding:80px 20px; text-align:center; color:#aaa; }
.catalog-empty h3 { font-size:24px; color:#eee; }
.catalog-empty button { color:#eee; background:none; border:1px solid #555; padding:10px 16px; cursor:pointer; }
.project-modal { background:var(--case-paper); color:var(--case-ink); }
.project-modal > .work-modal-close { color:#ededed; background:#050505eb; border-color:#444444; }
.project-modal-scroll { overscroll-behavior:contain; scrollbar-color:#555555 var(--case-paper); }
.case-shell { width:min(1280px,calc(100% - 100px)); margin:0 auto; padding:60px 0 100px; color:var(--case-ink); font-family:"Avenir Next","PingFang SC","Hiragino Sans GB",sans-serif; }
.case-topline { display:flex; align-items:center; gap:28px; padding:0 80px 27px 0; border-bottom:1px solid var(--case-line); color:var(--case-muted); font-size:12px; }
.case-topline span:last-child { margin-left:auto; }
.case-back { color:var(--case-ink); text-decoration:none; }
.case-heading { display:grid; grid-template-columns:1.1fr .9fr; gap:7%; align-items:end; padding:64px 0 46px; }
.case-label { color:var(--case-accent); font-size:13px; margin:0 0 17px; }
.case-heading h1 { margin:0; font-weight:500; font-size:clamp(44px,5.4vw,78px); line-height:1.12; letter-spacing:-.065em; overflow-wrap:anywhere; }
.case-summary { color:#aaaaaa; font-size:17px; line-height:1.9; margin:0; }
.case-cover { margin:0; width:100%; background:#101010; }
.case-cover img { display:block; width:100%; max-height:560px; }
.case-image-open { display:block; padding:0; border:0; background:none; cursor:zoom-in; width:100%; color:inherit; }
.case-image-open img { display:block; width:100%; height:auto; }
.case-image-link { display:block; position:relative; text-decoration:none; }
.case-image-link-hint { position:absolute; right:12px; bottom:12px; padding:8px 12px; background:#101010; color:#fff; border-radius:6px; font-size:12px; line-height:1.5; opacity:0; pointer-events:none; }
.case-image-link:hover .case-image-link-hint,.case-image-link:focus-visible .case-image-link-hint { opacity:1; }
.case-image-link:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.case-meta { display:flex; gap:35px 65px; flex-wrap:wrap; padding:30px 0; margin:0; border-bottom:1px solid var(--case-line); }
.case-meta dt { color:var(--case-muted); font-size:11px; margin-bottom:10px; }
.case-meta dd { margin:0; font-size:14px; }
.case-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:28px; margin:0; padding:34px 0; border-bottom:1px solid var(--case-line); }
.case-metrics dd { margin:0 0 9px; font-size:clamp(30px,3vw,44px); letter-spacing:-.06em; }
.case-metrics dt { font-size:13px; color:#aaaaaa; }
.case-metrics small { display:block; font-size:11px; color:#929292; margin-top:8px; line-height:1.6; }
.case-links { display:flex; flex-wrap:wrap; gap:14px; padding:24px 0; }
.case-external { color:#dedede; border-bottom:1px solid #555555; padding:8px 0; font-size:13px; text-decoration:none; display:inline-flex; gap:24px; align-items:center; }
.case-reading { display:grid; grid-template-columns:170px minmax(0,1fr); gap:70px; padding-top:68px; }
.case-contents { position:sticky; top:40px; align-self:start; font-size:11px; }
.case-contents > span { display:block; color:#929292; margin-bottom:22px; }
.case-contents nav { display:grid; gap:5px; }
.case-contents a { display:flex; gap:12px; color:#929292; text-decoration:none; line-height:1.7; padding:9px 0; }
.case-contents small { color:#666666; font:10px monospace; padding-top:3px; }
.case-contents a.active, .case-contents a:hover { color:#ffffff; }
.case-section { padding:0 0 64px; margin-bottom:48px; border-bottom:1px solid var(--case-line); scroll-margin-top:36px; }
.case-section-cover { margin:0 0 28px; }
.case-section > header { display:flex; align-items:baseline; gap:18px; margin-bottom:28px; }
.case-section > header > span { color:#777777; font:11px monospace; }
.case-section h2 { font-size:clamp(26px,2.5vw,36px); line-height:1.3; font-weight:500; letter-spacing:-.03em; margin:0; }
.case-blocks { display:grid; gap:26px; }
.case-flowboard { display:block; width:100%; height:490px; border:1px solid #d9ddd4; border-radius:12px; background:#f9faf6; color-scheme:light; }
@media(max-width:600px){.case-flowboard{height:430px;}}
.case-prose p { font-size:16px; line-height:1.95; margin:0 0 16px; color:#bdbdbd; max-width:58em; }
.case-prose p:last-child { margin-bottom:0; }
.case-list { margin:0; padding:0; list-style:none; color:#bdbdbd; font-size:15px; line-height:1.9; }
.case-list li { padding:0 0 15px; }
.case-list li:last-child { padding-bottom:0; }
.case-steps { list-style:none; display:grid; gap:0; margin:0; padding:0; }
.case-steps li { display:flex; gap:18px; padding:18px 0; border-bottom:1px solid var(--case-line); }
.case-steps li:last-child { border-bottom:0; }
.case-steps li > span { font:12px monospace; color:#777777; padding-top:5px; }
.case-steps h4 { font-size:16px; font-weight:500; margin:0 0 8px; }
.case-steps p { font-size:13px; line-height:1.8; margin:0; color:#aaaaaa; }
.case-comparison { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:18px; }
.case-comparison > article { min-width:0; background:#111111; padding:24px 20px; border-top:2px solid #555555; }
.comparison-top { display:flex; justify-content:space-between; color:#999999; font-size:10px; margin-bottom:23px; gap:12px; }
.comparison-top b { font-weight:500; }
.case-comparison h4 { font-size:19px; line-height:1.5; font-weight:500; margin:0 0 14px; }
.case-comparison p,.case-comparison ul { color:#aaaaaa; font-size:13px; line-height:1.85; }
.case-comparison .case-steps h4 { font-size:14px; margin-bottom:5px; }
.case-comparison .case-steps p { font-size:12px; }
.case-comparison .case-steps li { gap:10px; }
.comparison-note { border-top:1px solid #333333; padding-top:18px; margin:22px 0 0; }
.case-callout { border-left:3px solid #777777; background:#111111; padding:22px 25px; }
.case-callout h4 { font-size:15px; margin:0 0 12px; font-weight:500; }
.case-callout p { margin:0; font-size:15px; line-height:1.9; color:#bdbdbd; }
.case-gallery { display:grid; gap:30px 22px; }
.case-gallery figure { margin:0; min-width:0; }
.gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.gallery-phones { grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); align-items:start; }
.case-gallery img, .case-gallery video { display:block; width:100%; height:auto; background:#101010; }
.gallery-phones img,.gallery-phones video { max-height:560px; object-fit:contain; }
.case-gallery figcaption { color:#929292; font-size:12px; line-height:1.8; padding-top:13px; }
.case-article-card { display:flex; flex-direction:column; box-sizing:border-box; width:min(100%,440px); padding:20px 20px 12px; border:1px solid #ededed; border-radius:6px; background:#fff; color:#191919; text-decoration:none; }
.case-article-card-title { font-size:20px; line-height:1.5; font-weight:500; overflow-wrap:anywhere; }
/* Clip the screenshot to its top article image; retain the original uploaded file. */
.case-article-card-thumb { display:block; width:min(128px,42%); aspect-ratio:2.35; overflow:hidden; margin:20px 0 20px auto; background:#f5f5f5; }
.case-article-card-thumb img { display:block; width:100%; height:auto; }
.case-article-card-publisher { display:block; padding-top:10px; border-top:1px solid #ededed; font-size:14px; line-height:1.5; color:#a4a4a4; }
.case-article-card:hover { border-color:#b5db62; }
.case-draft { padding:100px 0; border-top:1px solid var(--case-line); }
.case-draft span { font:11px monospace; color:#888888; }
.case-draft h2 { font-weight:400; font-size:32px; }
.case-draft p { color:var(--case-muted); }
.case-related { margin-left:240px; }
.case-related > p { color:#929292; font-size:12px; }
.case-related > a { display:flex; gap:24px; align-items:center; color:var(--case-ink); text-decoration:none; padding:24px 0; border-bottom:1px solid var(--case-line); }
.case-related span { font-size:25px; }
.case-related small { margin-left:auto; color:var(--case-muted); }
.case-related b { font-weight:400; }
.case-shell :focus-visible { outline:2px solid #eeeeee; outline-offset:5px; }
.case-lightbox { width:min(1400px,94vw); max-height:94svh; padding:50px 20px 20px; background:#101010; color:#eeeeee; border:1px solid #444444; }
.case-lightbox::backdrop { background:#000d; }
.case-lightbox > button { position:absolute; right:18px; top:15px; background:none; border:0; cursor:pointer; }
.case-lightbox > img { max-width:100%; max-height:78svh; object-fit:contain; display:block; margin:auto; }
.case-lightbox > p { font-size:13px; }
.media-unavailable { display:block; padding:35px; color:#999999; font-size:14px; }
.content-error { position:fixed; bottom:70px; right:18px; z-index:900; max-width:min(540px,calc(100vw - 36px)); padding:20px; color:#ffedce; background:#422c16; border:1px solid #9d7244; font-size:13px; box-shadow:0 8px 32px #0006; }
.content-error pre { max-height:200px; overflow:auto; white-space:pre-wrap; font:12px/1.6 monospace; }
.content-error button { color:inherit; background:none; border:1px solid #c8a575; padding:8px; cursor:pointer; }
.project-index-entry { position:absolute; left:28px; bottom:22px; z-index:35; border:1px solid #ffffff40; background:#080a06c9; color:#eeeeee; padding:11px 16px; font-size:12px; cursor:pointer; }
.work-index-link { background:none; border:0; border-bottom:1px solid #777; padding:0 0 10px; cursor:pointer; }
.portfolio-page { background:#050505; min-height:100svh; }
.portfolio-page.is-case { background:var(--case-paper); }
.portfolio-page-header { width:min(1400px,calc(100% - 96px)); margin:auto; display:flex; justify-content:space-between; padding:28px 0; border-bottom:1px solid #293023; color:#b4bdac; font-size:12px; font-family:"Avenir Next","PingFang SC",sans-serif; }
.portfolio-page-header a { color:inherit; text-decoration:none; }
.portfolio-page.is-case .portfolio-page-header { color:#aaaaaa; border-color:var(--case-line); }
.portfolio-page .projects-modal-shell { padding-top:40px; }
.portfolio-page .case-shell { padding-top:36px; }
.page-loading { min-height:40vh; display:grid; place-items:center; color:#a9b39d; font-size:16px; }
@media(min-width:1700px) { .catalog-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:1000px) { .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .catalog-toolbar { flex-wrap:wrap; gap:18px; } .catalog-search { flex-basis:100%; } .case-reading { grid-template-columns:140px minmax(0,1fr); gap:35px; } .case-related { margin-left:175px; } .case-heading { gap:35px; } }
@media(max-width:700px) {
 .projects-modal-shell,.portfolio-page-header { width:calc(100% - 40px); } .projects-modal-shell { padding-top:85px; }
 .projects-modal-header { display:block; } .projects-modal-title { font-size:46px; } .projects-modal-actions { margin:22px 0 0; }
 .catalog-toolbar { padding-top:22px; } .catalog-filters { gap:5px 18px; } .catalog-filters button { font-size:12px; }
 .catalog-grid { gap:30px 16px; } .catalog-card h3 { font-size:20px; } .catalog-card p { font-size:12px; } .catalog-type-art { padding:36px 15px; font-size:24px; }
 .catalog-card-meta { flex-direction:column; gap:5px; }
 .case-shell { width:calc(100% - 40px); padding-top:30px; } .case-topline { padding:0 40px 22px 0; gap:15px; font-size:10px; flex-wrap:wrap; }
 .case-heading { display:block; padding:38px 0 28px; } .case-heading h1 { font-size:46px; } .case-summary { margin-top:24px; font-size:15px; }
 .case-meta { gap:23px; } .case-meta dd { font-size:13px; } .case-metrics { gap:20px; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .case-reading { display:block; padding-top:30px; } .case-contents { position:static; margin-bottom:38px; } .case-contents > span { margin-bottom:10px; }
 .case-contents nav { display:flex; gap:15px; overflow-x:auto; padding-bottom:10px; } .case-contents a { flex-shrink:0; max-width:170px; }
 .case-section { padding-bottom:35px; margin-bottom:35px; } .case-section h2 { font-size:25px; } .case-prose p { font-size:15px; }
 .case-comparison { grid-template-columns:1fr; } .gallery-phones { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 14px; }
 .case-gallery figcaption { font-size:11px; } .case-related { margin-left:0; } .case-related span { font-size:21px; } .case-related small { display:none; }
 .project-index-entry { bottom:20px; left:15px; font-size:10px; padding:10px; }
}
@media(max-width:420px) { .catalog-grid { grid-template-columns:1fr; } .catalog-card-meta { flex-direction:row; } .catalog-type-art { font-size:36px; } .gallery-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .catalog-art img { transition:none; } }

.case-parallel { border-top:1px solid #333333; padding-top:12px; margin-top:10px; }
.case-parallel > p { font-size:11px; }
.case-parallel > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.case-parallel section { padding:10px; background:#1b1b1b; }
.case-parallel h5 { margin:0; font-size:12px; font-weight:500; }
.case-parallel section p { font-size:11px; margin-bottom:0; }

/* Compact black case layout: the cover belongs to the reading column. */
.project-modal > .work-modal-close { display:none; }
.case-shell { padding-top:28px; }
.case-topline { padding:0; border:0; min-height:24px; font-size:12px; }
.case-back { color:#a3a3a3; transition:color .2s; }
.case-back:hover { color:#fff; }
.case-reading { --case-rail-width:190px; grid-template-columns:var(--case-rail-width) minmax(0,1fr); gap:60px; padding-top:34px; }
.case-main { min-width:0; }
.case-contents { top:28px; max-height:calc(100svh - 56px); overflow:auto; scrollbar-width:thin; scrollbar-color:#333 transparent; }
.case-contents > span { margin-bottom:15px; }
.case-contents a { font-size:12px; padding:8px 0; }
.case-contents a.active { color:#fff; }
.case-overview { scroll-margin-top:28px; }
.case-cover { height:180px; background:#0c0c0c; overflow:hidden; }
.case-cover img { width:100%; height:100%; max-height:none; object-fit:contain; }
.case-banner-link,.case-banner-static { position:relative; display:block; width:100%; height:100%; }
.case-banner-link { cursor:pointer; }
.case-banner-hint { position:absolute; right:14px; bottom:14px; display:flex; gap:22px; align-items:center; background:#000d; color:#fff; padding:11px 15px; border:1px solid #ffffff40; border-radius:3px; font-size:12px; opacity:0; transform:translateY(4px); transition:opacity .18s,transform .18s; }
.case-banner-link:hover .case-banner-hint,.case-banner-link:focus-visible .case-banner-hint { opacity:1; transform:none; }
.case-title-accessible { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.case-title-plain { font-size:32px; font-weight:500; margin:0 0 24px; }
.case-summary { margin:25px 0 0; font-size:15px; line-height:1.9; color:#bdbdbd; }
.case-meta { gap:24px 44px; padding:25px 0 28px; }
.case-meta dd { font-size:13px; line-height:1.7; }
.case-sections { padding-top:42px; }
.case-section h2 { font-size:28px; }
.case-section { padding-bottom:44px; margin-bottom:42px; }
.case-related { margin-left:0; }
.case-lightbox > button { color:inherit; }
@media(max-width:1000px) { .case-reading { --case-rail-width:150px; gap:32px; } }
@media(max-width:700px) {
 .case-shell,.portfolio-page .case-shell { padding-top:22px; }
 .case-reading { display:block; padding-top:24px; }
 .case-contents { max-height:none; margin-bottom:20px; }
 .case-contents > span { display:none; }
 .case-contents nav { gap:18px; }
 .case-contents a { max-width:150px; font-size:11px; }
 .case-cover { height:120px; }
 .case-meta { gap:22px; }
 .case-summary { margin-top:20px; font-size:14px; }
 .case-section h2 { font-size:24px; }
 .case-sections { padding-top:32px; }
}
@media(hover:none) { .case-banner-hint { opacity:1; transform:none; font-size:10px; padding:7px 10px; right:8px; bottom:8px; } }
@media(prefers-reduced-motion:reduce) { .case-banner-hint,.case-back { transition:none; } }

.case-subheading { font-size:18px; line-height:1.5; font-weight:500; margin:12px 0 -8px; color:#dedede; }
[data-case-id="ad-master"] .case-prose p,
[data-case-id="ad-master"] .case-list { font-size:14px; }
[data-case-id="ad-master"] .case-flowboard { border-color:#303238; background:#111214; color-scheme:dark; }
[data-case-id="ad-master"] #case-generation-flow .case-subheading { margin-top:0; }
[data-case-id="ad-master"] #case-generation-flow > .case-blocks > [data-block-type="text"] + :is([data-block-type="media"], [data-block-type="flowboard"], [data-block-type="heading"]) {
  margin-top:38px;
}
@media(max-width:700px) {
  [data-case-id="ad-master"] #case-generation-flow > .case-blocks > [data-block-type="text"] + :is([data-block-type="media"], [data-block-type="flowboard"], [data-block-type="heading"]) { margin-top:24px; }
}

.case-intro { padding:30px 0 36px; border-bottom:1px solid var(--case-line); }
.case-intro h2 { font-size:28px; font-weight:500; line-height:1.3; margin:0 0 24px; }
@media(max-width:700px) { .case-intro h2 { font-size:24px; } }

/* Directory copy is editable independently from the chapter headings. */
.case-contents a { display:block; overflow-wrap:anywhere; }
.case-media-copy h3 { font-size:22px; line-height:1.45; font-weight:500; margin:0 0 16px; }
.case-media-copy p { font-size:14px; line-height:1.9; color:var(--case-muted); margin:0 0 26px; }
.case-cover-layered { position:relative; container-type:inline-size; isolation:isolate; background:#080604; }
.case-cover-layered .case-banner-link,.case-cover-layered .case-banner-static { display:grid; grid-template-columns:1fr 1fr; align-items:center; background:radial-gradient(ellipse at 82% 85%,#7c2d0b55,transparent 65%); }
.case-cover-layered .case-banner-background { position:absolute; inset:0; object-fit:cover; z-index:-1; }
.case-banner-copy { padding:12px clamp(14px,4cqw,60px); min-width:0; color:#fff; position:relative; z-index:1; }
.case-banner-copy h1 { font-size:clamp(25px,5.4cqw,62px); line-height:1.12; font-weight:850; letter-spacing:-.055em; font-style:italic; margin:0; overflow-wrap:anywhere; }
.case-banner-copy p { margin:10px 0 0; font-size:clamp(12px,2.3cqw,25px); line-height:1.4; font-weight:650; }
.case-banner-accent { display:block; width:clamp(24px,4cqw,52px); height:3px; background:#ff7900; margin-top:14px; }
.case-cover-layered .case-banner-subject { min-width:0; width:100%; height:100%; max-height:100%; position:absolute; right:4%; top:0; width:47%; object-fit:contain; object-position:center; padding:8px 0; }
.case-cover-layered .blend-screen { mix-blend-mode:screen; }
.case-cover-layered .case-banner-hint { z-index:2; }
@media(max-width:700px){
 .case-cover-layered .case-banner-subject { right:1%; width:49%; }
 .case-banner-copy { padding:10px 14px; }
 .case-banner-copy p { margin-top:7px; }
 .case-banner-accent { margin-top:10px; }
}

/* Chat2Dance: stacked product stories and a focused generation flow. */
[data-case-id="dance-propagation"] { --dance-cream:#e6ddce; --dance-muted:#a9a398; --dance-line:#e1d1b226; --dance-gold:#c3a36b; color:var(--dance-cream); }
[data-case-id="dance-propagation"] .case-reading { --case-rail-width:140px; gap:64px; }
[data-case-id="dance-propagation"] .case-contents > span { font-size:10px; color:#7f7b74; letter-spacing:.08em; margin-bottom:25px; }
[data-case-id="dance-propagation"] .case-contents a { padding:12px 0; font-size:12px; border:0; transition:color .2s; }
[data-case-id="dance-propagation"] .case-contents a.active { color:var(--dance-cream); }
[data-case-id="dance-propagation"] .case-cover { height:200px; background:#10110e; }
[data-case-id="dance-propagation"] .case-cover img { object-fit:cover!important; object-position:center; }
[data-case-id="dance-propagation"] .case-sections { padding-top:64px; }
[data-case-id="dance-propagation"] .case-section { border-color:var(--dance-line); padding-bottom:64px; margin-bottom:64px; }
[data-case-id="dance-propagation"] .case-section > header { margin-bottom:30px; }
[data-case-id="dance-propagation"] .case-section h2 { font-family:"Songti SC","STSong",serif; font-size:clamp(27px,2.8vw,38px); font-weight:500; letter-spacing:0; }
[data-case-id="dance-propagation"] .case-prose p { color:var(--dance-muted); font-size:14px; line-height:1.95; max-width:54em; }
[data-case-id="dance-propagation"] #case-delivery { display:block; }
[data-case-id="dance-propagation"] #case-delivery .case-blocks { gap:18px; }
[data-case-id="dance-propagation"] .case-subheading { color:var(--dance-cream); font-size:16px; margin:8px 0 0; }
[data-case-id="dance-propagation"] #case-experience > .case-blocks { gap:56px; }
[data-case-id="dance-propagation"] .case-media-story.has-story { display:block; }
[data-case-id="dance-propagation"] .case-media-copy { margin-bottom:28px; }
[data-case-id="dance-propagation"] .case-media-copy h3 { font-family:"Songti SC","STSong",serif; font-size:28px; line-height:1.5; font-weight:500; margin:0 0 12px; }
[data-case-id="dance-propagation"] .case-media-copy p { font-size:14px; line-height:1.95; color:var(--dance-muted); max-width:54em; margin:0; }
[data-case-id="dance-propagation"] .case-gallery { gap:28px; justify-content:center; }
[data-case-id="dance-propagation"] .gallery-phones { grid-template-columns:repeat(2,minmax(0,240px)); }
[data-case-id="dance-propagation"] .case-media-story[data-count="1"] .gallery-phones { grid-template-columns:minmax(0,260px); }
[data-case-id="dance-propagation"] .case-media-story[data-count="4"] .gallery-phones { grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(8px,1.5vw,20px); }
[data-case-id="dance-propagation"] .case-gallery img,[data-case-id="dance-propagation"] .case-gallery video { max-height:none; width:100%; height:auto; border-radius:8px; box-shadow:0 12px 32px #0005; }
[data-case-id="dance-propagation"] .case-gallery figcaption { font-size:12px; line-height:1.8; color:var(--dance-muted); padding-top:16px; text-wrap:pretty; }
[data-case-id="dance-propagation"] #case-generation .case-blocks { gap:28px; }
[data-case-id="dance-propagation"] .case-metrics { border-color:var(--dance-line); border-top:1px solid var(--dance-line); padding:30px 0; }
[data-case-id="dance-propagation"] .case-metrics dd { font-family:"Baskerville","Times New Roman",serif; color:var(--dance-cream); font-size:50px; font-style:italic; letter-spacing:-.035em; }
[data-case-id="dance-propagation"] #case-sharing .case-metrics { row-gap:12px; }
[data-case-id="dance-propagation"] #case-sharing .case-metrics > div { display:grid; grid-template-rows:subgrid; grid-row:span 2; min-width:0; }
[data-case-id="dance-propagation"] #case-sharing .case-metrics dd { margin:0; line-height:1.2; align-self:first baseline; white-space:nowrap; }
[data-case-id="dance-propagation"] #case-sharing .case-metrics dt { margin:0; line-height:1.6; align-self:start; }
[data-case-id="dance-propagation"] #case-generation .case-metrics { margin:0; padding:24px 0 30px; border-top:0; }
[data-case-id="dance-propagation"] #case-generation .case-metrics > div { display:grid; grid-template-columns:1.25fr 1fr; column-gap:30px; align-items:center; }
[data-case-id="dance-propagation"] #case-generation .case-metrics dd { grid-column:2; grid-row:1 / 3; justify-self:end; line-height:1.2; margin:0; white-space:nowrap; }
[data-case-id="dance-propagation"] #case-generation .case-metrics dt { grid-column:1; grid-row:1; font-size:15px; line-height:1.6; margin:0; align-self:end; color:var(--dance-cream); }
[data-case-id="dance-propagation"] #case-generation .case-metrics small { grid-column:1; grid-row:2; font-size:12px; line-height:1.8; color:var(--dance-muted); margin-top:7px; align-self:start; }
.dance-versions { display:grid; gap:12px; }
.dance-version { min-width:0; border:1px solid var(--dance-line); border-radius:12px; background:#0c0d0b; overflow:hidden; }
.dance-version.is-final { background:#10130f; border-color:#d8c8a538; margin-bottom:16px; }
.dance-version-heading { display:flex; align-items:center; gap:16px; padding:20px 24px; }
.dance-version > summary { cursor:pointer; list-style:none; }
.dance-version > summary::-webkit-details-marker { display:none; }
.dance-version > summary:hover { background:#ffffff04; }
.dance-version > summary:focus-visible { outline:2px solid var(--dance-gold); outline-offset:-3px; }
.dance-version .dance-version-tag { flex-shrink:0; font-size:11px; line-height:1.5; color:var(--dance-muted); }
.dance-version.is-final .dance-version-tag { color:#d5c29d; background:#c3a36b12; padding:5px 9px; border-radius:4px; }
.dance-version-heading h3 { font-size:17px; line-height:1.5; font-weight:500; margin:0; }
.dance-version.is-final .dance-version-heading { padding-top:28px; }
.dance-version.is-final .dance-version-heading h3 { font-size:22px; }
.dance-version-chevron { flex-shrink:0; margin-left:auto; width:20px; height:20px; transition:transform .18s ease; }
.dance-version[open] > summary .dance-version-chevron { transform:rotate(180deg); }
.dance-version-body { padding:0 24px 26px; }
.dance-version-body > p,.dance-version-body > ul { font-size:14px; line-height:1.9; color:var(--dance-muted); margin:0 0 26px; }
.dance-version .case-steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.dance-version .case-steps li { display:block; min-width:0; position:relative; border:0; border-radius:8px; padding:18px 16px; background:#ffffff05; }
.dance-version .case-steps li > span { display:block; font-size:11px; color:var(--dance-gold); padding:0; margin-bottom:14px; }
.dance-version.is-final .case-steps li:not(:last-child)::after { content:"→"; position:absolute; right:-15px; top:50%; transform:translateY(-50%); font-size:14px; color:#867b68; }
.dance-version .case-steps h4 { font-size:14px; line-height:1.65; margin:0 0 8px; }
.dance-version .case-steps p { font-size:12px; line-height:1.8; color:var(--dance-muted); }
.dance-serial-flow { container-type:inline-size; margin-top:28px; }
.dance-flow-stage + .dance-flow-stage { margin-top:26px; }
.dance-flow-label { display:flex; align-items:center; gap:12px; color:var(--dance-gold); font-size:11px; line-height:1.5; letter-spacing:.08em; margin:0 0 16px; }
.dance-flow-label::after { content:""; height:1px; flex:1; background:var(--dance-line); }
.dance-flow-inputs,.dance-flow-outputs { display:grid; grid-template-columns:repeat(var(--flow-columns),minmax(0,1fr)); gap:24px; list-style:none; margin:0; padding:0; }
.dance-flow-inputs li,.dance-flow-outputs li { min-width:0; position:relative; }
.dance-flow-number { display:block; color:#8b806c; font:11px/1.5 ui-monospace,monospace; margin-bottom:8px; }
.dance-serial-flow h4 { margin:0 0 6px; font-size:14px; font-weight:500; line-height:1.6; color:var(--dance-cream); }
.dance-serial-flow li p { margin:0; color:var(--dance-muted); font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.dance-flow-inputs li:not(:last-child)::after,.dance-flow-outputs li:not(:last-child)::after { content:"→"; position:absolute; right:-19px; top:28px; color:#82765f; font-size:15px; }
.dance-flow-outputs { gap:36px; padding:20px; background:#c3a36b09; border:1px solid #c3a36b24; border-radius:8px; }
.dance-flow-outputs .dance-flow-number { color:var(--dance-gold); }
.dance-flow-outputs li:not(:last-child)::after { right:-26px; color:var(--dance-gold); }
.dance-version:not(.is-final) .comparison-note { border-top:0; border-left:2px solid #c3a36b45; padding:0 0 0 12px; margin:22px 0 0; font-size:12px; }
@container(max-width:440px){
 .dance-flow-inputs { grid-template-columns:1fr; gap:14px; }
 .dance-flow-inputs li { display:grid; grid-template-columns:26px 1fr; column-gap:8px; }
 .dance-flow-inputs .dance-flow-number { grid-row:1 / 3; margin-top:3px; }
 .dance-flow-inputs li p { grid-column:2; }
 .dance-flow-inputs li:not(:last-child)::after { content:none; }
 .dance-flow-outputs { grid-template-columns:1fr; gap:30px; }
 .dance-flow-outputs li:not(:last-child)::after { content:"↓"; right:auto; top:auto; bottom:-24px; left:0; }
 .dance-flow-outputs li { padding-left:30px; }
 .dance-flow-outputs .dance-flow-number { position:absolute; left:0; top:3px; }
}
.dance-version .case-parallel { margin:0; padding-top:28px; border:0; position:relative; }
.dance-version .case-parallel > p { color:var(--dance-muted); font-size:12px; line-height:1.6; text-align:center; margin:0 0 18px; }
.dance-version .case-parallel > p::before { content:""; display:block; width:1px; height:18px; background:#c3a36b50; margin:-28px auto 12px; }
.dance-version .case-parallel > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.dance-version .case-parallel section { background:#c3a36b09; border:1px solid #c3a36b24; border-radius:8px; padding:20px; }
.dance-version .case-parallel h5 { font-size:14px; line-height:1.6; color:var(--dance-cream); margin:0 0 9px; }
.dance-version .case-parallel section p { color:var(--dance-muted); font-size:12px; line-height:1.8; margin:0; }
.dance-version .comparison-note { margin:24px 0 0; padding-top:18px; border-color:var(--dance-line); font-size:13px; }
@media(max-width:1100px){
 [data-case-id="dance-propagation"] .case-reading { --case-rail-width:125px; gap:35px; }
 [data-case-id="dance-propagation"] .case-gallery { gap:20px; }
}
@media(max-width:700px){
 [data-case-id="dance-propagation"] .case-reading { display:block; }
 [data-case-id="dance-propagation"] .case-cover { height:140px; }
 [data-case-id="dance-propagation"] .case-contents { margin-bottom:18px; padding:0; width:100%; align-self:stretch; }
 [data-case-id="dance-propagation"] .case-contents a { font-size:11px; }
 [data-case-id="dance-propagation"] .case-sections { padding-top:40px; }
 [data-case-id="dance-propagation"] .case-section { padding-bottom:40px; margin-bottom:40px; scroll-margin-top:148px; }
 [data-case-id="dance-propagation"] .case-media-copy h3 { font-size:25px; }
 [data-case-id="dance-propagation"] .case-gallery { gap:16px; }
 [data-case-id="dance-propagation"] #case-experience > .case-blocks { gap:40px; }
 [data-case-id="dance-propagation"] .case-metrics dd { font-size:38px; }
 [data-case-id="dance-propagation"] #case-generation .case-metrics > div { grid-template-columns:1fr; gap:8px; }
 [data-case-id="dance-propagation"] #case-generation .case-metrics dd { grid-column:1; grid-row:1; justify-self:start; margin-bottom:10px; }
 [data-case-id="dance-propagation"] #case-generation .case-metrics dt { grid-row:2; }
 [data-case-id="dance-propagation"] #case-generation .case-metrics small { grid-row:3; margin-top:0; }
 .dance-version-heading { padding:18px; gap:12px; }
 .dance-version-heading h3 { font-size:15px; }
 .dance-version.is-final .dance-version-heading { align-items:flex-start; flex-direction:column; padding-top:22px; }
 .dance-version.is-final .dance-version-heading h3 { font-size:21px; }
 .dance-version-body { padding:0 18px 22px; }
 .dance-version .case-steps { grid-template-columns:1fr; gap:18px; }
 .dance-version .case-steps li { display:flex; gap:16px; padding:16px; }
 .dance-version .case-steps li > span { margin:5px 0 0; }
 .dance-version.is-final .case-steps li:not(:last-child)::after { content:"↓"; top:auto; bottom:-19px; left:50%; right:auto; transform:translateX(-50%); }
 .dance-version .case-parallel > div { grid-template-columns:1fr; gap:12px; }
}
/* Align the banner with the viewport top; the return entry stays in the left rail. */
.case-shell,.portfolio-page .case-shell { padding-top:0; }
.case-topline { position:absolute; top:22px; z-index:2; }
.case-shell { position:relative; }
.case-reading { padding-top:0; }
.case-contents,[data-case-id="dance-propagation"] .case-contents { padding-top:76px; }
.case-banner-link { text-decoration:none; color:inherit; }
.case-cover-layered .blend-screen { mix-blend-mode:lighten; }
@media(max-width:700px){
 .case-shell,.portfolio-page .case-shell { padding-top:0; }
 .case-topline { position:relative; top:auto; padding:16px 0; }
 .case-reading { padding-top:0; display:flex; flex-direction:column; }
 [data-case-id="dance-propagation"] .case-reading { display:flex; }
 .case-main { width:100%; }
 .case-contents,[data-case-id="dance-propagation"] .case-contents { padding-top:0; margin:0 0 12px; }
}
/* Keep the desktop rail anchored to the viewport, including at the end of a story. */
.case-contents,[data-case-id="dance-propagation"] .case-contents { padding-top:22px; top:0; }
.case-contents .case-topline { position:static; top:auto; margin:0 0 38px; min-height:0; }
.case-contents .case-topline a { padding:0; margin:0; font-size:12px; border:0; }
.case-contents a[data-section]:not(.active):not(:hover) { color:var(--case-nav-muted); }
@media(min-width:701px){
 .case-contents { position:fixed; z-index:4; width:var(--case-rail-width); display:flex; flex-direction:column; box-sizing:border-box; height:100svh; max-height:100svh; padding-bottom:28px; overflow:visible; }
 .case-main { grid-column:2; }
 .case-contents .case-topline { flex-shrink:0; }
 .case-contents > nav:last-child { margin-top:auto; flex-shrink:0; }
}
.case-cover-layered { background:#efeeea; }
.case-cover-layered .case-banner-link,.case-cover-layered .case-banner-static { background:none; }
.case-banner-copy { color:#202020; }
.case-banner-copy h1 { font-style:normal; }
[data-case-id="minimax-h3"] .case-cover-layered { background:#101010; }
[data-case-id="minimax-h3"] .case-cover-layered .case-banner-link { grid-template-columns:1fr; }
[data-case-id="minimax-h3"] .case-banner-copy { color:#ededed; }
[data-case-id="minimax-h3"] .case-banner-copy h1 { font-size:clamp(24px,4.5cqw,42px); font-weight:500; letter-spacing:-.03em; line-height:1.35; }
[data-case-id="minimax-h3"] #case-page .case-list { font-size:16px; }
/* Match the desktop and phone screenshots by height without cropping either image. */
[data-case-id="minimax-h3"] .case-gallery:has(img[src="assets/minimax-h3-video-share-mobile.jpg"]) { grid-template-columns:minmax(0,1.78125fr) minmax(0,.45fr); gap:clamp(8px,2vw,22px); align-items:start; }
.projects-modal-header { font-size:14px; padding-bottom:18px; }
.projects-modal-title { font-size:18px!important; letter-spacing:0; line-height:1.4; margin:0; font-weight:500; }
.catalog-card h3 { font-size:16px; margin:15px 0 8px; letter-spacing:0; line-height:1.5; }
.catalog-card p { font-size:13px; line-height:1.8; }
.catalog-grid { padding-top:28px; }
.portfolio-page-header { padding:22px 0; border-bottom:0; font-size:12px; }
.portfolio-page .projects-modal-shell { padding-top:4px; }
.catalog-back { display:block; color:#a3a3a3; background:none; border:0; padding:0; margin:0 0 30px; font:12px inherit; cursor:pointer; }
.projects-modal .projects-modal-shell { padding-top:24px; }
@media(max-width:700px){
 .case-contents,[data-case-id="dance-propagation"] .case-contents { padding-top:14px; position:sticky; top:0; z-index:4; background:var(--case-paper); }
 .case-contents .case-topline { margin-bottom:10px; }
 .case-contents > nav:last-child { margin-bottom:0; padding-bottom:10px; }
 .catalog-card h3 { font-size:16px; }
 .projects-modal-title { font-size:18px!important; }
}

/* One persistent directory connects the projects and their chapters. */
.portfolio-page.is-case > .portfolio-page-header { display:none; }
.case-shell .case-reading { --case-rail-width:260px; column-gap:40px; }
.case-shell .case-library { display:flex; flex-direction:column; padding:24px 18px 20px 40px; border-right:1px solid #ffffff12; overflow:hidden; background:#0d0d0d; }
.case-shell .case-library .case-topline { display:block; margin:0 0 24px; padding:0; overflow:visible; }
.case-shell .case-library .case-back { display:flex; align-items:center; justify-content:flex-start; gap:10px; color:#aaa; font-size:14px; padding:0; max-width:none; }
.case-shell .case-library .case-back span { margin:0; }
.case-shell .case-library-label { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:0 10px 16px; color:#777; font-size:11px; line-height:1.5; }
.case-shell .case-library-label > span:last-child { font-size:10px; font-variant-numeric:tabular-nums; color:#626262; }
/* Extend the row to the left so the icon retains its inset and the header alignment. */
.case-shell .case-library .case-project-tree { display:block; flex:1 1 auto; min-height:0; margin:0 0 0 -10px; padding:0 4px 16px 0; overflow:auto; overscroll-behavior:contain; scrollbar-width:none; }
.case-library .case-project-tree::-webkit-scrollbar { display:none; }
.case-library .case-project-list,.case-library .case-project-chapters { list-style:none; padding:0; margin:0; }
.case-library .case-project { margin:0 0 3px; }
.case-library .case-project-row { display:flex; align-items:flex-start; border-radius:5px; }
.case-library .case-project-toggle { display:grid; place-items:center; box-sizing:border-box; flex:0 0 26px; width:26px; height:45px; border:0; padding:0 0 0 10px; margin:0; color:#858585; background:none; cursor:pointer; }
.case-library .case-project-toggle:hover { color:#eee; }
.case-library .case-project-toggle svg { width:13px; height:13px; justify-self:start; }
.case-library .case-project-toggle .case-chevron-open,
.case-library .case-project-toggle[aria-expanded="true"] .case-chevron-closed { display:none; }
.case-library .case-project-toggle[aria-expanded="true"] .case-chevron-open { display:block; }
.case-shell .case-library .case-project-link { display:block; flex:1; min-width:0; box-sizing:border-box; background:none; border:0; margin:0; padding:10px 8px 10px 0; text-align:left; font:400 14px/1.55 "Avenir Next","PingFang SC",sans-serif; color:#999; cursor:pointer; text-decoration:none; max-width:none; overflow-wrap:anywhere; }
.case-library .case-project-row:hover { background:#ffffff06; }
.case-library .is-current > .case-project-row { background:#ffffff09; }
.case-shell .case-library .is-current .case-project-link { color:#eee; font-weight:500; }
.case-library .case-project-chapters { margin:5px 0 13px 26px; padding-left:9px; border-left:1px solid #ffffff18; }
.case-library .case-project-chapters[hidden] { display:none; }
.case-library .case-other-projects { list-style:none; margin:5px 0 13px 26px; padding:0 0 0 9px; border-left:1px solid #ffffff18; }
.case-library .case-other-projects[hidden] { display:none; }
.case-shell .case-library .case-other-projects .case-project-link { padding:9px 10px; }
.case-shell .case-library .case-project-chapters a { position:relative; display:block; max-width:none; margin:0; padding:7px 10px; border:0; font-size:14px; line-height:1.6; }
.case-shell .case-library .case-project-chapters a:not(.active):not(:hover) { color:#858585; }
.case-shell .case-library .case-project-chapters a.active { color:#eee!important; }
.case-library .case-project-chapters a.active::before { content:""; position:absolute; left:-10px; top:10px; bottom:10px; width:2px; background:#ddd; }
.case-shell .case-library a:hover { color:#eee!important; }
.case-shell .case-library :focus-visible { outline:1px solid #bbb; outline-offset:-1px; border-radius:3px; }
.case-shell .case-library-toggle { display:none; }
.case-library-header { display:flex; align-items:center; gap:8px; flex-shrink:0; margin:0 0 14px; padding-left:0; }
.case-shell .case-library-label { display:block; flex:1; padding:0; white-space:nowrap; font-size:14px; }
.case-library-actions { display:flex; align-items:center; gap:2px; }
.case-library-actions button { display:grid; place-items:center; width:28px; height:28px; padding:5px; border:0; border-radius:4px; background:none; color:#7e7e7e; cursor:pointer; }
.case-library-actions button:hover { color:#ddd; background:#ffffff0a; }
.case-library-actions svg { width:17px; height:17px; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.case-library-actions .case-expand-mark { transform-origin:3.5px 10px; }
.case-library-actions .is-expanded .case-expand-mark { transform:rotate(90deg); }
@media(min-width:701px) and (max-width:1000px) {
 .case-shell .case-reading { --case-rail-width:230px; column-gap:40px; }
 .case-shell .case-library { padding-right:12px; }
}
@media(min-width:701px) {
 .case-shell:has(.case-library) { width:calc(100% - 40px)!important; max-width:none; margin-left:0; margin-right:40px; }
 .case-shell .case-library { left:0; }
}
@media(max-width:700px) {
 .case-shell .case-reading { display:flex; flex-direction:column; gap:0; }
 .case-shell .case-library { position:sticky; top:0; z-index:5; display:block; width:calc(100% + 40px); height:auto; max-height:none; padding:14px 20px; margin:0 -20px 14px; border:0; border-bottom:1px solid #ffffff16; overflow:visible; background:#0d0d0d; }
 .case-shell .case-library .case-topline { margin:0 0 8px; padding:0; }
 .case-shell .case-library .case-back { padding:7px 12px 7px 0; }
 .case-shell .case-library-label { display:none; }
 .case-library-header { margin:0; padding:0; gap:12px; }
 .case-shell .case-library-toggle { display:flex; flex:1; align-items:center; gap:10px; min-width:0; padding:7px 0; color:#eee; background:none; border:0; font-family:inherit; font-size:14px; line-height:1.5; cursor:pointer; }
 .case-library-toggle > span:first-child { flex-shrink:0; color:#858585; font-size:14px; }
 .case-library-current { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
 .case-library-toggle svg { flex-shrink:0; transform:rotate(90deg); }
 .case-library-toggle[aria-expanded="true"] svg { transform:rotate(-90deg); }
 .case-shell .case-library .case-project-tree { display:none; position:absolute; top:100%; left:0; right:0; margin:0; padding:12px 12px 12px 9px; max-height:65svh; border:1px solid #292929; border-top:0; background:#0c0c0c; box-shadow:0 20px 30px #0008; }
 .case-shell .case-library.is-open .case-project-tree { display:block; }
 .case-shell .case-library .case-project-link { padding:12px 8px 12px 0; }
 .case-library .case-project-toggle { height:49px; }
 .case-shell .case-library .case-project-chapters a { padding:10px; }
 .case-shell .case-section,.case-shell .case-overview { scroll-margin-top:116px; }
}
.case-shell[data-case-id] .case-prose p,
.case-shell[data-case-id] .case-list,
.case-shell[data-case-id] .case-summary,
.case-shell[data-case-id] .case-media-copy p,
.case-shell[data-case-id] .case-callout p { font-size:16px; }

/* PDF slices form one uninterrupted artwork and reserve their full height while loading. */
[data-case-id="design-portfolio"] .gallery-full { gap:0; }
[data-case-id="design-portfolio"] .case-overview,
[data-case-id="design-portfolio"] .case-section > header { display:none; }
[data-case-id="design-portfolio"] .case-sections { padding-top:0; }
.case-shell[data-case-id="design-portfolio"] { width:100%!important; max-width:none; margin:0; padding-bottom:0; }
[data-case-id="design-portfolio"] .case-reading { column-gap:0; }
[data-case-id="design-portfolio"] .case-section { margin:0; padding:0; border:0; }
@media(max-width:700px) {
 .case-shell[data-case-id="design-portfolio"] .case-library { width:100%; margin:0; }
}
.case-video-player { min-width:0; }
.case-video-quality { display:flex; justify-content:flex-end; align-items:center; gap:8px; margin:8px 0 0; font-size:12px; line-height:1.5; color:rgba(255,255,255,.55); }
.case-video-quality select { color:inherit; background:#141514; border:1px solid #3a3c38; border-radius:4px; padding:3px 6px; font:inherit; cursor:pointer; }
