/* Header and menu, shared by every page (build.mjs writes the markup). */
.ow-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);border-bottom:1px solid #E4E6EF;box-shadow:0 10px 24px -20px rgba(11,11,20,.45);font-family:'Geist',sans-serif;transition:background-color .25s ease-out,border-color .25s ease-out,box-shadow .25s ease-out}
.ow-header-row{max-width:1200px;margin:0 auto;padding:12px 16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}
.ow-brand{display:flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;color:#0B0B14}
.ow-brand:hover{color:#0B0B14}
.ow-brand img{width:40px;height:40px;object-fit:contain}
.ow-wordmark{display:inline-block;overflow:hidden;font-weight:700;font-size:21px;letter-spacing:-0.02em;white-space:nowrap;opacity:1;transform:translateX(0);max-width:12em;transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1),max-width .35s cubic-bezier(.16,1,.3,1)}
.ow-nav{justify-self:center;display:flex;align-items:center;gap:2px;font-size:15px}
.ow-actions{justify-self:end;display:flex;align-items:center;gap:4px;font-size:15px}
.ow-navlink{display:inline-flex;align-items:center;gap:4px;color:#3A3F55;text-decoration:none;padding:12px 14px;border-radius:999px;white-space:nowrap;cursor:pointer;transition:background-color .18s}
.ow-navlink:hover,.ow-navlink[aria-current="page"]{background:#F1F2F8;color:#0B0B14}
.ow-cta{background:#0B0B14;color:#FFFFFF;text-decoration:none;padding:12px 18px;border-radius:999px;font-weight:500;white-space:nowrap;transition:transform .18s cubic-bezier(.16,1,.3,1)}
.ow-cta:hover{color:#FFFFFF;transform:translateY(-1px)}

/* Solutions: a dropdown in the desktop menu */
.ow-sub{position:relative}
.ow-sub summary{list-style:none}
.ow-sub summary::-webkit-details-marker{display:none}
.ow-sub summary svg{transition:transform .2s cubic-bezier(.16,1,.3,1)}
.ow-sub[open] summary svg{transform:rotate(180deg)}
.ow-sub ul{position:absolute;left:0;top:calc(100% + 6px);z-index:50;margin:0;padding:6px;list-style:none;min-width:240px;background:#FFFFFF;border:1px solid #E4E6EF;border-radius:14px;box-shadow:0 20px 40px -20px rgba(11,30,77,.35)}
.ow-sub li a{display:block;padding:10px 12px;border-radius:10px;color:#0B0B14;text-decoration:none;white-space:nowrap}
.ow-sub li a:hover,.ow-sub li a[aria-current="page"]{background:#F1F2F8}

/* Phones and narrow windows: the menu behind a button */
.ow-menu{display:none;position:relative}
.ow-menu summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;color:#0B0B14;cursor:pointer}
.ow-menu summary::-webkit-details-marker{display:none}
.ow-menu summary:hover,.ow-menu[open] summary{background:#F1F2F8}
.ow-menu-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:50;width:min(300px,calc(100vw - 32px));padding:8px;display:flex;flex-direction:column;background:#FFFFFF;border:1px solid #E4E6EF;border-radius:16px;box-shadow:0 24px 48px -20px rgba(11,30,77,.4)}
.ow-menu-panel a{padding:12px;border-radius:10px;color:#0B0B14;text-decoration:none}
.ow-menu-panel a:hover,.ow-menu-panel a[aria-current="page"]{background:#F1F2F8}
.ow-menu-group{margin:6px 0 0;padding:8px 12px 2px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#5A5F75}
.ow-menu-panel .ow-menu-child{padding-left:24px}
.ow-menu-panel .ow-menu-login{display:none;margin-top:6px;border-top:1px solid #E4E6EF;border-radius:0 0 10px 10px}

/* Home page with JavaScript: transparent header and only the symbol while the hero logo is on screen */
.js .ow-home .ow-header:not(.is-past-hero){background:rgba(251,251,253,0);border-bottom-color:transparent;box-shadow:none}
.js .ow-home .ow-header:not(.is-past-hero) .ow-wordmark{opacity:0;transform:translateX(-6px);max-width:0}

.ow-short{display:none}
/* The menu needs about 1180px next to the name and the buttons (1260px in
   French, whose labels are the longest); below that it moves behind the button. */
@media (max-width: 1180px){
  .ow-nav{display:none}
  .ow-menu{display:block}
  .ow-header-row{display:flex;justify-content:space-between}
}
@media (max-width: 1260px){
  html:lang(fr) .ow-nav{display:none}
  html:lang(fr) .ow-menu{display:block}
  html:lang(fr) .ow-header-row{display:flex;justify-content:space-between}
}
@media (max-width: 720px){.ow-wordmark{display:none !important}}
@media (max-width: 440px){
  .ow-long,.ow-login{display:none}
  .ow-short{display:inline}
  .ow-menu-panel .ow-menu-login{display:block}
}
@media (prefers-reduced-motion: reduce){.ow-header,.ow-wordmark,.ow-sub summary svg{transition:none}.ow-cta,.ow-cta:hover{transform:none;transition:none}}
@media print{.ow-header{display:none}}
