/* Readable navigation over any editable hero image or video. */
.site-header { height: 90px; }
.site-header.over-hero { background: rgba(10, 20, 39, .95); border-bottom: 1px solid #ffffff24; backdrop-filter: blur(18px); }
.header-inner { max-width: 1480px; padding: 0 32px; gap: 24px; }
.header-inner > .brand { flex-shrink: 0; }
.main-nav { margin-left: auto; gap: 5px; }
.main-nav > a { padding: 11px 12px; border-radius: 9px; font-size: 18px; font-weight: 650; color: #273a58; line-height: 1.5; }
.main-nav > a.active, .main-nav > a:hover { background: #e4ecff; color: #284fbd; }
.main-nav > a.active:after { display: none; }
.over-hero .main-nav > a { color: #f3f6ff; }
.over-hero .main-nav > a.active, .over-hero .main-nav > a:hover { background: #ffffff20; color: #fff; box-shadow: inset 0 -2px #9dbbff; }
.header-actions { margin-left: 0; gap: 14px; }
.search-box { display: flex; width: 236px; gap: 8px; padding: 4px 5px 4px 12px; border: 1px solid #bacbec; background: #fff; color: #334b76; border-radius: 10px; box-shadow: 0 3px 12px #0000000d; }
.search-box > svg { flex-shrink: 0; }
.search-box input { min-width: 0; width: 100%; padding: 8px 0; font-size: 14px; color: #172b4e; outline: 0; box-shadow: none; }
.search-box input::placeholder { color: #596c8a; opacity: 1; }
.search-submit { flex-shrink: 0; min-height: 34px; padding: 6px 10px; border: 0; border-radius: 6px; background: #4266d5; color: #fff; font-size: 13px; font-weight: 600; cursor: pointer; }
.search-submit:hover { background: #2e4fb5; }
.search-box:focus-within { outline: 3px solid #94b4ff; outline-offset: 3px; }
.account-btn { white-space: nowrap; font-size: 14px; min-height: 42px; }
.over-hero .account-btn { background: #eff4ff; color: #284ea5; border-color: #c4d6ff; }
.ice-header .site-header.over-hero { background: rgba(248, 251, 255, .97); border-color: #d7e2f5; }
.ice-header .over-hero .main-nav > a { color: #273a58; }
.ice-header .over-hero .main-nav > a.active, .ice-header .over-hero .main-nav > a:hover { background: #e4ecff; color: #284fbd; box-shadow: none; }
.site-header a:focus-visible, .site-header button:focus-visible { outline: 3px solid #86adff; outline-offset: 3px; }
.product-no { display: inline-flex; align-items: center; gap: 12px; top: 18px; left: 18px; padding: 8px 13px; border: 1px solid #afc5ef70; border-radius: 9px; background: #0e1d39ed; color: #fff; letter-spacing: 0; backdrop-filter: blur(10px); }
.product-no b { font: 600 21px/1.1 ui-monospace, Consolas, monospace; letter-spacing: 1px; }
.product-no span { padding-left: 12px; border-left: 1px solid #adbfdf70; font-size: 12px; color: #e2ebff; }
.pd-project-number { display: inline-block; margin-right: 12px; font: 600 14px/1.5 ui-monospace, Consolas, monospace; letter-spacing: .5px; }
.collection-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 26px 0 24px; }
.collection-count { font-size: 14px; color: #54678a; }
.collection-tools { display: flex; align-items: center; gap: 20px; }
.collection-sort { display: flex; align-items: center; gap: 10px; margin: 0; color: #425879; font-size: 14px; white-space: nowrap; }
.collection-sort select { margin: 0; width: 176px; padding: 11px 12px; color: #233d69; background: #fff; border-color: #c3d2f0; font-size: 14px; }
#project-search { display: flex; align-items: center; width: 240px; border: 1px solid #c3d2f0; border-radius: 10px; background: #fff; padding: 0 8px 0 14px; }
#project-search input { min-width: 0; width: 100%; border: 0; box-shadow: none; background: none; padding: 12px 0; font-size: 14px; }
#project-search input::placeholder { color: #627796; }
#project-search .icon-button { color: #395ebe; flex-shrink: 0; }
.category-filters { margin-bottom: 0; }
.project-number-hint { margin: -2px 0 20px; font-size: 13px; line-height: 1.7; color: #607393; }
.project-editor-nav .chip { display: inline-flex; gap: 8px; align-items: center; }
.editor-project-number { font: 600 13px ui-monospace, Consolas, monospace; }
@media (max-width: 1250px) and (min-width: 1061px) {
  .header-inner { padding: 0 24px; gap: 16px; }
  .header-inner .brand strong { font-size: 17px; }
  .header-inner .brand small { letter-spacing: 2px; }
  .main-nav > a { padding: 11px 9px; font-size: 17px; }
  .header-actions { gap: 10px; }
  .search-box { width: 210px; }
}
@media (min-width: 701px) and (max-width: 1060px) {
  .site-header { height: 140px; }
  .header-inner { flex-wrap: wrap; justify-content: space-between; align-content: center; gap: 10px 20px; }
  .header-actions { margin-left: auto; }
  .search-box { width: 260px; }
  .main-nav { order: 3; width: 100%; justify-content: flex-end; margin: 0; gap: 12px; }
  .site-header.over-hero + main .hero-content { padding-top: 190px; }
}
@media (max-width: 700px) {
  .site-header { height: 132px; }
  .header-inner { display: grid; grid-template-columns: 1fr auto auto; gap: 10px 12px; padding: 13px 18px; align-content: center; }
  .header-inner .brand strong { font-size: 16px; }
  .header-inner .brand small { font-size: 7px; letter-spacing: 2px; }
  .header-inner .brand-mark { width: 34px; height: 34px; }
  .main-nav { display: none; }
  .header-actions { display: contents; }
  .account-btn { grid-column: 2; grid-row: 1; font-size: 12px; min-height: 36px; padding: 7px 10px; }
  .account-btn svg { display: none; }
  .mobile-menu { display: inline-flex; grid-column: 3; grid-row: 1; color: #2e4d7e; }
  .over-hero .mobile-menu { color: #fff; }
  .ice-header .over-hero .mobile-menu { color: #2e4d7e; }
  .search-box { grid-column: 1 / -1; grid-row: 2; width: 100%; box-sizing: border-box; }
  .mobile-nav { top: 127px; }
  .mobile-nav a { font-size: 17px; font-weight: 600; padding: 13px; }
  .collection-toolbar { align-items: flex-start; flex-direction: column; gap: 14px; }
  .collection-tools { width: 100%; flex-wrap: wrap; gap: 14px; }
  #project-search { width: 100%; box-sizing: border-box; }
  .collection-sort { justify-content: space-between; width: 100%; }
  .collection-sort select { width: auto; min-width: 180px; }
}

/* Email sign-in */
.login-panel label{font-size:14px}.login-panel>p{font-size:14px;color:#66758e}.login-panel input[name=email],.login-panel input[name=code]{font-size:16px}.login-feedback{font-size:13px;line-height:1.7;min-height:44px;margin:10px 0}.login-panel .code-field input{min-width:0}.login-panel .code-field button{flex-shrink:0}.login-panel .notice{overflow-wrap:anywhere}
