.portfolio-image{position:relative;margin:0}
.portfolio-media-label{position:absolute;bottom:0;left:0;right:0;background:#071c43ed;color:white;padding:7px 12px;font-size:.7rem;line-height:1.4}
.portfolio-empty{grid-column:1/-1;padding:25px;background:#f1f7ff;border-radius:15px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #f5be20;outline-offset:4px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #0a7e91;outline-offset:2px}
.skip-link{position:fixed;top:8px;left:8px;padding:12px 18px;z-index:200;background:white;color:#061b43;transform:translateY(-160%);border-radius:8px;font-weight:800}
.skip-link:focus{transform:none}
.contact-layout>*,.form-row>label{min-width:0}
form input,form select,form textarea{min-width:0;max-width:100%}
.form-disclaimer{display:block;margin-top:16px;overflow-wrap:anywhere}
.form-fallback{padding:16px;border:1px solid #c7dce9;border-radius:12px;background:#f1f7ff;overflow-wrap:anywhere}
.form-fallback a{text-decoration:underline}
button:disabled{opacity:.65;cursor:default}
@media(max-width:980px){
  .nav.open{max-height:calc(100dvh - 90px);overflow-y:auto}
  .nav-dropdown-menu{max-width:100%}
  .nav a,.nav-dropdown summary{white-space:normal;overflow-wrap:anywhere}
  html:not(.has-js) .menu-toggle{display:none}
  html:not(.has-js) .site-header{position:static}
  html:not(.has-js) .nav-wrap{flex-wrap:wrap}
  html:not(.has-js) .nav{display:flex;position:static;flex-basis:100%;padding:12px;box-shadow:none}
}
@media(max-width:620px){.nav.open{max-height:calc(100dvh - 74px)}}

