/* Uniform Bio site rules that Webflow classes cannot hold: states, focus, icons, media controls. */
[data-ub-icon] .ub-ai{width:100%;height:100%}
.uh-arr{transition:transform .25s cubic-bezier(.3,.7,.2,1.4)}
.uh-btn-primary:hover .uh-arr,.uh-btn-line:hover .uh-arr{transform:translateX(4px)}
.uh-page [id]{scroll-margin-top:84px}
/* focus: green on light grounds, gold on navy */
.uh-page a:focus-visible,.uh-page button:focus-visible,.uh-page input:focus-visible,.uh-page select:focus-visible,.uh-page textarea:focus-visible{outline:2px solid #008469;outline-offset:3px}
.uh-sec-navy :focus-visible,.uh-sec-ink :focus-visible,.uh-close :focus-visible,.uh-footer :focus-visible,.uh-dark :focus-visible{outline-color:#D6A300!important}
.uh-page ::placeholder{color:#5E6878;opacity:1}
/* form states */
.uh-chip[aria-pressed="true"]{background-color:#FFFFFF;border-color:#FFFFFF;color:#1A234B}
.uh-cond[data-on="1"]{display:grid}
.uh-submit:disabled{opacity:.4;cursor:not-allowed}
.uh-req{font-weight:400;color:#CDCFD7}
.uh-page .w-form-done{padding:0;background-color:transparent;text-align:left;color:#FFFFFF}
.uh-page .w-form-fail{background-color:#FBE9E7;color:#1A234B}
/* video pause control (WCAG 2.2.2): hidden until keyboard focus; a click on the video also pauses it */
.uh-well-tce,.uh-well-til,.uh-lens,.uh-lens-static,.uh-lens-gold,.uh-wf-frame{isolation:isolate}
.uh-well-tce,.uh-well-til{position:relative}
.uh-page video{cursor:pointer}
.uh-vbtn{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:0;border-radius:4px;background:rgba(26,35,75,.82);color:#FFFFFF;font:600 13px/1 "Plus Jakarta Sans",Arial,sans-serif;cursor:pointer;opacity:0;pointer-events:none}
.uh-vbtn:focus-visible{opacity:1;pointer-events:auto;background:#1A234B}
.uh-vbtn svg{width:12px;height:12px;fill:currentColor}
.uh-lens .uh-vbtn,.uh-lens-static .uh-vbtn,.uh-lens-gold .uh-vbtn{left:50%;bottom:9%;transform:translateX(-50%)}
.uh-well-tce .uh-vbtn,.uh-well-til .uh-vbtn,.uh-wf-frame .uh-vbtn{right:10px;bottom:10px}
/* skip link */
.uh-skip:focus{top:12px}
@media (prefers-reduced-motion: reduce){.uh-page *{scroll-behavior:auto!important;transition:none!important}}
/* workflow pieces drawn in the page (uh-flow.js); styled by attribute because Webflow drops a class it holds no styles for */
[data-uh-flow]{position:relative;width:100%;aspect-ratio:4/3;cursor:pointer;isolation:isolate}
[data-uh-flow] svg{display:block;width:100%;height:100%;overflow:visible;font-family:"Plus Jakarta Sans",Arial,sans-serif}
[data-uh-flow] .uh-vbtn{right:8px;bottom:8px}
@media screen and (max-width:991px){.uh-wf [data-uh-flow]{max-width:520px}}
/* back to top: navy, the 4 px corner, a green focus ring that reads on bone and on navy */
.uh-top{position:fixed;right:24px;bottom:24px;z-index:50;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1.5px solid rgba(247,245,240,.35);border-radius:4px;background:#1A234B;color:#FFFFFF;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s}
.uh-top.is-on{opacity:1;visibility:visible;transform:none}
.uh-top:hover{background:#0F1634}
.uh-top svg{width:20px;height:20px}
.uh-top:focus-visible{outline:3px solid #008469;outline-offset:2px}
@media screen and (max-width:767px){.uh-top{right:16px;bottom:16px;width:44px;height:44px}}
@media (prefers-reduced-motion: reduce){.uh-top{transition:none}}
/* menu below 992px (uh-site.js): a 4 px cornered button in the header, links in a panel under it; the panel carries the
   evaluation button only on phones, where the header drops it */
.uh-menu-btn{display:none;flex:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:44px;height:44px;padding:0;border:1.5px solid #1A234B;border-radius:4px;background:transparent;color:#1A234B;cursor:pointer}
.uh-menu-btn span{display:block;width:18px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
.uh-menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.uh-menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.uh-menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.uh-menu{position:absolute;left:0;right:0;top:100%;padding:8px 0 24px;background:#F7F5F0;border-bottom:1px solid #CFD1CE;box-shadow:0 18px 30px -18px rgba(26,35,75,.35)}
.uh-menu[hidden]{display:none}
.uh-menu-link{display:block;padding:16px 0;border-bottom:1px solid #E3E4E0;color:#1A234B;font:600 18px/1.2 "Plus Jakarta Sans",Arial,sans-serif;text-decoration:none}
.uh-menu-link[aria-current="page"]{color:#008469}
.uh-menu-cta{display:none;align-items:center;justify-content:center;height:48px;margin-top:20px;border-radius:4px;background:#1A234B;color:#FFFFFF;font:600 15px/1 "Plus Jakarta Sans",Arial,sans-serif;text-decoration:none}
.uh-menu-cta:focus-visible{outline:2px solid #008469;outline-offset:3px}
@media screen and (max-width:991px){.uh-menu-btn{display:flex}}
@media screen and (min-width:992px){.uh-menu{display:none}}
@media screen and (max-width:767px){.uh-menu-btn{width:40px;height:40px}}
@media screen and (max-width:479px){.uh-header .uh-header-btn{display:none}.uh-menu-btn{margin-left:auto}.uh-menu-cta{display:flex}}
/* double rings around each page-hero lens (uh-site.js): still hairlines at 1.29x and 1.68x; hidden once the hero stacks, as on home */
.uh-rings{position:absolute;z-index:0;pointer-events:none}
.uh-ring{position:absolute;border-radius:50%;border:1px solid #CFD1CE}
.uh-ring-a{inset:-14.5%}
.uh-ring-b{inset:-34%}
.uh-lens-gold,.uh-media-cap{z-index:1}
/* home hero: the instrument sits in front of the lens */
.uh-inst{z-index:2}
.uh-media-cap{position:relative}
@media screen and (max-width:991px){.uh-rings{display:none}}
/* logo intro (uh-intro.js): a navy cover from first paint, then the native intro; the cover clears itself if the script fails */
html.uh-intro-on body::after{content:"";position:fixed;inset:0;z-index:9998;background:#1A234B;animation:uh-intro-safe 0s linear 4.5s forwards}
@keyframes uh-intro-safe{to{visibility:hidden}}
.uh-intro{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1A234B;cursor:pointer;will-change:transform}
.uh-intro-mark{display:block;width:min(64vw,560px);height:auto;overflow:visible}
.uh-intro-tag{margin-top:clamp(16px,2.2vw,26px);font:700 clamp(15px,1.7vw,22px)/1.2 "Plus Jakarta Sans",Arial,sans-serif;color:#FFFFFF;opacity:0}
