/*
 * Case clarity: a contribution-led narrative using the current design system.
 * Load after case-page.css, project-ui.css and white-theme.css.
 */
.case-hero .case-title{
 max-width:100%;
 font-size:clamp(60px,6.5vw,104px);
 line-height:1;
 letter-spacing:-.035em;
 overflow-wrap:anywhere;
}
.case-story-title{
 font:400 32px/1.15 var(--case-display,var(--display,'Instrument Serif',Georgia,serif));
 letter-spacing:-.022em;
 max-width:39ch;
 margin-top:22px!important;
 text-wrap:balance;
}
.case-hero .case-summary{
 font-size:17px;
 line-height:1.75;
 max-width:61ch;
 margin-top:20px!important;
 letter-spacing:-.008em;
}
.case-hero .case-hero-top{gap:64px;align-items:end}
.case-hero .case-hero-meta{gap:25px}
.case-brief-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:44px 9%;
 margin-block:10px 0;
}
.case-brief-grid>div,.case-brief-grid>section{min-width:0}
.case-brief-grid .case-label,.case-brief-label{
 font-size:10px;
 line-height:1.5;
 text-transform:uppercase;
 letter-spacing:.07em;
 color:var(--case-muted,var(--muted,#6e746b));
}
.case-brief-grid p:not(.case-label):not(.case-eyebrow):not(.case-brief-label){
 font-size:16px;
 line-height:1.8;
 max-width:59ch;
 margin-top:12px;
}
.case-decisions-stack{display:grid;gap:60px}
.case-decision{min-width:0;margin:0;padding:0}
.case-decision-copy{
 display:grid;
 grid-template-columns:32px minmax(0,1fr);
 gap:12px 16px;
 align-items:start;
}
.case-decision-number{
 grid-column:1;
 grid-row:1;
 font:400 24px/1.1 var(--case-hand,var(--hand,Caveat,cursive));
 color:var(--case-accent,var(--accent,#667852));
 padding-top:5px;
}
.case-decision-title{
 grid-column:2;
 grid-row:1;
 font:400 clamp(26px,2.45vw,34px)/1.15 var(--case-display,var(--display,'Instrument Serif',Georgia,serif));
 letter-spacing:-.02em;
 max-width:47ch;
 text-wrap:balance;
 overflow-wrap:anywhere;
}
.case-decision-why{
 grid-column:2;
 font-size:15px;
 line-height:1.8;
 color:var(--case-ink,var(--ink,#22251f));
 max-width:70ch;
}
.case-decision-screens{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:26px;
 align-items:start;
 margin-top:24px;
}
.case-decision-screens .case-screen-card{min-width:0}
.case-decision-screens .case-screen-open{padding:9px}
.case-decision-screens .case-screen-image{
 width:100%;
 height:auto;
 max-height:350px;
 object-fit:contain;
}
.case-decision-screens .case-screen-caption{padding-top:11px}
.case-decision-screens .case-screen-title{font-size:13px;font-weight:450;line-height:1.6}
.case-decision-text-only .case-decision-copy{max-width:97ch}
.case-decision-text-only{min-height:0}
.case-page-outline{
 display:flex;
 flex-wrap:wrap;
 align-items:center;
 gap:9px 23px;
 list-style:none;
 padding:0;
 margin:23px 0 0 48px;
}
.case-page-outline>li{
 position:relative;
 flex:0 0 auto;
 max-width:100%;
 padding-right:15px;
 font-size:12px;
 line-height:1.6;
 color:var(--case-muted,var(--muted,#6e746b));
 overflow-wrap:anywhere;
}
.case-page-outline>li:not(:last-child)::after{
 content:'→';
 position:absolute;
 top:-1px;
 right:-9px;
 font-size:15px;
 font-weight:300;
 color:var(--case-accent,var(--accent,#667852));
}
.case-page-outline>li:last-child{padding-right:0}

/* A single interaction has no internal scene-navigation overhead. */
.px-experience[data-single=true] .px-scene-rail{display:none}
.px-experience[data-single=true] .px-layout{
 grid-template-columns:minmax(0,1fr);
 gap:0;
}
.px-experience[data-single=true] .px-panel{width:100%;min-width:0}
.px-experience[data-single=true] .px-preview-index,
.px-experience[data-single=true] .px-heading .px-kicker{display:none}
.px-experience[data-heading=hidden]>.px-heading{display:none}
.case-page .px-experience[data-single=true],
#case-experience-mount[data-single=true]{margin-top:0}
.case-page .px-experience[data-single=true] .px-panel{
 max-width:950px;
 justify-self:center;
}
.case-page .px-experience[data-single=true] .px-footnote{
 max-width:950px;
 margin-inline:auto;
}
#case-experience .case-scene-status{display:none}
#flow-experience[data-single=true]{
 width:100%;
 max-width:1000px;
 margin:38px auto 0;
}
#flow-experience[data-single=true]>.px-heading{
 align-items:start;
 gap:28px;
 margin-bottom:25px;
}
#flow-experience[data-single=true] .px-heading h3{max-width:28ch}
.px-heading-description{
 font-size:14px;
 line-height:1.75;
 color:var(--muted,#6e746b);
 max-width:58ch;
 margin:12px 0 0;
}
#flow-scope.flow-focus-list{
 display:flex;
 flex-wrap:wrap;
 align-items:baseline;
 justify-content:center;
 gap:8px 20px;
 list-style:none;
 padding:0;
 margin:18px auto 0;
 max-width:920px;
 color:var(--ink,#22251f);
 font-size:13px;
 line-height:1.7;
 letter-spacing:0;
}
.flow-focus-list>li{
 display:inline-flex;
 align-items:baseline;
 gap:18px;
 min-width:0;
 max-width:100%;
 white-space:normal;
 overflow-wrap:anywhere;
}
.flow-focus-list>li+li::before{
 content:'·';
 flex:0 0 auto;
 color:var(--muted,#6e746b);
}

/* Additional evidence stays available without dominating the main story. */
.case-archive{
 border-top:1px solid var(--case-line,var(--line,#e3e6de));
 border-radius:0;
 background:transparent;
 padding:0;
}
.case-archive-summary{
 display:flex;
 align-items:center;
 gap:18px;
 list-style:none;
 padding:22px 0;
 cursor:pointer;
 color:var(--case-ink,var(--ink,#22251f));
}
.case-archive-summary::-webkit-details-marker{display:none}
.case-archive-summary::marker{content:''}
.case-archive-summary>span:first-child{
 flex:1 1 auto;
 min-width:0;
 font-size:16px;
 line-height:1.5;
 font-weight:500;
}
.case-archive-summary>span:nth-child(2){
 flex:0 0 auto;
 font-size:11px;
 line-height:1.5;
 color:var(--case-muted,var(--muted,#6e746b));
}
.case-archive-summary>svg{
 width:23px;
 height:23px;
 flex:0 0 auto;
 transition:transform .25s ease;
 color:var(--case-accent,var(--accent,#667852));
}
.case-archive[open]>.case-archive-summary>svg{transform:rotate(90deg)}
.case-archive-summary:hover>span:first-child{
 color:var(--case-accent,var(--accent,#667852));
}
.case-archive-summary:focus-visible{
 outline:2px solid var(--case-accent,var(--accent,#667852));
 outline-offset:5px;
}
.case-archive-content{margin-top:32px}
.case-archive-content .case-screen-filters{margin-top:0}
.case-archive-content .case-screen-grid{row-gap:38px}
.case-archive-content .case-screen-image{max-height:350px;object-fit:contain}
.case-archive-content .case-coverage,
.case-page .case-coverage{
 border:0;
 padding:0;
 margin-top:25px!important;
 font-size:11px;
 line-height:1.8;
 color:var(--case-muted,var(--muted,#6e746b));
}
@media(max-width:1100px){
 .case-hero .case-hero-top{gap:42px}
 .case-hero .case-title{font-size:7.2vw}
 .case-decisions-stack{gap:48px}
 .case-decision-screens{gap:22px}
}
@media(max-width:800px){
 .case-hero .case-title{font-size:clamp(48px,8.8vw,70px)}
 .case-hero .case-hero-top{gap:29px}
 .case-story-title{font-size:30px;max-width:37ch;margin-top:18px!important}
 .case-hero .case-summary{font-size:16px;line-height:1.75}
 .case-brief-grid{gap:28px 7%}
 .case-brief-grid p:not(.case-label):not(.case-eyebrow):not(.case-brief-label){font-size:15px}
 .case-decision-screens{gap:18px}
 .case-decision-why{font-size:14px}
 #flow-experience[data-single=true]{margin-top:30px}
 #flow-scope.flow-focus-list{font-size:12px;gap:7px 16px}
 .flow-focus-list>li{gap:14px}
}
@media(max-width:640px){
 .case-hero .case-title{font-size:clamp(38px,10.7vw,62px)}
 .case-story-title{font-size:27px;line-height:1.17;margin-top:17px!important}
 .case-hero .case-summary{font-size:15px;margin-top:16px!important}
 .case-brief-grid{grid-template-columns:1fr;gap:24px;margin-top:0}
 .case-brief-grid p:not(.case-label):not(.case-eyebrow):not(.case-brief-label){font-size:14px;margin-top:9px}
 .case-decisions-stack{gap:40px}
 .case-decision-copy{grid-template-columns:24px minmax(0,1fr);gap:10px}
 .case-decision-number{font-size:22px;padding-top:4px}
 .case-decision-title{font-size:27px;line-height:1.17}
 .case-decision-why{font-size:14px;line-height:1.8}
 .case-decision-screens{grid-template-columns:1fr;gap:24px;margin-top:20px}
 .case-decision-screens .case-screen-open{padding:7px}
 .case-decision-screens .case-screen-title{font-size:12px}
 .case-page-outline{margin-left:34px;gap:8px 19px}
 .case-page-outline>li{font-size:11px;padding-right:10px}
 .case-page-outline>li:not(:last-child)::after{right:-8px;font-size:14px}
 .case-page .px-experience[data-single=true] .px-footnote{gap:12px}
 #flow-experience[data-single=true]{margin-top:27px}
 #flow-experience[data-single=true]>.px-heading{gap:18px;margin-bottom:20px}
 #flow-experience[data-single=true] .px-handnote{display:none}
 .px-heading-description{font-size:13px;line-height:1.75;max-width:100%;margin-top:10px}
 #flow-scope.flow-focus-list{font-size:12px;gap:6px 15px;max-width:100%;margin-top:15px}
 .flow-focus-list>li{gap:12px}
 .case-archive-summary{gap:12px;padding-block:19px}
 .case-archive-summary>span:first-child{font-size:14px}
 .case-archive-summary>span:nth-child(2){font-size:10px}
 .case-archive-summary>svg{width:20px;height:20px}
 .case-archive-content{margin-top:25px}
 .case-archive-content .case-screen-grid{row-gap:30px}
 .case-archive-content .case-coverage,.case-page .case-coverage{font-size:10px}
}
@media(max-width:360px){
 .case-hero .case-title{font-size:38px}
 .case-story-title{font-size:26px}
 .case-decision-title{font-size:26px}
 .case-archive-summary{gap:10px}
 #flow-scope.flow-focus-list{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
 .case-archive-summary>svg{transition:none}
}

.case-decision-screens[data-screen-count="1"]{grid-template-columns:minmax(0,1fr);max-width:800px}.case-decision-screens[data-screen-count="1"] .case-screen-image{max-height:500px}.case-story-screen h4{margin:0}

/* A visible live-product action, scoped to the case hero metadata. */
.case-page .case-hero-meta a.case-live-link{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;max-width:100%;padding:13px 20px;border:1px solid var(--theme-olive,#667852);border-radius:999px;background:var(--theme-olive,#667852);color:#fff;font-size:14px;font-weight:500;line-height:1.35;text-decoration:none;white-space:nowrap;box-shadow:0 5px 14px #43533318;transition:background .2s,border-color .2s,box-shadow .2s}
.case-page .case-hero-meta a.case-live-link>svg{width:19px;height:19px;flex:none;stroke-width:1.7}
.case-page .case-hero-meta a.case-live-link:hover{background:#4b5c3c;border-color:#4b5c3c;box-shadow:0 7px 18px #43533326}
.case-page .case-hero-meta a.case-live-link:focus-visible{outline:2px solid var(--theme-olive,#667852);outline-offset:4px}
