.bsa-page {
    --maroon:var(--secondary-color,#0a0a0a);
    --maroon-soft:#292929;
    --mustard:var(--primary-color,#ff8533);
    --light-mustard:#ffb568;
    --gold:#ffb568;
    --white:#fff;
    --ink:#222;
    --muted:#696664;
    --line:#e8e8e8;
    --cream:#faf8f5;
    --serif:Cambria,Cochin,Georgia,"Times New Roman",serif;
    --sans:Poppins,Arial,sans-serif
}
.bsa-page \* {
    box-sizing:border-box
}
.bsa-page {
    color:var(--ink);
    background:var(--white);
    font-family:var(--sans);
    font-size:16px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased
}
.bsa-page a {
    color:inherit
}
.bsa-page .site-header {
    height:82px;
    padding:0 max(6.1vw,24px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid #f0eeeb;
    background:#fff
}
.bsa-page .brand {
    display:inline-flex;
    align-items:center
}
.bsa-page .brand img {
    width:158px;
    height:auto;
    object-fit:contain
}
.bsa-page .header-link,.bsa-page .website-link {
    font-size:13px;
    font-weight:600;
    text-decoration:none;
    color:var(--maroon);
    letter-spacing:.01em
}
.bsa-page .header-link span {
    margin-left:10px;
    color:var(--mustard)
}
.bsa-page .hero {
    max-width:1440px;
    margin:auto;
    padding:68px 8.4% 20px;
    min-height:620px;
    display:grid;
    grid-template-columns:1.03fr .97fr;
    gap:7%;
    align-items:center;
    position:relative
}
.bsa-page .hero-copy {
    padding:0 0 10px
}
.bsa-page .eyebrow {
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 23px;
    color:var(--mustard);
    font-size:10px;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase
}
.bsa-page .eyebrow-line {
    display:inline-block;
    width:30px;
    height:1px;
    background:var(--mustard)
}
.bsa-page h1,.bsa-page h2,.bsa-page h3,.bsa-page p {
    margin-top:0
}
.bsa-page .hero h1 {
    max-width:610px;
    margin-bottom:24px;
    color:var(--maroon);
    font-family:var(--serif);
    font-size:clamp(42px,5vw,66px);
    font-weight:500;
    line-height:1.12;
    letter-spacing:-.035em
}
.bsa-page .hero h1 em {
    color:var(--mustard);
    font-weight:500
}
.bsa-page .hero-intro {
    max-width:490px;
    margin-bottom:32px;
    color:#5e5956;
    font-size:16px;
    line-height:1.8
}
.bsa-page .hero-actions {
    display:flex;
    align-items:flex-start;
    flex-direction:column;
    gap:14px
}
.bsa-page .button {
    border:0;
    min-height:52px;
    padding:0 23px;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:22px;
    font:600 13px var(--sans);
    letter-spacing:.01em;
    text-decoration:none;
    cursor:pointer;
    transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease
}
.bsa-page .button:hover:not(:disabled) {
    transform:translateY(-1px)
}
.bsa-page .button:focus-visible,.bsa-page a:focus-visible,.bsa-page button:focus-visible {
    outline:3px solid var(--light-mustard);
    outline-offset:3px
}
.bsa-page .button-primary,.bsa-page .button-next {
    color:var(--secondary-color,#0a0a0a);
    background:var(--primary-color,#ff8533)
}
.bsa-page .button-primary:hover,.bsa-page .button-next:hover:not(:disabled) {
    background:#e66f20;
    color:var(--secondary-color,#0a0a0a)
}
.bsa-page .button-primary span,.bsa-page .button-next span {
    color:var(--secondary-color,#0a0a0a);
    font-size:17px
}
.bsa-page .duration {
    display:flex;
    align-items:center;
    gap:9px;
    color:#716c68;
    font-size:11px
}
.bsa-page .duration-dot {
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--mustard)
}
.bsa-page .duration-separator {
    color:#c0bcb8
}
.bsa-page .trust-note {
    margin-top:20px;
    display:flex;
    align-items:center;
    gap:13px;
    color:#77716e;
    font-size:11px
}
.bsa-page .trust-rule {
    width:36px;
    height:1px;
    background:#c8c2bc
}

/* Hero image container */
.bsa-page .hero-art {
    height: 440px;
    max-width: 490px;
    width: 100%;
    justify-self: end;
    position: relative;
    overflow: hidden;
    padding: 15px;
    background: #f4f0ea;
    box-shadow: 0 18px 42px rgba(46, 0, 0, .07);
    border-radius: 4px;
    box-sizing: border-box;
}

/* Generated image */
.bsa-page .hero-art .hero-art-image {
    display: block;
    max-width: 480px;
    height: 420px;
    object-fit: contain;
    object-position: center;
}

/* Tablet */
@media (max-width: 900px) {
    .bsa-page .hero-art {
        height: 395px;
    }
}

/* Mobile */
@media (max-width: 680px) {
    .bsa-page .hero-art {
        width: 100%;
        max-width: 460px;
        height: auto;
        aspect-ratio: 1 / 1;
        align-self: center;
        justify-self: center;
        padding: 10px;
    }
}

/* Small mobile */
@media (max-width: 360px) {
    .bsa-page .hero-art {
        height: auto;
        aspect-ratio: 1 / 1;
    }
}

.bsa-page .caption-mark {
    color:var(--maroon);
    font:600 22px var(--serif)
}
.bsa-page .art-caption strong {
    color:var(--maroon);
    font-weight:600
}
.bsa-page .caption-arrow {
    margin-left:auto;
    color:var(--mustard);
    font-size:18px
}
.bsa-page .hero-index {
    position:absolute;
    bottom:12px;
    left:8.4%;
    display:flex;
    align-items:center;
    gap:10px;
    color:#918a83;
    font-size:14px;
    font-weight:700;
    letter-spacing:.14em
}
.bsa-page .hero-index span:first-child {
    color:var(--mustard)
}
.bsa-page .index-line {
    width:35px;
    height:1px;
    background:#d8d1ca
}
.bsa-page .assessment-section {
    padding:50px 24px 50px;
    background:var(--cream);
    border-top:1px solid #f0ece6;
    border-bottom:1px solid #f0ece6
}
.bsa-page .section-intro {
    max-width:720px;
    margin:0 auto 40px;
    text-align:center
}
.bsa-page .section-intro .eyebrow {
    justify-content:center;
    margin-bottom:15px
}
.bsa-page .section-intro h2,.bsa-page .result-heading h2 {
    margin-bottom:11px;
    color:var(--maroon);
    font:500 clamp(30px,3.4vw,43px)/1.2 var(--serif);
    letter-spacing:-.02em
}
.bsa-page .section-intro>p:last-child {
    margin:0;
    color:#77716d;
    font-size:14px
}
.bsa-page .quiz-shell {
    max-width:810px;
    margin:0 auto;
    padding:33px 42px 22px;
    border:1px solid #ebe6df;
    background:#fff;
    box-shadow:0 10px 32px #39251a0a
}
.bsa-page .quiz-topline {
    display:flex;
    justify-content:space-between;
    gap:12px;
    color:#6a625b;
    font-size:9px;
    font-weight:700;
    letter-spacing:.12em
}
.bsa-page .secure-note {
    color:#9a928b;
    font-size:10px;
    font-weight:500;
    letter-spacing:0
}
.bsa-page .secure-note span {
    margin-right:5px;
    color:var(--mustard);
    font-size:14px
}
.bsa-page .progress-meta {
    margin-top:26px;
    display:flex;
    justify-content:space-between;
    color:#655d56;
    font-size:11px;
    font-weight:600
}
.bsa-page .progress-meta span:last-child {
    color:#8c847c;
    font-weight:400
}
.bsa-page .progress-track {
    height:3px;
    margin-top:11px;
    background:#eee9e3;
    overflow:hidden
}
.bsa-page .progress-track>span {
    display:block;
    height:100%;
    width:10%;
    background:var(--mustard);
    transition:width .25s ease
}
.bsa-page .question-heading {
    margin:31px 0 17px;
    color:var(--maroon);
    font:500 clamp(21px,2.7vw,28px)/1.3 var(--serif)
}
.bsa-page .question-hint {
    margin:-8px 0 19px;
    color:#817970;
    font-size:12px
}
.bsa-page .answers {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px
}
.bsa-page .answer-card {
    position:relative;
    min-height:62px;
    padding:13px 15px;
    display:flex;
    align-items:center;
    gap:12px;
    border:1px solid #eae5de;
    background:#fff;
    color:#393532;
    font-size:13px;
    line-height:1.45;
    cursor:pointer;
    transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease
}
.bsa-page .answer-card:hover {
    border-color:#cda36e;
    background:#fffcf8
}
.bsa-page .answer-card:has(input:checked) {
    border-color:var(--mustard);
    background:#fff8ef;
    box-shadow:inset 3px 0 var(--mustard)
}
.bsa-page .answer-card input {
    width:17px;
    height:17px;
    flex:0 0 17px;
    margin:0;
    accent-color:var(--maroon);
    cursor:pointer
}
.bsa-page .answer-card:focus-within {
    outline:2px solid var(--mustard);
    outline-offset:2px
}
.bsa-page .answer-letter {
    color:#aa8d6e;
    font-size:10px;
    font-weight:700
}
.bsa-page .answer-text {
    flex:1
}
.bsa-page .validation-message {
    min-height:20px;
    margin:10px 0 0;
    color:#9c2d20;
    font-size:12px
}
.bsa-page .quiz-controls {
    min-height:51px;
    margin-top:7px;
    display:flex;
    align-items:center;
    gap:12px
}
.bsa-page .control-spacer {
    flex:1
}
.bsa-page .required-note {
    color:#90877e;
    font-size:10px
}
.bsa-page .button-next {
    min-height:46px;
    min-width:139px;
    justify-content:space-between
}
.bsa-page .button-next:disabled {
    background:#aaa19a;
    color:white;
    cursor:not-allowed
}
.bsa-page .button-next:disabled span {
    color:#e4ddd5
}
.bsa-page .button-back {
    min-height:44px;
    padding:0 6px;
    color:#665c54;
    background:transparent
}
.bsa-page .button-back span {
    color:var(--mustard)
}
.bsa-page .assessment-note {
    margin:12px 0 0;
    padding-top:14px;
    border-top:1px solid #f0ece7;
    color:#918980;
    font-size:10px;
    line-height:1.6
}
.bsa-page .result-section {
    max-width:1100px;
    margin:0 auto;
    padding:91px 32px 82px
}
.bsa-page .result-heading {
    max-width:700px;
    margin:0 auto 43px;
    text-align:center
}
.bsa-page .result-heading .eyebrow {
    justify-content:center
}
.bsa-page .result-heading>p:last-child {
    margin:14px 0 0;
    color:#6f6862;
    font-size:14px
}
.bsa-page .result-layout {
    display:grid;
    grid-template-columns:1fr 250px;
    gap:32px;
    align-items:start
}
.bsa-page .recommendations {
    display:flex;
    flex-direction:column;
    gap:14px
}
.bsa-page .recommendation-card {
    padding:24px 27px;
    border:1px solid #e9e3dc;
    background:#fff
}
.bsa-page .recommendation-card.primary {
    border-color:#d8b27f;
    background:#fffcf8
}
.bsa-page .recommendation-top {
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:12px
}
.bsa-page .recommendation-rank {
    color:#b79a78;
    font-size:9px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase
}
.bsa-page .primary-badge {
    padding:4px 8px;
    background:#f4e7d5;
    color:#85500e;
    font-size:9px;
    font-weight:700;
    letter-spacing:.04em
}
.bsa-page .recommendation-card h3 {
    margin:0 0 8px;
    color:var(--maroon);
    font:500 23px/1.3 var(--serif)
}
.bsa-page .recommendation-card>p {
    max-width:700px;
    margin:0 0 16px;
    color:#6d6660;
    font-size:13px;
    line-height:1.7
}
.bsa-page .task-list {
    margin:0;
    padding:14px 0 0;
    display:flex;
    flex-wrap:wrap;
    gap:8px 19px;
    border-top:1px solid #eee9e3;
    list-style:none
}
.bsa-page .task-list li {
    color:#5f5953;
    font-size:11px
}
.bsa-page .task-list li::before {
    content:"—";
    margin-right:7px;
    color:var(--mustard)
}
.bsa-page .result-aside {
    padding:23px;
    background:#f7f3ed;
    border-top:2px solid var(--mustard)
}
.bsa-page .aside-kicker {
    margin:0 0 13px;
    color:#8b6a42;
    font-size:9px;
    font-weight:700;
    letter-spacing:.13em
}
.bsa-page .result-aside h3 {
    margin:0 0 9px;
    color:var(--maroon);
    font:500 22px/1.35 var(--serif)
}
.bsa-page .result-aside>p:not(.aside-kicker) {
    margin-bottom:27px;
    color:#716961;
    font-size:12px;
    line-height:1.7
}
.bsa-page .text-button {
    padding:0;
    border:0;
    background:transparent;
    color:var(--maroon);
    font:600 11px var(--sans);
    text-align:left;
    cursor:pointer
}
.bsa-page .text-button span {
    margin-right:6px;
    color:var(--mustard);
    font-size:15px
}
.bsa-page .result-disclaimer {
    margin-top:29px
}
.bsa-page .contact-band {
    min-height:302px;
    padding:25px max(8.4%,32px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:38px;
    position:relative;
    overflow:hidden;
    background:var(--maroon);
    color:#fff
}
.bsa-page .contact-copy {
    max-width:620px;
    z-index:1
}
.bsa-page .eyebrow-light {
    color:var(--gold)
}
.bsa-page .eyebrow-light .eyebrow-line {
    background:var(--gold)
}
.bsa-page .contact-copy h2 {
    margin-bottom:13px;
    color:#fff;
    font:500 clamp(32px,4vw,46px)/1.18 var(--serif)
}
.bsa-page .contact-copy>p:last-child {
    max-width:570px;
    margin:0;
    color:#e3d6d4;
    font-size:13px;
    line-height:1.8
}
.bsa-page .contact-actions {
    min-width:210px;
    z-index:1;
    display:flex;
    align-items:flex-start;
    flex-direction:column;
    gap:14px
}
.bsa-page .button-light {
    background:#fff;
    color:var(--maroon)
}
.bsa-page .button-light:hover {
    background:#fff6e9
}
.bsa-page .button-light span {
    color:var(--mustard)
}
.bsa-page .website-link {
    color:#f4d8b9;
    font-size:11px
}
.bsa-page .website-link span {
    margin-left:8px;
    color:var(--gold)
}
.bsa-page .contact-decoration {
    position: absolute;
    right: 5%;
    bottom: 55px;
    width: 240px;
    z-index: 0;
    opacity: 0.15;
    pointer-events: none;
    user-select: none;
}

.bsa-page .contact-decoration img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    filter: grayscale(50%);
}

/* Keep the contact content above the decorative logo */
.bsa-page .contact-copy,
.bsa-page .contact-actions {
    position: relative;
    z-index: 1;
}

@media (max-width: 680px) {
    .bsa-page .contact-decoration {
        right: -20px;
        bottom: -30px;
        width: 165px;
        opacity: 0.05;
    }
}
.bsa-page .site-footer {
    min-height:70px;
    padding:18px max(6.1vw,24px);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    background:#260000;
    color:#c6b9b4;
    font-size:10px
}
.bsa-page .site-footer a {
    color:#f4e8dc;
    text-decoration:none;
    font-weight:600
}
.bsa-page .site-footer span {
    color:#a99890
}
.bsa-page [hidden] {
    display:none!important
}
@media(max-width:900px) {
    .bsa-page .hero {
        padding:58px 6% 75px;
        gap:5%
    }
    .bsa-page .hero-art {
        height:395px
    }
    .bsa-page .desk-scene {
        height:292px
    }
    .bsa-page .hero h1 {
        font-size:clamp(39px,5.7vw,56px)
    }
    .bsa-page .hero-index {
        left:6%
    }
    .bsa-page .result-layout {
        grid-template-columns:1fr 215px;
        gap:20px
    }
    .bsa-page .contact-band {
        padding-left:6%;
        padding-right:6%
    }
}
@media(max-width:680px) {
    .bsa-page .site-header {
        height:68px;
        padding:0 20px
    }
    .bsa-page .brand img {
        width:138px
    }
    .bsa-page .header-link {
        font-size:11px
    }
    .bsa-page .header-link span {
        margin-left:4px
    }
    .bsa-page .hero {
        padding:43px 22px 70px;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:32px
    }
    .bsa-page .hero h1 {
        font-size:clamp(41px,11vw,58px)
    }
    .bsa-page .hero-intro {
        font-size:14px;
        line-height:1.75
    }
    .bsa-page .trust-note {
        margin-top:20px
    }
    .bsa-page .hero-art {
        height:340px;
        max-width:460px;
        align-self:center
    }
    .bsa-page .desk-scene {
        height:237px
    }
    .bsa-page .laptop {
        top:71px;
        height:177px
    }
    .bsa-page .screen {
        height:135px
    }
    .bsa-page .paper-back,.bsa-page .paper-front {
        height:110px
    }
    .bsa-page .paper-label {
        margin-bottom:8px
    }
    .bsa-page .paper-bars {
        height:29px
    }
    .bsa-page .plant {
        bottom:83px
    }
    .bsa-page .plant-two {
        bottom:66px
    }
    .bsa-page .mug {
        top:126px
    }
    .bsa-page .hero-index {
        left:22px;
        bottom:12px
    }
    .bsa-page .assessment-section {
        padding:65px 16px 70px
    }
    .bsa-page .section-intro {
        margin-bottom:27px
    }
    .bsa-page .section-intro h2 {
        font-size:32px
    }
    .bsa-page .section-intro>p:last-child {
        font-size:13px
    }
    .bsa-page .quiz-shell {
        padding:24px 18px 17px
    }
    .bsa-page .quiz-topline {
        font-size:8px
    }
    .bsa-page .secure-note {
        font-size:9px
    }
    .bsa-page .progress-meta {
        margin-top:22px
    }
    .bsa-page .question-heading {
        margin-top:26px;
        font-size:24px
    }
    .bsa-page .answers {
        grid-template-columns:1fr;
        gap:8px
    }
    .bsa-page .answer-card {
        min-height:56px;
        padding:12px;
        font-size:13px
    }
    .bsa-page .quiz-controls {
        margin-top:4px;
        gap:7px
    }
    .bsa-page .required-note {
        max-width:130px;
        font-size:9px
    }
    .bsa-page .button-next {
        min-width:124px;
        padding:0 14px
    }
    .bsa-page .assessment-note {
        font-size:10px
    }
    .bsa-page .result-section {
        padding:67px 18px 61px
    }
    .bsa-page .result-heading {
        margin-bottom:30px
    }
    .bsa-page .result-heading h2 {
        font-size:34px
    }
    .bsa-page .result-layout {
        grid-template-columns:1fr;
        gap:17px
    }
    .bsa-page .recommendation-card {
        padding:20px 17px
    }
    .bsa-page .recommendation-card h3 {
        font-size:21px
    }
    .bsa-page .result-aside {
        padding:20px
    }
    .bsa-page .task-list {
        gap:7px 13px
    }
    .bsa-page .contact-band {
        padding:53px 24px 48px;
        align-items:flex-start;
        flex-direction:column;
        gap:24px
    }
    .bsa-page .contact-copy h2 {
        font-size:36px
    }
    .bsa-page .contact-copy>p:last-child {
        font-size:12px
    }
    .bsa-page .contact-actions {
        width:100%;
        min-width:0;
        align-items:stretch
    }
    .bsa-page .contact-actions .button {
        width:100%
    }
    .bsa-page .website-link {
        align-self:center;
        padding:6px
    }
    .bsa-page .contact-decoration {
        right:-10px;
        bottom:-80px;
        font-size:255px
    }
    .bsa-page .site-footer {
        padding:18px 20px;
        flex-wrap:wrap
    }
    .bsa-page .site-footer span {
        order:3;
        width:100%
    }
}
@media(max-width:360px) {
    .bsa-page .site-header {
        padding:0 14px
    }
    .bsa-page .header-link {
        font-size:10px
    }
    .bsa-page .brand img {
        width:122px
    }
    .bsa-page .hero {
        padding-left:17px;
        padding-right:17px
    }
    .bsa-page .quiz-topline {
        gap:4px;
        letter-spacing:.07em
    }
    .bsa-page .secure-note {
        font-size:8px
    }
    .bsa-page .quiz-shell {
        padding-left:14px;
        padding-right:14px
    }
    .bsa-page .required-note {
        max-width:99px
    }
    .bsa-page .button-next {
        min-width:112px;
        padding:0 10px
    }
    .bsa-page .hero-art {
        height:313px
    }
    .bsa-page .desk-scene {
        height:210px
    }
}
@media(prefers-reduced-motion:reduce) {
    .bsa-page \*,.bsa-page \*::before,.bsa-page \*::after {
        scroll-behavior:auto!important;
        transition:none!important
    }
}
.bsa-page .quiz-shell .answers .answer-card:has(input:checked) {
    color: #2E0000 !important;
    border-color: #C97E19;
    background-color: #FFF8EF;
}

.bsa-page .quiz-shell .question-heading {
    color: #2E0000 !important;
    font-weight: 500 !important;
}

.bsa-page .quiz-shell .answer-card input {
    flex-shrink: 0;
}

@media (max-width: 680px) {
    .bsa-page .quiz-shell .answers .answer-card .answer-text {
        font-size: 13px !important;
    }
}

/* ==========================================
   REALGRENO ASSESSMENT — TYPOGRAPHY & COLORS
   ========================================== */

/* Main assessment text */
.bsa-page {
    color: #222222;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.65;
}

/* Main hero heading */
.bsa-page .hero h1 {
    color: #2E0000;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(36px, 4vw, 54px);
    font-weight: 500;
    line-height: 1.18;
}

/* Section headings */
.bsa-page .section-intro h2,
.bsa-page .result-heading h2 {
    color: #2E0000;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(29px, 3vw, 40px);
    font-weight: 500;
    line-height: 1.3;
}

/* Question headings */
.bsa-page .question-heading {
    color: #2E0000 !important;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: clamp(22px, 2.5vw, 28px);
    font-weight: 600;
    line-height: 1.4;
}

/* Answer cards */
.bsa-page .answer-card,
.bsa-page .answer-card .answer-text {
    color: #333333 !important;
    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    text-decoration: none !important;
}

/* Answer letters */
.bsa-page .answer-letter {
    color: #8B6A42 !important;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
}

/* Radio buttons and checkboxes */
.bsa-page .answer-card input {
    accent-color: #2E0000;
}

/* Answer card borders */
.bsa-page .answer-card {
    border-color: #E8E8E8;
    background: #FFFFFF;
}

/* Hover state */
.bsa-page .answer-card:hover {
    border-color: #C97E19;
    background: #FFFCF8;
}

/* Selected answer */
.bsa-page .answer-card:has(input:checked) {
    border-color: #C97E19;
    background: #FFF8EF;
}

/* Progress bar */
.bsa-page .progress-track {
    background: #E8E8E8;
}

.bsa-page .progress-track > span {
    background: #C97E19;
}

/* Progress labels and supporting text */
.bsa-page .progress-meta,
.bsa-page .quiz-topline,
.bsa-page .question-hint,
.bsa-page .required-note {
    font-family: "DM Sans", Arial, sans-serif;
    color: #696664;
    font-size: 12px;
}

/* Continue button */
.bsa-page .button-next {
    background: #2E0000;
    color: #FFFFFF;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
}

.bsa-page .button-next:disabled {
    background: #B8B0A9;
    color: #FFFFFF;
}

/* Back button */
.bsa-page .button-back {
    color: #2E0000;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
}

/* Assessment disclaimer */
.bsa-page .assessment-note {
    color: #77716D;
    font-size: 11px;
    line-height: 1.7;
}

/* Result cards */
.bsa-page .recommendation-card h3,
.bsa-page .result-aside h3 {
    color: #2E0000;
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 500;
}

.bsa-page .recommendation-card p,
.bsa-page .result-aside p {
    color: #55504C;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 13px;
    line-height: 1.75;
}

/* Mobile readability */
@media (max-width: 680px) {
    .bsa-page .question-heading {
        font-size: 22px;
    }

    .bsa-page .answer-card,
    .bsa-page .answer-card .answer-text {
        font-size: 14px !important;
    }
}
