/* Goodplan header only — 2026-09-30 */
.header,
.floating-header {
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    box-shadow: 0 4px 18px rgba(15, 25, 38, .12);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
}
.header,
.floating-header {
    background: rgba(27, 49, 85, .55);
}
.header .logo,
.floating-header .floating-logo { flex-shrink: 0; }
.header .logo-box,
.floating-header .floating-logo img {
    width: 210px;
    height: auto;
    object-fit: contain;
}
.header .header-container { gap: 24px; }
.header .nav-menu {
    flex: 1;
    width: auto;
    min-width: 0;
    gap: clamp(18px, 3vw, 48px);
}
.header .nav-menu a,
.floating-header .floating-nav a {
    color: #fff;
    background: none;
    -webkit-text-fill-color: currentColor;
    white-space: nowrap;
}
.header .nav-menu a:hover,
.header .nav-menu a:focus-visible,
.floating-header .floating-nav a:hover,
.floating-header .floating-nav a:focus-visible { color: #E2C18E; }
.header .contact-phone,
.floating-header .floating-phone { color: #fff; white-space: nowrap; flex-shrink: 0; }
.header .phone-icon,
.floating-header .floating-phone img { filter: brightness(0) invert(1); }
.header .hamburger-line { background-color: #fff; }
.floating-header .floating-cta-btn { background: #C8A163; color: #fff; }
.floating-header .floating-cta-btn:hover { background: #1B3155; color: #fff; }
.header a:focus-visible,
.floating-header a:focus-visible { outline: 2px solid #E2C18E; outline-offset: 5px; }
@media (min-width: 1001px) and (max-width: 1200px) {
    .header .header-container { padding-inline: 24px; gap: 18px; }
    .header .nav-menu { gap: 18px; }
    .header .nav-menu a { font-size: 16px; }
    .header .logo-box { width: 160px; height: auto; }
    .floating-header .floating-nav { gap: 20px; }
}
@media (max-width: 1000px) {
    .header .nav-menu { display: none; }
    .header .hamburger-menu { display: flex; }
    .floating-header .floating-nav { display: none; }
}
@media (max-width: 768px) {
    .header .logo-box { width: 145px; height: auto; }
    .floating-header .floating-logo img { width: 125px; height: auto; }
    .floating-header .floating-header-container { gap: 8px; padding-inline: 12px; }
    .floating-header .floating-contact { gap: 8px; }
    .floating-header .floating-phone { font-size: 12px; gap: 4px; }
    .floating-header .floating-cta-btn { padding: 8px; font-size: 12px; }
}
@media (max-width: 380px) {
    .floating-header .floating-logo img { width: 115px; height: auto; }
    .floating-header .floating-phone img { display: none; }
}
