/* Public case pages only. Keep customer portals on their existing theme. */
:root{--bone:#2c2922;--ink:#f2f0e8;--muted:#b5b0a4;--line:#ffffff26;color-scheme:dark}
html,body,.p-head,.p-body,.p-foot,.p-loader{background:#2c2922;color:#f2f0e8}
.p-head h1,.p-brand,.p-home-link,.p-menu-button,.p-menu-links a,.p-menu-links button,.p-case-info h2,.p-case-info .p-dh2,.p-foot__brand,.p-bottom-home a,.p-loader__title{color:#f2f0e8}
.p-type,.p-case-subtitle,.p-case-info .p-dp,.p-case-info .p-lede,.p-case-gallery .p-dcap,.p-foot,.p-foot__meta,.p-foot__icp,.p-loader__sub{color:#b5b0a4}
.p-bar,.p-body,.p-foot,.p-case-tags,.p-menu-links,.p-bottom-home a{border-color:#ffffff26}
.p-case-tags span{color:#d0cabd;border-color:#ffffff38}
.p-case-item,.p-intro-cover,.p-menu-links a:hover,.p-menu-links button:hover{background:#363229}
.p-menu-links{background:#2c2922}.p-bar a:focus-visible,.p-bar button:focus-visible,.p-foot a:focus-visible{outline-color:#f2f0e8}
.p-head .p-bar{height:60px;padding:0 16px;border:0;background:#2c2922}
.p-head{padding-top:60px}.p-head-inner.has-cover{height:calc(100svh - 60px);min-height:500px;padding:0 16px}
.p-intro-cover{display:block;top:0;right:16px;width:42.025vw;height:calc(100svh - 76px);object-fit:cover}
.p-head-inner.has-cover .p-intro-heading{left:16px;bottom:26px;width:53%;padding:0}
.p-head h1{font-size:clamp(54px,6.26vw,160px);line-height:1.12;letter-spacing:-.04em}
.p-intro-heading .p-type{margin-bottom:20px}.case-reveal-window{overflow:hidden;display:block}.case-reveal-text{display:block}
.p-home-link,.p-brand,.p-bottom-home a{overflow:hidden}
.case-button-roll{position:relative;display:inline-block;overflow:hidden;vertical-align:middle;line-height:1.5}
.case-button-roll>span{display:block;transition:transform .4s cubic-bezier(.215,.61,.355,1)}
.case-button-roll>span+span{position:absolute;top:100%;left:0}
.p-case-info .p-case-subtitle,.p-case-info .p-outro-txt{color:#b5b0a4}.p-end-home{color:#f2f0e8;border-color:#ffffff38}
.p-head .p-bar{position:fixed;inset:0 0 auto}
@media(max-width:900px){.p-menu-button{grid-column:3}.p-bar{gap:8px}.p-brand{gap:6px}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){a:hover .case-button-roll>span,button:hover .case-button-roll>span{transform:translateY(-100%)}}
@media(max-width:900px){.p-head .p-bar{height:62px}.p-head{padding-top:62px}.p-home-link{display:inline-flex;font-size:11px}.p-bar{grid-template-columns:1fr auto auto}.p-head-inner.has-cover{height:auto;min-height:0;display:flex;flex-direction:column;padding:0 16px 32px}.p-intro-cover{position:relative;top:auto;right:auto;width:100%;height:58svh;display:block}.p-head-inner.has-cover .p-intro-heading{position:relative;left:auto;bottom:auto;width:100%;padding:28px 0 0}.p-head h1{font-size:clamp(36px,8vw,68px)}}
.case-title-pending .p-intro-heading{visibility:hidden}
.p-head .p-bar{display:none}
.case-site-header{position:fixed;inset:0 32px auto;z-index:50;height:94px;display:flex;align-items:center;justify-content:space-between;color:#f2f0e8;font-family:ZemuSerif,serif;background:#2c2922}
.case-site-header a{color:inherit;text-decoration:none;font-family:inherit}
.case-wordmark{display:flex;align-items:flex-end;gap:10px;white-space:nowrap}
.case-wordmark img{width:54px;height:40px;object-fit:contain;filter:invert(1)}
.case-wordmark>span{font-size:32px;letter-spacing:.12em;line-height:1;font-weight:300;translate:0 .125em}
.case-desktop-nav{display:flex;align-items:center;justify-content:space-between;width:75%;font-size:15px;font-weight:300;line-height:1.25}
.case-nav-stack{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.case-connection{position:relative;padding-right:58px}
.case-nav-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);display:grid;place-items:center;border-radius:50%;background:#d6e64b;color:#2c2922;width:40px;height:40px;font:26px Arial,sans-serif}
.case-mobile-nav{display:none}
.p-head{padding-top:94px}.p-head-inner.has-cover{height:calc(100svh - 94px)}.p-intro-cover{height:calc(100svh - 110px)}
@media(max-width:900px){.case-site-header{inset-inline:20px;height:76px}.case-wordmark{gap:7px}.case-wordmark img{width:42px;height:31px}.case-wordmark>span{font-size:25px}.case-desktop-nav{display:none}.case-mobile-nav{display:flex;gap:8px;align-items:center;font-size:13px}.case-mobile-nav>a,.case-mobile-nav summary{display:grid;place-items:center;width:48px;height:42px;border:1px solid #f2f0e899;border-radius:50%;cursor:pointer;list-style:none}.case-mobile-nav details nav{position:absolute;right:0;top:68px;background:#2c2922;padding:20px 24px;display:grid;gap:18px;min-width:140px}.p-head{padding-top:76px}.p-head-inner.has-cover{height:auto}.p-intro-cover{height:58svh}}
#studioDialog,#casesDialog,#connectionDialog{border-radius:0;color-scheme:light}
