:root{--ink-muted:#545b68;--focus-ring:var(--brand-primary);--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:3rem;--space-section:6rem;color-scheme:light}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:10000;top:8px;left:16px;padding:12px 20px;background:var(--brand-dark);color:white;border-radius:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}
:where(a,button,summary,[tabindex]):focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}main:focus{outline:none}h1,h2,h3{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}
.flow-copy{font-weight:inherit}.project-card{position:relative}.project-title-link{color:inherit;font:inherit}.project-title-link::after{content:"";position:absolute;inset:0;z-index:1}.project-card .flow-copy:has(.project-title-link){position:static}.project-card .card-copy,.project-card .card-copy>.flow-box{position:static}.project-card .flow-video{z-index:2}.project-title-link:focus-visible .project-title-text{outline:2px solid var(--focus-ring);outline-offset:6px;border-radius:2px}.project-card:hover .project-title-link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.case-section{max-width:1280px!important;margin-inline:auto!important;align-self:center!important}.case-section .flow-column>.flow-box{margin-inline:0;align-self:flex-start}.case-section>.flow-box{margin-inline:0!important;align-self:flex-start!important}.case-section .flow-row{align-items:flex-start}.home-hero .flow-column>.flow-box{margin-inline:0;align-self:flex-start}.home-hero>.flow-box{margin-inline:auto!important}.home-hero [href^="mailto:"]{min-height:44px;align-self:flex-start}.home-hero [data-name="Container"]{gap:32px!important}
.site-header nav a,.home-link,.back-top{font-size:1rem}.site-header .home-link{background:var(--surface)}.site-header .contact-link{background:var(--brand-primary)}.nav-toggle span{background:var(--text-primary)}.site-header nav a[aria-current]{background:var(--surface-lilac);color:var(--brand-dark)}
#mobile-navigation{max-height:calc(100dvh - 100px);overflow:auto;overscroll-behavior:contain}.logo-strip{overflow-x:auto;justify-content:flex-start;scrollbar-width:thin}.logo-strip:focus-visible{outline-offset:-3px}
.art-tools{display:flex;justify-content:flex-end;gap:12px;width:100%;margin:4px 0 0}.art-tools button{min-width:44px;min-height:44px;padding:8px 12px;border-radius:8px;color:var(--brand-dark);background:var(--surface);font-size:.875rem}.flow-art.is-expanded{aspect-ratio:auto;overflow:auto;max-width:100%!important;overscroll-behavior:contain;scrollbar-width:auto}.flow-art.is-expanded>.design-frame{position:relative!important;transform:none!important}.flow-art.is-expanded:focus-visible{outline-offset:2px}
.ovalix-section h1,.ovalix-section h2{font:inherit;color:inherit;letter-spacing:inherit;line-height:inherit;margin:0}.walk-count{font-variant-numeric:tabular-nums}.walk-controls{color:var(--text-primary)}.walk-controls .walk-prev{background:var(--surface-lilac);color:var(--brand-dark)}.walk-controls .walk-prev:disabled{opacity:1;color:var(--ink-muted)}.walk-label{font-size:1.375rem}.return-home{color:var(--brand-dark)}
@media(min-width:701px){.home-hero{padding-bottom:32px!important}.page-home #node-739-69922{padding-block:48px!important}.featured-section{padding-top:48px!important}}
@media(max-width:700px){.case-section{padding-block:40px!important}.site-header nav a{font-size:1rem}.art-tools{margin-top:0}.home-hero .flow-column>.flow-box{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.walk-description{max-width:65ch;font-size:1rem;line-height:1.5;margin:0 0 20px}.walk-controls h2{font-size:1.375rem}.ovalix-section [role=heading]{color:var(--text-primary)}
.ovalix-section [data-node-id="I13583:10260;13583:10067"]{color:var(--ink-muted)}
#node-700-5366-694-1184{color:var(--text-primary)!important;background:#fff}
/* Keep the status label readable throughout the loading illustration animation. */
@keyframes pulse{50%{transform:scale(.97)}}

[id]{scroll-margin-top:100px}

.flow-box:has(>#node-700-5008-694-7356),.flow-box:has(>#node-700-5020-694-7356){min-width:3rem;max-width:none!important}
.ovalix-section [data-name="Input to policy to result"]>p{min-width:1.5em;height:auto;min-height:1.5em}
