{{-- Shared public guest site: hero layers + circular logo (included from layouts/shell) --}}
<style>
    /* Hero media always fills its layer; fixes odd crops and empty hero */
    .ph-hero { position: relative; }
    .ph-hero .ph-media {
        position: absolute;
        inset: 0;
        overflow: hidden;
    }
    .ph-hero .ph-img,
    .ph-hero .ph-vid {
        display: block;
        width: 100%;
        min-width: 100%;
        height: 100%;
        min-height: 100%;
        object-fit: cover;
        object-position: center;
    }
    .ph-hero .ph-embed-wrap {
        position: absolute;
        inset: 0;
        height: 100%;
    }
    .ph-hero .ph-embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 0;
    }
    .ph-hero .ph-fallback { min-height: 100%; min-width: 100%; }

    /* Royal / full-bleed: backdrop must fill the section, not collapse */
    .pb-hero { position: relative; }
    .pb-hero > .ph-hero--v1 {
        position: absolute;
        inset: 0;
        z-index: 0;
        width: 100%;
        min-height: 100%;
    }

    /* Circular brand mark */
    .pb-site-logo {
        display: inline-flex;
        align-items: center;
        gap: 0.75rem;
        text-decoration: none;
        color: inherit;
        max-width: min(20rem, 70vw);
    }
    .pb-site-logo__ring {
        flex-shrink: 0;
        width: 52px;
        height: 52px;
        border-radius: 50%;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #fff;
        box-shadow: 0 4px 20px rgba(0,0,0,0.12), 0 0 0 2px rgba(15, 23, 42, 0.08);
    }
    /* High contrast on true black / dark nav — reference: clear circular mark + readable wordmark */
    .pb-site-logo--on-dark .pb-site-logo__ring {
        background: #fff;
        box-shadow: 0 2px 14px rgba(0,0,0,0.35), 0 0 0 2px rgba(255,255,255,0.15);
    }
    .pb-site-logo--on-light .pb-site-logo__ring {
        background: #fff;
        box-shadow: 0 2px 14px rgba(0,0,0,0.08), 0 0 0 1px rgba(15, 23, 42, 0.1);
    }
    .pb-site-logo__img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        padding: 5px;
    }
    .pb-site-logo__initials {
        font-size: 1.15rem;
        font-weight: 800;
        color: #0f172a;
        line-height: 1;
    }
    .pb-site-logo--on-dark .pb-site-logo__initials { color: #0f172a; }
    .pb-site-logo--on-light .pb-site-logo__initials { color: var(--site-accent, #0f172a); }
    .pb-site-logo__name {
        font-weight: 700;
        font-size: 0.78rem;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        line-height: 1.2;
    }
    .pb-site-logo--on-dark .pb-site-logo__name { color: #f8fafc; font-size: 0.82rem; font-weight: 800; letter-spacing: 0.12em; text-shadow: 0 1px 2px rgba(0,0,0,0.45); }
    .pb-site-logo--on-light .pb-site-logo__name { color: #0f172a; }
    .pb-site-logo--sm .pb-site-logo__ring { width: 44px; height: 44px; }
    .pb-site-logo--sm .pb-site-logo__name { font-size: 0.7rem; }
    .pb-site-logo--lg .pb-site-logo__ring { width: 60px; height: 60px; }
    .pb-site-logo--lg .pb-site-logo__name { font-size: 0.85rem; }

    /* Text-only mode (logo image hidden across all guest templates) */
    .pb-site-logo--text-only { gap: 0; }
    .pb-site-logo--text-only .pb-site-logo__ring,
    .pb-site-logo--text-only .pb-site-logo__img,
    .pb-site-logo--text-only .pb-site-logo__initials { display: none !important; }
    .pb-site-logo--text-only .pb-site-logo__name { font-size: 0.95rem; letter-spacing: 0.16em; text-transform: uppercase; }
    .pb-site-logo--on-dark.pb-site-logo--text-only .pb-site-logo__name { font-size: 0.95rem; }
    .pb-site-logo--lg.pb-site-logo--text-only .pb-site-logo__name { font-size: 1.05rem; }

    .pb-bf-lbl--ghost { visibility: hidden; user-select: none; font-size: 0.55rem !important; }
    .pb-bf-item--static .pb-bf-stat { display: block; font: inherit; font-size: 0.88rem; font-weight: 600; padding: 0.4rem 0; color: inherit; }
</style>
