.psbc-hqg {
    --psbc-primary: #007DA4;
    --psbc-accent: #B319AB;
    --psbc-ink: #263238;
    --psbc-muted: #617079;
    --psbc-line: #dce5e8;
    --psbc-soft: #f7fafb;
    position: relative;
    margin: 32px 0;
    border: 1px solid var(--psbc-line);
    border-radius: 6px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 7px 24px rgba(19, 69, 88, .06);
    color: var(--psbc-ink);
    font-family: inherit;
}

.psbc-hqg *,
.psbc-hqg *::before,
.psbc-hqg *::after {
    box-sizing: border-box;
}

.psbc-hqg__accent {
    height: 6px;
    background: linear-gradient(90deg, var(--psbc-primary) 0 76%, var(--psbc-accent) 76% 100%);
}

.psbc-hqg__header {
    padding: 30px 32px 22px;
}

.psbc-hqg__header h2 {
    margin: 0 0 10px;
    color: var(--psbc-primary);
    font: inherit;
    font-size: clamp(1.55rem, 2.4vw, 2rem);
    line-height: 1.18;
    font-weight: 700;
}

.psbc-hqg__header p {
    margin: 0;
    max-width: 780px;
    color: var(--psbc-muted);
    font-size: 1rem;
    line-height: 1.6;
}

.psbc-hqg__form {
    padding: 0 32px 30px;
}

.psbc-hqg__fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.psbc-hqg__list {
    border-top: 1px solid var(--psbc-line);
}

.psbc-hqg__item {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    margin: 0;
    padding: 18px 4px;
    border-bottom: 1px solid var(--psbc-line);
    cursor: pointer;
    transition: background-color .16s ease, padding-left .16s ease;
}

.psbc-hqg__item:hover {
    background: color-mix(in srgb, var(--psbc-primary) 4%, #fff);
    padding-left: 9px;
}

.psbc-hqg__item:has(.psbc-hqg__checkbox:checked) {
    background: color-mix(in srgb, var(--psbc-primary) 6%, #fff);
}

.psbc-hqg__check-wrap {
    position: relative;
    flex: 0 0 25px;
    width: 25px;
    height: 25px;
    margin-top: 1px;
}

.psbc-hqg__checkbox {
    position: absolute;
    inset: 0;
    width: 25px;
    height: 25px;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}

.psbc-hqg__custom-check {
    display: block;
    width: 25px;
    height: 25px;
    border: 2px solid #9baab1;
    border-radius: 4px;
    background: #fff;
    transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}

.psbc-hqg__checkbox:focus-visible + .psbc-hqg__custom-check {
    outline: 3px solid color-mix(in srgb, var(--psbc-primary) 26%, transparent);
    outline-offset: 2px;
}

.psbc-hqg__checkbox:checked + .psbc-hqg__custom-check {
    border-color: var(--psbc-primary);
    background: var(--psbc-primary);
}

.psbc-hqg__checkbox:checked + .psbc-hqg__custom-check::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 3px;
    width: 7px;
    height: 13px;
    border: solid #fff;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

.psbc-hqg__item-copy {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
}

.psbc-hqg__item-title-row {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}

.psbc-hqg__item-title {
    color: var(--psbc-ink);
    font-size: 1.05rem;
    line-height: 1.35;
    font-weight: 700;
}

.psbc-hqg__item-description {
    display: block;
    color: var(--psbc-muted);
    font-size: .94rem;
    line-height: 1.52;
}

.psbc-hqg__badge {
    display: inline-block;
    padding: 3px 8px;
    border: 1px solid color-mix(in srgb, var(--psbc-accent) 28%, #fff);
    border-radius: 999px;
    background: color-mix(in srgb, var(--psbc-accent) 7%, #fff);
    color: var(--psbc-accent);
    font-size: .7rem;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: .015em;
}

.psbc-hqg__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-top: 24px;
}

.psbc-hqg__selection-status {
    color: var(--psbc-muted);
    font-size: .88rem;
}

.psbc-hqg__count {
    color: var(--psbc-primary);
    font-weight: 700;
}

.psbc-hqg__submit {
    appearance: none;
    min-height: 46px;
    padding: 12px 22px;
    border: 1px solid var(--psbc-primary);
    border-radius: 4px;
    background: var(--psbc-primary);
    color: #fff;
    font: inherit;
    font-size: .96rem;
    line-height: 1.2;
    font-weight: 700;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}

.psbc-hqg__submit:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 5px 13px rgba(0, 125, 164, .18);
}

.psbc-hqg__submit:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--psbc-accent) 34%, transparent);
    outline-offset: 3px;
}

.psbc-hqg__submit:disabled {
    cursor: not-allowed;
    opacity: .43;
}

.psbc-hqg__privacy {
    margin: 13px 0 0;
    color: #78858c;
    font-size: .78rem;
    line-height: 1.45;
    text-align: right;
}

@media (max-width: 680px) {
    .psbc-hqg__header {
        padding: 25px 22px 18px;
    }

    .psbc-hqg__form {
        padding: 0 22px 24px;
    }

    .psbc-hqg__item {
        padding: 17px 2px;
    }

    .psbc-hqg__footer {
        display: block;
    }

    .psbc-hqg__selection-status {
        margin-bottom: 10px;
    }

    .psbc-hqg__submit {
        width: 100%;
    }

    .psbc-hqg__privacy {
        text-align: left;
    }
}

@media (prefers-reduced-motion: reduce) {
    .psbc-hqg__item,
    .psbc-hqg__custom-check,
    .psbc-hqg__submit {
        transition: none;
    }
}

/* Keep the introductory copy aligned to the full width of the component. */
.psbc-hqg__header > p {
    display: block;
    width: 100%;
    max-width: none !important;
}

/* Page introduction: community-focused copy with a sample patient handout. */
.psbc-hqg { border: 0; border-radius: 0; box-shadow: none; }
.psbc-hqg__accent { display: none; }
.psbc-hqg .psbc-hqg__hero { display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:center; padding:32px 32px 42px; }
.psbc-hqg__hero-copy { min-width:0; }
.psbc-hqg .psbc-hqg__eyebrow { color:var(--psbc-accent); font-size:12px; letter-spacing:1.6px; text-transform:uppercase; font-weight:700; margin:0 0 14px; padding:0; }
.psbc-hqg .psbc-hqg__hero h2 { font-family:Georgia,serif; font-size:clamp(30px,3.6vw,44px); line-height:1.15; font-weight:400; letter-spacing:-.7px; color:var(--psbc-primary); margin:0 0 20px; padding:0; }
.psbc-hqg .psbc-hqg__hero-intro { color:var(--psbc-ink); font-size:16px; line-height:1.65; margin:0 0 24px; padding:0; }
.psbc-hqg .psbc-hqg__start { background:var(--psbc-primary); color:#fff; font:inherit; font-weight:700; font-size:15px; border:0; border-radius:5px; padding:14px 20px; min-height:48px; cursor:pointer; }
.psbc-hqg__start:focus-visible { outline:3px solid var(--psbc-accent); outline-offset:4px; }
.psbc-hqg .psbc-hqg__hero-note { color:var(--psbc-muted); font-size:12px; line-height:1.5; margin:16px 0 0; padding:0; }
.psbc-hqg__art { background:#edf6f8; background:color-mix(in srgb,var(--psbc-primary) 8%,#fff); border-radius:50% 50% 20px 20px; min-height:330px; padding:28px; display:flex; align-items:center; justify-content:center; position:relative; }
.psbc-hqg__sheet { width:220px; max-width:100%; background:#fff; padding:22px 20px; box-shadow:0 12px 25px rgba(0,0,0,.12); transform:rotate(5deg); border-top:3px solid var(--psbc-accent); color:var(--psbc-ink); }
.psbc-hqg__sheet img { display:block; width:140px; max-height:55px; object-fit:contain; object-position:left; margin-bottom:16px; }
.psbc-hqg__sheet strong { color:var(--psbc-primary); display:block; font-size:14px; line-height:1.3; margin-bottom:14px; }
.psbc-hqg__sheet b { display:block; font-size:11px; line-height:1.4; margin:13px 0 7px; }
.psbc-hqg__sheet i { display:block; height:4px; background:var(--psbc-line); margin:6px 0; }
.psbc-hqg__sheet i.short { width:70%; }
.psbc-hqg__stamp { position:absolute; left:0; bottom:28px; padding:10px 14px; background:#fff; border:1px solid var(--psbc-line); border-radius:8px; font-size:12px; line-height:1.4; color:var(--psbc-primary); box-shadow:0 7px 18px rgba(0,0,0,.06); }
.psbc-hqg__steps { display:flex; justify-content:space-between; flex-wrap:wrap; gap:18px; padding:22px 32px; background:#edf6f8; color:var(--psbc-ink); font-size:14px; }
.psbc-hqg__steps span { display:flex; align-items:center; gap:10px; }
.psbc-hqg__steps b { color:var(--psbc-accent); }
.psbc-hqg__header { scroll-margin-top:110px; padding-top:32px; }
@media(max-width:680px) {
 .psbc-hqg .psbc-hqg__hero { grid-template-columns:1fr; padding:24px 22px 30px; gap:28px; }
 .psbc-hqg__art { width:100%; max-width:360px; margin:0 auto; }
 .psbc-hqg__steps { padding:20px 22px; }
}
