/* Frame the original supplied bitmap; never redraw or alter its lettering. */
.app-original-wordmark{display:block;position:relative;width:184px;aspect-ratio:1410/340;overflow:hidden;background:#fff;flex-shrink:0}
.app-original-wordmark>img{position:absolute!important;width:125.82%!important;max-width:none!important;height:auto!important;left:-12.77%;top:-74.12%;margin:0!important;display:block}
.pr-brand{display:block;letter-spacing:normal;line-height:1;font-size:0!important;padding:0!important;flex-shrink:0}
.pr-header .app-original-wordmark{width:170px}.pr-footer .app-original-wordmark{width:220px}.pr-legacy .logo .app-original-wordmark{width:240px;max-width:80vw}
.app-brand-intro{position:fixed;inset:0;z-index:300;background:#fff;display:grid;place-items:center;padding:30px;animation:brand-fail-open 0s 5s forwards;pointer-events:auto}
.app-brand-intro-content{text-align:center;max-width:820px;width:100%}.app-brand-intro .app-original-wordmark{width:min(720px,90%);margin:0 auto;animation:brand-logo-arrive .85s cubic-bezier(.16,1,.3,1) both}
.app-brand-line{display:block;width:90px;height:1px;background:#ba9a64;margin:40px auto 26px;animation:brand-line-arrive .7s .2s both}
.app-brand-intro p{font:400 clamp(18px,2.7vw,30px)/1.9 Tahoma,Arial,sans-serif;letter-spacing:0;color:#1e2525;margin:0;animation:brand-copy-arrive .7s .35s both}
.app-brand-intro small{display:block;font:400 clamp(9px,1.15vw,13px)/1.8 Arial,sans-serif;letter-spacing:.24em;color:#927347;margin:19px 0 0;animation:brand-copy-arrive .7s .5s both}
.app-brand-intro>button{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));right:30px;border:1px solid #e0e6e3;border-radius:8px;padding:11px 16px;font-size:12px;color:#576962;background:#fff;cursor:pointer}
.app-brand-intro.is-leaving{opacity:0;transition:opacity .25s;pointer-events:none}
@keyframes brand-logo-arrive{from{opacity:0;transform:translateY(15px) scale(.975)}to{opacity:1;transform:none}}
@keyframes brand-line-arrive{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
@keyframes brand-copy-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes brand-fail-open{to{visibility:hidden;pointer-events:none}}
/* Every project section starts open. Only the visitor can collapse it. */
.app-section-jumps{display:flex;gap:6px;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
.app-section-jumps a{padding:10px 12px;min-height:39px;display:flex;align-items:center;font-size:11px;border-radius:7px;border:1px solid #e1e9e5;background:white;flex-shrink:0}
.app-section-jumps a:hover,.app-section-jumps a:focus-visible{background:#e5f4ec;color:#166549;outline:2px solid #79bb98;outline-offset:-2px}
.app-project-section{background:#fff;border:1px solid var(--app-line);border-radius:12px;overflow:hidden;margin:0 0 18px;scroll-margin-top:135px}
.app-project-section>summary{display:flex;gap:12px;align-items:center;justify-content:space-between;list-style:none;padding:19px 24px;background:#f5faf7;cursor:pointer;border-bottom:1px solid transparent;font-size:16px;font-weight:600;color:#214338}
.app-project-section>summary::-webkit-details-marker{display:none}.app-project-section>summary:focus-visible{outline:2px solid #25885e;outline-offset:-3px}
.app-project-section[open]>summary{border-color:#e3ede6}.app-project-section>summary small{display:flex;gap:12px;align-items:center;font-size:10px;color:#648073;font-weight:400}
.app-project-section>summary small:after{content:'+';font-size:21px;width:24px;text-align:center;color:#287856}.app-project-section[open]>summary small:after{content:'−'}
.app-project-section>summary i{font-style:normal}.app-project-section[open] .app-section-closed,.app-project-section:not([open]) .app-section-open{display:none}
.app-project-section>[role=region]{width:100%;padding:24px;max-width:none;margin:0;border:0;border-radius:0;background:white}
.app-project-section>[role=region].pr-editorial{grid-template-columns:230px minmax(0,1fr);gap:30px}.app-project-section>[role=region] h2{font-size:24px;line-height:1.3}.app-project-section>[role=region] h3{font-size:18px}.app-project-section>[role=region] .pr-large-copy{font-size:16px;line-height:1.8}.app-project-section>[role=region] p{font-size:12px;line-height:1.8}
.app-project-section .app-intelligence{padding:24px}.app-project-section .app-intelligence .pr-wrap{width:100%}
@media(max-width:760px){.pr-header .app-original-wordmark{width:145px}.pr-footer .app-original-wordmark{width:190px}.app-brand-intro{padding:20px}.app-brand-intro .app-original-wordmark{width:100%}.app-brand-line{margin:28px auto 19px;width:70px}.app-brand-intro p{font-size:19px;line-height:1.8}.app-brand-intro small{font-size:9px;letter-spacing:.13em;margin-top:16px}.app-brand-intro>button{right:20px;bottom:max(24px,env(safe-area-inset-bottom));font-size:11px}.app-project-section{margin-bottom:13px;border-radius:10px;scroll-margin-top:116px}.app-section-jumps a{font-size:10px;padding:9px 10px;min-height:37px}.app-project-section>summary{padding:15px 17px;font-size:14px}.app-project-section>summary small{font-size:9px;gap:5px}.app-project-section>[role=region],.app-project-section .app-intelligence{padding:19px}.app-project-section>[role=region].pr-editorial{display:block}.app-project-section>[role=region] h2{font-size:22px;margin-bottom:15px}.app-project-section>[role=region] .pr-large-copy{font-size:14px}}
@media(prefers-reduced-motion:reduce){.app-brand-intro *{animation:none!important}.app-brand-intro.is-leaving{transition:none}}
