/* Header design follows the homepage; keep the consulting body styles intact. */
.site-header {
    --primary: #25c2cc; --text: #1a1a1a;
    --fs-body: clamp(1rem,1.2vw,1.1rem);
    position: fixed; top: 0; left: 0; width: 100%; height: 80px;
    background: rgba(255,255,255,.95); backdrop-filter: blur(10px);
    display: flex; justify-content: space-between; align-items: center;
    padding: 0 clamp(20px,5vw,80px); z-index: 9999;
    box-shadow: 0 2px 20px rgba(0,0,0,.03);
    font-family: "Noto Sans JP","Yu Gothic",sans-serif; line-height: 1.8;
}
.site-header .logo { display: flex; align-items: center; }
.site-header .logo img { height: 32px; width: auto; display: block; }
.site-header nav { display: flex; align-items: center; flex-wrap: nowrap; margin-top: 0; }
.site-header nav a { text-decoration: none; color: var(--text); font-weight: 700; transition: color .25s ease; }
.site-header nav a:hover { color: var(--primary); }
.site-header nav a.nav-btn { background: var(--primary); color: white; padding: 5px 20px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; }
.site-header nav a.nav-btn:hover { background: #1da8b1; color: white; }
@media (min-width: 1201px) { .site-header .menu-trigger { display: none; } }
main { padding-top: 80px; }
main section[id] { scroll-margin-top: 80px; }
