.community-professional-shell,
.community-functional-page {
    --community-professional-ink: #1d2c21;
    --community-professional-muted: #68736a;
    --community-professional-line: color-mix(in srgb, var(--portal-color-border, #ddd6c7) 82%, transparent);
    --community-professional-surface: color-mix(in srgb, var(--portal-color-surface, #fff) 96%, transparent);
    --community-professional-shadow-sm: 0 .55rem 1.8rem rgba(20, 48, 29, .055);
    --community-professional-shadow-md: 0 1.2rem 3.4rem rgba(20, 48, 29, .09);
    --community-professional-shadow-lg: 0 2.2rem 5.8rem rgba(10, 38, 22, .16);
}

.community-professional-shell {
    min-height: 100vh;
    color: var(--community-professional-ink);
    background: linear-gradient(180deg, color-mix(in srgb, var(--portal-color-background, #f7f4ec) 93%, white), var(--portal-color-background, #f7f4ec));
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

.community-professional-shell *,
.community-professional-shell *::before,
.community-professional-shell *::after {
    box-sizing: border-box;
}

.community-professional-shell h1,
.community-professional-shell h2,
.community-professional-shell h3 {
    text-wrap: balance;
}

.community-professional-shell p {
    text-wrap: pretty;
}

.community-professional-shell a,
.community-professional-shell button,
.community-professional-shell input,
.community-professional-shell select {
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.community-professional-shell a:focus-visible,
.community-professional-shell button:focus-visible,
.community-professional-shell input:focus-visible,
.community-professional-shell select:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--portal-color-accent, #b68a55) 70%, white);
    outline-offset: 3px;
}

.community-professional-shell [aria-disabled="true"] {
    cursor: not-allowed;
    opacity: .76;
}


.community-professional-bar {
    position: sticky;
    top: 0;
    z-index: 32;
    border-bottom: 1px solid var(--community-professional-line);
    background: rgba(250, 249, 245, .94);
    backdrop-filter: blur(18px) saturate(135%);
}

.community-professional-bar.is-scrolled {
    box-shadow: 0 .55rem 1.6rem rgba(18, 42, 25, .09);
}

.community-professional-bar__inner {
    min-height: 3.7rem;
    display: flex;
    align-items: stretch;
    gap: 0;
}

.community-professional-bar__brand {
    min-height: 3.7rem;
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    flex: 0 0 auto;
    padding-right: 1.5rem;
    border-right: 1px solid var(--community-professional-line);
    color: var(--portal-color-primary, #174f2b);
    font-family: inherit;
    font-size: .8125rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
    text-decoration: none;
    white-space: nowrap;
}

.community-professional-bar__brand:hover {
    color: color-mix(
        in srgb,
        var(--portal-color-primary, #174f2b) 82%,
        black
    );
}

.community-professional-bar__mark {
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    border-radius: .65rem;
    background: var(--portal-color-primary, #174f2b);
    color: #fff;
    font-family: inherit;
    font-size: .8125rem;
    font-weight: 850;
    line-height: 1;
    box-shadow: 0 .35rem .85rem rgba(23, 79, 43, .2);
}

.community-professional-bar__brand-name {
    display: inline-block;
}

.community-professional-nav {
    min-width: 0;
    min-height: 3.7rem;
    display: flex;
    align-items: stretch;
    gap: 1.45rem;
    margin-left: 1.5rem;
}

.community-professional-nav a {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 3.7rem;
    padding: 0;
    color: var(--community-professional-muted);
    font-family: inherit;
    font-size: .8125rem;
    font-weight: 650;
    line-height: 1;
    letter-spacing: 0;
    text-decoration: none;
    white-space: nowrap;
}

.community-professional-nav a:hover {
    color: var(--portal-color-primary, #174f2b);
}

.community-professional-nav a.is-active {
    color: var(--portal-color-primary, #174f2b);
    font-weight: 760;
}

.community-professional-nav a.is-active::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    border-radius: 999px 999px 0 0;
    background: var(--portal-color-primary, #174f2b);
}

.community-professional-bar__meta {
    min-height: 3.7rem;
    display: inline-flex;
    align-items: center;
    align-self: center;
    gap: .45rem;
    margin-left: auto;
    padding: .38rem .72rem;
    border: 1px solid var(--community-professional-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .68);
    color: var(--community-professional-muted);
    font-family: inherit;
    font-size: .65rem;
    font-weight: 760;
    line-height: 1;
    letter-spacing: .045em;
    text-transform: uppercase;
    white-space: nowrap;
}

.community-professional-bar__status {
    width: .46rem;
    height: .46rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #3b8b4a;
    box-shadow: 0 0 0 .2rem rgba(59, 139, 74, .12);
}

.community-professional-shell [class*="-hero"] {
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.community-professional-shell .experience-button {
    min-height: 2.95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .72rem 1.08rem;
    border-radius: .92rem;
    font-size: .87rem;
    font-weight: 860;
    text-decoration: none;
}

.community-professional-shell .experience-button--primary {
    border: 1px solid color-mix(in srgb, var(--portal-color-accent, #b68a55) 64%, white);
    background: linear-gradient(180deg, color-mix(in srgb, var(--portal-color-accent, #b68a55) 90%, white), var(--portal-color-accent, #b68a55));
    color: #172319;
    box-shadow: 0 .75rem 1.7rem rgba(0, 0, 0, .16);
}

.community-professional-shell .experience-button--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 1rem 2.2rem rgba(0, 0, 0, .2);
}

.community-professional-shell .experience-button--secondary {
    border: 1px solid color-mix(in srgb, var(--portal-color-border, #ddd6c7) 88%, white);
    background: rgba(255, 255, 255, .92);
    color: var(--portal-color-primary, #174f2b);
    box-shadow: var(--community-professional-shadow-sm);
}

.community-professional-shell .experience-section {
    padding-top: clamp(3.8rem, 7vw, 6.7rem);
    padding-bottom: clamp(3.8rem, 7vw, 6.7rem);
}

.community-professional-shell .community-eyebrow {
    color: var(--portal-color-accent, #8b6b45);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .17em;
}

.community-professional-shell :is(
    .community-home-area-card,
    .community-place-card,
    .community-topic-card,
    .community-generic-topic-card,
    .community-question-card,
    .community-generic-guide__grid article,
    .community-questions-guide__grid article,
    .community-sidebar-card,
    .community-home-sidebar-card,
    .community-generic-sidebar-card,
    .community-questions-sidebar-card,
    .community-place-detail-sidebar-card,
    .community-topic-detail-sidebar-card,
    .community-topic-detail-article,
    .community-topic-detail-answer
) {
    border-color: var(--community-professional-line);
    box-shadow: var(--community-professional-shadow-sm);
}

.community-professional-shell :is(
    .community-home-area-card,
    .community-place-card,
    .community-topic-card,
    .community-generic-topic-card,
    .community-question-card
):hover {
    box-shadow: var(--community-professional-shadow-md);
}

.community-professional-shell :is(
    .community-home-area-toolbar,
    .community-place-toolbar,
    .community-questions-toolbar,
    .community-generic-toolbar
) {
    border-color: var(--community-professional-line);
    background: rgba(255, 255, 255, .84);
    box-shadow: var(--community-professional-shadow-sm);
    backdrop-filter: blur(14px);
}

.community-professional-shell :is(
    .community-home-search input,
    .community-place-search input,
    .community-questions-search input,
    .community-generic-search input,
    .community-place-sort select,
    .community-questions-filter select,
    .community-generic-filter select,
    .community-generic-sort select
) {
    border-color: transparent;
    background: color-mix(in srgb, var(--portal-color-surface-soft, #f2eee5) 88%, white);
}

.community-topic-detail-richtext {
    max-width: 72ch;
}

.community-professional-shell :is(
    .community-home-hero__panel,
    .community-place-directory-summary,
    .community-questions-summary,
    .community-generic-summary,
    .community-place-detail-summary,
    .community-topic-detail-summary
) {
    border-color: rgba(255, 255, 255, .2);
    box-shadow: var(--community-professional-shadow-lg);
}

@media (max-width: 1040px) {
    .community-professional-bar__meta {
        display: none;
    }

    .community-professional-nav {
        margin-right: 0;
    }
}

@media (max-width: 820px) {
    .community-professional-bar__inner {
        overflow: hidden;
    }

    .community-professional-bar__brand {
        padding-right: 1rem;
    }

    .community-professional-nav {
        min-width: 0;
        gap: 1.1rem;
        margin-left: 1rem;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
    }

    .community-professional-nav::-webkit-scrollbar {
        display: none;
    }

    .community-professional-shell .experience-section {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }
}

@media (max-width: 620px) {
    .community-professional-bar__brand {
        padding-right: .8rem;
    }

    .community-professional-bar__brand-name {
        display: none;
    }

    .community-professional-nav {
        gap: 1rem;
        margin-left: .8rem;
    }

    .community-professional-nav a {
        font-size: .775rem;
    }

    .community-professional-shell .experience-button {
        width: 100%;
    }
}

@media (hover: none) {
    .community-professional-shell :is(
        .community-home-area-card,
        .community-place-card,
        .community-topic-card,
        .community-generic-topic-card,
        .community-question-card,
        .experience-button
    ):hover {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .community-professional-shell *,
    .community-professional-shell *::before,
    .community-professional-shell *::after {
        transition-duration: .001ms !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media print {
    .community-professional-bar,
    .community-professional-shell [class*="toolbar"],
    .community-professional-shell .community-topic-detail-actions {
        display: none !important;
    }

    .community-professional-shell {
        background: #fff;
    }
}
