/* W20-02 independent consultant overlay. No selectors alter original homepage content. */
.gu-yan-homepage[hidden] { display: none !important; }
.gu-yan-homepage { position: fixed; right: 18px; bottom: 18px; width: 176px; max-width: calc(100vw - 36px); z-index: 40; }
.gu-yan-homepage--entry-clearance:not(.gu-yan-homepage--open) { visibility: hidden; pointer-events: none; }
.gu-yan-homepage .gu-yan-panel__trigger { width: 100%; }
.gu-yan-homepage .gu-yan-panel__trigger-copy { padding: 18px 16px 20px; gap: 6px; }
.gu-yan-homepage .gu-yan-panel__trigger-arrow { right: 16px; bottom: 22px; }
.gu-yan-homepage--open { inset: auto 20px 24px auto; width: 376px; height: min(720px, calc(100dvh - 188px)); max-width: none; }
.gu-yan-homepage--open .gu-yan-panel { height: 100%; }
.gu-yan-homepage--open .gu-yan-panel__body { width: 100%; height: 100%; max-height: none; }
@media (max-width: 959px) {
  .gu-yan-homepage { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); width: 134px; max-width: calc(100vw - 24px); }
  .gu-yan-homepage .gu-yan-panel__trigger-copy { padding: 12px 12px 16px; gap: 5px; }
  .gu-yan-homepage .gu-yan-panel__trigger-copy strong { font-size: 24px; }
  .gu-yan-homepage .gu-yan-panel__trigger-role { font-size: 11px; }
  .gu-yan-homepage .gu-yan-panel__trigger-copy small { font-size: 12px; margin-top: 6px; }
  .gu-yan-homepage .gu-yan-panel__trigger-arrow { right: 12px; bottom: 17px; font-size: 14px; }
  .gu-yan-homepage--open { inset: auto 12px max(18px, env(safe-area-inset-bottom)) auto; width: min(360px, calc(100% - 24px)); height: min(660px, calc(100dvh - 100px)); max-width: none; }
  .gu-yan-homepage--open .gu-yan-panel__composer { padding-bottom: max(16px, env(safe-area-inset-bottom)); }
}

