/* Shared case-study rhythm: introduction, brief, decisions, work, contribution. */
body[data-page=project]{--case-gutter:max(5vw,calc((100vw - 1320px)/2));--case-space:clamp(56px,7vw,104px)}
.case-main{background:var(--v)}
.case-breadcrumb{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px var(--case-gutter);border-bottom:1px solid var(--line)}
.case-breadcrumb>a{display:inline-flex;align-items:center;gap:14px;font-size:16px}.case-breadcrumb>a:hover{color:var(--c)}
.case-breadcrumb>.eyebrow{text-align:right;max-width:65%}
.case-project-hero{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:6%;align-items:center;padding:64px var(--case-gutter) 58px}
.case-project-hero .case-page-heading{padding:0;min-width:0}.case-project-hero .case-page-heading>.eyebrow{margin:0;color:#53594d}
.case-project-hero .case-page-heading h1{font-size:clamp(48px,5.6vw,80px);line-height:1.02;letter-spacing:-.055em;margin:26px 0;max-width:12ch;text-wrap:balance}
.case-project-hero .case-lead{font-size:clamp(19px,1.6vw,23px);line-height:1.5;max-width:43ch}
.case-project-hero .case-begin{margin-top:30px;font-size:16px;gap:36px}
.case-project-hero .case-page-art{padding:0;min-width:0}
body[data-page=project] .case-project-hero .project-art{width:100%;aspect-ratio:1.5;min-height:0;border:0}
.case-project-meta{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,1fr);gap:36px;margin:0 var(--case-gutter);padding:28px 0 38px;border-top:1px solid var(--line)}
.case-project-meta dt{font:10px/1.6 Mono,monospace;letter-spacing:.06em;margin:0 0 10px;color:#53594d}.case-project-meta dd{font-size:16px;line-height:1.5;margin:0;max-width:62ch}.case-project-meta .case-agency-credit{grid-column:auto;display:block;border:0;padding:0;margin:0}.case-project-meta .case-agency-credit dd{display:block}.case-project-meta .case-agency-credit dd>span{display:block;margin-top:4px}.case-project-meta a{text-decoration:underline;text-underline-offset:4px}
.case-main .case-page-body{padding:0}
.case-main .case-chapter-nav{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;gap:24px;margin:0;padding:0 var(--case-gutter);background:var(--v);border-block:1px solid var(--line);box-shadow:0 3px 0 #18191d03}
.case-main .case-chapter-nav a{flex:0 0 auto;min-height:64px;border:0;border-bottom:2px solid transparent;padding:20px 0 18px;display:flex;flex-wrap:nowrap;gap:12px;font-size:15px}
.case-main .case-chapter-nav a>span:first-child{width:auto;font-size:10px}.case-main .case-chapter-nav a>span:last-child{display:none}
.case-main .case-chapter-nav a:hover,.case-main .case-chapter-nav a[aria-current]{color:var(--c);background:transparent;border-bottom-color:var(--c)}
.case-main .case-deep-section{padding:var(--case-space) var(--case-gutter);scroll-margin-top:63px}
.case-main .case-brief-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:9%}
.case-main :is(.case-brief-layout h2,.case-deep-heading h2,.case-context-heading h2,.case-responsibility h2){font-size:clamp(34px,3.8vw,54px);line-height:1.08;letter-spacing:-.045em;margin-top:22px;max-width:21ch;text-wrap:balance}
.case-main .case-brief-copy p{font-size:20px;line-height:1.6}.case-main .case-brief-copy p+p{margin-top:20px}
.case-main .case-brief-facts{margin-top:40px;gap:36px}.case-main .case-brief-facts dd{font-size:17px;line-height:1.55}.case-main .case-brief-facts dt{font-size:10px}
.case-main .case-core-idea{padding:64px var(--case-gutter);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:22px 9%;align-items:end}
.case-main .case-core-idea>.eyebrow{grid-column:1/-1}.case-main .case-core-idea h2{font-size:clamp(38px,4.6vw,66px);line-height:1.06;max-width:20ch;margin:0;text-wrap:balance}
.case-main .case-core-idea>p:last-child{font-size:20px;line-height:1.6;margin:0;max-width:48ch}
.case-main .case-deep-heading{gap:9%;align-items:end;margin-bottom:36px}.case-main .case-deep-heading>p{font-size:19px;line-height:1.6;margin:0;max-width:48ch}
.case-main .case-design-index{border:0;border-bottom:1px solid var(--line);gap:0;margin:0 0 38px;display:flex}
.case-main .case-design-index a{flex:1;display:flex;align-items:center;gap:12px;border:0;border-bottom:3px solid transparent;padding:20px 22px 20px 0;font-size:18px;background:transparent;color:var(--i)}
.case-main .case-design-index .eyebrow{flex:0 0 auto;font-size:10px}.case-main .case-design-index a>span:last-child{display:none}
.case-main .case-design-index a:hover,.case-main .case-design-index a[aria-selected=true]{border-bottom-color:var(--case-accent);color:var(--case-accent)}
.case-main .case-design-sections{gap:60px}.case-main .case-design-section{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:6%;padding:0;border:0;scroll-margin-top:94px}
.case-main .case-design-section[hidden]{display:none}.case-main .case-design-story{min-width:0}
.case-main .case-design-heading{display:block;margin:0 0 24px}.case-main .case-design-heading>.eyebrow{padding:0;margin-bottom:16px;font-size:10px}.case-main .case-design-heading h3{font-size:clamp(28px,2.8vw,39px);line-height:1.13;letter-spacing:-.04em;margin:0;max-width:25ch}
.case-main .case-design-notes{display:block;padding:0}.case-main .case-design-copy p{font-size:18px;line-height:1.6}.case-main .case-design-copy p+p{margin-top:18px}
.case-main .case-design-principles{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.case-main .case-design-principles>.eyebrow{font-size:10px}.case-main .case-design-principles ul{margin-top:12px}.case-main .case-design-principles li{border:0;padding:6px 0 6px 20px;position:relative;font-size:16px;line-height:1.5}.case-main .case-design-principles li::before{content:'↗';position:absolute;left:0;color:var(--case-accent)}
.case-main .case-design-figure>div{padding:24px;min-height:350px}.case-main .case-design-figure img{max-height:570px}.case-main .case-design-figure figcaption{align-items:start;font-size:10px;line-height:1.6;padding:14px 0;gap:20px}.case-main .case-design-figure figcaption>a{padding:0;white-space:nowrap}
.case-main .case-design-logo>div{padding:64px 36px;background:#fff}.case-main .case-design-ensolvers>div{padding:48px 30px;background:#000}
.case-main .case-design-figure .research-lens-visual{padding:8%;min-height:470px;gap:28px}.case-main .case-design-figure .research-lens-visual>strong{font-size:clamp(38px,10cqw,70px)}.case-main .case-design-figure .research-lens-visual>div>p{font-size:clamp(16px,3.5cqw,22px)}
.case-main .case-selected-work{padding:0 var(--case-gutter) 32px;scroll-margin-top:64px}
.case-main .case-context-heading{grid-template-columns:1.1fr 1fr;gap:9%;padding-top:var(--case-space);margin-bottom:45px;align-items:end}.case-main .case-context-heading>p{font-size:19px;line-height:1.6}
.case-main .case-page-body :is(.dd-gallery,.comcast-gallery){margin-top:0}
.case-main .case-selected-work :is(.dd-gallery-section,.case-chapter,.comcast-gallery>section){padding:44px 0;border-top:1px solid var(--line)}
.case-main :is(.dd-gallery-heading,.case-section-heading){column-gap:9%;margin-bottom:32px}.case-main :is(.dd-gallery-heading h3,.case-section-heading h2){font-size:clamp(28px,3.1vw,42px);line-height:1.1;letter-spacing:-.04em}.case-main .case-section-heading h2{margin-top:18px}.case-main :is(.dd-gallery-heading>p:last-child,.case-section-heading>p){font-size:18px;line-height:1.6}
.case-main .case-context-overview{background:transparent;color:var(--i);gap:30px;margin-bottom:40px}.case-main .case-context-overview article{border:0;border-top:2px solid var(--case-accent);padding:22px 0}.case-main .case-context-overview h3{font-size:26px}.case-main .case-context-overview p:not(.eyebrow){font-size:17px;line-height:1.55}
.case-main .case-context-notes p{font-size:18px;line-height:1.6}.case-main :is(.dd-figure,.case-image){margin-top:0}.case-main :is(.dd-figure,.case-image) img{object-fit:contain}
.case-main .case-delivery{margin:0;border-top:1px solid var(--line)}
.case-main .case-delivery-table thead{background:transparent;color:#53594d;border-bottom:1px solid var(--line)}.case-main .case-delivery-table :is(th,td){padding:24px 28px 24px 0}.case-main .case-delivery-table :is(th,td):last-child{padding-right:0}.case-main .case-delivery-table thead th{font-size:10px;padding-top:10px;padding-bottom:18px}.case-main .case-delivery-table tbody tr:nth-child(n){background:transparent}.case-main .case-delivery-table tbody th{font-size:20px;line-height:1.35}.case-main .case-delivery-table td{font-size:17px;line-height:1.6}
.case-main .case-process-heading{margin-top:56px}.case-main .case-process-heading h3{font-size:29px}.case-main .case-deep-process{gap:36px}.case-main .case-deep-process h4{font-size:25px;margin:18px 0 14px}.case-main .case-deep-process p{font-size:17px;line-height:1.6}
.case-main .case-responsibility{padding:var(--case-space) var(--case-gutter);gap:9%;scroll-margin-top:64px}.case-main .case-responsibility h2{margin-top:22px}.case-main .case-responsibility>div>p:not(.eyebrow){font-size:20px;line-height:1.6}.case-main .case-responsibility ul{list-style:none;padding:0;margin-top:28px}.case-main .case-responsibility li{font-size:16px;padding:11px 0;margin:0;border-top:1px solid #18191d30}
.case-main .case-deep-cta{padding:var(--case-space) var(--case-gutter);gap:9%;background:var(--i);color:var(--v)}.case-main .case-deep-cta h2{font-size:clamp(34px,4.3vw,60px);line-height:1.08}.case-main .case-deep-cta>div>p:not(.eyebrow){font-size:20px;line-height:1.6;max-width:38ch}.case-main .case-deep-cta .button{background:var(--m);color:var(--i)}.case-main .case-deep-cta .button:hover{background:var(--c);color:var(--v)}.case-main .case-deep-cta .text-link{font-size:16px;color:var(--m)}.case-main .case-deep-cta .text-link:hover{color:var(--v)}
.case-main .case-page-next{padding:48px var(--case-gutter);background:var(--v);border-bottom:1px solid var(--line)}.case-main .case-page-next h2{font-size:clamp(30px,3.7vw,52px)}
@media(min-width:1800px){.case-project-hero{gap:80px}}
@media(max-width:1100px){.case-project-hero{gap:5%;padding-top:48px}.case-project-hero .case-page-heading h1{font-size:54px}.case-project-meta{gap:24px;grid-template-columns:1.3fr 1fr}.case-project-meta .case-agency-credit{grid-column:1/-1}.case-main .case-chapter-nav{gap:22px;overflow-x:auto;scrollbar-width:thin}.case-main .case-chapter-nav a{font-size:14px}.case-main .case-design-section{gap:5%}.case-main .case-design-figure>div{padding:18px;min-height:300px}.case-main .case-design-figure figcaption{flex-direction:column;gap:8px}.case-main .case-design-heading h3{font-size:29px}.case-main .case-design-index a{font-size:17px}.case-main .case-core-idea{gap:24px 6%}}
@media(max-width:760px){
 body[data-page=project]{--case-space:52px;--case-gutter:6vw}
 .case-breadcrumb{padding-block:17px;gap:18px}.case-breadcrumb>a{font-size:14px;white-space:nowrap}.case-breadcrumb>.eyebrow{font-size:8px}
 .case-project-hero{grid-template-columns:1fr;gap:34px;padding-block:38px 30px}.case-project-hero .case-page-heading h1{font-size:clamp(45px,11vw,68px);max-width:13ch;margin-block:20px}.case-project-hero .case-lead{font-size:20px;max-width:50ch}.case-project-hero .case-begin{margin-top:24px}.case-project-hero .case-page-heading>.eyebrow{font-size:10px}
 .case-project-meta{grid-template-columns:1fr 1fr;gap:24px 20px;padding-block:24px 30px}.case-project-meta>div:first-child{grid-column:1/-1}.case-project-meta .case-agency-credit{grid-column:auto}.case-project-meta dd{font-size:15px}.case-project-meta dt{font-size:9px}
 .case-main .case-chapter-nav{justify-content:flex-start;gap:26px}.case-main .case-chapter-nav a{min-height:56px;padding-block:18px 16px;font-size:14px}.case-main .case-chapter-nav a>span:first-child{font-size:9px}
 .case-main :is(.case-brief-layout,.case-deep-heading,.case-context-heading,.case-responsibility,.case-deep-cta){grid-template-columns:1fr;gap:26px}
 .case-main :is(.case-brief-layout h2,.case-deep-heading h2,.case-context-heading h2,.case-responsibility h2){font-size:34px;max-width:22ch;margin-top:17px}
 .case-main .case-brief-copy p{font-size:19px}.case-main .case-brief-facts{grid-template-columns:1fr;gap:22px;margin-top:32px}.case-main .case-brief-facts>div{padding-top:16px}.case-main .case-brief-facts dt{margin-bottom:8px}.case-main .case-brief-facts dd{font-size:17px}
 .case-main .case-core-idea{grid-template-columns:1fr;padding-block:46px;gap:24px}.case-main .case-core-idea>.eyebrow{grid-column:auto}.case-main .case-core-idea h2{font-size:38px}.case-main .case-core-idea>p:last-child{font-size:19px}
 .case-main .case-deep-heading>p,.case-main .case-context-heading>p{font-size:18px}.case-main .case-design-index{margin-bottom:28px;overflow-x:auto;scrollbar-width:thin}.case-main .case-design-index a{flex:0 0 auto;min-width:130px;padding:15px 22px 15px 0;font-size:16px}.case-main .case-design-index a>span:last-child{display:none}
 .case-main .case-design-section{grid-template-columns:1fr;gap:28px}.case-main .case-design-figure>div{min-height:240px;padding:16px}.case-main .case-design-figure img{max-height:480px}.case-main .case-design-figure figcaption{flex-direction:row;gap:14px}.case-main .case-design-heading h3{font-size:30px;max-width:26ch}.case-main .case-design-copy p{font-size:18px}.case-main .case-design-principles{margin-top:22px}.case-main .case-design-figure .research-lens-visual{min-height:360px;gap:24px}
 .case-main .case-context-heading{padding-top:44px;margin-bottom:32px}.case-main .case-selected-work :is(.dd-gallery-section,.case-chapter,.comcast-gallery>section){padding-block:34px}.case-main :is(.dd-gallery-heading,.case-section-heading){gap:20px}.case-main :is(.dd-gallery-heading h3,.case-section-heading h2){font-size:29px}.case-main :is(.dd-gallery-heading>p:last-child,.case-section-heading>p){font-size:18px}.case-main .case-context-overview{grid-template-columns:1fr;gap:0;margin-bottom:18px}.case-main .case-context-overview article{padding:22px 0}.case-main .case-context-overview article+article{border-top:1px solid var(--line)}
 .case-main .case-delivery-table tbody tr{background:transparent!important;padding:24px 0;margin:0;border-bottom:1px solid var(--line)}.case-main .case-delivery-table :is(th,td){padding:0}.case-main .case-delivery-table tbody th{font-size:23px}.case-main .case-delivery-table td{font-size:17px}.case-main .case-delivery-table td::before{font-size:9px;margin-bottom:8px}.case-main .case-process-heading h3{font-size:28px}.case-main .case-deep-process{grid-template-columns:1fr;gap:24px}.case-main .case-deep-process li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:0 14px;align-items:baseline}.case-main .case-deep-process h4{margin:0 0 14px}.case-main .case-deep-process p{grid-column:2}
 .case-main .case-responsibility>div>p:not(.eyebrow){font-size:19px}.case-main .case-deep-cta h2{font-size:36px}.case-main .case-deep-cta>div>p:not(.eyebrow){font-size:19px}.case-main .case-page-next{padding-block:36px;align-items:start;gap:30px}
}
@media(max-width:380px){.case-project-hero .case-page-heading h1{font-size:42px}.case-main .case-design-figure figcaption{flex-direction:column}.case-main .case-core-idea h2{font-size:34px}.case-main .case-design-heading h3{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media print{.case-main .case-chapter-nav,.case-main .case-design-index{display:none}.case-main .case-design-section[hidden]{display:grid!important}.case-main .case-design-section{break-inside:avoid}.case-main .case-core-idea,.case-main .case-deep-cta{background:none;color:var(--i)}}
