.gwcm {
    position: relative;
    z-index: 40;
    width: 100%;
    max-width: var(--gwcm-max-width, 1280px);
    margin: 0 auto;
    padding: 20px var(--gwcm-padding, 24px);
    background: var(--gwcm-header-bg, transparent);
    color: var(--gwcm-text, #191d1f);
    font-family: var(--gwcm-font, inherit);
    font-size: 14px;
    line-height: 1.5;
    text-align: left;
    isolation: isolate;
}
.gwcm, .gwcm * { box-sizing: border-box; }
.gwcm [hidden] { display: none !important; }
.gwcm .gwcm-head { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 48px; }
.gwcm .gwcm-brand { display: inline-flex; align-items: center; width: var(--gwcm-logo-width, 116px); min-height: 44px; flex-shrink: 0; text-decoration: none; border: 0; box-shadow: none; color: var(--gwcm-text, #191d1f); }
.gwcm .gwcm-logo { display: block; width: 100%; max-width: 100%; height: auto; max-height: 64px; object-fit: contain; margin: 0; border: 0; }
.gwcm .gwcm-brand-text { font-family: var(--gwcm-font, inherit); font-weight: 700; font-size: 25px; line-height: 1.2; letter-spacing: -1px; overflow-wrap: anywhere; }
.gwcm .gwcm-toggle {
    appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 14px;
    min-width: 103px; min-height: 48px; max-width: 100%; padding: 10px 16px; margin: 0 0 0 auto;
    border: 0; border-radius: var(--gwcm-radius, 24px); cursor: pointer;
    background: var(--gwcm-button-bg, #191d1f); color: var(--gwcm-button-text, #fff);
    font-family: var(--gwcm-font, inherit); font-size: 14px; font-weight: 600; line-height: 1.4;
    letter-spacing: 0; text-transform: none; text-decoration: none;
    box-shadow: 0 3px 0 rgba(25, 29, 31, .12), 0 6px 16px rgba(21, 24, 30, .07);
    transition: transform var(--gwcm-duration, 320ms), box-shadow var(--gwcm-duration, 320ms);
}
.gwcm .gwcm-toggle:hover { background: var(--gwcm-button-bg, #191d1f); color: var(--gwcm-button-text, #fff); transform: perspective(600px) rotateY(calc(-1 * var(--gwcm-hover-tilt, 2deg))) translateY(calc(-1 * var(--gwcm-lift, 2px))); box-shadow: 0 4px 0 rgba(25, 29, 31, .12), 0 10px 20px rgba(21, 24, 30, .09); }
.gwcm .gwcm-toggle-label { min-width: 0; overflow-wrap: anywhere; }
.gwcm .gwcm-toggle-icon { position: relative; display: block; width: 16px; height: 16px; flex: 0 0 16px; }
.gwcm .gwcm-toggle-icon > span { position: absolute; left: 0; width: 16px; height: 1.5px; border-radius: 1px; background: currentColor; transition: transform var(--gwcm-duration, 320ms), top var(--gwcm-duration, 320ms); }
.gwcm .gwcm-toggle-icon > span:first-child { top: 5px; }
.gwcm .gwcm-toggle-icon > span:last-child { top: 10px; }
.gwcm .gwcm-toggle[aria-expanded="true"] .gwcm-toggle-icon > span:first-child { top: 7px; transform: rotate(45deg); }
.gwcm .gwcm-toggle[aria-expanded="true"] .gwcm-toggle-icon > span:last-child { top: 7px; transform: rotate(-45deg); }
.gwcm .gwcm-panel {
    position: absolute; right: 0; top: calc(100% + 14px); width: var(--gwcm-panel-width, 318px);
    max-width: 100%; max-height: calc(100vh - 130px); max-height: calc(100dvh - 130px);
    padding: 22px; overflow-y: auto; overscroll-behavior: contain;
    border: 1px solid var(--gwcm-border, #e9e9ec); border-radius: var(--gwcm-radius, 24px);
    background: var(--gwcm-panel-bg, #fff); color: var(--gwcm-text, #191d1f);
    box-shadow: 0 4px 0 rgba(25, 29, 31, .07), 0 24px 40px rgba(21, 24, 30, .10);
    transform-origin: top right;
    animation: gwcm-reveal var(--gwcm-duration, 320ms) cubic-bezier(.2, .75, .2, 1);
}
.gwcm .gwcm-links, .gwcm .gwcm-links > li { list-style: none; margin: 0; padding: 0; border: 0; }
.gwcm .gwcm-link {
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    min-height: 58px; width: 100%; padding: 9px 1px; border: 0; border-radius: 4px;
    color: var(--gwcm-text, #191d1f); background: transparent; box-shadow: none;
    font-family: var(--gwcm-font, inherit); font-size: var(--gwcm-link-size, 27px); font-weight: 500; line-height: 1.25;
    letter-spacing: -.8px; text-decoration: none; text-transform: none;
    transition: color 180ms, transform var(--gwcm-duration, 320ms);
}
.gwcm .gwcm-link > span:first-child { overflow-wrap: anywhere; }
.gwcm .gwcm-link:hover { color: var(--gwcm-accent, #0055ff); background: transparent; transform: translateX(var(--gwcm-lift, 2px)); text-decoration: none; }
.gwcm .gwcm-arrow { flex-shrink: 0; color: inherit; font-size: 20px; font-weight: 400; opacity: .55; }
.gwcm .gwcm-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; max-width: 100%; margin: 18px 0 0; padding: 10px 17px; border: 0; border-radius: var(--gwcm-radius, 24px); background: var(--gwcm-accent, #0055ff); color: var(--gwcm-cta-text, #fff); font-family: var(--gwcm-font, inherit); font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: 0; text-transform: none; text-decoration: none; box-shadow: none; overflow-wrap: anywhere; }
.gwcm .gwcm-cta:hover { background: var(--gwcm-accent, #0055ff); color: var(--gwcm-cta-text, #fff); filter: brightness(.95); text-decoration: none; }
.gwcm :is(a, button):focus-visible { outline: 2px solid var(--gwcm-accent, #0055ff); outline-offset: 5px; }
@keyframes gwcm-reveal {
    from { opacity: 0; transform: perspective(1000px) rotateX(calc(-1 * var(--gwcm-depth, 8deg))) translateY(calc(-2 * var(--gwcm-lift, 2px))) scale(.985); }
    to { opacity: 1; transform: perspective(1000px) rotateX(0) translateY(0) scale(1); }
}
@media (max-width: 480px) {
    .gwcm { padding: 16px min(var(--gwcm-padding, 24px), 20px); }
    .gwcm .gwcm-head { gap: 12px; }
    .gwcm .gwcm-brand { max-width: 45%; }
    .gwcm .gwcm-panel { width: 100%; padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .gwcm *, .gwcm *::before, .gwcm *::after { animation: none !important; transition: none !important; }
    .gwcm .gwcm-toggle:hover, .gwcm .gwcm-link:hover { transform: none !important; }
}
