/* Three editorial case studies: imagery, decisions, then a usable prototype. */
.folio-index a[aria-current=location]::after{background:var(--brand-ink)}
.folio-index a:first-child[aria-current],.folio-index a:first-child:hover{background:var(--brand-nude)}
.folio-section-head h2{font-family:var(--font-display);font-weight:500;font-size:clamp(3rem,5.4vw,5.25rem);letter-spacing:-.035em}
.folio-work{padding-bottom:6rem}
.folio-project.case-study{display:block;padding:3.5rem 0 4rem;--case-color:var(--brand-nude);--case-shift:0px}
.case-study--gulf{--case-color:var(--brand-nude)!important}.case-study--piece{--case-color:var(--brand-nude)!important}
.case-heading{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:start;margin-bottom:3rem}
.case-study .folio-project-top{justify-content:flex-start;gap:.6rem;margin-bottom:1.3rem!important}
.case-study .folio-sector{background:var(--case-color);font-size:.9375rem}
.case-kind{font:.6875rem/1.6 var(--font-mono);letter-spacing:.045em;text-transform:uppercase;color:var(--brand-secondary);margin:0 0 .5rem}
.case-study h3{font:500 clamp(2.5rem,4.3vw,4.4rem)/1.02 var(--font-display);letter-spacing:-.035em;max-width:17ch;margin:0}
.case-overview>p{font-size:1.0625rem;line-height:1.75;margin:.35rem 0 1.25rem;max-width:52ch}
.case-study .folio-project-meta{padding-top:1.2rem;border-top:1px solid var(--brand-line);gap:.9rem;margin-bottom:0}
.case-study .folio-project-meta>div{grid-template-columns:5.2rem minmax(0,1fr)}
.case-study .folio-project-meta dd{font-size:.9375rem}
.case-story-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:7%;align-items:start}
.case-visual{position:sticky;top:110px;margin:0;height:min(610px,calc(100svh - 140px));min-height:430px;background:var(--case-color);overflow:hidden;isolation:isolate}
.case-image-wrap{position:absolute;inset:0 0 99px;overflow:hidden;background:var(--case-color)}
.case-image{width:100%;height:calc(100% + 28px);max-width:none;object-fit:cover;display:block;transform:translateY(calc(-14px + var(--case-shift)));filter:none}
.case-screen-stack{position:absolute;inset-inline-end:6%;bottom:124px;width:66%;max-width:360px;z-index:1}
.case-screen{background:var(--brand-paper);color:var(--brand-ink);padding:1.15rem 1.35rem 1rem;box-shadow:none;transform:rotate(-2deg);border:1px solid #fff9}
.case-study--gulf .case-screen{transform:rotate(2deg)}
.case-screen[hidden]{display:none!important}
.case-preview-bar{display:flex;gap:.7rem;justify-content:space-between;font:.625rem/1.5 var(--font-mono);border-bottom:1px solid var(--brand-line);padding-bottom:.6rem;margin-bottom:.8rem}
.case-screen>strong{display:block;font:500 1.7rem/1.06 var(--font-display);margin-bottom:.7rem;letter-spacing:-.02em}
.case-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
.case-options span{display:flex;align-items:center;padding:.5rem .55rem;border:1px solid var(--brand-line);font-size:.75rem;line-height:1.35;min-height:37px}
.case-options .is-chosen{background:var(--case-color);border-color:var(--brand-ink)}
.case-screen .case-recap{font-size:.8125rem;line-height:1.6;margin:.6rem 0}
.case-screen-note{display:block;margin-top:.75rem;font:.5625rem/1.4 var(--font-mono);color:var(--brand-secondary)}
.case-visual figcaption{position:absolute;bottom:68px;inset-inline:0;padding:.7rem 1.1rem .5rem;font:.625rem/1.5 var(--font-mono);color:var(--brand-ink);background:var(--case-color)}
.case-controls{position:absolute;bottom:0;inset-inline:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #1b1b1f35;background:var(--case-color)}
.case-controls button{appearance:none;border:0;border-inline-end:1px solid #1b1b1f35;min-height:68px;padding:.65rem .75rem;background:transparent;color:var(--brand-ink);text-align:start;cursor:pointer;border-radius:0;display:flex;align-items:center;gap:.55rem;font:400 .75rem/1.3 var(--font-body)}
.case-controls button:last-child{border-inline-end:0}.case-controls button>span:first-child{font:.625rem var(--font-mono)}
.case-controls button[aria-pressed=true]{background:var(--brand-ink);color:var(--brand-paper)}
.case-controls button:hover:not([aria-pressed=true]){background:#ffffff70}
.case-chapter{min-height:39svh;padding:2.1rem 0 2.5rem;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--brand-line)}
.case-chapter:first-child{padding-top:0}.case-chapter:last-child{border:0}
.case-chapter .folio-overline{margin:0 0 1.2rem;font-size:.6875rem;color:var(--brand-ink)}
.case-chapter h4{font:500 clamp(1.9rem,2.5vw,2.6rem)/1.12 var(--font-display);letter-spacing:-.02em;margin:0 0 1.2rem;max-width:22ch}
.case-chapter>p:not(.folio-overline){font-size:1.0625rem;line-height:1.75;max-width:40ch;margin:0}
.case-chapter>.folio-link{align-self:flex-start;margin-top:1.75rem}
.case-annotation{margin:1.8rem 0 0;padding-inline-start:1.1rem;border-inline-start:3px solid var(--case-color)}
.case-annotation>span{font:.625rem/1.5 var(--font-mono);color:var(--brand-secondary)}
.case-annotation>p{font:400 1.3rem/1.45 var(--font-display);font-style:italic;color:var(--brand-ink);margin:.35rem 0 0;max-width:26ch}
.folio-library{background:var(--brand-nude)}
.folio-library>.library-demo.bot-container{display:block;margin-top:3.5rem;padding-top:3rem;border-top:1px solid #1b1b1f30}
.library-demo-head{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start;margin-bottom:2rem}
.folio-library .library-demo-head h3{font:500 clamp(2.2rem,3.8vw,3.75rem)/1.05 var(--font-display);letter-spacing:-.025em;margin:0}
.library-demo-head>div>p:not(.folio-overline){font-size:1rem;line-height:1.75;margin:0 0 .75rem;max-width:50ch}
.library-demo-head .library-disclosure{font-size:.8125rem!important;color:var(--brand-secondary)}
.library-briefs{padding:0;margin:0 0 1.3rem;border:0;display:flex;flex-wrap:wrap;gap:.65rem}
.library-briefs legend{font:.75rem/1.5 var(--font-mono);padding:0 0 .8rem;color:var(--brand-secondary)}
.library-briefs button{border:1px solid #1b1b1f50;border-radius:0;padding:.8rem 1rem;min-height:46px;background:transparent;color:var(--brand-ink);font:400 .9375rem/1.4 var(--font-body);text-align:start;cursor:pointer}
.library-briefs button[aria-pressed=true]{background:var(--brand-ink);color:var(--brand-paper);border-color:var(--brand-ink)}
.library-briefs button:hover:not([aria-pressed=true]){background:#ffffff70}
.library-workbench{display:grid;grid-template-columns:220px minmax(0,1fr);background:var(--brand-paper);border:1px solid #1b1b1f25}
.library-tabs{display:flex;flex-direction:column;border-inline-end:1px solid var(--brand-line);padding-top:1rem;background:var(--brand-nude)}
.library-tabs button{display:flex;gap:.8rem;align-items:center;appearance:none;border:0;border-radius:0;border-bottom:1px solid var(--brand-line);padding:1.15rem 1.25rem;min-height:68px;background:transparent;text-align:start;color:var(--brand-secondary);font:400 .9375rem/1.35 var(--font-body);cursor:pointer}
.library-tabs button>span{font:.6875rem var(--font-mono)}
.library-tabs button[aria-selected=true]{color:var(--brand-ink);background:var(--brand-acid)}
.library-tabs button:hover:not([aria-selected=true]){background:var(--brand-nude)}
.library-panel{padding:2rem clamp(1.4rem,4vw,3.5rem) 2.8rem;min-width:0;min-height:480px}
.library-panel h4{font:500 clamp(1.8rem,2.6vw,2.75rem)/1.15 var(--font-display);letter-spacing:-.025em;margin:0 0 1.1rem;max-width:30ch}
.library-panel>.folio-overline{margin:1.7rem 0 .8rem;font-size:.6875rem;color:var(--brand-ink)}
.library-panel>p:not(.folio-overline):not(.library-people){font-size:1rem;line-height:1.75;max-width:68ch;margin:0 0 1.3rem}
.library-people{display:flex;flex-wrap:wrap;gap:1.2rem;margin:0;padding-bottom:1.2rem;border-bottom:1px solid var(--brand-line)}
.library-person{display:flex;align-items:center;gap:.65rem;font-size:.875rem;line-height:1.35}
.library-person>b{display:grid;place-items:center;width:38px;height:38px;background:var(--brand-nude);border-radius:50%;font:500 1.5rem var(--font-display)}
.library-person:nth-child(even)>b{background:var(--brand-nude)}
.library-person small{display:block;font-size:.6875rem;color:var(--brand-secondary);margin-top:.2rem}
.library-deliverable{border-inline-start:3px solid var(--brand-ink);padding:.3rem 0 .3rem 1rem;padding-inline:1rem 0;margin-top:1.5rem}
.library-deliverable>span,.library-questions>span,.library-comparison>div>span{font:.6875rem/1.5 var(--font-mono);color:var(--brand-secondary)}
.library-deliverable>p{font-size:1rem;line-height:1.65;margin:.3rem 0 0}
.library-questions{padding:1.2rem 1.5rem;background:var(--brand-nude)}
.library-questions ul{padding-inline-start:1.2rem;margin:.7rem 0 0;font-size:.9375rem;line-height:1.7}.library-questions li+li{margin-top:.5rem}
.library-panel blockquote{margin:1.5rem 0;padding:1.2rem 1.5rem;background:var(--brand-nude);font:500 clamp(1.8rem,2.3vw,2.4rem)/1.2 var(--font-display)}
.library-comparison{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}
.library-comparison>div{padding:1.1rem 1.3rem;background:var(--brand-nude);min-width:0}
.library-comparison>div+div{background:var(--brand-nude)}
.library-comparison p{font-size:1rem;line-height:1.65;margin:.8rem 0 0}
.library-comparison del{text-decoration-color:var(--brand-muted)}.library-comparison ins{text-decoration:none}
.library-demo-actions{grid-column:1/-1;display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:1rem 1.4rem;border-top:1px solid var(--brand-line)}
.library-demo-actions button{appearance:none;padding:.6rem .8rem;border:1px solid var(--brand-line);background:transparent;color:var(--brand-ink);min-height:44px;border-radius:0;cursor:pointer;font:400 .8125rem/1.4 var(--font-body)}
.library-demo-actions button[data-library-next]{background:var(--brand-ink);color:var(--brand-paper)}
.library-demo-actions button:disabled{opacity:.42;cursor:default}.library-demo-actions>span{font:.6875rem var(--font-mono);white-space:nowrap;color:var(--brand-secondary)}
.case-controls button:focus-visible,.library-demo button:focus-visible{outline:3px solid var(--brand-ink);outline-offset:3px;position:relative;z-index:2}
.library-panel:focus-visible,.case-chapter h4:focus-visible{outline:2px solid var(--brand-ink);outline-offset:6px}
.portfolio-motion-paused .case-image{transform:translateY(-14px)}
[dir=rtl] .case-study h3,[dir=rtl] .case-chapter h4,[dir=rtl] .library-panel h4,[dir=rtl] .library-demo-head h3{line-height:1.4;letter-spacing:0}
@media(max-width:1050px){.case-story-grid{gap:5%;grid-template-columns:1.2fr 1fr}.case-screen-stack{width:77%;inset-inline-end:5%}.case-heading{gap:5%}.library-workbench{grid-template-columns:180px minmax(0,1fr)}.library-tabs button{padding:1rem}.library-comparison{grid-template-columns:1fr}}
@media(max-width:850px){
 .folio-project.case-study{padding:2.5rem 0}.case-heading{grid-template-columns:1fr;gap:1.5rem;margin-bottom:1.7rem}.case-study h3{font-size:clamp(2.5rem,7vw,3.75rem);max-width:20ch}
 .case-story-grid{display:block}.case-visual{position:relative;top:auto;height:500px;min-height:0;max-width:650px;margin:0 auto 1rem}
 .case-screen-stack{width:65%;max-width:360px}.case-chapter{min-height:0;display:block;padding:1.8rem 0}.case-chapter:first-child{padding-top:1.8rem}.case-chapter h4{font-size:2.2rem;max-width:30ch}.case-chapter>p:not(.folio-overline){max-width:65ch}
 .library-demo-head{grid-template-columns:1fr;gap:1.3rem}.library-panel{min-height:500px;padding:1.5rem}.library-tabs button{font-size:.875rem}.library-comparison{grid-template-columns:1fr}
}
@media(max-width:600px){
 .case-study h3{font-size:2.75rem}.case-overview>p{font-size:1rem}.case-study .folio-project-meta>div{grid-template-columns:4.4rem minmax(0,1fr)}
 .case-visual{height:430px}.case-screen-stack{width:77%;max-width:310px;inset-inline-end:5%;bottom:117px}.case-screen{padding:.9rem 1rem}.case-screen>strong{font-size:1.55rem}.case-options span{font-size:.6875rem}.case-screen .case-recap{font-size:.75rem}
 .case-controls button{padding:.65rem .5rem;gap:.35rem;font-size:.6875rem}.case-visual figcaption{font-size:.5625rem;padding-inline:.7rem}
 .folio-library>.library-demo.bot-container{margin-top:2.5rem;padding-top:2rem}.library-briefs{display:grid;grid-template-columns:1fr}.library-briefs button{font-size:.875rem}
 .library-workbench{grid-template-columns:1fr}.library-tabs{display:grid;grid-template-columns:1fr 1fr;padding-top:0;border-inline-end:0}.library-tabs button{min-height:58px;padding:.9rem;font-size:.8125rem}.library-tabs button:nth-child(odd){border-inline-end:1px solid var(--brand-line)}
 .library-panel{padding:1.4rem 1.2rem 1.8rem;min-height:540px}.library-panel h4{font-size:2rem}.library-panel>p:not(.folio-overline):not(.library-people){font-size:.9375rem}
 .library-people{gap:1rem}.library-person{font-size:.8125rem}.library-person small{font-size:.625rem}.library-person>b{width:32px;height:32px}.library-demo-actions{padding:.9rem .7rem;gap:.5rem}.library-demo-actions button{font-size:.75rem;padding:.6rem}.library-demo-actions>span{font-size:.5625rem}
 .library-comparison>div{padding:1rem}.case-chapter>p:not(.folio-overline){font-size:1rem}
}
@media(max-height:640px) and (min-width:851px){.case-visual{position:relative;top:0;height:490px}}
@media(prefers-reduced-motion:reduce){.case-image{transform:translateY(-14px)}.case-screen{transition:none}}
