/* Project-scoped advisor contact. Shared brand tokens follow light/dark mode. */
.cpg-advisor { padding-block: 2rem; border-block-start: 1px solid var(--cpg-rule); }
.cpg-advisor__card { display:flex; align-items:center; gap:1.5rem; }
.cpg-advisor__photo, .cpg-advisor-dialog__photo { object-fit:cover; border-radius:50%; flex-shrink:0; }
.cpg-advisor__identity { flex:1; }
.cpg-advisor__identity h2, .cpg-advisor-dialog h2 { margin:.25rem 0 .5rem; font-size:1.4rem; color:var(--cpg-text); }
.cpg-advisor__identity p, .cpg-advisor-dialog p { margin:.25rem 0; color:var(--cpg-text-muted); }
.cpg-advisor .cpg-advisor__label { font-size:.8rem; letter-spacing:.04em; color:var(--cpg-text-muted); }
.cpg-advisor__actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.cpg-advisor__primary, .cpg-advisor__secondary { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.7rem 1rem; border:1px solid var(--cpg-border-control); font:inherit; text-decoration:none; cursor:pointer; border-radius:0; }
.cpg-advisor__primary { background:var(--cpg-copper); border-color:var(--cpg-copper); color:var(--cpg-white); }
.cpg-advisor__secondary { background:var(--cpg-surface-raised); color:var(--cpg-text); }
.cpg-advisor:not(.cpg-advisor--ready) [data-cpg-advisor-open], .cpg-advisor [hidden] { display:none !important; }
.cpg-advisor button:focus-visible, .cpg-advisor a:focus-visible { outline:var(--cpg-focus-width) solid var(--cpg-focus-ring); outline-offset:var(--cpg-focus-offset); }
.cpg-advisor__floating { position:fixed; left:1.25rem; bottom:1.25rem; z-index:40; display:flex; align-items:center; gap:.6rem; min-height:48px; max-width:calc(100vw - 2.5rem); padding:.45rem .85rem .45rem .45rem; border:1px solid var(--cpg-border-control); border-radius:3rem; color:var(--cpg-text); background:var(--cpg-surface-raised); box-shadow:0 4px 18px rgb(0 0 0 / .15); font:inherit; font-size:.85rem; cursor:pointer; }
.cpg-advisor__floating img { border-radius:50%; object-fit:cover; }
.cpg-advisor-dialog { width:min(440px, calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); box-sizing:border-box; overflow:auto; border:1px solid var(--cpg-rule); padding:2rem; border-radius:.5rem; color:var(--cpg-text); background:var(--cpg-surface-raised); text-align:center; }
.cpg-advisor-dialog:not([open]) { display:none; }
.cpg-advisor-dialog::backdrop { background:rgb(0 0 0 / .65); }
.cpg-advisor-dialog__close { position:absolute; top:.5rem; right:.5rem; width:44px; height:44px; font:inherit; font-size:1.8rem; border:0; color:var(--cpg-text); background:transparent; cursor:pointer; }
.cpg-advisor-dialog__photo { display:block; margin:0 auto 1rem; }
.cpg-advisor-dialog__links { display:flex; flex-direction:column; gap:.75rem; margin-top:1.5rem; }
.cpg-advisor-dialog__links > a:not([class]) { min-height:44px; display:flex; align-items:center; justify-content:center; color:var(--cpg-text); }
html.cpg-advisor-is-open { overflow:hidden; }
@media (max-width:700px) {
  .cpg-advisor__card { flex-wrap:wrap; gap:1rem; }
  .cpg-advisor__photo { width:64px; height:64px; }
  .cpg-advisor__identity { min-width:calc(100% - 80px); }
  .cpg-advisor__actions { width:100%; }
  .cpg-advisor__actions > * { flex:1 1 auto; }
  .cpg-advisor__floating { bottom:1rem; left:1rem; }
}
@media print { .cpg-advisor__floating, .cpg-advisor-dialog { display:none; } }
