/* One desktop masthead on all public pages. Never applies to the mobile UI. */
@media (min-width: 1100px) {
  #body_wrap:has(.matsusai-pc-masthead) #fix_header { display: none !important; }
  #body_wrap.matsusai-desktop-header #header:has(.matsusai-pc-masthead) {
    height: auto !important;
    min-height: 0;
    position: relative;
    padding: 0;
    border: 0 !important;
    border-bottom: 1px solid #e0e6ea !important;
    background: #fff !important;
    box-shadow: none !important;
  }
  /* Match the legacy header specificity: its white bar otherwise paints over
     the upper few pixels of the logo even though the image itself fits. */
  #body_wrap.matsusai-desktop-header #header:has(.matsusai-pc-masthead) > .l-header__bar,
  #body_wrap.matsusai-desktop-header #header:has(.matsusai-pc-masthead) > .l-header__inner { display: none !important; }
  #header .matsusai-pc-masthead {
    --pc-brand: #0A385A;
    display: block !important;
    width: min(100%, 1560px);
    margin: auto;
    padding: 0 clamp(24px, 2.4vw, 40px);
    color: #172c3e;
    font-family: var(--matsusai-font-sans);
    box-sizing: border-box;
  }
  #header .matsusai-pc-masthead__top {
    min-height: 100px;
    padding: 16px 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px minmax(0, 1fr);
    align-items: center;
    gap: clamp(20px, 2.4vw, 38px);
    overflow: visible;
  }
  #header .matsusai-pc-brand { grid-column: 2; grid-row: 1; display: flex; align-items: center; justify-content: center; width: 280px; min-height: 60px; line-height: normal; overflow: visible; }
  #header .matsusai-pc-brand img {
    display: block;
    position: static !important;
    width: 280px !important;
    max-width: 100%;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    transform: none !important;
    clip-path: none;
    object-fit: contain;
    object-position: center;
  }
  #header .matsusai-pc-search {
    grid-column: 1;
    grid-row: 1;
    width: min(100%, 360px);
    justify-self: start;
    min-width: 0;
    position: relative;
    display: flex;
    border: 1px solid #c9d3dc;
    border-radius: 5px;
    background: #fff;
  }
  #header .matsusai-pc-search input {
    width: 100%;
    min-width: 0;
    height: 42px;
    padding: 0 14px 0 43px;
    border: 0;
    background: transparent;
    color: #172c3e;
    font: inherit;
    font-size: 14px;
    box-shadow: none;
  }
  #header .matsusai-pc-search button {
    width: 42px;
    height: 42px;
    padding: 0;
    position: absolute;
    left: 0;
    display: grid;
    place-items: center;
    border: 0;
    background: none;
    color: var(--pc-brand);
    cursor: pointer;
  }
  #header .matsusai-pc-utility { grid-column: 3; grid-row: 1; display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px 16px; }
  #header .matsusai-pc-utility a {
    color: #283e50;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
    white-space: nowrap;
  }
  #header .matsusai-pc-navigation {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: stretch;
    gap: 4px;
  }
  #header .matsusai-pc-navigation a {
    min-height: 50px;
    padding: 10px 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
    border-bottom: 3px solid transparent;
    color: #1d3345;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    box-sizing: border-box;
  }
  #header .matsusai-pc-navigation svg { width: 21px; height: 21px; flex: 0 0 auto; }
  #header .matsusai-pc-navigation a[aria-current],
  #header .matsusai-pc-navigation a:hover { border-bottom-color: var(--pc-brand); color: var(--pc-brand); }
  #header .matsusai-pc-masthead a:focus-visible,
  #header .matsusai-pc-masthead button:focus-visible { outline: 2px solid #0A385A; outline-offset: 3px; }
  #header .matsusai-pc-utility a:hover { text-decoration: underline; }
}
