/* Independent site chrome: the vm- namespace is reserved for these components. */
.vm-header, .vm-footer { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.vm-header a, .vm-footer a { text-decoration: none; }
.vm-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    color: #fff;
    background: linear-gradient(135deg, #ff6b35, #ff8566);
    box-shadow: 0 2px 12px #84350f20;
}
.vm-header__inner, .vm-footer__inner { max-width: 1160px; margin: 0 auto; padding-inline: 20px; }
.vm-header__inner { min-height: 66px; display: flex; align-items: center; gap: 24px; }
.vm-brand { display: inline-flex; align-items: center; gap: 10px; color: #fff; white-space: nowrap; font-size: 16px; font-weight: 700; }
.vm-brand img { display: block; width: 44px; height: 44px; object-fit: contain; }
.vm-header .vm-brand span { text-transform: uppercase; text-shadow: 0 1px 3px #71321960; }
.vm-navigation { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.vm-navigation a { padding: 10px 14px; color: #fff; font-size: 14px; font-weight: 600; border-radius: 24px; transition: background 0.2s; }
.vm-navigation a:hover, .vm-navigation a[aria-current="page"] { background: #ffffff30; }
.vm-call { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 9px 14px; border: 1px solid #ffffff70; border-radius: 24px; background: #fff; color: #ad3d15; font-size: 13px; font-weight: 700; white-space: nowrap; }
.vm-call:hover { background: #fff3e9; }
.vm-call svg { width: 18px; height: 18px; }
.vm-menu-button { display: none; width: 44px; height: 44px; border: 1px solid #ffffff70; border-radius: 12px; background: #ffffff18; cursor: pointer; }
.vm-menu-button span { width: 20px; height: 2px; background: #fff; transition: transform 0.2s, opacity 0.2s; }
.vm-menu-button[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.vm-menu-button[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.vm-menu-button[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.vm-header :focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.vm-footer { padding: 22px 0 10px; background: linear-gradient(135deg, #2c3e50, #34495e); color: #dce4ec; }
.vm-footer__main { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.vm-footer .vm-brand { font-size: 15px; }
.vm-footer .vm-brand img { width: 40px; height: 40px; filter: brightness(0) invert(1); }
.vm-footer__nav { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.vm-footer__nav a { color: #e7edf3; font-size: 13px; padding-block: 10px; }
.vm-footer__phone { color: #fff; font-size: 16px; font-weight: 700; white-space: nowrap; padding-block: 10px; }
.vm-footer__details { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; margin: 10px 0 14px; font-size: 12px; }
.vm-footer__details address { font-style: normal; margin-right: auto; }
.vm-footer__details a { color: #ffb08c; padding-block: 8px; }
.vm-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 20px; border-top: 1px solid #ffffff24; padding-top: 8px; font-size: 11px; color: #bccbd8; }
.vm-footer__bottom a { color: #dce4ec; display: inline-block; padding-block: 6px; }
.vm-footer a:hover { color: #ffc4a6; }
.vm-footer :focus-visible { outline: 2px solid #ffb08c; outline-offset: 3px; }
@media (max-width: 960px) {
    .vm-header__inner { gap: 12px; }
    .vm-call { margin-left: auto; }
    .vm-menu-button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; flex-shrink: 0; }
    .vm-navigation { display: none; position: absolute; top: calc(100% + 8px); left: 12px; right: 12px; margin: 0 auto; max-width: 520px; padding: 14px; background: #fff; border: 1px solid #efddd0; border-radius: 18px; box-shadow: 0 12px 32px #2c3e5026; max-height: calc(100dvh - var(--header-height, 66px) - 24px); overflow-y: auto; overscroll-behavior: contain; }
    .vm-navigation.is-open { display: grid; grid-template-columns: 1fr; gap: 8px; }
    .vm-navigation a { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px; border: 1px solid #f0e6de; border-radius: 11px; background: #fffaf6; color: #344454; font-size: 14px; }
    .vm-navigation a::after { content: ''; width: 6px; height: 6px; flex-shrink: 0; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); opacity: 0.55; }
    .vm-navigation a:hover { background: #fff0e5; }
    .vm-navigation a[aria-current="page"] { color: #a23a16; background: #ffeadc; border-color: #f4c5a8; }
    .vm-navigation :focus-visible { outline-color: #a23a16; outline-offset: 1px; }
    .vm-menu-button[aria-expanded="true"] { background: #fff; border-color: #fff; }
    .vm-menu-button[aria-expanded="true"] span { background: #b4431b; }
    .vm-footer__main { flex-wrap: wrap; }
    .vm-footer__nav { order: 3; width: 100%; }
    .vm-footer__details address { width: 100%; }
}
@media (max-width: 600px) {
    .vm-header__inner, .vm-footer__inner { padding-inline: 15px; }
    .vm-header__inner { min-height: 60px; gap: 8px; }
    .vm-header .vm-brand { font-size: 14px; gap: 7px; }
    .vm-header .vm-brand img { width: 38px; height: 38px; }
    .vm-call { width: 44px; height: 44px; padding: 10px; }
    .vm-call span { display: none; }
    .vm-footer { padding-top: 16px; }
    .vm-footer__main { gap: 6px 12px; }
    .vm-footer .vm-brand { font-size: 13px; gap: 6px; }
    .vm-footer .vm-brand img { width: 32px; height: 32px; }
    .vm-footer__phone { font-size: 13px; }
    .vm-footer__nav { justify-content: space-between; gap: 4px 12px; }
    .vm-footer__nav a { min-height: 44px; display: flex; align-items: center; }
    .vm-footer__details { gap: 2px 16px; margin: 4px 0 10px; }
    .vm-footer__bottom { gap: 2px 12px; }
}

@media (max-width: 960px) {
    html:not(.site-js) .vm-header .vm-header__inner { flex-wrap: wrap; padding-block: 8px; }
    html:not(.site-js) .vm-header .vm-menu-button { display: none; }
    html:not(.site-js) .vm-header .vm-navigation { display: grid; grid-template-columns: 1fr; position: static; order: 3; width: 100%; max-width: none; padding: 10px; box-shadow: none; background: #fff; max-height: none; }
}

/* Developer attribution: isolated, compact wordmark. */
.ck-signature { display: inline-flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px 8px; max-width: 100%; font-size: 11px; line-height: 1.5; }
.ck-signature__caption { color: #bccbd8; }
.vm-footer .ck-signature__link { position: relative; display: inline-block; padding: 10px calc(5px + 1ch); color: #00ffff; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12px; font-weight: 700; line-height: 1.5; letter-spacing: 1px; white-space: nowrap; text-decoration: none; transition: color 0.2s, text-shadow 0.2s; }
.ck-signature__link::before, .ck-signature__link::after { content: ''; position: absolute; top: 50%; width: 5px; height: 14px; transform: translateY(-50%); border-block: 1px solid; opacity: 1; pointer-events: none; }
.ck-signature__link::before { left: 0; border-left: 1px solid; color: #ff00ff; }
.ck-signature__link::after { right: 0; border-right: 1px solid; color: #ff00ff; }
.vm-footer .ck-signature__link:hover, .vm-footer .ck-signature__link:focus-visible { color: #00ffff; text-shadow: 0 0 10px #00ffff30; }
@media (max-width: 600px) {
    .ck-signature { order: 3; flex-basis: 100%; }
}
