.public-producer-profile-shell {
    width: min(100%, var(--hp-content-max));
    margin: 0 auto;
    padding: 6px var(--hp-page-x) 24px;
    overflow: clip;
}

.public-producer-hero {
    position: relative;
    display: grid;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--hp-border-strong);
    border-radius: 20px;
    background: var(--hp-surface);
    box-shadow: 0 16px 36px rgba(27, 29, 24, .1);
}

.public-producer-hero__visual {
    position: relative;
    min-height: clamp(198px, 54vw, 248px);
    overflow: hidden;
    background: #245A3B;
}

.public-producer-hero__visual::after {
    position: absolute;
    inset: 0;
    content: "";
    background:
        linear-gradient(180deg, rgba(18, 30, 21, .02) 38%, rgba(18, 30, 21, .68)),
        linear-gradient(90deg, rgba(18, 30, 21, .26), transparent 62%);
    pointer-events: none;
}

.public-producer-hero__main-img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    object-position: 62% center;
}

.public-producer-hero__badge,
.public-producer-hero__identity {
    position: absolute;
    z-index: 1;
    border: 1px solid rgba(255, 248, 236, .7);
    background: rgba(20, 34, 24, .66);
    color: var(--hp-surface-warm);
    box-shadow: 0 12px 30px rgba(18, 30, 21, .2);
    backdrop-filter: blur(10px);
}

.public-producer-hero__badge {
    top: 10px;
    left: 10px;
    padding: 7px 10px;
    border-radius: 999px;
    color: #F4CE8E;
    font-size: .54rem;
    font-weight: 950;
    line-height: 1;
    text-transform: uppercase;
}

.public-producer-hero__identity {
    right: 10px;
    bottom: 10px;
    left: 10px;
    display: grid;
    width: fit-content;
    max-width: calc(100% - 20px);
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    padding: 6px 10px 6px 6px;
    border-radius: 15px;
}

.public-producer-hero__mark {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid rgba(255, 248, 236, .62);
    border-radius: 12px;
    background: rgba(36, 90, 59, .94);
    font-size: .78rem;
    font-weight: 950;
}

.public-producer-hero__identity > span:last-child {
    display: grid;
    min-width: 0;
    gap: 1px;
}

.public-producer-hero__identity strong,
.public-producer-hero__identity small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.public-producer-hero__identity strong {
    font-size: .69rem;
    line-height: 1.08;
}

.public-producer-hero__identity small {
    color: rgba(255, 248, 236, .8);
    font-size: .54rem;
    font-weight: 800;
}

.public-producer-hero__content {
    position: relative;
    z-index: 2;
    display: grid;
    min-width: 0;
    gap: 7px;
    margin-top: -20px;
    padding: 12px;
    border-radius: 20px 20px 0 0;
    background: var(--hp-surface);
}

.public-producer-hero__intro {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.public-producer-hero__back,
.public-producer-action,
.public-producer-info__map,
.public-producer-featured__heading > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.public-producer-hero__back {
    width: fit-content;
    min-height: 29px;
    gap: 5px;
    padding: 0 10px;
    border: 1px solid var(--hp-border-strong);
    border-radius: 999px;
    background: var(--hp-surface);
    color: var(--hp-green);
    font-size: .57rem;
    font-weight: 950;
    box-shadow: 0 7px 16px rgba(27, 29, 24, .05);
}

.public-producer-hero h1 {
    max-width: 100%;
    margin: 0;
    color: var(--hp-green);
    font-size: clamp(1.62rem, 7.4vw, 2.15rem);
    font-weight: 950;
    line-height: .98;
    overflow-wrap: anywhere;
}

.public-producer-hero__byline,
.public-producer-hero__lead,
.public-producer-hero__voice p {
    margin: 0;
}

.public-producer-hero__byline {
    color: var(--hp-ink);
    font-size: .7rem;
    font-weight: 930;
    line-height: 1.18;
}

.public-producer-hero__lead {
    display: -webkit-box;
    overflow: hidden;
    color: #526052;
    font-size: .63rem;
    font-weight: 760;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.public-producer-hero__voice {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 7px;
    align-items: center;
    padding: 7px 9px;
    border-left: 3px solid var(--hp-orange);
    border-radius: 11px;
    background: rgba(223, 232, 220, .56);
}

.public-producer-hero__voice-icon {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 9px;
    background: rgba(255, 253, 247, .88);
    color: var(--hp-green);
}

.public-producer-hero__voice p {
    color: var(--hp-ink);
    font-size: .59rem;
    font-weight: 830;
    line-height: 1.28;
}

.public-producer-hero__proofs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    margin: 0;
}

.public-producer-hero__proofs div {
    display: grid;
    min-width: 0;
    gap: 1px;
    padding: 6px 7px;
    border: 1px solid rgba(223, 212, 195, .72);
    border-radius: 10px;
    background: rgba(255, 248, 236, .52);
}

.public-producer-hero__proofs dt,
.public-producer-hero__proofs dd {
    overflow: hidden;
    margin: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.public-producer-hero__proofs dt {
    color: var(--hp-muted);
    font-size: .49rem;
    font-weight: 820;
}

.public-producer-hero__proofs dd {
    color: var(--hp-green);
    font-size: .58rem;
    font-weight: 950;
}

.public-producer-hero__actions {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 36px;
    gap: 5px;
}

.public-producer-action {
    width: 100%;
    min-width: 0;
    min-height: 35px;
    gap: 5px;
    padding: 0 7px;
    border-radius: 10px;
    font-size: .57rem;
    font-weight: 950;
    white-space: nowrap;
}

.public-producer-action .ui-icon {
    flex: 0 0 auto;
}

.public-producer-action--primary {
    background: var(--hp-orange);
    color: var(--hp-surface-warm);
    box-shadow: 0 9px 18px rgba(200, 97, 56, .18);
}

.public-producer-action--secondary {
    border: 1px solid rgba(36, 90, 59, .18);
    background: rgba(223, 232, 220, .72);
    color: var(--hp-green);
}

.public-producer-action--map {
    padding: 0;
    border: 1px solid var(--hp-border-strong);
    background: var(--hp-surface);
    color: var(--hp-green);
}

.public-producer-featured {
    display: grid;
    gap: 8px;
    margin-top: 13px;
    scroll-margin-top: 80px;
}

.public-producer-featured__heading {
    display: flex;
    min-width: 0;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    padding-inline: 2px;
}

.public-producer-featured__heading > div {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.public-producer-featured__heading h2 {
    margin: 0;
    color: var(--hp-ink);
    font-size: .96rem;
    font-weight: 950;
    line-height: 1.08;
    overflow-wrap: anywhere;
}

.public-producer-featured__heading > a {
    flex: 0 0 auto;
    min-height: 28px;
    gap: 4px;
    color: var(--hp-orange);
    font-size: .58rem;
    font-weight: 950;
}

.public-producer-featured__rail {
    display: grid;
    grid-auto-columns: minmax(146px, 47%);
    grid-auto-flow: column;
    gap: 7px;
    overflow-x: auto;
    padding: 1px 1px 5px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.public-producer-featured__rail::-webkit-scrollbar {
    display: none;
}

.public-producer-preview {
    display: grid;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(223, 212, 195, .78);
    border-radius: 13px;
    background: var(--hp-surface);
    color: var(--hp-ink);
    text-decoration: none;
    scroll-snap-align: start;
    box-shadow: 0 9px 20px rgba(27, 29, 24, .06);
}

.public-producer-preview__media {
    position: relative;
    display: block;
    min-height: 92px;
    overflow: hidden;
    background: rgba(223, 232, 220, .72);
}

.public-producer-preview__media img {
    display: block;
    width: 100%;
    height: 92px;
    object-fit: cover;
    transition: transform 180ms ease;
}

.public-producer-preview:hover .public-producer-preview__media img {
    transform: scale(1.025);
}

.public-producer-preview__media em {
    position: absolute;
    top: 6px;
    left: 6px;
    max-width: calc(100% - 12px);
    overflow: hidden;
    padding: 4px 7px;
    border-radius: 999px;
    background: rgba(223, 232, 220, .94);
    color: var(--hp-green);
    font-size: .49rem;
    font-style: normal;
    font-weight: 950;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.public-producer-preview__body {
    display: grid;
    min-width: 0;
    gap: 7px;
    padding: 8px;
}

.public-producer-preview__body > strong {
    display: -webkit-box;
    overflow: hidden;
    min-height: 2.22em;
    font-size: .66rem;
    font-weight: 950;
    line-height: 1.11;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.public-producer-preview__meta {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

.public-producer-preview__meta b {
    color: var(--hp-orange);
    font-size: .61rem;
    font-weight: 950;
    white-space: nowrap;
}

.public-producer-preview__meta > span {
    overflow: hidden;
    color: var(--hp-muted);
    font-size: .52rem;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.public-producer-profile-layout,
.public-producer-profile-main,
.public-producer-offers {
    display: grid;
    min-width: 0;
    gap: 11px;
}

.public-producer-profile-layout {
    grid-template-areas:
        "main"
        "info";
    margin-top: 13px;
}

.public-producer-profile-main {
    grid-area: main;
}

.public-producer-story {
    display: grid;
    gap: 9px;
    padding: 11px 2px 2px;
    border-top: 1px solid var(--hp-border-strong);
    scroll-margin-top: 80px;
}

.public-producer-story__intro {
    display: grid;
    gap: 5px;
}

.public-producer-story h2,
.public-producer-story h3,
.public-producer-story p,
.public-producer-story blockquote {
    margin: 0;
}

.public-producer-story h2 {
    color: var(--hp-ink);
    font-size: 1rem;
    font-weight: 950;
    line-height: 1.06;
}

.public-producer-story__intro > p {
    color: var(--hp-ink);
    font-size: .66rem;
    font-weight: 740;
    line-height: 1.36;
}

.public-producer-story blockquote {
    padding: 7px 9px;
    border-left: 3px solid var(--hp-orange);
    border-radius: 9px;
    background: rgba(200, 97, 56, .07);
    color: var(--hp-green);
    font-size: .61rem;
    font-weight: 900;
    line-height: 1.28;
}

.public-producer-story__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.public-producer-story__tags span {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 0 8px;
    border: 1px solid rgba(223, 212, 195, .76);
    border-radius: 999px;
    background: rgba(255, 248, 236, .58);
    color: var(--hp-green);
    font-size: .53rem;
    font-weight: 900;
}

.public-producer-story__cards {
    display: grid;
    gap: 6px;
}

.public-producer-story-card {
    display: grid;
    min-width: 0;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 2px 7px;
    align-items: start;
    padding: 8px;
    border: 1px solid rgba(223, 212, 195, .68);
    border-radius: 11px;
    background: rgba(255, 253, 247, .72);
}

.public-producer-story-card__icon {
    display: grid;
    width: 30px;
    height: 30px;
    grid-row: span 2;
    place-items: center;
    border-radius: 9px;
    background: rgba(223, 232, 220, .82);
    color: var(--hp-green);
}

.public-producer-story-card h3 {
    color: var(--hp-ink);
    font-size: .68rem;
    font-weight: 950;
    line-height: 1.1;
}

.public-producer-story-card p {
    color: var(--hp-muted);
    font-size: .58rem;
    font-weight: 760;
    line-height: 1.32;
}

.public-producer-info {
    grid-area: info;
    align-self: start;
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--hp-border-strong);
    border-radius: 14px;
    background: var(--hp-surface);
    box-shadow: 0 9px 22px rgba(27, 29, 24, .06);
}

.public-producer-info__header {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-bottom: 7px;
}

.public-producer-info__header > span {
    display: grid;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 9px;
    background: rgba(223, 232, 220, .82);
    color: var(--hp-green);
}

.public-producer-info__header > div {
    display: grid;
    min-width: 0;
    gap: 1px;
}

.public-producer-info h2,
.public-producer-info p {
    margin: 0;
}

.public-producer-info h2 {
    color: var(--hp-ink);
    font-size: .82rem;
    font-weight: 950;
}

.public-producer-info p,
.public-producer-info__list dt {
    color: var(--hp-muted);
    font-size: .54rem;
    font-weight: 820;
    line-height: 1.2;
}

.public-producer-info__verified {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    min-height: 25px;
    align-items: center;
    gap: 5px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(223, 232, 220, .74);
    color: var(--hp-green) !important;
}

.public-producer-info__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
    margin: 7px 0 0;
}

.public-producer-info__list div {
    display: grid;
    min-width: 0;
    gap: 2px;
    padding: 7px;
    border: 1px solid rgba(223, 212, 195, .66);
    border-radius: 9px;
    background: rgba(255, 248, 236, .5);
}

.public-producer-info__list dt,
.public-producer-info__list dd {
    margin: 0;
}

.public-producer-info__list dt {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 4px;
}

.public-producer-info__list dd,
.public-producer-info__list dd a {
    color: var(--hp-ink);
    font-size: .6rem;
    font-weight: 920;
    line-height: 1.2;
    overflow-wrap: anywhere;
    text-decoration: none;
}

.public-producer-info__map {
    width: 100%;
    min-height: 33px;
    gap: 6px;
    margin-top: 7px;
    padding: 0 10px;
    border-radius: 9px;
    background: var(--hp-green);
    color: var(--hp-surface-warm);
    font-size: .62rem;
    font-weight: 950;
}

.public-producer-pickup {
    display: grid;
    gap: 9px;
    padding-top: 13px;
    border-top: 1px solid var(--hp-border-strong);
    scroll-margin-top: 80px;
}

.public-producer-pickup__heading {
    display: flex;
    gap: 8px;
    align-items: center;
}

.public-producer-pickup__heading > span,
.public-producer-pickup__empty > .ui-icon {
    display: grid;
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 8px;
    background: rgba(223, 232, 220, .82);
    color: var(--hp-green);
}

.public-producer-pickup__heading > div {
    display: grid;
    min-width: 0;
    gap: 1px;
}

.public-producer-pickup__heading p,
.public-producer-pickup__heading h2,
.public-producer-pickup__point h3,
.public-producer-pickup__point p,
.public-producer-pickup__hours {
    margin: 0;
}

.public-producer-pickup__heading p {
    color: var(--hp-orange);
    font-size: .58rem;
    font-weight: 920;
}

.public-producer-pickup__heading h2 {
    color: var(--hp-ink);
    font-size: 1rem;
    font-weight: 950;
    line-height: 1.08;
}

.public-producer-pickup__points {
    display: grid;
    gap: 8px;
}

.public-producer-pickup__point {
    display: grid;
    min-width: 0;
    gap: 8px;
    padding: 10px;
    border: 1px solid var(--hp-border-strong);
    border-radius: 8px;
    background: var(--hp-surface);
}

.public-producer-pickup__point-heading {
    display: flex;
    min-width: 0;
    align-items: start;
    justify-content: space-between;
    gap: 10px;
}

.public-producer-pickup__point-heading > div {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.public-producer-pickup__point h3 {
    color: var(--hp-green);
    font-size: .76rem;
    font-weight: 950;
    overflow-wrap: anywhere;
}

.public-producer-pickup__point-heading p,
.public-producer-pickup__instructions,
.public-producer-pickup__pending {
    color: var(--hp-muted);
    font-size: .58rem;
    font-weight: 760;
    line-height: 1.35;
}

.public-producer-pickup__point-heading > span {
    flex: 0 0 auto;
    max-width: 45%;
    padding: 5px 7px;
    border-radius: 999px;
    background: rgba(223, 232, 220, .72);
    color: var(--hp-green);
    font-size: .52rem;
    font-weight: 920;
    line-height: 1.2;
    text-align: center;
}

.public-producer-pickup__hours {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
}

.public-producer-pickup__hours div {
    display: flex;
    min-width: 0;
    justify-content: space-between;
    gap: 6px;
    padding: 6px 7px;
    border-radius: 7px;
    background: rgba(255, 248, 236, .72);
}

.public-producer-pickup__hours dt,
.public-producer-pickup__hours dd {
    margin: 0;
    font-size: .55rem;
    line-height: 1.25;
}

.public-producer-pickup__hours dt {
    color: var(--hp-muted);
    font-weight: 820;
}

.public-producer-pickup__hours dd {
    color: var(--hp-ink);
    font-weight: 920;
    text-align: right;
}

.public-producer-pickup__instructions {
    padding-left: 8px;
    border-left: 2px solid var(--hp-orange);
}

.public-producer-pickup__empty {
    display: flex;
    gap: 9px;
    align-items: center;
    padding: 10px;
    border: 1px dashed var(--hp-border-strong);
    border-radius: 8px;
    background: rgba(255, 248, 236, .48);
}

.public-producer-pickup__empty p {
    display: grid;
    min-width: 0;
    gap: 2px;
    margin: 0;
}

.public-producer-pickup__empty strong {
    color: var(--hp-ink);
    font-size: .67rem;
    font-weight: 950;
}

.public-producer-pickup__empty span {
    color: var(--hp-muted);
    font-size: .58rem;
    font-weight: 760;
    line-height: 1.3;
}

.public-producer-offers {
    scroll-margin-top: 80px;
}

.public-producer-offers__heading {
    align-items: end;
    margin-bottom: 3px;
}

.public-producer-offers__heading h2 {
    font-size: 1rem;
    line-height: 1.08;
}

.public-producer-offers__heading p {
    max-width: 46ch;
    margin-top: 2px;
    color: var(--hp-muted);
    font-size: .6rem;
    line-height: 1.25;
}

.public-producer-detail-page .assistant-widget {
    right: max(10px, env(safe-area-inset-right));
    bottom: calc(10px + env(safe-area-inset-bottom));
}

.public-producer-detail-page .assistant-widget__toggle {
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    justify-content: center;
    padding: 0;
}

.public-producer-detail-page .assistant-widget__toggle-label,
.public-producer-detail-page .assistant-widget__dismiss {
    display: none;
}

@media (min-width: 520px) {
    .public-producer-profile-shell {
        padding-inline: var(--hp-space-4);
    }

    .public-producer-hero__visual {
        min-height: clamp(228px, 40vw, 310px);
    }

    .public-producer-hero__content {
        padding: 16px;
    }

    .public-producer-featured__rail {
        grid-auto-columns: minmax(170px, 32%);
    }

    .public-producer-story__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 700px) {
    .public-producer-hero {
        grid-template-columns: minmax(300px, .96fr) minmax(0, 1.04fr);
    }

    .public-producer-hero__visual {
        min-height: 100%;
    }

    .public-producer-hero__content {
        align-content: center;
        gap: 9px;
        margin-top: 0;
        padding: 20px;
        border-radius: 0;
    }

    .public-producer-hero h1 {
        font-size: clamp(1.9rem, 4.5vw, 2.7rem);
    }

    .public-producer-hero__byline {
        font-size: .77rem;
    }

    .public-producer-hero__lead,
    .public-producer-hero__voice p {
        font-size: .68rem;
    }

    .public-producer-featured {
        margin-top: 17px;
    }

    .public-producer-featured__heading h2 {
        font-size: 1.12rem;
    }

    .public-producer-featured__rail {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-auto-flow: unset;
        grid-auto-columns: unset;
        overflow: visible;
    }

    .public-producer-preview {
        grid-template-columns: minmax(116px, .72fr) minmax(0, 1fr);
    }

    .public-producer-preview__media,
    .public-producer-preview__media img {
        height: 112px;
        min-height: 112px;
    }

    .public-producer-preview__body {
        align-content: center;
        padding: 10px;
    }

    .public-producer-profile-layout,
    .public-producer-profile-main,
    .public-producer-offers {
        gap: 14px;
    }

    .public-producer-pickup__hours {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .public-producer-story {
        padding-top: 14px;
    }

    .public-producer-story__intro > p {
        font-size: .72rem;
    }
}

@media (min-width: 980px) {
    .public-producer-profile-shell {
        padding-top: 12px;
    }

    .public-producer-profile-layout {
        grid-template-areas: "main info";
        grid-template-columns: minmax(0, 1fr) minmax(300px, 340px);
        align-items: start;
        gap: 18px;
        margin-top: 18px;
    }

    .public-producer-info {
        position: sticky;
        top: 86px;
    }

    .public-producer-hero h1 {
        max-width: 18ch;
        font-size: clamp(2.2rem, 3vw, 3rem);
    }

    .public-producer-featured__heading h2,
    .public-producer-story h2,
    .public-producer-offers__heading h2 {
        font-size: 1.22rem;
    }

    .public-producer-preview__body > strong {
        font-size: .72rem;
    }

    .public-producer-detail-page .assistant-widget__toggle {
        width: auto;
        min-width: 0;
        padding: 0 14px 0 10px;
    }

    .public-producer-detail-page .assistant-widget__toggle-label,
    .public-producer-detail-page .assistant-widget__dismiss {
        display: inline-flex;
    }
}

@media (min-width: 1280px) {
    .public-producer-profile-layout {
        grid-template-columns: minmax(0, 1fr) 360px;
    }

    .public-producer-hero__content {
        padding: 24px 26px;
    }
}

@media (orientation: landscape) and (max-height: 560px) {
    .public-producer-profile-shell {
        padding-top: 5px;
    }

    .public-producer-hero {
        grid-template-columns: minmax(240px, .85fr) minmax(0, 1.15fr);
    }

    .public-producer-hero__visual {
        min-height: 230px;
    }

    .public-producer-hero__content {
        gap: 5px;
        margin-top: 0;
        padding: 10px 12px;
        border-radius: 0;
    }

    .public-producer-hero h1 {
        font-size: clamp(1.35rem, 4vw, 2rem);
    }

    .public-producer-hero__lead {
        -webkit-line-clamp: 1;
    }

    .public-producer-hero__voice {
        padding-block: 5px;
    }
}
