/* Shared monochrome UI icons: fixed geometry, independent of emoji fonts. */
.bsIcon{display:inline-block!important;inline-size:18px!important;block-size:18px!important;min-inline-size:18px;flex:0 0 18px;vertical-align:-3px;background:currentColor!important;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat;border:0!important;border-radius:0!important;box-shadow:none!important;font-size:0!important;padding:0!important;line-height:1!important;font-style:normal}
.bsIcon::before,.bsIcon::after{content:none!important}
.bs-search{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m16 16 5 5'/%3E%3C/svg%3E")}
.bs-sliders{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M4 7h7m4 0h5M4 17h3m4 0h9'/%3E%3Ccircle cx='13' cy='7' r='2'/%3E%3Ccircle cx='9' cy='17' r='2'/%3E%3C/svg%3E")}
.bs-check{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E")}
.bs-plus{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E")}
.bs-bookmark{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='M6 4h12v17l-6-4-6 4Z'/%3E%3C/svg%3E")}
.bs-home{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='m3 10 9-7 9 7M5 9v12h14V9M9 21v-7h6v7'/%3E%3C/svg%3E")}
.bs-grid{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E")}
.bs-bell{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 17h16l-2-4V9a6 6 0 0 0-12 0v4ZM9 21h6'/%3E%3C/svg%3E")}
.bs-user{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M4 21v-2a8 8 0 0 1 16 0v2'/%3E%3C/svg%3E")}
.bs-message{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='M3 4h18v13H8l-5 4ZM7 9h10M7 13h6'/%3E%3C/svg%3E")}
.bs-arrow{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E")}
.bs-text{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M4 5h16M12 5v15M8 20h8'/%3E%3C/svg%3E")}
.bs-star{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2-5.6-2.9-5.6 2.9 1.1-6.2L3 9.6l6.2-.9Z'/%3E%3C/svg%3E")}
.projectActions button,.visitorTools button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.siteFooter .footerBrand img{width:190px;height:auto;max-width:100%}
.homeHero .heroCopy h1{font-size:clamp(40px,4.7vw,72px);line-height:1.08;letter-spacing:-.05em;max-width:850px}
.heroCopy>p,.sectionIntro,.innerHeroCopy>p,.detailLead,.prose{font-size:16px;line-height:1.65}
.navlinks a{font-size:13px}.finderIntro p,.finderHint,.finderOptions label,.matchDialog>p,.matchTopicField>p,.matchLeadIntro{font-size:13px!important;line-height:1.6}
.projectBody>p,.serviceCard>p,.directionCard>p,.moduleCard>p{font-size:14px;line-height:1.65}
.projectBody h3{line-height:1.2}.detailMeta{gap:16px}.detailMeta b{font-size:13px;line-height:1.5}
.matchDialog fieldset label span{font-size:13px}.matchDialog input[type=search]{font-size:16px}
.customFunnelCopy:after{content:none}.customFunnelCopy li:before{content:'';width:6px;height:6px;background:currentColor;border-radius:50%}
.footerLegal p{min-width:0;overflow-wrap:anywhere}.siteFooter .footerLegal{grid-template-columns:180px minmax(0,1fr)}
.miniTask.done span{font-size:0}.miniTask.done span:before{content:'';display:block;width:6px;height:3px;border-left:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(-45deg)}
.finderSelectMenu .bsIcon{width:14px!important;height:14px!important;min-width:14px}
.siteFooter>div{font-size:13px}.siteFooter div>span{font-size:12px}.footerLegal i{font-size:13px}.adminNav a{font-size:13px}.adminForm label{font-size:13px}
.configItem input:checked+.configCheck:after{content:'';width:8px;height:4px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg)}
@media(max-width:760px){.homeHero .heroCopy h1{font-size:40px}.siteFooter .footerLegal{grid-template-columns:1fr}.siteFooter .footerManagement{grid-column:auto}.footerLegal i{white-space:normal}.matchDialog{max-height:calc(100dvh - 24px);overflow:auto}.projectFacts{gap:12px}.projectFacts b{font-size:12px;line-height:1.4}.finderPrimary input{font-size:16px}.moduleCard h3{margin-top:25px}}
@media(max-width:760px){.homeHero{min-height:0;padding:40px 22px 22px}.homeHero .heroStage{display:none}.homeHero .heroRoutes{position:static;margin-top:32px}.heroActions .button{justify-content:space-between}.homeHero .heroCopy{min-width:0}.finderIntro h3{overflow-wrap:break-word}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
