/* Shared header and contact shortcut, measured against the legacy header. */
.site-header { background:#fafbfd; border:0; box-shadow:none; }
.header-inner { max-width:1400px; min-height:92px; padding:10px; gap:0; flex-wrap:nowrap; }
.brand { flex:0 0 260px; margin-right:auto; }
.brand-logo { width:260px; max-height:none; }
.primary-nav { margin:0; }
.primary-nav .menu { gap:0; }
.primary-nav .menu-item { position:relative; list-style:none; }
.menu-item-row { display:flex; align-items:center; }
.primary-nav a { padding:13px 20px; font-size:18px; line-height:20px; color:#262626; }
.primary-nav a:hover { text-decoration:none; color:var(--brown); }
.menu-item-has-children > .menu-item-row > a { padding-right:4px; }
.submenu-toggle { padding:10px 14px 10px 4px; border:0; background:transparent; color:inherit; line-height:20px; }
.submenu-panel { display:none; position:absolute; top:100%; left:0; min-width:240px; z-index:101; background:#fafbfd; box-shadow:0 6px 18px #0002; }
.sub-menu { list-style:none; margin:0; padding:8px 0; }
.sub-menu a { font-size:16px; line-height:1.5; padding:10px 20px; white-space:normal; }
.sub-menu .menu-item-row > a { flex:1; }
.sub-menu .submenu-panel { top:0; left:auto; right:100%; }
.menu-item.is-expanded > .submenu-panel { display:block; }
.floating-line { position:fixed; right:27px; bottom:95px; width:60px; height:60px; z-index:95; border-radius:50%; overflow:hidden; filter:drop-shadow(0 3px 5px #0002); }
.floating-line-icon { width:100%; height:100%; object-fit:contain; }
.floating-line:hover { transform:translateY(-3px); }
@media(min-width:1201px) {
    .menu-toggle { display:none; }
    .primary-nav { display:block; }
    .primary-nav .menu { flex-direction:row; padding:0; }
}
@media(max-width:1400px) and (min-width:1201px) {
    .primary-nav a { padding-left:12px; padding-right:12px; font-size:16px; }
}
@media(max-width:1200px) {
    .header-inner { flex-wrap:wrap; padding:10px 20px; }
    .brand { flex-basis:220px; }
    .brand-logo { width:220px; }
    .menu-toggle { display:block; padding:8px 12px; border:0; background:transparent; color:#262626; font-size:20px; }
    .primary-nav { display:none; order:4; flex-basis:100%; margin:0; max-height:calc(100dvh - 140px); overflow-y:auto; }
    .primary-nav.is-open { display:block; }
    .primary-nav .menu { flex-direction:column; align-items:stretch; gap:0; padding:10px 0; }
    .primary-nav a { flex:1; padding:12px; font-size:17px; line-height:1.5; white-space:normal; }
    .submenu-toggle { padding:12px 16px; min-width:44px; min-height:44px; }
    .submenu-panel, .sub-menu .submenu-panel { position:static; min-width:0; box-shadow:none; border-left:1px solid #e5e5e5; margin-left:16px; }
    .sub-menu { padding:0; }
}
@media(max-width:767px) {
    .header-inner { min-height:76px; padding:10px 16px; }
    .brand { flex-basis:200px; }
    .brand-logo { width:200px; }
    .floating-line { width:54px; height:54px; right:16px; bottom:max(24px,env(safe-area-inset-bottom)); }
}
