/* One lightweight, decorative SVG vocabulary. Text supplies accessible names. */
.icon{display:inline-block;width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.18em;pointer-events:none}
.nav-orbit .icon{width:16px;height:16px}
.floating-nav nav a:hover .icon{transform:none}
.impact dt{display:flex;align-items:center;gap:10px}
.impact dt .icon{width:21px;height:21px;color:#b829f7}
.filters button{display:inline-flex;align-items:center;justify-content:center;gap:9px}
.filters .icon{width:16px;height:16px;color:#c86bf4}
.filters button[aria-pressed=true] .icon{color:#fff}
.project-copy small{display:flex;align-items:center;gap:9px}
.project-copy small .icon{color:#c86bf4;width:16px;height:16px}
.project-cover>span,.gallery-photo>span{display:inline-flex;align-items:center;gap:7px}
.project-cover>span .icon,.gallery-photo>span .icon{width:14px;height:14px}
.case-link{display:flex;align-items:center;gap:8px}
.case-link .icon{width:16px;height:16px;color:#c86bf4}
.video-link{display:inline-flex;align-items:center;gap:10px}
.contact>a>.icon{width:.8em;height:.8em;margin-left:.2em}
@media(max-width:700px){.impact dt{gap:7px}.impact dt .icon{width:17px;height:17px}.filters button{gap:7px}}

/* Lucide supplies all navigation and action glyphs, including mobile controls. */
.nav-toggle .icon{width:20px;height:20px}
.nav-toggle .nav-close{display:none}
.is-open .nav-toggle .nav-menu{display:none}
.is-open .nav-toggle .nav-close{display:block}
.viewer-close .icon,.viewer-stage button .icon{width:24px;height:24px;vertical-align:middle}
#motion{display:inline-flex;align-items:center;gap:6px}
#motion .icon{width:14px;height:14px}
.panel .buttons button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
