@font-face { font-family: "Bricolage Grotesque"; src: url("/assets/fonts/BricolageGrotesque-VariableFont.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: "Passion One"; src: url("/assets/fonts/PassionOne-Regular.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: "TWK Everett"; src: url("/assets/fonts/TWKEverett-Bold.otf") format("opentype"); font-display: swap; }

:root {
    --journey-cream: #f4e8d3;
    --journey-blue: #205798;
    --journey-yellow: #f8b719;
    --journey-orange: #c75b39;
    --journey-orange-dark: #9d3d22;
    --journey-green: #1d755f;
    --journey-teal: #2fa7a0;
    --journey-purple: #9b69d4;
    --journey-brown: #6a4638;
    --journey-white: #ffffff;
    --journey-focus: 0 0 0 4px rgba(248, 183, 25, .5);
}

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

/* Updated script: candidate summary, educational chatbot and score feedback. */
.journey-chatbot-cta {
    border-color: var(--journey-blue) !important;
    background: var(--journey-blue) !important;
    color: var(--journey-cream) !important;
    box-shadow: 0 8px 0 rgba(32, 87, 152, .18);
}
.journey-modal--chatbot .journey-modal__panel {
    position: relative;
    width: min(980px, 100%);
    max-height: calc(100dvh - 36px);
    overflow-y: auto;
    align-content: start;
    padding: clamp(64px, 8vh, 96px) clamp(24px, 5vw, 58px) 42px;
    border: 0;
    border-radius: 18px;
    background: var(--journey-cream) url("/assets/img/interactive/backgrounds/fundo-tela-10-chatbot.svg") center / cover repeat;
}
.journey-modal--chatbot .journey-modal__corner-close {
    position: absolute;
    top: 28px;
    right: 28px;
    z-index: 2;
}
.journey-chatbot {
    width: min(780px, 100%);
    display: grid;
    gap: 16px;
    margin: 0 auto;
}
.journey-chatbot__messages {
    min-height: 280px;
    max-height: 42vh;
    display: flex;
    flex-direction: column;
    gap: 12px;
    overflow-y: hidden;
    padding: 20px;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.journey-chatbot__messages article {
    max-width: 78%;
    padding: 12px 15px;
    border-radius: 14px;
    color: #111;
    text-align: left;
}
.journey-chatbot__messages .is-bot {
    align-self: flex-start;
    border: 4px solid #1d755f;
    border-radius: 18px 18px 18px 4px;
    background: #35aaa7;
}
.journey-chatbot__messages .is-user {
    align-self: flex-end;
    border-radius: 16px 16px 4px 16px;
    background: #1d755f;
    color: var(--journey-cream);
}
.journey-chatbot__suggestions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.journey-chatbot__suggestions button,
.journey-chatbot__form button {
    min-height: 44px;
    border: 2px solid var(--journey-blue);
    border-radius: 5px;
    background: #1d755f;
    color: var(--journey-cream);
    font-weight: 900;
    cursor: pointer;
}
.journey-chatbot__suggestions button {
    justify-content: flex-start;
    padding: 12px 18px;
    border-color: var(--journey-green);
    background: var(--journey-cream);
    color: #171717;
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-weight: 500;
    text-align: left;
}
.journey-chatbot__suggestions button:last-child {
    width: 72%;
    grid-column: 1 / -1;
}
.journey-chatbot__form {
    display: grid;
    gap: 7px;
    text-align: left;
}
.journey-chatbot__form label { color: var(--journey-blue); font-weight: 900; }
.journey-chatbot__form > div { display: grid; grid-template-columns: 1fr 118px; gap: 12px; }
.journey-chatbot__form textarea {
    width: 100%;
    min-height: 118px;
    padding: 10px 14px;
    border: 2px solid var(--journey-blue);
    border-color: #1d755f;
    border-radius: 16px;
    background: var(--journey-cream);
    color: var(--journey-blue);
}
.journey-chatbot__form button {
    width: 100%;
    min-width: 0;
    padding: 8px 18px;
    background: #1d755f;
}
.journey-chatbot__form-actions { display: grid; align-content: end; gap: 8px; }
.journey-modal__award {
    justify-self: center;
    color: var(--journey-yellow);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: 34px;
}
.journey-modal--bonus .journey-modal__panel {
    position: relative;
    width: min(620px, calc(100vw - 36px));
    min-height: 0;
    aspect-ratio: 1;
    align-content: center;
    justify-items: start;
    gap: 20px;
    padding: clamp(88px, 13vw, 140px);
    border: 3px solid var(--journey-orange);
    border-radius: 50%;
    background: #e3691f;
    color: var(--journey-cream);
    text-align: left;
}
.journey-modal--bonus .journey-modal__panel > button {
    position: absolute;
    top: 10%;
    left: 5%;
    width: 64px;
    height: 64px;
    border-color: var(--journey-orange);
    background: var(--journey-yellow);
    color: var(--journey-orange);
    font-family: "Passion One", Arial, sans-serif;
    font-size: 40px;
}
.journey-modal--bonus .journey-modal__panel h2 {
    max-width: 390px;
    color: var(--journey-cream);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(31px, 4.5vw, 45px);
    font-weight: 500;
    line-height: 1.08;
    text-align: left;
}
.journey-modal--bonus .journey-modal__panel p {
    max-width: 390px;
    margin: 0;
    color: var(--journey-cream);
    font-size: clamp(23px, 3vw, 34px);
    line-height: 1.12;
}
.journey-modal--bonus .journey-modal__score {
    min-width: 0;
    justify-self: start;
    padding: 0;
    background: transparent;
    color: var(--journey-cream);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(28px, 3.5vw, 40px);
    text-transform: none;
}
.journey-modal__score-total {
    color: var(--journey-cream);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(34px, 4.5vw, 52px);
}
.candidate-modal-biography,
.candidate-modal-source {
    padding: 14px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .1);
    text-align: left;
}
.candidate-modal-biography p,
.candidate-modal-source { margin: 6px 0 0; }

@media (max-width: 720px) {
    .journey-chatbot__messages { min-height: 220px; padding: 14px; }
    .journey-chatbot__messages article { max-width: 92%; }
    .journey-chatbot__form > div { grid-template-columns: 1fr; }
    .journey-chatbot__form-actions { grid-template-columns: 1fr 1fr; }
    .journey-chatbot__form button { width: 100%; }
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--journey-cream); }
body.interactive-page {
    margin: 0;
    min-height: 100vh;
    min-height: 100dvh;
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    color: var(--journey-blue);
    background: var(--journey-cream);
    overflow-x: hidden;
}

button, a { font: inherit; }
button, a {
    transition: background-color .18s ease, color .18s ease, border-color .18s ease,
        box-shadow .18s ease, transform .18s ease, opacity .18s ease, filter .18s ease;
}
button:focus-visible, a:focus-visible { outline: none; box-shadow: var(--journey-focus); }

.interactive-shell {
    min-height: 100vh;
    min-height: 100dvh;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    padding: clamp(18px, 3vw, 34px);
    position: relative;
    overflow-x: hidden;
    background: var(--journey-cream);
}

.journey-close {
    position: fixed;
    top: 18px;
    right: 18px;
    z-index: 5;
    width: 46px;
    height: 46px;
    border-radius: 999px;
    border: 2px solid var(--journey-orange);
    background: var(--journey-cream);
    color: var(--journey-orange);
    font-size: 28px;
    font-weight: 900;
    cursor: pointer;
}
.journey-close:hover { transform: translateY(-1px); background: var(--journey-orange); color: var(--journey-cream); }

.journey-screen {
    position: relative;
    display: none;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 122px);
    min-height: calc(100dvh - 122px);
    padding: 0;
}
.journey-screen.is-active { display: flex; animation: journeyIn .24s ease both; }
@keyframes journeyIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.journey-card {
    width: min(900px, calc(100vw - 42px));
    min-height: min(820px, calc(100dvh - 136px));
    display: grid;
    align-content: center;
    justify-items: stretch;
    gap: clamp(22px, 3vw, 38px);
    padding: clamp(40px, 7vw, 92px);
    background: var(--journey-cream);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    text-align: left;
}
.journey-card--intro {
    min-height: min(770px, calc(100dvh - 136px));
    align-content: center;
    justify-items: center;
    padding-bottom: clamp(86px, 13vh, 150px);
}
.journey-logo {
    width: min(720px, 82vw);
    max-height: 292px;
    object-fit: contain;
}
.journey-logo-tagline {
    margin-top: -28px;
    padding: 7px 16px;
    border-radius: 4px;
    background: var(--journey-blue);
    color: var(--journey-cream);
    font-family: "TWK Everett", "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(13px, 2.3vw, 23px);
    text-align: center;
}
.journey-kicker { margin: 0; color: var(--journey-orange); font-weight: 900; text-transform: uppercase; }
.journey-card h1 {
    margin: 0;
    max-width: 760px;
    color: var(--journey-orange);
    font-family: "Bricolage Grotesque", "TWK Everett", Arial, sans-serif;
    font-size: clamp(32px, 5vw, 43px);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: 0;
}
.journey-card p {
    max-width: 700px;
    margin: 0;
    color: var(--journey-orange);
    font-size: clamp(17px, 2vw, 24px);
    line-height: 1.28;
}

.journey-question-bar,
.journey-accordion__bar {
    width: min(720px, 100%);
    min-height: clamp(72px, 10vw, 126px);
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 20px;
    padding: clamp(16px, 2.6vw, 28px) clamp(20px, 3vw, 38px);
    border: 0;
    border-radius: 11px;
    background: var(--journey-orange);
    color: var(--journey-cream);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(28px, 5vw, 43px);
    font-weight: 900;
    line-height: .95;
    letter-spacing: 0;
    text-align: center;
}
.journey-accordion__bar {
    width: 100%;
    display: flex;
    justify-content: center;
    appearance: none;
    cursor: pointer;
}
.journey-question-bar span { justify-self: center; }
.journey-question-bar strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 86px;
    color: var(--journey-cream);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(28px, 4vw, 40px);
    letter-spacing: .08em;
}

.journey-alert {
    width: fit-content;
    max-width: min(390px, 100%);
    min-height: 92px;
    display: flex;
    align-items: center;
    padding: 16px 22px;
    border: 3px solid var(--journey-orange);
    border-radius: 8px;
    color: var(--journey-orange) !important;
    background: transparent;
    font-size: clamp(18px, 2.5vw, 24px) !important;
}
.journey-alert::before {
    content: "!";
    flex: 0 0 66px;
    width: 66px;
    height: 66px;
    display: grid;
    place-items: center;
    margin-right: 18px;
    border-radius: 999px;
    background: var(--journey-orange);
    color: var(--journey-cream);
    font-family: "Passion One", Arial, sans-serif;
    font-size: 42px;
}
.journey-alert--map { max-width: 520px; }

.journey-card--region {
    width: min(900px, calc(100vw - 42px));
    min-height: min(900px, calc(100dvh - 136px));
    align-content: start;
    gap: 0;
    padding: 117px 20px 22px;
}
.journey-card--region h1 {
    max-width: none;
    margin-bottom: 0;
    font-size: clamp(36px, 4.2vw, 43px);
    line-height: 1.1;
    white-space: nowrap;
}
.journey-card--region .journey-accordion--region {
    width: 100%;
    margin: 29px 0 0;
}
.journey-accordion--region .journey-accordion__row {
    grid-template-columns: minmax(0, 686px) auto;
    gap: 20px;
}
.journey-accordion--region .journey-accordion__bar {
    min-height: 130px;
    padding: 24px 34px;
    font-size: 39px;
}
.journey-accordion--region .journey-accordion__actions {
    align-self: center;
    gap: 12px;
}
.journey-accordion--region .journey-accordion__control {
    width: 64px;
    height: 64px;
    font-size: 42px;
}
.journey-accordion--region .journey-accordion__control--minus {
    background: transparent;
    color: var(--journey-orange);
}
.journey-accordion--region .journey-accordion__control--plus {
    background: var(--journey-orange);
    color: var(--journey-cream);
}
.journey-accordion--region .journey-accordion__item.is-open .journey-accordion__control--minus {
    background: var(--journey-orange);
    color: var(--journey-cream);
}
.journey-accordion--region .journey-accordion__item.is-open .journey-accordion__control--plus {
    background: transparent;
    color: var(--journey-orange);
    box-shadow: none;
}
.journey-accordion--region .journey-accordion__control:hover,
.journey-accordion--region .journey-accordion__control:focus-visible {
    background: var(--journey-orange);
    color: var(--journey-cream);
}
.region-stage {
    position: relative;
    width: 100%;
    min-height: 646px;
    margin-top: 46px;
}
.journey-card--region .journey-alert--map {
    position: absolute;
    left: 0;
    top: 308px;
    width: 248px;
    max-width: 248px;
    min-height: 182px;
    align-items: flex-start;
    padding: 48px 20px 20px;
    font-size: 23px !important;
    line-height: 1.2;
}
.journey-card--region .journey-alert--map::before {
    position: absolute;
    left: 20px;
    top: -34px;
    width: 66px;
    height: 66px;
    margin-right: 0;
}

.journey-accordion {
    width: min(850px, 100%);
    display: grid;
    gap: 18px;
    margin: 14px 0 0;
    text-align: left;
    --accordion-actions-space: clamp(146px, 18vw, 176px);
    --accordion-content-pad: clamp(20px, 3vw, 38px);
}
.journey-accordion__item { border: 0; border-radius: 11px; overflow: visible; background: transparent; }
.journey-accordion__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(14px, 2vw, 22px);
}
.journey-accordion__actions {
    display: inline-flex;
    align-items: center;
    gap: clamp(10px, 1.5vw, 14px);
}
.journey-accordion__control {
    width: clamp(54px, 7vw, 66px);
    height: clamp(54px, 7vw, 66px);
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    border: 3px solid var(--journey-orange);
    background: transparent;
    color: var(--journey-orange);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(34px, 4vw, 46px);
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
}
.journey-accordion__control--minus {
    background: var(--journey-orange);
    color: var(--journey-cream);
}
.journey-accordion__item.is-open .journey-accordion__control--minus {
    background: transparent;
    color: var(--journey-orange);
    box-shadow: none;
}
.journey-accordion__control--plus {
    background: transparent;
    color: var(--journey-orange);
}
.journey-accordion__item.is-open .journey-accordion__control--plus {
    background: var(--journey-orange);
    color: var(--journey-cream);
    box-shadow: 0 8px 20px rgba(157, 61, 34, .22);
}
.journey-accordion__panel {
    width: calc(100% - var(--accordion-actions-space));
    max-height: 0;
    margin-left: 0;
    margin-right: var(--accordion-actions-space);
    opacity: 0;
    overflow: hidden;
    transition: max-height .3s ease, opacity .3s ease, padding .3s ease;
    padding: 0;
    color: var(--journey-orange);
}
.journey-accordion__item.is-open .journey-accordion__panel {
    max-height: 180px;
    opacity: 1;
    padding: 14px var(--accordion-content-pad) 24px;
}
.journey-accordion__panel p { font-size: 17px; line-height: 1.28; }

/* TELA 02 - composição aprovada */
.journey-card--info {
    width: min(850px, calc(100vw - 64px));
    min-height: min(790px, calc(100dvh - 148px));
    align-content: start;
    gap: 0;
    padding: clamp(82px, 11vh, 118px) 0 24px;
}
.journey-card--info > h1 {
    width: min(600px, calc(100% - 170px));
    font-size: clamp(36px, 4.2vw, 43px);
    line-height: 1.1;
}
.journey-card--info .journey-accordion {
    width: 100%;
    gap: 18px;
    margin-top: clamp(48px, 7vh, 66px);
    --accordion-actions-space: 170px;
    --accordion-content-pad: 40px;
}
.journey-card--info .journey-accordion__row {
    gap: 20px;
}
.journey-card--info .journey-accordion__bar {
    width: 100%;
    min-height: 126px;
    padding: 24px 34px;
    font-size: clamp(30px, 3.8vw, 39px);
}
.journey-card--info .journey-accordion__actions {
    gap: 12px;
}
.journey-card--info .journey-accordion__control {
    width: 64px;
    height: 64px;
    font-size: 42px;
}
.journey-card--info .journey-accordion__control--minus {
    background: transparent;
    color: var(--journey-orange);
}
.journey-card--info .journey-accordion__control--plus {
    background: var(--journey-orange);
    color: var(--journey-cream);
}
.journey-card--info .journey-accordion__item.is-open .journey-accordion__control--minus {
    background: var(--journey-orange);
    color: var(--journey-cream);
    box-shadow: none;
}
.journey-card--info .journey-accordion__item.is-open .journey-accordion__control--plus {
    background: transparent;
    color: var(--journey-orange);
    box-shadow: none;
}
.journey-card--info .journey-accordion__control:hover,
.journey-card--info .journey-accordion__control:focus-visible,
.journey-card--info .journey-accordion__item.is-open .journey-accordion__control--plus:hover,
.journey-card--info .journey-accordion__item.is-open .journey-accordion__control--plus:focus-visible {
    background: var(--journey-orange);
    color: var(--journey-cream);
}
.journey-card--info .journey-accordion__panel p {
    max-width: 600px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.28;
}
.interactive-shell.is-info-screen .journey-controls {
    width: min(850px, calc(100vw - 64px));
    margin: 0 auto;
}
.interactive-shell.is-info-screen .journey-control--next,
.interactive-shell.is-info-screen .journey-control--long {
    width: 100%;
    min-width: 0 !important;
    min-height: 58px !important;
    border-width: 2px;
    border-radius: 8px;
    padding: 10px 72px !important;
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: 18px !important;
}
.interactive-shell.is-info-screen .journey-control--next:hover,
.interactive-shell.is-info-screen .journey-control--next:focus-visible {
    border-color: var(--journey-orange);
    background: var(--journey-orange);
    color: var(--journey-cream);
}
.interactive-shell.is-info-screen .journey-control--next::before {
    content: "\2192";
    position: static;
    width: auto;
    height: auto;
    margin-left: .38em;
    order: 2;
    border: 0;
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: 1em;
    font-weight: 600;
    line-height: 1;
    transform: none;
}
.interactive-shell.is-info-screen .journey-control--next::after {
    display: none;
}

.region-map {
    position: relative;
    width: min(646px, 76%);
    aspect-ratio: 1 / 1;
    margin: 0 20px 0 auto;
}
.region-map__svg {
    width: 100%;
    height: 100%;
    display: block;
    overflow: visible;
}
.region-map__state-region {
    cursor: pointer;
    outline: none;
    filter:
        drop-shadow(0 6px 0 rgba(30, 77, 140, .10));
    transition: fill .18s ease, filter .18s ease;
    transform-box: fill-box;
    transform-origin: center;
}
.region-map__state-region,
.region-map__state-region * {
    fill: var(--journey-blue) !important;
    fill-opacity: 1 !important;
    stroke: var(--journey-blue) !important;
    stroke-width: .8 !important;
    stroke-linejoin: round;
}
.region-map__state-region:hover,
.region-map__state-region:focus-visible,
.region-map__state-region.is-hovered {
    filter:
        drop-shadow(0 8px 0 rgba(199, 91, 57, .13));
}
.region-map__state-region:hover,
.region-map__state-region:focus-visible,
.region-map__state-region.is-hovered,
.region-map__state-region:hover *,
.region-map__state-region:focus-visible *,
.region-map__state-region.is-hovered * {
    fill: var(--journey-orange) !important;
    stroke: var(--journey-orange) !important;
}
.region-map__state-region.is-selected,
.region-map__state-region.is-selected * {
    fill: var(--journey-blue) !important;
    stroke: var(--journey-blue) !important;
}
.region-map__label {
    position: absolute;
    min-width: 96px;
    min-height: 49px;
    border-radius: 4px;
    border: 3px solid transparent;
    background: var(--journey-orange);
    color: var(--journey-cream);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(17px, 2vw, 22px);
    font-weight: 900;
    letter-spacing: .01em;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 18px;
    box-shadow: none;
    -webkit-text-stroke: 0;
    text-shadow: none;
    transform: translate(-50%, -50%);
    transition: background .18s ease, border-color .18s ease, color .18s ease;
    z-index: 2;
}
.region-map__label--norte { left: 46%; top: 24%; }
.region-map__label--nordeste { left: 85%; top: 38%; min-width: 126px; }
.region-map__label--centro-oeste { left: 55%; top: 51%; min-width: 172px; }
.region-map__label--sudeste { left: 74%; top: 72%; min-width: 126px; }
.region-map__label--sul { left: 49%; top: 87%; min-width: 86px; }
.region-map__label:hover,
.region-map__label:focus-visible,
.region-map__label.is-hovered {
    background: var(--journey-blue);
    color: var(--journey-cream);
    border-color: var(--journey-cream);
    box-shadow: none;
    transform: translate(-50%, -50%);
}
.region-map__label.is-selected {
    background: var(--journey-blue);
    color: var(--journey-cream);
    border-color: var(--journey-cream);
    box-shadow: none;
    transform: translate(-50%, -50%);
}
.choice-grid button,
.skin-grid button,
.journey-secondary,
.journey-modal__actions a,
.journey-modal__actions button {
    min-height: 48px;
    border-radius: 5px;
    border: 2px solid var(--journey-orange);
    background: transparent;
    color: var(--journey-orange);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(22px, 3.2vw, 32px);
    font-weight: 900;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
}
.choice-grid button:hover,
.choice-grid button:focus-visible,
.skin-grid button:hover,
.skin-grid button:focus-visible,
.journey-secondary:hover,
.journey-modal__actions a:hover,
.journey-modal__actions button:hover,
.journey-controls button:not(:disabled):hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(157, 61, 34, .18);
}
.choice-grid button:hover,
.choice-grid button:focus-visible,
.skin-grid button:hover,
.skin-grid button:focus-visible,
.choice-grid button.is-selected,
.skin-grid button.is-selected {
    background: var(--journey-orange);
    color: var(--journey-cream);
}

.choice-grid,
.skin-grid {
    width: min(720px, 100%);
    display: grid;
    gap: 18px;
    margin: 0;
}
.choice-grid { grid-template-columns: 1fr; }
.choice-grid button { justify-content: flex-start; min-height: 72px; padding-left: 26px; text-align: left; }
.skin-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    max-height: min(48vh, 430px);
    overflow-y: auto;
    padding: 4px 8px 4px 4px;
}
.skin-grid button {
    display: grid;
    gap: 8px;
    justify-items: center;
    min-height: 142px;
    padding: 10px;
    background: rgba(255, 246, 214, .64);
}
.skin-grid button[hidden] {
    display: none;
}

/* Tela 4: gênero */
.journey-card--gender {
    width: min(862px, calc(100vw - 42px));
    min-height: min(820px, calc(100dvh - 136px));
    align-content: start;
    gap: 0;
    padding: 44px 0 38px;
}
.journey-card--gender > h1 {
    max-width: none;
    margin: 0 0 18px;
    font-size: clamp(34px, 4vw, 43px);
}
.journey-card--gender .journey-accordion--gender {
    width: 100%;
    margin: 0 0 76px;
}
.journey-card--gender .journey-accordion__row {
    grid-template-columns: minmax(0, 686px) auto;
    gap: 20px;
}
.journey-card--gender .journey-accordion__bar {
    min-height: 130px;
    padding: 24px 32px;
    border-radius: 14px;
    font-size: clamp(32px, 4.2vw, 43px);
}
.journey-card--gender .journey-accordion__actions {
    gap: 10px;
}
.journey-card--gender .journey-accordion__control {
    width: 64px;
    height: 64px;
    font-size: 42px;
}
.journey-card--gender .journey-accordion__panel {
    width: min(686px, 100%);
    margin-right: 0;
}
.journey-card--gender .journey-accordion__item.is-open .journey-accordion__panel {
    max-height: 160px;
    padding: 14px 28px 0;
}
.journey-card--gender .choice-grid {
    width: min(660px, 100%);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.journey-card--gender .choice-grid button {
    min-height: 81px;
    justify-content: center;
    padding: 12px 18px;
    border-width: 3px;
    border-radius: 8px;
    font-size: clamp(18px, 2vw, 22px);
    line-height: 1;
    text-align: center;
}
.journey-card--gender .choice-grid button:last-child {
    grid-column: 1 / -1;
}
.journey-card--race .journey-accordion--gender {
    margin-bottom: 21px;
}
.journey-card--race .choice-grid {
    width: min(680px, 100%);
}
.journey-card--race .choice-grid button:last-child {
    grid-column: auto;
}

/* Tela 5: montagem do avatar */
.journey-card--skin {
    width: min(862px, calc(100vw - 42px));
    min-height: auto;
    align-content: start;
    gap: 0;
    padding: 118px 0 130px;
}
.journey-card--skin > h1 {
    max-width: none;
    margin: 0 0 58px;
    font-size: clamp(34px, 4vw, 43px);
}
.skin-builder {
    display: grid;
    gap: 35px;
}
.skin-builder__group {
    display: grid;
    grid-template-columns: minmax(0, 686px) auto;
    column-gap: 20px;
    row-gap: 20px;
    align-items: start;
}
.skin-builder__group > .journey-accordion {
    grid-column: 1 / -1;
}
.skin-builder__group > .skin-grid,
.skin-builder__group > .skin-tone-grid,
.skin-builder__group > .passion-grid,
.skin-builder__group > .avatar-background-grid {
    grid-column: 1;
    width: 100%;
}
.journey-card--skin .journey-accordion--skin {
    width: 100%;
    margin: 0;
}
.journey-card--skin .journey-accordion__row {
    grid-template-columns: minmax(0, 686px) auto;
    gap: 20px;
}
.journey-card--skin .journey-accordion__bar {
    min-height: 80px;
    display: grid;
    grid-template-columns: 1fr;
    place-items: center;
    gap: 0;
    padding: 18px 28px;
    border: 3px solid var(--journey-orange);
    border-radius: 10px;
    background: transparent;
    color: var(--journey-orange);
    font-size: clamp(30px, 3.7vw, 40px);
    line-height: 1.05;
    text-align: center;
    text-indent: 0;
    white-space: normal;
}
.journey-card--skin .skin-builder__group:first-child .journey-accordion__bar {
    background: var(--journey-orange);
    color: var(--journey-cream);
}
.journey-card--skin .journey-accordion__actions {
    gap: 10px;
}
.journey-card--skin .journey-accordion__control {
    width: 64px;
    height: 64px;
    font-size: 42px;
}
.journey-card--skin .journey-accordion__panel {
    width: min(686px, 100%);
    margin-right: 0;
}
.journey-card--skin .journey-accordion__item.is-open .journey-accordion__panel {
    max-height: 150px;
    padding: 18px 20px 2px;
}
.journey-card--skin .journey-accordion__panel p {
    max-width: none;
    color: var(--journey-orange);
    font-size: clamp(18px, 2.2vw, 24px);
    text-align: left;
}
.journey-card--skin .journey-accordion__item.is-open .journey-accordion__panel.is-empty {
    max-height: 0;
    padding: 0;
}
.journey-card--skin .skin-grid {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    max-height: none;
    gap: 24px;
    overflow: visible;
    padding: 4px;
    justify-content: flex-start;
    align-items: center;
}
.journey-card--skin .skin-grid button {
    flex: 0 0 74px;
    width: 74px;
    min-height: 86px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
}
.journey-card--skin .skin-grid button:hover,
.journey-card--skin .skin-grid button:focus-visible,
.journey-card--skin .skin-grid button.is-selected {
    background: rgba(199, 91, 57, .12);
    box-shadow: inset 0 0 0 3px var(--journey-orange);
    transform: none;
}
.journey-card--skin .skin-grid__avatar {
    width: 70px;
    height: 78px;
}
.skin-tone-grid {
    display: grid;
    grid-template-columns: repeat(5, 74px);
    gap: 20px;
    width: 100%;
    padding: 7px;
    justify-content: start;
    justify-items: center;
}
.skin-tone-grid button {
    width: 74px;
    height: 74px;
    border: 0;
    border-radius: 50%;
    padding: 0;
    background: transparent;
    cursor: pointer;
    overflow: hidden;
}
.skin-tone-grid button img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
}
.skin-tone-grid button:hover,
.skin-tone-grid button:focus-visible {
    box-shadow: 0 0 0 4px var(--journey-cream);
    transform: scale(1.03);
}
.skin-tone-grid button.is-selected {
    box-shadow:
        0 0 0 4px var(--journey-cream),
        0 0 0 7px var(--journey-orange);
    transform: scale(1.03);
}
.passion-grid {
    width: min(758px, 100%);
    display: grid;
    grid-template-columns: repeat(7, 82px);
    justify-content: flex-start;
    gap: 18px 28px;
    align-items: center;
    padding: 8px;
}
.skin-builder__group > .passion-grid {
    grid-column: 1 / -1;
}
.passion-grid button {
    flex: 0 0 82px;
    width: 82px;
    height: 78px;
    display: grid;
    place-items: center;
    padding: 5px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    cursor: pointer;
}
.passion-grid button:hover,
.passion-grid button:focus-visible,
.passion-grid button.is-selected {
    background: rgba(248, 183, 25, .28);
    box-shadow: inset 0 0 0 3px var(--journey-orange);
    transform: none;
}
.passion-grid img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.avatar-background-grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 150px);
    justify-content: start;
    gap: 20px;
    padding: 8px;
}
.avatar-background-grid button {
    width: 150px;
    height: 80px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
}
.avatar-background-grid button:hover,
.avatar-background-grid button:focus-visible,
.avatar-background-grid button.is-selected {
    background: rgba(248, 183, 25, .18);
    box-shadow: inset 0 0 0 3px var(--journey-orange);
}
.avatar-background-grid img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.journey-modal--skin-privacy {
    background: rgba(244, 232, 211, .60);
    backdrop-filter: blur(9px);
}
.journey-modal--skin-privacy .journey-modal__panel {
    position: relative;
    width: min(480px, calc(100vw - 56px));
    min-height: 182px;
    place-items: center;
    padding: 42px 28px 28px;
    border: 3px solid var(--journey-orange);
    border-radius: 10px;
    background: var(--journey-yellow);
    box-shadow: none;
}
.journey-modal--skin-privacy .journey-modal__panel > button {
    position: absolute;
    left: -34px;
    top: -34px;
    width: 66px;
    height: 66px;
    border: 3px solid var(--journey-orange);
    background: var(--journey-yellow);
    color: var(--journey-orange);
    font-family: "Passion One", Arial, sans-serif;
    font-size: 46px;
}
.journey-modal--skin-privacy .journey-modal__notice-icon {
    position: absolute;
    left: 50%;
    top: -34px;
    width: 66px;
    height: 66px;
    display: grid;
    place-items: center;
    transform: translateX(-50%);
    border-radius: 50%;
    background: var(--journey-orange);
    color: var(--journey-cream);
    font-family: "Passion One", Arial, sans-serif;
    font-size: 46px;
}
.journey-modal--skin-privacy p {
    margin: 0;
    color: var(--journey-blue);
    font-size: clamp(28px, 4vw, 39px);
    line-height: 1.13;
    text-align: left;
}
.journey-modal--skin-confirm {
    background: rgba(244, 232, 211, .66);
    backdrop-filter: blur(9px);
}
.journey-modal--skin-confirm .journey-modal__panel {
    position: relative;
    width: min(687px, calc(100vw - 40px));
    min-height: 506px;
    align-content: center;
    justify-items: center;
    gap: 20px;
    padding: 38px 24px 24px;
    border: 3px solid var(--journey-orange);
    border-radius: 14px;
    background: var(--journey-cream);
}
.journey-modal--skin-confirm h2 {
    color: var(--journey-orange);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(34px, 5vw, 52px);
    letter-spacing: 0;
    text-align: center;
}
.journey-modal--skin-confirm .journey-avatar-preview {
    width: min(510px, 100%);
    height: 230px;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.journey-modal--skin-confirm .journey-modal__actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
}
.journey-modal--skin-confirm .journey-modal__actions button {
    min-width: 0;
    min-height: 64px;
    height: auto;
    padding: 12px 20px;
    border: 2px solid var(--journey-orange);
    border-radius: 6px;
    background: var(--journey-orange);
    color: var(--journey-cream);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: 21px;
    line-height: 1.1;
    white-space: normal;
}
.journey-modal--skin-confirm .journey-modal__actions button:last-child {
    border-color: var(--journey-green);
    background: var(--journey-green);
    color: var(--journey-cream);
}
.journey-modal--skin-confirm .journey-modal__actions button:first-child:hover,
.journey-modal--skin-confirm .journey-modal__actions button:first-child:focus-visible {
    background: transparent;
    color: var(--journey-orange);
}
.journey-modal--skin-confirm .journey-modal__actions button:last-child:hover,
.journey-modal--skin-confirm .journey-modal__actions button:last-child:focus-visible {
    background: transparent;
    color: var(--journey-green);
}
.avatar-composition {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
}
.avatar-composition__background {
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: 0;
    width: 76%;
    height: auto;
    object-fit: contain;
    object-position: center bottom;
}
.journey-avatar-preview .avatar-composition__person {
    position: absolute;
    z-index: 2;
    left: 40%;
    bottom: 0;
    width: 42%;
    height: 76%;
    object-fit: contain;
    object-position: center bottom;
    transform: translateX(-50%);
}
.journey-avatar-preview .avatar-composition__passion {
    position: absolute;
    z-index: 3;
    right: 7%;
    bottom: 7%;
    width: 35%;
    height: 48%;
    object-fit: contain;
}
.skin-grid__avatar {
    width: 74px;
    height: 82px;
    display: grid;
    place-items: center;
}
.skin-grid__avatar img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 8px 0 rgba(32, 87, 152, .12));
}
.skin-grid__label {
    font-size: 18px;
    line-height: 1;
    color: inherit;
}
.skin-grid button.is-selected .skin-grid__avatar img,
.skin-grid button:hover .skin-grid__avatar img,
.skin-grid button:focus-visible .skin-grid__avatar img {
    filter: drop-shadow(0 8px 0 rgba(255, 246, 214, .25));
}

.journey-modal--state .journey-modal__panel {
    position: relative;
    width: min(954px, calc(100vw - 32px));
    min-height: 438px;
    gap: 10px;
    padding: 96px 28px 38px;
    border-width: 4px;
    border-radius: 22px;
}
.journey-modal--state [data-close-region-state-modal] {
    position: absolute;
    top: 25px;
    right: 28px;
    width: 54px;
    height: 54px;
    border-width: 4px;
    font-size: 30px;
}
.region-state-heading,
.region-state-prompt {
    width: 100%;
    min-height: 84px;
    display: grid;
    place-items: center;
    margin: 0;
    border-radius: 20px;
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: 38px;
    line-height: 1;
    text-align: center;
}
.region-state-heading {
    border: 4px solid var(--journey-orange);
    background: var(--journey-cream);
    color: var(--journey-orange);
}
.region-state-prompt {
    border: 4px solid var(--journey-orange);
    background: var(--journey-orange);
    color: var(--journey-cream) !important;
}
.state-choice-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 13px;
    width: 100%;
    margin-top: 12px;
}
.state-choice-grid button {
    min-height: 100px;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 3px;
    padding: 12px 14px;
    border: 3px solid var(--journey-orange);
    border-width: 4px;
    border-radius: 12px;
    background: var(--journey-cream);
    color: var(--journey-orange);
    cursor: pointer;
}
.state-choice-grid button:hover,
.state-choice-grid button:focus-visible {
    background: var(--journey-orange);
    color: var(--journey-cream);
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(157, 61, 34, .18);
}
.state-choice-grid strong {
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: 32px;
    line-height: .9;
}
.state-choice-grid span {
    font-size: 14px;
    font-weight: 800;
    text-align: center;
    background: transparent;
    color: inherit;
}

.interactive-shell.is-region-screen .journey-controls {
    width: min(900px, calc(100vw - 42px));
    margin: 0 auto;
}
.interactive-shell.is-region-screen .journey-control--back {
    width: max-content;
    min-width: 233px;
    max-width: calc(100vw - 36px);
    min-height: 58px;
    gap: .38em;
    padding: 10px 24px;
    border-width: 2px;
    border-radius: 8px;
    background: transparent;
    color: var(--journey-orange);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: 18px;
    font-weight: 700;
    white-space: normal;
}
.interactive-shell.is-region-screen .journey-control--back::before {
    content: "\2190";
    position: static;
    width: auto;
    height: auto;
    border: 0;
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: 1em;
    font-weight: 600;
    line-height: 1;
    transform: none;
}
.interactive-shell.is-region-screen .journey-control--back::after {
    display: none;
}
.interactive-shell.is-region-screen .journey-control--back:hover,
.interactive-shell.is-region-screen .journey-control--back:focus-visible {
    border-color: var(--journey-orange);
    background: var(--journey-orange);
    color: var(--journey-cream);
}

.journey-controls {
    position: relative;
    z-index: 4;
    display: flex;
    justify-content: center;
    gap: 18px;
    padding: 0 0 clamp(8px, 2vh, 22px);
}
.journey-controls .journey-control {
    position: relative;
    min-width: 233px;
    min-height: 62px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 64px;
    border-radius: 14px;
    border: 3px solid var(--journey-orange);
    background-color: transparent;
    color: var(--journey-orange);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: 28px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: none;
}
.journey-control::before {
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    border-top: 3px solid currentColor;
    border-right: 3px solid currentColor;
}
.journey-controls .journey-control--back {
    border-color: var(--journey-orange);
    background: var(--journey-orange);
    color: var(--journey-cream);
}
.journey-control--back::before { right: 24px; transform: rotate(-135deg); }
.journey-control--next::before { left: 24px; transform: rotate(45deg); }
.journey-control--back::after,
.journey-control--next::after {
    content: "";
    position: absolute;
    width: 34px;
    height: 3px;
    background: currentColor;
}
.journey-control--back::after { right: 23px; }
.journey-control--next::after { left: 23px; }
.journey-controls .journey-control--next[aria-label="INICIAR"] {
    border-color: var(--journey-orange-dark);
    background: var(--journey-orange);
    color: var(--journey-cream);
    box-shadow: 0 5px 0 var(--journey-orange-dark);
}
.journey-control--next[aria-label="INICIAR"]::before,
.journey-control--next[aria-label="INICIAR"]::after {
    display: none;
}
.journey-control--long {
    width: min(380px, calc(100vw - 36px));
    min-width: 330px !important;
    min-height: 66px !important;
    padding: 12px 58px !important;
    font-size: 22px !important;
    line-height: 1.08;
    white-space: normal;
}
.journey-controls button:disabled { display: none; }
.journey-controls button[hidden] { display: none; }

.journey-card--topics {
    width: min(862px, 100%);
    min-height: 1081px;
    align-content: start;
    gap: 0;
    padding: 108px 0 120px;
}
.topic-selection-stage,
.topic-priority-stage {
    width: 100%;
    display: grid;
    justify-items: start;
}
.topic-selection-stage[hidden],
.topic-priority-stage[hidden],
.selected-topics[hidden],
.topic-confirm-action[hidden] { display: none !important; }
.topic-selection-stage > h1,
.topic-priority-stage > h1 {
    width: 100%;
    margin: 0;
    color: var(--journey-orange);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(36px, 4.2vw, 43px);
    font-weight: 430;
    line-height: 1.15;
    text-align: left;
}
.journey-card--topics .journey-alert--topics {
    width: 372px;
    min-height: 98px;
    display: flex;
    align-items: center;
    gap: 25px;
    margin: 43px 0 67px;
    padding: 14px 20px;
    border: 3px solid var(--journey-orange);
    border-radius: 10px;
    color: var(--journey-orange);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: 24px;
    text-align: left;
}
.journey-alert--topics > span {
    width: 66px;
    height: 66px;
    flex: 0 0 66px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--journey-orange);
    color: var(--journey-cream);
    font-size: 50px;
    font-weight: 800;
    line-height: 1;
}
.journey-alert--topics::before { display: none; }
.topic-grid {
    width: min(676px, 100%);
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 18px 14px;
    margin: 0;
}
.topic-grid button {
    min-height: 78px;
    display: grid;
    place-items: center;
    padding: 12px 18px;
    border: 3px solid var(--topic-color, var(--journey-blue));
    border-radius: 7px;
    background: var(--topic-color, var(--journey-blue));
    color: var(--topic-text, var(--journey-cream));
    cursor: pointer;
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    box-shadow: none;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.topic-grid button:nth-child(1) { flex-basis: 57%; }
.topic-grid button:nth-child(2) { flex-basis: 40.5%; }
.topic-grid button:nth-child(3) { flex-basis: 30.5%; }
.topic-grid button:nth-child(4) { flex-basis: 40.5%; }
.topic-grid button:nth-child(5) { flex-basis: 34%; }
.topic-grid button:nth-child(6) { flex-basis: 40.5%; }
.topic-grid button:nth-child(7) { flex-basis: 77.5%; }
.topic-grid button:hover,
.topic-grid button:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(157, 61, 34, .14);
}
.topic-grid button.is-selected {
    background: transparent;
    color: var(--topic-color, var(--journey-blue));
    box-shadow: none;
}
.topic-grid button:disabled:not(.is-selected) { opacity: 1; cursor: not-allowed; filter: none; }
.topic-grid span { font-size: clamp(31px, 4vw, 38px); line-height: .95; }
.topic-grid span { text-transform: uppercase; }
.topic-grid small { display: none; }

.selected-topics {
    width: min(698px, 100%);
    margin: 78px 0 0;
    padding: 12px;
    border: 3px solid var(--journey-blue);
    border-radius: 12px;
}
.selected-topics > div {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 35px;
}
.selected-topic-chip {
    position: relative;
    max-width: 100%;
    min-height: 78px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 44px;
    border-radius: 7px;
    background: var(--topic-color, var(--journey-blue));
    color: var(--topic-text, var(--journey-cream));
}
.selected-topic-chip strong {
    color: inherit;
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(29px, 3.6vw, 36px);
    line-height: .95;
    text-transform: uppercase;
}
.selected-topic-chip--meio-ambiente,
.priority-chip--meio-ambiente { width: 386px; }
.selected-topic-chip--trabalho,
.priority-chip--trabalho { width: 274px; }
.selected-topic-chip--saude,
.priority-chip--saude { width: 206px; }
.selected-topic-chip--educacao,
.priority-chip--educacao { width: 274px; }
.selected-topic-chip--mulheres,
.priority-chip--mulheres { width: 230px; }
.selected-topic-chip--diversidade,
.priority-chip--diversidade { width: 274px; }
.selected-topic-chip--seguranca,
.priority-chip--seguranca { width: 523px; }
.selected-topic-chip button,
.priority-slot [data-remove-priority] {
    position: absolute;
    top: -10px;
    right: -18px;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 3px solid var(--journey-orange);
    border-radius: 50%;
    background: var(--journey-yellow);
    color: var(--journey-orange);
    font-family: "Passion One", Arial, sans-serif;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}
.topic-confirm-action,
.priority-confirm-action {
    width: min(822px, 100%);
    min-height: 142px;
    margin: 96px 0 0;
    padding: 22px 34px;
    border: 3px solid #7dc22b;
    border-radius: 11px;
    background: #7dc22b;
    color: var(--journey-cream);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(32px, 4vw, 42px);
    line-height: 1;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
}
.topic-confirm-action:hover,
.topic-confirm-action:focus-visible,
.priority-confirm-action:hover,
.priority-confirm-action:focus-visible {
    background: transparent;
    color: #65a91f;
}

.topic-priority-stage { margin-top: -28px; }
.topic-priority-stage > h1 { max-width: 820px; }
.priority-list {
    width: min(800px, 100%);
    display: grid;
    gap: 10px;
    margin: 101px 0 0;
    padding: 0;
    list-style: none;
}
.priority-list li {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    cursor: grab;
    touch-action: pan-x;
}
.priority-position {
    color: var(--journey-orange);
    font-family: "Passion One", Arial, sans-serif;
    font-size: 76px;
    line-height: 1;
    text-align: center;
}
.priority-slot {
    position: relative;
    min-height: 126px;
    display: flex;
    align-items: center;
    padding: 18px 15px;
    border: 3px solid var(--journey-blue);
    border-radius: 12px;
    background: transparent;
}
.priority-move-controls {
    display: inline-flex;
    flex: 0 0 auto;
    gap: 8px;
    margin-left: auto;
    padding-left: 12px;
}
.priority-move-controls button {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 3px solid var(--journey-orange);
    border-radius: 50%;
    background: transparent;
    color: var(--journey-orange);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: 25px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
}
.priority-move-controls button:hover,
.priority-move-controls button:focus-visible {
    background: var(--journey-orange);
    color: var(--journey-cream);
}
.priority-move-controls button:disabled {
    opacity: .3;
    cursor: not-allowed;
}
.priority-chip {
    position: relative;
    max-width: 100%;
}
.priority-chip > strong {
    width: 100%;
    min-height: 78px;
    display: grid;
    place-items: center;
    padding: 12px 38px;
    border-radius: 7px;
    background: var(--topic-color, var(--journey-blue));
    color: var(--topic-text, var(--journey-cream));
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(30px, 4vw, 38px);
    line-height: .95;
    text-transform: uppercase;
}
.priority-confirm-action {
    width: min(822px, 100%);
    min-height: 142px;
    justify-self: center;
    margin-top: 96px;
    background: #7dc22b;
    color: var(--journey-cream);
}
.priority-confirm-action:hover,
.priority-confirm-action:focus-visible {
    background: transparent;
    color: #65a91f;
}

.journey-score {
    width: min(760px, 100%);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin: 0 auto;
    color: var(--journey-orange);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(26px, 4vw, 38px);
    font-weight: 900;
}
.journey-score strong { color: var(--journey-orange); font-size: inherit; }
.journey-points-progress {
    width: min(760px, 100%);
    display: grid;
    grid-template-columns: auto minmax(160px, 1fr) auto;
    align-items: center;
    gap: 18px;
    margin: 0 auto;
    padding: 16px 22px;
    border-radius: 6px;
    background: var(--journey-blue);
    color: var(--journey-cream);
}
.journey-points-progress > strong {
    min-width: 134px;
    padding: 10px 14px;
    border-radius: 4px;
    background: var(--journey-cream);
    color: var(--journey-green);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(22px, 3vw, 30px);
    line-height: 1;
    text-align: center;
}
.journey-points-progress__track {
    position: relative;
    height: 24px;
    overflow: hidden;
    border-radius: 999px;
    background: #ffd66e;
}
.journey-points-progress__track span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: var(--journey-yellow);
    transition: width .32s ease;
}
.journey-points-progress > span {
    min-width: 44px;
    font-weight: 900;
}
.journey-card--map {
    width: min(1080px, 100%);
    align-content: start;
    padding: 43px 8px 42px;
}
.journey-screen--mapa-jornada {
    width: 100vw;
    margin-left: calc(50% - 50vw);
}
.journey-points-progress--map {
    width: min(900px, 100%);
    padding: 0;
    background: transparent;
    color: var(--journey-blue);
}
.journey-points-progress--map > strong {
    min-width: 270px;
    min-height: 78px;
    display: grid;
    place-items: center;
    padding: 12px 22px;
    border-radius: 5px;
    background: var(--journey-green);
    color: var(--journey-cream);
    font-size: clamp(28px, 3.4vw, 38px);
}
.journey-points-progress--map .journey-points-progress__track { height: 52px; }
.journey-points-progress--map > span {
    color: var(--journey-blue);
    font-size: clamp(22px, 2.8vw, 28px);
}
.interactive-city-map {
    width: min(1000px, 100%);
    margin: 72px auto 0;
}
.interactive-city-map__stage {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9.25;
    isolation: isolate;
    cursor: none;
}
.interactive-city-map__base {
    position: absolute;
    z-index: 1;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.interactive-city-map__decor,
.topic-map {
    position: absolute;
    z-index: 2;
    inset: 0;
}
.city-decor {
    position: absolute;
    display: block;
    height: auto;
    opacity: .65;
    filter: grayscale(1);
    object-fit: contain;
    pointer-events: none;
    transition: filter .28s ease, opacity .2s ease;
}
.city-decor.is-active { opacity: 1; filter: none; }
.city-decor.is-complete { filter: grayscale(1); }
.city-decor--work { left: 8.6%; top: 22%; width: 20%; }
.city-decor--school { left: 23%; top: 53.8%; width: 22.5%; }
.city-decor--police { left: 30.8%; top: 14.4%; width: 20%; }
.city-decor--green-area { left: 77%; top: 11.5%; width: 15.5%; transform: scaleY(1.18); transform-origin: top center; }
.city-decor--diversity { left: 47.8%; top: -1%; width: 17%; }
.city-decor--women { left: 55.2%; top: 30.5%; width: 15.5%; transform: scaleY(1.15); transform-origin: top center; }
.city-decor--building { left: 71%; top: 43.8%; width: 20.5%; }
.topic-map { z-index: 3; }
.topic-map__point {
    position: absolute;
    left: var(--map-x);
    top: var(--map-y);
    width: var(--map-size);
    aspect-ratio: 1;
    padding: 0;
    border: 0;
    background: transparent;
    transform: translate(-50%, -50%);
    cursor: none;
}
.topic-map__point:focus-visible { outline: 4px solid var(--journey-blue); outline-offset: 5px; border-radius: 8px; }
.topic-map__label {
    position: absolute;
    left: 50%;
    top: 50%;
    min-width: max-content;
    padding: 5px 9px;
    border-radius: 5px;
    background: var(--journey-blue);
    color: var(--journey-cream);
    font-size: 14px;
    font-weight: 900;
    line-height: 1.1;
    transform: translate(-50%, calc(-50% + 5px));
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
}
.topic-map__point:hover .topic-map__label,
.topic-map__point:focus-visible .topic-map__label {
    transform: translate(-50%, -50%);
    opacity: 1;
}
.topic-map__label small { display: block; color: var(--journey-yellow); }
.topic-map__point.is-complete { cursor: not-allowed; }
.interactive-city-map__pointer {
    position: absolute;
    z-index: 4;
    left: var(--pointer-x, 50%);
    top: var(--pointer-y, 52%);
    width: 110px;
    transform: translate(-50%, -100%);
    pointer-events: none;
    opacity: 0;
    transition: opacity .12s ease;
}
.interactive-city-map__pointer.is-visible { opacity: 1; }
.interactive-city-map__pointer.is-locked { opacity: 1; }
.interactive-city-map__pointer img {
    display: block;
    width: 100%;
    height: 110px;
    object-fit: contain;
}
.interactive-city-map > .journey-alert {
    position: relative;
    width: min(350px, calc(100% - 32px));
    min-height: 214px;
    display: grid;
    align-content: center;
    gap: 4px;
    margin: -18px auto 0 24.3%;
    padding: 42px 24px 28px;
    border-color: var(--journey-yellow);
    background: var(--journey-orange);
    color: var(--journey-cream) !important;
    font-size: 20px !important;
    line-height: 1.22;
}
.interactive-city-map > .journey-alert::before {
    position: absolute;
    top: -34px;
    left: 20px;
    width: 66px;
    height: 66px;
    margin: 0;
    border: 3px solid var(--journey-yellow);
    background: var(--journey-orange);
}
.interactive-city-map > .journey-alert strong {
    display: block;
    color: var(--journey-yellow);
    font-weight: 900;
}
.interactive-city-map > .journey-alert span { display: block; }

@media (min-width: 769px) {
    .journey-screen--questionario-tema {
        margin-top: 0;
    }
    .journey-card--map {
        position: relative;
        width: 1080px;
        min-height: 1168.53px;
        display: block;
        padding: 0;
        overflow: hidden;
    }
    .journey-screen--mapa-jornada { margin-top: calc(-1 * clamp(18px, 3vw, 34px)); }
    .journey-points-progress--map {
        position: absolute;
        z-index: 3;
        top: 75.45px;
        left: 93.11px;
        width: 893px;
        height: 77.92px;
        display: block;
        margin: 0;
    }
    .journey-points-progress--map > strong {
        width: 268.85px;
        min-width: 268.85px;
        min-height: 77.92px;
        display: grid;
        place-items: center;
        padding: 12px 22px;
        font-size: 38px;
    }
    .journey-points-progress--map .journey-points-progress__track {
        position: absolute;
        top: 13.78px;
        left: 311.29px;
        width: 505px;
        height: 50.35px;
    }
    .journey-points-progress--map > span {
        position: absolute;
        top: 16px;
        left: 835px;
        min-width: 52px;
        padding: 8px 0;
        font-size: 28px;
        text-align: right;
    }
    .interactive-city-map {
        position: absolute;
        z-index: 3;
        inset: 0;
        width: 100%;
        height: 100%;
        margin: 0;
    }
    .interactive-city-map__stage {
        position: absolute;
        left: 57px;
        top: 294px;
        width: 960px;
        height: 540px;
        aspect-ratio: auto;
    }
    .interactive-city-map__base { display: block; }
    .topic-map { inset: 0; }
    .interactive-city-map > .journey-alert {
        position: absolute;
        left: 177px;
        top: 803px;
        width: 349.66px;
        min-height: 213.46px;
        margin: 0;
    }
}

.journey-card--questionnaire {
    width: 100%;
    min-height: 100dvh;
    align-content: start;
    padding: clamp(42px, 6.5vh, 76px) 24px 52px;
    background: var(--journey-blue);
    color: var(--journey-cream);
}
.journey-screen--questionario-tema {
    width: 100vw;
    min-height: 100dvh;
    align-items: stretch;
    margin-left: calc(50% - 50vw);
    background: var(--journey-blue);
}
.interactive-shell.is-question-screen {
    min-height: 100dvh;
    grid-template-rows: minmax(0, 1fr);
    padding: 0;
    background: var(--journey-blue);
}
.interactive-shell.is-question-screen .journey-controls {
    display: none !important;
}
.journey-points-progress--question {
    width: min(893px, 100%);
    grid-template-columns: 269px minmax(0, 1fr) 58px;
    gap: 42px;
    margin: 0 auto;
    padding: 0;
    background: transparent;
}
.journey-points-progress--question > strong {
    width: 269px;
    min-width: 269px;
    min-height: 78px;
    padding: 12px 22px;
    border-radius: 5px;
    background: var(--journey-cream);
    color: var(--journey-green);
    font-size: 38px;
}
.journey-points-progress--question .journey-points-progress__track {
    grid-column: 2;
    grid-row: 1;
    height: 52px;
}
.journey-points-progress--question > span {
    grid-column: 3;
    grid-row: 1;
    color: var(--journey-cream);
    font-size: 28px;
    text-align: right;
}
.question-panel {
    width: min(908px, 100%);
    margin: 57px auto 0;
}
.question-panel__empty { color: var(--journey-cream); }
.question-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 230px;
    grid-template-areas:
        "kicker visual"
        "title visual"
        "situation visual"
        "answers visual"
        "curiosity visual";
    gap: 13px 44px;
    align-items: start;
}
.question-kicker {
    grid-area: kicker;
    justify-self: start;
    padding: 7px 15px;
    border-radius: 999px;
    background: var(--journey-yellow);
    color: var(--journey-blue);
    font-size: 15px;
    font-weight: 800;
    line-height: 1;
}
.question-visual {
    grid-area: visual;
    width: 230px;
    min-height: 300px;
    display: grid;
    place-items: center;
    align-self: center;
    background: transparent;
}
.question-visual img {
    width: 100%;
    max-height: 300px;
    object-fit: contain;
}
.question-panel h2 {
    grid-area: title;
    width: 100%;
    margin: 0;
    color: var(--journey-cream);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(32px, 3.4vw, 40px);
    font-weight: 700;
    line-height: 1.08;
}
.journey-card--questionnaire .question-situation {
    grid-area: situation;
    width: 100%;
    min-height: 145px;
    margin: 4px 0 0;
    padding: 24px;
    border-radius: 3px;
    background: var(--journey-cream);
    color: var(--journey-blue);
    font-size: 20px;
    line-height: 1.35;
}
.journey-card--questionnaire .question-situation p { margin: 0 0 12px; }
.journey-card--questionnaire .question-situation p:last-child { margin-bottom: 0; }
.journey-card--questionnaire .question-situation__prompt { margin-top: 20px; }
.answer-grid {
    grid-area: answers;
    width: 100%;
    display: grid;
    gap: 13px;
    margin-top: 0;
}
.answer-grid button {
    min-height: 68px;
    display: grid;
    place-items: start;
    gap: 8px;
    padding: 15px 22px;
    border: 2px solid transparent;
    border-radius: 5px;
    background: var(--journey-orange);
    color: var(--journey-cream);
    text-align: left;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.answer-grid button::after {
    width: 100%;
    height: 1px;
    display: block;
    margin-top: 3px;
    background: rgba(244, 232, 211, .72);
    content: "";
    transition: background-color .2s ease;
}
.answer-grid button:hover,
.answer-grid button:focus-visible,
.answer-grid button.is-selected {
    border-color: var(--journey-yellow);
    background: var(--journey-cream);
    color: var(--journey-orange);
    outline: 0;
}
.answer-grid button:hover::after,
.answer-grid button:focus-visible::after,
.answer-grid button.is-selected::after {
    background: rgba(199, 91, 57, .55);
}
.answer-grid button:disabled { cursor: wait; }
.answer-grid strong {
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
    overflow-wrap: anywhere;
}
.answer-grid span {
    width: 100%;
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
.question-curiosity {
    grid-area: curiosity;
    min-height: 68px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    padding: 15px 22px;
    border-radius: 4px;
    background: var(--journey-cream);
    color: var(--journey-blue);
    font-size: 15px;
    line-height: 1.3;
}
.question-curiosity strong { color: var(--journey-orange); font-size: 14px; }
.journey-note {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(248, 183, 25, .22);
    color: var(--journey-orange) !important;
    font-size: 15px !important;
    font-weight: 900;
}

.journey-screen--carrossel-candidatos {
    overflow: hidden;
    background: var(--journey-cream);
}
.interactive-shell.is-candidate-screen .journey-controls { display: none; }
.journey-card--candidates {
    width: 100vw;
    min-height: calc(100dvh - 74px);
    align-content: start;
    gap: 30px;
    padding: clamp(72px, 9vh, 120px) 0 54px;
    overflow: hidden;
}
.journey-card--candidates > h1 {
    width: min(900px, calc(100vw - 44px));
    max-width: none;
    margin: 0 auto clamp(42px, 7vh, 76px);
    color: var(--journey-orange);
    font-size: clamp(42px, 5.4vw, 63px);
    font-weight: 500;
    line-height: 1.06;
}
.candidate-carousel-layout {
    position: relative;
    width: min(1120px, calc(100vw - 48px));
    margin: 0 auto;
    padding: 0 58px;
}
.candidate-carousel {
    width: 100%;
    display: flex;
    align-items: stretch;
    gap: 24px;
    margin: 0;
    padding: 34px 24px 22px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-padding-inline: 24px;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
}
.candidate-carousel::-webkit-scrollbar { display: none; }
.candidate-empty {
    width: min(620px, 100%);
    min-height: 210px;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 24px;
    margin: 0 auto;
    padding: 30px;
    border: 3px solid var(--journey-orange);
    border-radius: 18px;
    background: rgba(244, 232, 211, .84);
    color: var(--journey-blue);
    text-align: center;
}
.candidate-empty p {
    max-width: 520px;
    margin: 0;
    font-size: clamp(20px, 2.4vw, 28px);
    font-weight: 700;
    line-height: 1.25;
}
.candidate-empty button {
    min-height: 52px;
    padding: 12px 24px;
    border: 3px solid var(--journey-orange);
    border-radius: 12px;
    background: var(--journey-orange);
    color: var(--journey-cream);
    font: 700 20px/1 'Passion One', sans-serif;
    cursor: pointer;
}
.candidate-empty button:hover,
.candidate-empty button:focus-visible {
    background: transparent;
    color: var(--journey-orange);
    outline: 3px solid var(--journey-yellow);
    outline-offset: 3px;
}
.candidate-carousel.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
    scroll-snap-type: none;
}
.candidate-carousel-arrow {
    position: absolute;
    z-index: 7;
    top: 50%;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 3px solid var(--journey-blue);
    border-radius: 50%;
    background: var(--journey-cream);
    color: var(--journey-blue);
    font-size: 0;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background-color .2s ease, color .2s ease, opacity .2s ease, transform .2s ease;
}
.candidate-carousel-arrow span {
    width: 14px;
    height: 14px;
    display: block;
    border-right: 4px solid currentColor;
    border-bottom: 4px solid currentColor;
}
.candidate-carousel-arrow--previous span { transform: rotate(135deg); }
.candidate-carousel-arrow--next span { transform: rotate(-45deg); }
.candidate-carousel-arrow--previous { left: 0; }
.candidate-carousel-arrow--next { right: 0; }
.candidate-carousel-arrow:hover,
.candidate-carousel-arrow:focus-visible {
    background: var(--journey-blue);
    color: var(--journey-cream);
    outline: 3px solid var(--journey-yellow);
    outline-offset: 3px;
}
.candidate-carousel-arrow:active { transform: translateY(-50%) scale(.94); }
.candidate-carousel-arrow:disabled {
    opacity: .28;
    cursor: default;
    pointer-events: none;
}
.candidate-card {
    position: relative;
    flex: 0 0 318px;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto auto;
    gap: 7px;
    width: 318px;
    aspect-ratio: 384.69 / 463.42;
    padding: 25px 20px 17px;
    border: 0;
    border-radius: 16px;
    background-color: transparent;
    background-image: var(--candidate-card-background);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    color: var(--journey-cream);
    text-align: left;
    box-shadow: none;
    scroll-snap-align: center;
    transition: transform .22s ease, filter .22s ease;
}
.candidate-card:first-of-type { scroll-snap-align: start; }
.candidate-card:last-of-type { scroll-snap-align: end; }
.candidate-card:not(.is-active) { filter: saturate(.88); transform: scale(.96); }
.candidate-card.is-active { transform: scale(1); }
.candidate-card.is-selected { box-shadow: 0 0 0 5px var(--candidate-selected, var(--candidate-accent, var(--journey-green))); }
.candidate-card--gradient-1 { --candidate-card-background: url("/assets/img/interactive/candidates/backgrounds/fundo_box_gradiente_candidatos_1.svg"); }
.candidate-card--gradient-1 { --candidate-accent: #08755f; --candidate-selected: #064f41; }
.candidate-card--gradient-2 { --candidate-card-background: url("/assets/img/interactive/candidates/backgrounds/fundo_box_gradiente_candidatos_2.svg"); --candidate-accent: #4f8350; --candidate-selected: #38613a; }
.candidate-card--gradient-3 { --candidate-card-background: url("/assets/img/interactive/candidates/backgrounds/fundo_box_gradiente_candidatos_3.svg"); --candidate-accent: #8b9138; --candidate-selected: #676b28; }
.candidate-card--gradient-4 { --candidate-card-background: url("/assets/img/interactive/candidates/backgrounds/fundo_box_gradiente_candidatos_4.svg"); --candidate-accent: #baa01f; --candidate-selected: #887516; }
.candidate-card--gradient-5 { --candidate-card-background: url("/assets/img/interactive/candidates/backgrounds/fundo_box_gradiente_candidatos_5.svg"); --candidate-accent: #d4a91a; --candidate-selected: #9b7a12; }
.candidate-card--gradient-6 { --candidate-card-background: url("/assets/img/interactive/candidates/backgrounds/fundo_box_gradiente_candidatos_6.svg"); --candidate-accent: #e9a916; --candidate-selected: #a8770f; }
.candidate-card--gradient-7 { --candidate-card-background: url("/assets/img/interactive/candidates/backgrounds/fundo_box_gradiente_candidatos_7.svg"); --candidate-accent: #ef8d24; --candidate-selected: #b36718; }
.candidate-card--gradient-8 { --candidate-card-background: url("/assets/img/interactive/candidates/backgrounds/fundo_box_gradiente_candidatos_8.svg"); --candidate-accent: #ed7129; --candidate-selected: #ae4e1c; }
.candidate-card--gradient-9 { --candidate-card-background: url("/assets/img/interactive/candidates/backgrounds/fundo_box_gradiente_candidatos_9.svg"); --candidate-accent: #ca5b3b; --candidate-selected: #923f29; }
.candidate-select-marker {
    position: absolute;
    z-index: 4;
    left: 10px;
    top: 9px;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 3px solid var(--candidate-accent, var(--journey-green));
    border-radius: 50%;
    background: var(--journey-cream);
    color: var(--candidate-accent, var(--journey-green));
    font-size: 32px;
    font-weight: 900;
    cursor: pointer;
}
.candidate-select-marker:hover,
.candidate-select-marker:focus-visible { background: var(--journey-yellow); outline: 3px solid var(--journey-cream); outline-offset: 2px; }
.candidate-select-marker[aria-pressed="true"] {
    border-color: var(--candidate-selected, var(--candidate-accent, var(--journey-green)));
    background: var(--journey-cream);
    color: var(--candidate-selected, var(--candidate-accent, var(--journey-green)));
    opacity: 1;
    cursor: pointer;
}
.candidate-select-marker[aria-pressed="true"]:hover,
.candidate-select-marker[aria-pressed="true"]:focus-visible { background: var(--journey-yellow); }
.candidate-topic-seal {
    position: absolute;
    z-index: 5;
    right: -17px;
    top: -22px;
    width: 68px;
    height: 68px;
    object-fit: contain;
}
.candidate-media > img[data-candidate-photo],
.candidate-photo-fallback {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 9px;
    border: 0;
    object-fit: cover;
    object-position: 50% 24%;
    background: var(--journey-cream);
}
.candidate-media {
    position: relative;
    width: 100%;
    height: 100%;
    aspect-ratio: 311 / 218;
    min-height: 0;
    overflow: hidden;
    border: 0;
    border-radius: 9px;
    background: var(--journey-cream);
}
.candidate-photo-fallback {
    display: grid;
    place-items: center;
    color: var(--journey-blue);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(42px, 7vw, 72px);
}
.candidate-info {
    min-width: 0;
    display: grid;
    gap: 1px;
}
.candidate-info h2 {
    margin: 0;
    overflow: hidden;
    color: var(--journey-yellow);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: 18px;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.candidate-info p {
    margin: 0;
    color: var(--journey-cream);
    font-size: 15px;
    line-height: 1.1;
}
.candidate-card__footer {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 12px;
}
.candidate-card__footer > strong {
    color: var(--journey-cream);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: 36px;
    font-weight: 400;
    line-height: .9;
}
.candidate-affinity-alert {
    position: relative;
    flex: 0 0 280px;
    align-self: center;
    padding: 48px 24px 28px;
    border: 4px solid var(--journey-yellow);
    border-radius: 12px;
    background: var(--journey-orange);
    color: var(--journey-cream);
    font-size: 24px;
    line-height: 1.2;
    text-align: left;
}
.candidate-affinity-alert > span {
    position: absolute;
    left: 20px;
    top: -32px;
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border: 4px solid var(--journey-yellow);
    border-radius: 50%;
    background: var(--journey-orange);
    color: var(--journey-cream);
    font-size: 42px;
    font-weight: 900;
}
.candidate-affinity-alert p { margin: 0; color: var(--journey-yellow); }
.candidate-affinity-alert strong { color: var(--journey-yellow); }
.candidate-carousel-dots {
    min-height: 26px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
}
.candidate-carousel-dots button {
    width: 17px;
    height: 17px;
    padding: 0;
    border: 2px solid var(--journey-orange);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}
.candidate-carousel-dots button[aria-current="true"] { background: var(--journey-orange); }
.candidate-carousel-dots button:focus-visible { outline: 3px solid var(--journey-blue); outline-offset: 3px; }
.candidate-carousel-footer {
    width: min(900px, calc(100vw - 44px));
    display: block;
    margin: 5px auto 0;
}
.candidate-gradient-legend {
    width: min(620px, 100%);
    padding: 12px 16px;
    border-radius: 12px;
    background: var(--journey-blue);
    color: var(--journey-cream);
}
.candidate-gradient-legend p {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 4px 0;
    color: var(--journey-cream);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.15;
}
.candidate-gradient-legend__swatch {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    border: 3px solid var(--journey-yellow);
    border-radius: 50%;
}
.candidate-gradient-legend__swatch--high { background: #08755f; border-color: #88bd24; }
.candidate-gradient-legend__swatch--medium { background: #f8b719; border-color: #ffd064; }
.candidate-gradient-legend__swatch--low { background: #e76b22; border-color: #ca5b3b; }
.candidate-selection-summary { width: min(900px, 100%); display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 0 auto; }
.candidate-selection-summary span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(202, 91, 59, .12);
    color: var(--journey-orange);
    font-weight: 900;
}
.journey-empty { margin: 0 auto; padding: 18px; border-radius: 12px; background: rgba(248, 183, 25, .18); color: var(--journey-orange); font-weight: 900; }
.journey-primary { background: var(--journey-orange) !important; color: var(--journey-cream) !important; }

.compatibility-summary { width: min(820px, 100%); display: grid; gap: 16px; margin: 0 auto; }
.compatibility-candidates { display: grid; gap: 14px; }
.compatibility-candidates article {
    display: grid;
    grid-template-columns: minmax(150px, 44%) 1fr;
    gap: 20px;
    align-items: stretch;
    padding: 12px;
    border: 3px solid #88bd24;
    border-radius: 12px;
    background: rgba(8, 84, 65, .3);
    color: var(--journey-cream);
}
.compatibility-candidate-photo {
    height: 245px;
    min-height: 150px;
    overflow: hidden;
    border-radius: 7px;
    background: #425b05;
}
.compatibility-candidate-photo img,
.compatibility-candidate-photo .candidate-photo-fallback { width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: 50% 24%; }
.compatibility-candidate-info { display: grid; align-content: center; gap: 4px; text-align: left; }
.compatibility-candidates h2 { margin: 0; color: var(--journey-cream); font-family: "Bricolage Grotesque", Arial, sans-serif; font-size: clamp(22px, 3vw, 34px); line-height: 1; }
.compatibility-candidates p { margin: 0; color: var(--journey-cream); font-size: 16px; }
.compatibility-candidates .compatibility-candidate-info > strong { margin-top: 12px; color: var(--journey-cream); font-size: clamp(28px, 4vw, 44px); font-weight: 500; }
.compatibility-attention { width: min(760px, 100%); display: grid; gap: 8px; margin: 0 auto; padding: 16px 18px 16px 34px; border-radius: 16px; background: rgba(202, 91, 59, .12); color: var(--journey-orange); text-align: left; }

.journey-screen--compatibilidade-sem-atencao {
    min-height: 100dvh;
    background: var(--journey-green);
    box-shadow: 0 0 0 100vmax var(--journey-green);
    clip-path: inset(0 -100vmax);
}
.interactive-shell.is-compatibility-screen {
    min-height: 100dvh;
    padding: 0;
}
.interactive-shell.is-compatibility-screen .journey-controls { display: none; }
.interactive-shell.is-compatibility-choices-screen { background: var(--journey-green); }
.interactive-shell.is-compatibility-attention-screen { background: var(--journey-orange); }
.interactive-shell.is-compatibility-screen .journey-screen { min-height: 100dvh; }
.interactive-shell.is-compatibility-screen .journey-close {
    border-color: var(--journey-yellow);
    background: var(--journey-yellow);
    color: var(--journey-orange);
}
.journey-card--compatibility-choices {
    width: 100vw;
    max-width: none;
    min-height: 100dvh;
    grid-template-rows: minmax(0, 1fr) auto;
    align-content: stretch;
    gap: 0;
    padding: 0;
    background: var(--journey-green);
}
.compatibility-choices-stage {
    width: 100%;
    display: grid;
    align-content: center;
    gap: 28px;
    padding: clamp(72px, 9vh, 110px) max(24px, calc((100vw - 820px) / 2)) 58px;
    background: var(--journey-green);
}
.compatibility-choices-stage > h1 {
    width: min(820px, 100%);
    margin: 0 auto;
    color: var(--journey-cream);
    font-size: clamp(38px, 5vw, 58px);
    font-weight: 500;
    text-align: left;
}
.compatibility-choices-actions {
    width: 100%;
    display: grid;
    gap: 14px;
    justify-items: start;
    padding: 32px max(24px, calc((100vw - 820px) / 2)) 48px;
    background: var(--journey-yellow);
    color: #171717;
    text-align: left;
}
.compatibility-choices-actions > p { width: min(560px, 100%); margin: 0; color: #171717; font-size: clamp(20px, 2.5vw, 28px); line-height: 1.15; }
.compatibility-choices-actions .journey-chatbot-cta {
    min-height: 58px;
    padding: 12px 22px;
    border-color: var(--journey-blue);
    background: var(--journey-blue);
    color: var(--journey-cream);
    font-size: clamp(22px, 2.5vw, 30px);
}
.compatibility-choices-actions .journey-modal__actions { justify-content: flex-start; margin: 0; }
.compatibility-choices-actions [data-compat-back] { background: var(--journey-orange); color: var(--journey-cream); }
.compatibility-choices-actions [data-compat-confirm] { background: var(--journey-green) !important; color: var(--journey-cream) !important; }

@media (min-width: 721px) {
    .journey-card--compatibility-choices {
        grid-template-rows: 67dvh 33dvh;
    }
    .compatibility-choices-stage {
        min-height: 67dvh;
        padding-top: 72px;
        padding-bottom: 42px;
    }
    .compatibility-choices-actions {
        min-height: 33dvh;
        align-content: center;
        padding-top: 38px;
        padding-bottom: 46px;
    }
}

.journey-screen--compatibilidade-com-atencao {
    min-height: 100dvh;
    background: var(--journey-orange);
    box-shadow: 0 0 0 100vmax var(--journey-orange);
    clip-path: inset(0 -100vmax);
}
.journey-card--compatibility-attention {
    width: min(1080px, calc(100vw - 42px));
    min-height: 100dvh;
    align-content: start;
    gap: clamp(42px, 6vw, 72px);
    padding: clamp(86px, 9vw, 124px) clamp(34px, 8vw, 96px) clamp(54px, 7vw, 88px);
    background: var(--journey-orange);
    color: #171717;
}
.compatibility-warning {
    position: relative;
    width: min(900px, 100%);
    min-height: 350px;
    display: grid;
    align-content: center;
    gap: 10px;
    margin: 0 auto;
    padding: clamp(42px, 6vw, 66px);
    border-radius: 22px;
    background: var(--journey-yellow);
    color: #171717;
    text-align: left;
}
.compatibility-warning__close,
.compatibility-warning__icon {
    position: absolute;
    display: grid;
    place-items: center;
    border-radius: 50%;
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-weight: 900;
}
.compatibility-warning__close {
    top: -42px;
    left: -34px;
    width: 76px;
    height: 76px;
    border: 3px solid var(--journey-yellow);
    background: var(--journey-yellow);
    color: var(--journey-orange);
    font-size: 46px;
}
.compatibility-warning__icon {
    top: -30px;
    right: -20px;
    width: 112px;
    height: 112px;
    border: 3px solid var(--journey-yellow);
    background: #df691e;
    color: var(--journey-cream);
    font-size: 78px;
}
.compatibility-warning > p {
    margin: 0;
    color: #171717;
    font-size: clamp(40px, 6vw, 72px);
    line-height: .95;
}
.compatibility-warning > h1 {
    max-width: none;
    margin: 0;
    color: #171717;
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(29px, 4.5vw, 54px);
    line-height: 1;
    text-align: left;
}
.compatibility-warning__brief p {
    max-width: 670px;
    margin: 20px 0 0;
    color: #171717;
    font-size: clamp(18px, 2.2vw, 25px);
}
.journey-accordion--compatibility {
    width: min(820px, 100%);
    margin: 0 auto;
    --accordion-actions-space: 152px;
}
.journey-accordion--compatibility .journey-accordion__bar {
    min-height: 104px;
    padding: 22px 34px;
    border-radius: 18px;
    background: #202020;
    color: var(--journey-yellow);
    font-size: clamp(28px, 4vw, 44px);
    text-align: left;
}
.journey-accordion--compatibility .journey-accordion__control {
    border-color: #202020;
    color: #202020;
}
.journey-accordion--compatibility .journey-accordion__control--minus {
    background: #202020;
    color: var(--journey-yellow);
}
.journey-accordion--compatibility .journey-accordion__item.is-open .journey-accordion__control--minus {
    background: #202020;
    color: var(--journey-yellow);
}
.journey-accordion--compatibility .journey-accordion__control--plus {
    background: transparent;
    color: #202020;
}
.journey-accordion--compatibility .journey-accordion__item.is-open .journey-accordion__control--plus {
    background: transparent;
    color: #202020;
    box-shadow: none;
}
.journey-accordion--compatibility .journey-accordion__panel {
    width: calc(100% - var(--accordion-actions-space));
    margin-right: var(--accordion-actions-space);
    border-radius: 0 0 18px 18px;
    background: #202020;
    color: var(--journey-cream);
}
.journey-accordion--compatibility .journey-accordion__item.is-open .journey-accordion__panel {
    max-height: 520px;
    padding: 18px 34px 32px;
}
.compatibility-summary--attention,
.compatibility-summary--attention .compatibility-attention {
    width: 100%;
    margin: 0;
}
.compatibility-summary--attention .compatibility-attention {
    padding: 0 0 0 24px;
    background: transparent;
    color: var(--journey-cream);
    font-size: clamp(17px, 2vw, 22px);
}
.compatibility-attention-empty {
    margin: 0;
    color: var(--journey-cream);
}
.compatibility-attention-actions {
    width: min(820px, 100%);
    display: grid;
    gap: 16px;
    margin: 0 auto;
    padding: 30px 34px;
    border-radius: 18px;
    background: var(--journey-yellow);
    color: #171717;
    text-align: left;
}
.compatibility-attention-actions > p {
    margin: 0;
    color: #171717;
    font-size: clamp(18px, 2.4vw, 26px);
}
.compatibility-attention-actions .journey-chatbot-cta {
    justify-self: start;
    min-height: 54px;
    padding: 12px 22px;
    border-color: var(--journey-blue);
    background: var(--journey-blue);
    color: var(--journey-cream);
    font-size: clamp(22px, 2.5vw, 30px);
}
.compatibility-attention-actions .journey-modal__actions {
    justify-content: flex-start;
    margin: 0;
}
.compatibility-attention-actions [data-compat-back] {
    background: var(--journey-orange);
    color: var(--journey-cream);
}
.compatibility-attention-actions [data-compat-confirm] {
    background: var(--journey-green) !important;
    color: var(--journey-cream) !important;
}

@media (min-width: 721px) {
    .journey-card--compatibility-attention {
        gap: 48px;
        padding-top: 110px;
        padding-bottom: 40px;
    }
    .interactive-shell .journey-accordion--compatibility .journey-accordion__bar {
        min-height: 104px;
        justify-content: flex-start;
        padding: 22px 34px;
        border-radius: 18px;
        font-size: clamp(28px, 4vw, 44px);
        text-align: left;
    }
    .interactive-shell .journey-accordion--compatibility .journey-accordion__item.is-open .journey-accordion__panel {
        min-height: 286px;
    }
    .compatibility-attention-actions {
        min-height: 460px;
        align-content: center;
    }
}

.journey-avatar-preview {
    width: 150px;
    height: 150px;
    justify-self: center;
    display: grid;
    place-items: center;
    border-radius: 42% 58% 48% 52%;
    background: linear-gradient(135deg, rgba(32, 87, 152, .14), rgba(248, 183, 25, .32));
    border: 5px solid var(--journey-blue);
}
.journey-avatar-preview img {
    width: 82%;
    height: 82%;
    object-fit: contain;
}
.journey-screen--meta-atingida,
.journey-screen--meta-nao-atingida { min-height: 100dvh; }
.journey-screen--meta-atingida {
    background: var(--journey-green);
    box-shadow: 0 0 0 100vmax var(--journey-green);
    clip-path: inset(0 -100vmax);
}
.journey-screen--meta-nao-atingida {
    background: var(--journey-orange);
    box-shadow: 0 0 0 100vmax var(--journey-orange);
    clip-path: inset(0 -100vmax);
}
.interactive-shell.is-final-screen {
    min-height: 100dvh;
    padding: 0;
}
.interactive-shell.is-final-success-screen { background: var(--journey-green); }
.interactive-shell.is-final-alert-screen { background: var(--journey-orange); }
.interactive-shell.is-final-screen .journey-controls { display: none; }
.interactive-shell.is-final-screen .journey-screen { min-height: 100dvh; }
.interactive-shell.is-final-screen .journey-close {
    border-color: var(--journey-cream);
    background: var(--journey-cream);
    color: var(--journey-orange);
}
.journey-card--final {
    width: 100vw;
    max-width: none;
    min-height: 100dvh;
    align-content: start;
    justify-items: center;
    gap: clamp(46px, 6vw, 82px);
    padding: clamp(92px, 9vw, 132px) 24px 64px;
    color: #111;
}
.journey-card--final-success { background: var(--journey-green); }
.journey-card--final-alert { background: var(--journey-orange); }
.final-message {
    width: min(660px, calc(100vw - 48px));
    padding: clamp(30px, 5vw, 52px);
    border-radius: 28px;
    color: #111;
    text-align: left;
}
.journey-card--final-success .final-message {
    border: 6px solid var(--journey-orange);
    background: var(--journey-cream);
}
.journey-card--final-alert .final-message { background: var(--journey-yellow); }
.final-message h1 {
    max-width: none;
    margin: 0 0 42px;
    color: #111;
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(42px, 5.5vw, 62px);
    font-weight: 500;
    line-height: 1.04;
    text-align: left;
}
.final-message p {
    max-width: none;
    margin: 0;
    color: #111;
    font-size: clamp(20px, 2.4vw, 27px);
    line-height: 1.35;
    white-space: pre-line;
}
.final-no-seal {
    width: min(660px, calc(100vw - 48px));
    margin: 0;
    color: var(--journey-yellow) !important;
    font-size: clamp(42px, 5.4vw, 62px) !important;
    font-weight: 500;
    line-height: 1.08 !important;
    text-align: left;
}
.final-achievement {
    width: min(600px, calc(100vw - 48px));
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    margin: 0;
    align-items: end;
}
.final-achievement.has-seal { grid-template-columns: minmax(0, 1.35fr) minmax(150px, .65fr); }
.final-achievement:not(.has-seal) .share-preview { display: none !important; }
.final-avatar {
    width: 100%;
    height: auto;
    aspect-ratio: 151.06 / 77.33;
    display: grid;
    place-items: center;
}
.final-avatar .avatar-composition { overflow: visible; }
.final-avatar .avatar-composition__background {
    left: 0;
    bottom: 0;
    width: 100%;
}
.final-avatar .avatar-composition__person {
    position: absolute;
    z-index: 2;
    left: 42%;
    bottom: 0;
    width: 58%;
    height: 82%;
    object-fit: contain;
    transform: translateX(-50%);
}
.final-avatar .avatar-composition__passion {
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: 2%;
    width: 40%;
    height: 52%;
    object-fit: contain;
}
.share-preview {
    width: 100%;
    height: 210px;
    display: grid;
    place-items: center;
    margin: 0;
    padding: 0;
}
.share-preview[hidden] { display: none !important; }
.share-preview img { width: min(210px, 100%); max-height: 210px; object-fit: contain; }
.final-actions {
    width: min(660px, calc(100vw - 48px));
    display: grid;
    justify-self: center;
    gap: 16px;
}
.final-action {
    position: relative;
    width: 100%;
    min-height: 92px;
    display: grid;
    grid-template-columns: 1fr 54px;
    align-items: center;
    padding: 16px 24px 16px 64px;
    border: 5px solid var(--journey-cream);
    border-radius: 17px;
    color: var(--journey-cream);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(27px, 3.2vw, 39px);
    line-height: .95;
    text-align: center;
    cursor: pointer;
}
.final-action--share { background: #d84f8a; }
.final-action--restart { background: var(--journey-purple); }
.final-action:hover,
.final-action:focus-visible { filter: brightness(.94); transform: translateY(-2px); }
.final-action__share-icon {
    position: relative;
    width: 38px;
    height: 38px;
    justify-self: end;
}
.final-action__share-icon::before,
.final-action__share-icon::after {
    content: "";
    position: absolute;
    left: 8px;
    width: 24px;
    height: 3px;
    background: var(--journey-cream);
    transform-origin: left center;
}
.final-action__share-icon::before { top: 16px; transform: rotate(-28deg); }
.final-action__share-icon::after { top: 19px; transform: rotate(28deg); }
.final-action__share-icon {
    background: radial-gradient(circle at 7px 19px, var(--journey-cream) 0 5px, transparent 6px),
        radial-gradient(circle at 31px 7px, var(--journey-cream) 0 5px, transparent 6px),
        radial-gradient(circle at 31px 31px, var(--journey-cream) 0 5px, transparent 6px);
}
.final-action__return-icon { justify-self: end; font-family: Arial, sans-serif; font-size: 45px; }

.journey-modal--share {
    z-index: 30;
    background: rgba(16, 50, 91, .72);
}
.journey-modal--share .journey-modal__panel {
    position: relative;
    width: min(960px, 100%);
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    gap: 22px;
    padding: clamp(62px, 7vw, 82px) clamp(20px, 5vw, 54px) 36px;
    border: 0;
    border-radius: 18px;
    background: var(--journey-cream);
    color: var(--journey-blue);
}
.journey-modal--share .journey-modal__corner-close {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 2;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 3px solid var(--journey-orange);
    border-radius: 50%;
    background: var(--journey-yellow);
    color: var(--journey-orange);
    font-family: "Passion One", Arial, sans-serif;
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
}
.journey-modal--share h2 {
    margin: 0;
    color: var(--journey-blue);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1;
    text-align: center;
}
.share-result-card {
    width: min(720px, 100%);
    min-height: 430px;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(210px, .8fr);
    grid-template-areas:
        "logo logo"
        "avatar summary"
        "avatar seal";
    gap: 16px 28px;
    align-items: center;
    margin: 0 auto;
    padding: clamp(28px, 5vw, 50px);
    border: 5px solid var(--journey-yellow);
    border-radius: 18px;
    background: var(--journey-green);
    color: var(--journey-cream);
    text-align: left;
    overflow: hidden;
}
.share-result-card[hidden] { display: none !important; }
.share-result-card.has-attention { background: var(--journey-orange); }
.share-result-card:not(.has-seal) {
    grid-template-areas:
        "logo logo"
        "avatar summary"
        "avatar summary";
}
.share-result-card__logo {
    grid-area: logo;
    width: min(190px, 45%);
    max-height: 84px;
    object-fit: contain;
    object-position: left center;
}
.share-result-card__avatar {
    grid-area: avatar;
    width: 100%;
    height: 270px;
    display: grid;
    place-items: center;
}
.share-result-card__avatar .avatar-composition { overflow: visible; }
.share-result-card__avatar .avatar-composition__background {
    left: 0;
    bottom: 0;
    width: 100%;
}
.share-result-card__avatar .avatar-composition__person {
    position: absolute;
    z-index: 2;
    left: 44%;
    bottom: 0;
    width: 58%;
    height: 82%;
    object-fit: contain;
    transform: translateX(-50%);
}
.share-result-card__avatar .avatar-composition__passion {
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: 0;
    width: 42%;
    height: 54%;
    object-fit: contain;
}
.share-result-card__summary {
    grid-area: summary;
    display: grid;
    gap: 7px;
    align-self: end;
}
.share-result-card__summary p {
    margin: 0 0 8px;
    color: var(--journey-cream);
    font-size: clamp(18px, 2.3vw, 25px);
    line-height: 1.12;
}
.share-result-card__summary strong {
    color: var(--journey-yellow);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(38px, 6vw, 62px);
    line-height: .9;
}
.share-result-card__summary span {
    color: var(--journey-cream);
    font-size: clamp(25px, 4vw, 38px);
    font-weight: 800;
}
.share-result-card__seal {
    grid-area: seal;
    width: 150px;
    height: 130px;
    display: grid;
    place-items: center;
    align-self: start;
}
.share-result-card__seal img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.share-generated-image {
    width: min(720px, 100%);
    height: auto;
    display: block;
    margin: 0 auto;
    border: 5px solid var(--journey-yellow);
    border-radius: 18px;
    background: var(--journey-green);
}
.share-generated-image[hidden] { display: none !important; }
.share-modal-status {
    min-height: 24px;
    margin: 0;
    color: var(--journey-blue);
    text-align: center;
}

.share-modal-status:empty {
    display: none;
}
.share-copy-fallback {
    width: min(720px, 100%);
    display: grid;
    gap: 7px;
    margin: 0 auto;
    color: var(--journey-blue);
    font-weight: 800;
}
.share-copy-fallback[hidden] { display: none !important; }
.share-copy-fallback input {
    width: 100%;
    min-height: 48px;
    padding: 10px 12px;
    border: 3px solid var(--journey-blue);
    border-radius: 8px;
    background: #fff;
    color: var(--journey-blue);
    font: inherit;
}
.share-social-actions {
    width: min(720px, 100%);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0 auto;
}
.share-social-actions button {
    min-height: 52px;
    padding: 10px 12px;
    border: 3px solid var(--journey-blue);
    border-radius: 8px;
    background: var(--journey-blue);
    color: var(--journey-cream);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
}
.share-social-actions button:hover,
.share-social-actions button:focus-visible,
.journey-modal--share .journey-modal__corner-close:hover,
.journey-modal--share .journey-modal__corner-close:focus-visible {
    outline: 4px solid rgba(248, 183, 25, .55);
    outline-offset: 2px;
    filter: brightness(.94);
}

.shared-result-page {
    min-height: 100vh;
    margin: 0;
    display: grid;
    place-items: center;
    padding: 28px;
    background: var(--journey-cream);
    color: var(--journey-blue);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
}
.shared-result {
    width: min(1120px, 100%);
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    gap: 34px;
    align-items: center;
}
.shared-result__image {
    width: 100%;
    height: auto;
    display: block;
    border: 6px solid var(--journey-yellow);
    border-radius: 18px;
}
.shared-result__content { display: grid; gap: 18px; }
.shared-result__logo { width: min(250px, 65%); height: auto; }
.shared-result__content h1 { margin: 0; font-size: clamp(38px, 5vw, 66px); line-height: .95; }
.shared-result__content p { margin: 0; font-size: 18px; line-height: 1.45; }
.shared-result__content > strong { color: var(--journey-orange); font-size: 30px; }
.shared-result__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.shared-result__actions a,
.shared-result__restart {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border: 3px solid var(--journey-blue);
    border-radius: 7px;
    background: var(--journey-blue);
    color: var(--journey-cream);
    font-weight: 800;
    text-decoration: none;
}
.shared-result__restart { border-color: var(--journey-orange); background: var(--journey-orange); }
.shared-result__actions a:focus-visible,
.shared-result__actions a:hover,
.shared-result__restart:focus-visible,
.shared-result__restart:hover { outline: 4px solid var(--journey-yellow); outline-offset: 2px; }

@media (max-width: 760px) {
    .shared-result-page { padding: 14px; }
    .shared-result { grid-template-columns: 1fr; }
    .shared-result__content { text-align: left; }
}

.journey-modal--candidate .journey-modal__panel {
    position: relative;
    width: min(820px, 100%);
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
    gap: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--journey-cream);
    color: #111;
}
.journey-modal--candidate .journey-modal__panel > [data-close-candidate-modal] {
    position: absolute;
    z-index: 10;
    top: 10px;
    left: 10px;
    width: 50px;
    height: 50px;
    padding: 0;
    border: 3px solid var(--journey-orange);
    border-radius: 50%;
    background: var(--journey-yellow);
    color: var(--journey-orange);
    font-family: "Passion One", Arial, sans-serif;
    font-size: 35px;
    line-height: 1;
}
.journey-modal--candidate .candidate-modal-heading {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}
.journey-modal--candidate [data-candidate-modal-body] { display: grid; gap: 34px; padding: 72px 36px 0; text-align: left; }
.candidate-profile-card {
    display: grid;
    gap: 30px;
    padding: 28px;
    border: 5px solid #88bd24;
    border-radius: 28px;
    background: var(--journey-green);
    color: var(--journey-cream);
}
.journey-modal--candidate.has-attention .candidate-profile-card {
    border-color: var(--journey-orange);
    background: #ca5b3b;
}
.candidate-profile-header {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
    text-align: left;
}
.candidate-modal-photo { position: relative; }
.candidate-profile-header-alert {
    position: absolute;
    right: -12px;
    bottom: -18px;
    display: grid;
    width: 76px;
    height: 76px;
    place-items: center;
    border: 5px solid var(--journey-yellow);
    border-radius: 50%;
    background: var(--journey-orange);
    color: #111;
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: 58px;
    line-height: 1;
}
.candidate-modal-photo img,
.candidate-modal-photo .candidate-photo-fallback {
    width: 100%;
    height: 230px;
    border-radius: 9px;
    object-fit: cover;
    object-position: 50% 24%;
}
.candidate-profile-identity { display: grid; gap: 2px; min-width: 0; }
.journey-modal--candidate .candidate-profile-identity h3 {
    margin: 0;
    color: var(--journey-yellow);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1;
}
.journey-modal--candidate .candidate-profile-identity p,
.candidate-profile-identity span { margin: 0; color: var(--journey-cream); font-size: 19px; }
.candidate-profile-identity__substitute { display: grid; gap: 0; margin-top: 22px; }
.candidate-profile-identity__substitute strong { color: var(--journey-yellow); font-size: 26px; }
.candidate-profile-identity > b { margin-top: 20px; color: var(--journey-cream); font-size: 45px; font-weight: 500; }
.candidate-profile-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
}
.candidate-profile-columns section,
.candidate-profile-votes { min-width: 0; }
.candidate-profile-main {
    display: grid;
    align-content: start;
    gap: 6px;
    min-width: 0;
}
.candidate-profile-card h4 {
    width: fit-content;
    margin: 0 0 16px;
    padding: 8px 14px;
    border: 2px solid var(--journey-yellow);
    border-radius: 3px;
    color: var(--journey-cream);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: 19px;
    line-height: 1;
}
.candidate-profile-columns p { margin: 0; color: var(--journey-cream); font-size: 18px; line-height: 1.27; }
.candidate-profile-columns ul,
.candidate-profile-votes ul {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: left;
}
.candidate-profile-columns li { position: relative; margin: 0 0 18px; padding-left: 26px; font-size: 17px; }
.candidate-profile-columns li::before { position: absolute; top: 0; left: 0; content: "→"; }
.candidate-profile-votes li { display: grid; gap: 5px; margin: 0 0 18px; padding: 0; font-size: 17px; }
.candidate-profile-vote-description { position: relative; padding-left: 26px; }
.candidate-profile-vote-description::before { position: absolute; top: 0; left: 0; content: "→"; }
.candidate-profile-columns li strong,
.candidate-profile-columns li span,
.candidate-profile-votes li strong,
.candidate-profile-votes li span { display: block; }
.candidate-profile-votes > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 40px;
}
.candidate-profile-votes--full { margin-top: 2px; }
.candidate-profile-votes--full > div { align-items: start; }
.candidate-profile-votes--full article { min-width: 0; }
.candidate-profile-main .candidate-profile-votes > div { grid-template-columns: 1fr; }
.candidate-profile-votes--continuation { padding-top: 0; }
.candidate-profile-votes article h4 {
    margin-bottom: 9px;
    padding: 0;
    border: 0;
    color: var(--journey-yellow);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: 26px;
}
.candidate-profile-votes article > strong { display: block; font-size: 17px; }
.candidate-profile-votes article p { margin: 4px 0 0; color: var(--journey-cream); font-size: 16px; }
.candidate-profile-empty { margin: 0; color: var(--journey-cream); }
.candidate-profile-attention {
    position: relative;
    display: grid;
    gap: 20px;
    padding: 48px 48px 42px;
    border: 5px solid var(--journey-orange);
    border-radius: 24px;
    background: var(--journey-yellow);
    color: #111;
    text-align: left;
}
.candidate-profile-attention > span {
    position: absolute;
    top: -31px;
    right: -18px;
    width: 82px;
    height: 82px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--journey-orange);
    color: var(--journey-cream);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: 60px;
}
.candidate-profile-attention h3 { margin: 0; font-size: 31px; line-height: .9; }
.candidate-profile-attention p { margin: 0; font-size: 21px; line-height: 1.35; }
.candidate-profile-actions {
    display: grid;
    gap: 22px;
    margin: 0 -36px;
    padding: 34px 36px 48px;
    background: var(--journey-yellow);
}
.candidate-profile-actions > button {
    width: min(570px, 100%);
    min-height: 76px;
    justify-self: center;
    border: 4px solid var(--journey-blue);
    border-radius: 10px;
    background: var(--journey-blue);
    color: var(--journey-cream);
}
.candidate-profile-actions > div { display: flex; justify-content: center; gap: 16px; }
.candidate-profile-actions > div button {
    width: 235px;
    min-height: 90px;
    border: 0;
    border-radius: 7px;
    background: var(--journey-orange);
    color: var(--journey-cream);
}
.candidate-profile-actions > div button:last-child { background: var(--journey-green); }
.candidate-profile-actions button {
    padding: 13px 18px;
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: 30px;
    font-weight: 900;
    line-height: .88;
    cursor: pointer;
}
.candidate-profile-actions button:hover,
.candidate-profile-actions button:focus-visible { outline: 4px solid var(--journey-cream); outline-offset: 3px; filter: brightness(.94); }
.journey-modal {
    position: fixed;
    inset: 0;
    z-index: 20;
    display: grid;
    place-items: center;
    padding: 18px;
    background: rgba(32, 87, 152, .42);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}
.journey-modal[hidden] { display: none !important; }
.journey-modal__panel {
    width: min(520px, 100%);
    display: grid;
    gap: 14px;
    padding: 24px;
    border-radius: 10px;
    background: var(--journey-cream);
    border: 3px solid var(--journey-orange);
    text-align: center;
    box-shadow: 0 30px 80px rgba(0,0,0,.2);
}
.journey-modal__panel > button {
    justify-self: end;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    border: 2px solid var(--journey-orange);
    background: var(--journey-cream);
    color: var(--journey-orange);
    font-size: 24px;
    font-weight: 900;
    cursor: pointer;
}
.journey-modal__panel h2 { margin: 0; color: var(--journey-orange); font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif; font-size: 42px; }
.journey-modal__actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.journey-modal__score {
    justify-self: center;
    min-width: 150px;
    padding: 10px 16px;
    border-radius: 5px;
    background: var(--journey-green);
    color: var(--journey-yellow);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: 30px;
}
.journey-modal--topics .journey-modal__panel {
    position: relative;
    width: min(620px, calc(100vw - 36px));
    min-height: 620px;
    align-content: center;
    justify-items: start;
    gap: 20px;
    padding: 100px 126px 80px;
    border: 3px solid var(--journey-orange);
    border-radius: 50%;
    background: #e3691f;
    color: var(--journey-cream);
    text-align: left;
}
.journey-modal--topics .journey-modal__panel h2 {
    color: var(--journey-cream);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: clamp(34px, 4.6vw, 43px);
    font-weight: 700;
    line-height: 1.08;
    text-align: left;
}
.journey-modal--topics .journey-modal__panel p {
    margin: 0;
    color: var(--journey-cream);
    font-size: clamp(25px, 3.6vw, 39px);
    line-height: 1.13;
    text-align: left;
}
.journey-modal--topics .journey-modal__actions button {
    min-height: 68px;
    padding: 14px 28px;
    border: 3px solid var(--journey-orange);
    border-radius: 12px;
    background: var(--journey-yellow);
    color: var(--journey-orange);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: 27px;
    cursor: pointer;
}
.journey-modal--topics .journey-modal__actions button:hover,
.journey-modal--topics .journey-modal__actions button:focus-visible {
    background: transparent;
    color: var(--journey-yellow);
    border-color: var(--journey-yellow);
}
.journey-modal--topics .journey-modal__corner-close {
    position: absolute;
    top: 58px;
    left: 42px;
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border: 3px solid var(--journey-orange);
    border-radius: 50%;
    background: var(--journey-yellow);
    color: var(--journey-orange);
    font-family: "Passion One", Arial, sans-serif;
    font-size: 42px;
    line-height: 1;
    cursor: pointer;
}
.journey-modal--topics .journey-modal__score--plain {
    min-width: 0;
    justify-self: start;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--journey-cream);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: 27px;
    font-weight: 700;
    text-transform: none;
}
.journey-modal--topic-ready .journey-modal__score-row {
    display: flex;
    align-items: center;
    gap: 48px;
}
.journey-modal--topic-ready .journey-modal__award {
    color: var(--journey-yellow);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: 52px;
    line-height: 1;
}
.journey-modal--topic-ready .journey-modal__actions {
    justify-self: center;
}

@media (max-width: 700px) {
    .interactive-shell { grid-template-columns: minmax(0, 1fr); }
    .interactive-shell { padding: 16px 12px; }
    .journey-close { width: 42px; height: 42px; top: 12px; right: 12px; }
    .journey-screen { min-height: calc(100dvh - 112px); }
    .journey-card {
        width: min(100%, 560px);
        min-height: calc(100dvh - 132px);
        padding: 62px 18px 26px;
        gap: 20px;
    }
    .journey-card--intro { padding-top: 96px; padding-bottom: 76px; }
    .journey-logo { width: min(92vw, 440px); }
    .journey-logo-tagline { margin-top: -12px; font-size: 12px; }
    .journey-card h1 { font-size: clamp(29px, 9vw, 46px); }
    .journey-card--info {
        width: min(100%, 560px);
        min-height: calc(100dvh - 132px);
        padding: 70px 0 24px;
    }
    .journey-card--info > h1 {
        width: calc(100% - 104px);
        font-size: clamp(28px, 8vw, 38px);
    }
    .journey-card--info .journey-accordion {
        gap: 14px;
        margin-top: 38px;
        --accordion-actions-space: 104px;
    }
    .journey-card--info .journey-accordion__row { gap: 8px; }
    .journey-card--info .journey-accordion__bar {
        min-height: 82px;
        padding: 16px 12px;
        font-size: clamp(22px, 6vw, 29px);
    }
    .journey-card--info .journey-accordion__actions { gap: 6px; }
    .journey-card--info .journey-accordion__control {
        width: 44px;
        height: 44px;
        font-size: 30px;
    }
    .journey-card--info .journey-accordion__item.is-open .journey-accordion__panel {
        padding: 12px 12px 18px;
    }
    .journey-card--info .journey-accordion__panel p {
        font-size: 16px;
        font-weight: 650;
    }
    .interactive-shell.is-info-screen .journey-controls {
        width: min(100%, 560px);
        padding-right: 0;
        padding-left: 0;
    }
    .interactive-shell.is-info-screen .journey-control--next,
    .interactive-shell.is-info-screen .journey-control--long {
        width: 100%;
        min-height: 54px !important;
        padding: 8px 52px !important;
        font-size: 15px !important;
    }
    .journey-question-bar,
    .journey-accordion__bar {
        min-height: 76px;
        grid-template-columns: 1fr auto;
        font-size: clamp(25px, 8vw, 38px);
        padding: 14px 16px;
    }
    .journey-question-bar strong { min-width: 58px; font-size: 26px; }
    .journey-accordion__row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
    }
    .journey-accordion__actions { gap: 7px; }
    .journey-accordion__control {
        width: 42px;
        height: 42px;
        border-width: 2px;
        font-size: 29px;
    }
    .journey-accordion__panel {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
    .journey-accordion__item.is-open .journey-accordion__panel {
        padding: 10px 4px 18px;
    }
    .journey-card--region {
        align-content: start;
        padding: 62px 18px 26px;
        gap: 20px;
    }
    .journey-card--region h1 {
        margin-bottom: 0;
        font-size: clamp(28px, 8.6vw, 38px);
        white-space: normal;
        text-align: center;
    }
    .journey-card--region .journey-accordion--region {
        width: 100%;
        margin-top: 38px;
    }
    .journey-card--region .journey-accordion__row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
    }
    .journey-card--region .journey-accordion__bar {
        min-height: 82px;
        padding: 16px 12px;
        font-size: clamp(22px, 6vw, 29px);
    }
    .journey-card--region .journey-accordion__actions { gap: 6px; }
    .journey-card--region .journey-accordion__control {
        width: 44px;
        height: 44px;
        font-size: 30px;
    }
    .region-stage {
        display: grid;
        gap: 18px;
        min-height: 0;
    }
    .journey-card--region .journey-alert--map {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        max-width: 100%;
        min-height: 78px;
        padding: 16px 18px;
    }
    .journey-card--region .journey-alert--map::before {
        position: static;
        flex-basis: 52px;
        width: 52px;
        height: 52px;
        margin-right: 14px;
    }
    .region-map {
        width: min(100%, 460px);
        margin: 0 auto;
    }
    .region-map__state-region {
        filter:
            drop-shadow(1px 0 0 var(--journey-cream))
            drop-shadow(-1px 0 0 var(--journey-cream))
            drop-shadow(0 1px 0 var(--journey-cream))
            drop-shadow(0 -1px 0 var(--journey-cream))
            drop-shadow(0 4px 0 rgba(30, 77, 140, .10));
    }
    .region-map__state-region:hover,
    .region-map__state-region:focus-visible,
    .region-map__state-region.is-hovered,
    .region-map__state-region.is-selected {
        filter:
            drop-shadow(1px 0 0 var(--journey-cream))
            drop-shadow(-1px 0 0 var(--journey-cream))
            drop-shadow(0 1px 0 var(--journey-cream))
            drop-shadow(0 -1px 0 var(--journey-cream))
            drop-shadow(0 5px 0 rgba(199, 91, 57, .13));
    }
    .region-map__label {
        min-width: 74px;
        min-height: 36px;
        padding: 6px 10px;
        font-size: clamp(12px, 3.6vw, 16px);
        -webkit-text-stroke: 0;
        text-shadow: none;
    }
    .region-map__label--nordeste { min-width: 92px; }
    .region-map__label--centro-oeste { min-width: 116px; }
    .region-map__label--sudeste { min-width: 92px; }
    .region-map__label--sul { min-width: 64px; }
    .journey-modal--state .journey-modal__panel {
        min-height: 0;
        gap: 8px;
        padding: 76px 14px 20px;
        border-radius: 16px;
    }
    .journey-modal--state [data-close-region-state-modal] {
        top: 16px;
        right: 16px;
        width: 44px;
        height: 44px;
        font-size: 25px;
    }
    .region-state-heading,
    .region-state-prompt {
        min-height: 64px;
        border-width: 3px;
        border-radius: 12px;
        font-size: 29px;
    }
    .state-choice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .state-choice-grid button {
        min-height: 82px;
        border-width: 3px;
    }
    .interactive-shell.is-region-screen .journey-control--back {
        width: max-content;
        max-width: 100%;
        min-height: 54px;
    }
    .choice-grid { grid-template-columns: 1fr; }
    .journey-card--gender {
        min-height: calc(100dvh - 112px);
        align-content: center;
        padding: 54px 4px 26px;
    }
    .journey-card--gender > h1 {
        margin-bottom: 24px;
        text-align: center;
    }
    .journey-card--gender .journey-accordion--gender {
        margin-bottom: 34px;
    }
    .journey-card--gender .journey-accordion__row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
    }
    .journey-card--gender .journey-accordion__bar {
        min-height: 92px;
        padding: 18px 14px;
        font-size: clamp(26px, 8vw, 35px);
    }
    .journey-card--gender .journey-accordion__actions {
        gap: 7px;
    }
    .journey-card--gender .journey-accordion__control {
        width: 44px;
        height: 44px;
        font-size: 30px;
        border-width: 2px;
    }
    .journey-card--gender .choice-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .journey-card--gender .choice-grid button:last-child {
        grid-column: auto;
    }
    .journey-card--skin {
        width: min(100%, calc(100vw - 28px));
        padding: 58px 2px 110px;
    }
    .journey-card--skin > h1 {
        margin-bottom: 32px;
        text-align: center;
    }
    .skin-builder {
        gap: 28px;
    }
    .skin-builder__group {
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: 9px;
        row-gap: 16px;
    }
    .journey-card--skin .journey-accordion__row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 9px;
    }
    .journey-card--skin .journey-accordion__bar {
        min-height: 74px;
        height: auto;
        padding: 15px 12px;
        font-size: clamp(25px, 8vw, 34px);
        line-height: 1.05;
    }
    .journey-card--skin .journey-accordion__actions {
        gap: 6px;
    }
    .journey-card--skin .journey-accordion__control {
        width: 42px;
        height: 42px;
        border-width: 2px;
        font-size: 29px;
    }
    .journey-card--skin .journey-accordion__panel {
        width: 100%;
    }
    .journey-card--skin .journey-accordion__item.is-open .journey-accordion__panel {
        max-height: 150px;
        padding: 14px 12px 2px;
    }
    .journey-card--skin .skin-grid {
        gap: 16px;
        max-height: none;
        overflow: visible;
        justify-content: center;
    }
    .journey-card--skin .skin-grid button {
        flex-basis: 72px;
        width: 72px;
    }
    .skin-tone-grid {
        grid-template-columns: repeat(5, minmax(42px, 58px));
        gap: 10px;
        justify-content: center;
        justify-items: center;
    }
    .skin-tone-grid button {
        width: 100%;
        height: auto;
        aspect-ratio: 1;
    }
    .passion-grid {
        width: 100%;
        grid-template-columns: repeat(4, minmax(0, 64px));
        gap: 14px 10px;
        justify-content: center;
    }
    .passion-grid button {
        flex-basis: 64px;
        width: 64px;
        height: 72px;
    }
    .avatar-background-grid {
        grid-template-columns: repeat(2, minmax(0, 150px));
        justify-content: center;
    }
    .avatar-background-grid button {
        width: 100%;
    }
    .journey-modal--skin-privacy .journey-modal__panel > button {
        left: -20px;
        top: -24px;
        width: 52px;
        height: 52px;
        font-size: 36px;
    }
    .journey-modal--skin-privacy .journey-modal__notice-icon {
        top: -26px;
        width: 54px;
        height: 54px;
        font-size: 38px;
    }
    .skin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: min(44vh, 360px); }
    .topic-grid { grid-template-columns: 1fr; gap: 12px; }
    .topic-grid button,
    .topic-grid button:nth-child(n) { grid-column: auto; min-height: 66px; }
    .topic-grid span { font-size: clamp(26px, 9vw, 39px); }
    .journey-alert { max-width: 100%; min-height: 78px; font-size: 18px !important; }
    .journey-alert::before { flex-basis: 52px; width: 52px; height: 52px; font-size: 34px; }
    .journey-points-progress--map { width: 100%; }
    .journey-card--map { min-height: 100dvh; padding: 72px 16px 34px; }
    .journey-points-progress--map > strong { min-width: 116px; min-height: 54px; font-size: 24px; }
    .journey-points-progress--map .journey-points-progress__track { height: 26px; }
    .interactive-city-map { width: min(520px, 100%); margin-top: 42px; }
    .interactive-city-map__stage { aspect-ratio: 16 / 10; }
    .interactive-city-map__base { inset: 0; width: 100%; height: 100%; }
    .city-decor--work { left: 7.25%; top: 23%; width: 21.5%; }
    .city-decor--school { left: 22.7%; top: 53%; width: 23%; }
    .city-decor--police { left: 28.65%; top: 17%; width: 21.5%; }
    .city-decor--green-area { left: 69.75%; top: 12%; width: 21.5%; }
    .city-decor--diversity { left: 47.6%; top: -2%; width: 19%; }
    .city-decor--women { left: 52.3%; top: 29%; width: 19%; }
    .city-decor--building { left: 68.5%; top: 44%; width: 24%; }
    .topic-map__point { width: var(--map-size); }
    .interactive-city-map__pointer { width: 80px; }
    .interactive-city-map__pointer img { height: 92px; }
    .interactive-city-map > .journey-alert {
        width: min(300px, calc(100% - 24px));
        min-height: 174px;
        margin: 0 auto;
        padding: 36px 22px 22px;
        font-size: 15px !important;
    }
    .journey-points-progress {
        grid-template-columns: 1fr auto;
        gap: 10px 12px;
        padding: 14px;
    }
    .journey-points-progress > strong { min-width: 116px; }
    .journey-points-progress__track { grid-column: 1 / -1; grid-row: 2; }
    .journey-points-progress > span { grid-column: 2; grid-row: 1; }
    .priority-list li { grid-template-columns: 32px 1fr 36px 36px; }
    .journey-card--questionnaire {
        min-height: 100dvh;
        padding: 64px 18px 26px;
    }
    .interactive-shell.is-question-screen {
        padding-right: 0;
        padding-left: 0;
    }
    .journey-screen--questionario-tema {
        width: 100%;
        margin-left: 0;
    }
    .journey-card--questionnaire {
        width: 100%;
        max-width: none;
        min-width: 0;
        overflow: hidden;
    }
    .interactive-shell.is-question-screen .journey-controls {
        width: 100%;
    }
    .journey-points-progress--question {
        width: 100%;
        min-width: 0;
        grid-template-columns: 116px minmax(0, 1fr) 34px;
        gap: 10px;
        padding: 0;
    }
    .journey-points-progress--question > strong {
        width: 116px;
        min-width: 116px;
        min-height: 54px;
        font-size: 24px;
    }
    .journey-points-progress--question .journey-points-progress__track {
        grid-column: 2;
        grid-row: 1;
        height: 26px;
    }
    .journey-points-progress--question > span {
        grid-column: 3;
        grid-row: 1;
        font-size: 18px;
    }
    .question-panel { margin-top: 36px; }
    .question-panel,
    .question-layout,
    .question-copy,
    .answer-grid,
    .answer-grid button,
    .answer-grid span {
        min-width: 0;
    }
    .question-panel,
    .question-layout,
    .question-copy,
    .answer-grid {
        width: 100%;
        max-width: 100%;
    }
    .question-panel h2,
    .journey-card--questionnaire .question-situation,
    .answer-grid span {
        overflow-wrap: anywhere;
    }
    .question-layout {
        grid-template-columns: 1fr;
        grid-template-areas:
            "kicker"
            "title"
            "situation"
            "visual"
            "answers"
            "curiosity";
        gap: 20px;
    }
    .question-visual { width: min(220px, 62vw); min-height: 220px; justify-self: center; }
    .question-visual img { width: 100%; height: auto; max-height: 220px; }
    .question-panel h2 { font-size: clamp(27px, 8vw, 34px); }
    .journey-card--questionnaire .question-situation { min-height: 120px; font-size: 17px; }
    .answer-grid { width: 100%; margin-top: 1px; }
    .answer-grid button { min-height: 64px; padding: 13px 16px; }
    .answer-grid strong { font-size: 14px; }
    .journey-card--candidates { min-height: 100dvh; gap: 22px; padding: 76px 0 34px; }
    .journey-card--candidates > h1 {
        width: calc(100vw - 40px);
        margin-bottom: 24px;
        font-size: clamp(38px, 12vw, 52px);
    }
    .candidate-carousel-layout { width: calc(100vw - 24px); padding: 0 24px; }
    .candidate-carousel {
        gap: 16px;
        padding: 28px 18px 20px;
        scroll-padding-inline: 18px;
    }
    .candidate-carousel-arrow { width: 38px; height: 38px; border-width: 2px; }
    .candidate-carousel-arrow span { width: 11px; height: 11px; border-width: 0 3px 3px 0; }
    .candidate-card {
        flex-basis: min(272px, calc(100vw - 112px));
        width: min(272px, calc(100vw - 112px));
        padding: 20px 16px 14px;
        text-align: left;
    }
    .candidate-select-marker {
        left: 7px;
        top: 7px;
        width: 42px;
        height: 42px;
        font-size: 27px;
    }
    .candidate-topic-seal { right: -10px; top: -15px; width: 56px; height: 56px; }
    .candidate-affinity-alert { flex-basis: 238px; padding: 44px 20px 24px; font-size: 20px; }
    .candidate-info h2 { font-size: 16px; }
    .candidate-info p { font-size: 13px; }
    .candidate-card__footer > strong { font-size: 30px; }
    .candidate-media > img[data-candidate-photo],
    .candidate-photo-fallback { justify-self: center; }
    .candidate-carousel-footer { grid-template-columns: 1fr; gap: 28px; width: calc(100vw - 40px); }
    .candidate-gradient-legend h2 { font-size: 26px; }
    .candidate-gradient-legend p { font-size: 13px; }
    .candidate-gradient-legend__swatch { width: 64px; }
    .journey-modal--candidate { padding: 0; place-items: start center; }
    .journey-modal--candidate .journey-modal__panel { width: 100%; max-height: 100dvh; }
    .journey-modal--candidate [data-candidate-modal-body] { gap: 24px; padding: 62px 16px 0; }
    .candidate-profile-card { gap: 24px; padding: 18px; border-width: 4px; border-radius: 20px; }
    .candidate-profile-header { grid-template-columns: 1fr; gap: 16px; }
    .candidate-modal-photo { width: 100%; }
    .candidate-modal-photo img,
    .candidate-modal-photo .candidate-photo-fallback { width: 100%; height: min(310px, 62vw); }
    .candidate-profile-identity__substitute { margin-top: 12px; }
    .candidate-profile-identity > b { margin-top: 10px; }
    .candidate-profile-columns,
    .candidate-profile-votes > div { grid-template-columns: 1fr; gap: 24px; }
    .candidate-profile-main { gap: 6px; }
    .candidate-profile-votes--continuation { padding-top: 0; }
    .candidate-profile-header-alert { right: 8px; bottom: -12px; width: 64px; height: 64px; font-size: 48px; }
    .candidate-profile-attention { padding: 42px 24px 30px; }
    .candidate-profile-attention > span { right: -8px; width: 68px; height: 68px; font-size: 48px; }
    .candidate-profile-attention h3 { font-size: 27px; }
    .candidate-profile-attention p { font-size: 18px; }
    .candidate-profile-actions { margin: 0 -16px; padding: 28px 16px 38px; }
    .candidate-profile-actions > div { gap: 10px; }
    .candidate-profile-actions > div button { width: 50%; min-height: 82px; }
    .candidate-profile-actions button { font-size: 24px; }
    .journey-modal--bonus .journey-modal__panel {
        width: min(360px, calc(100vw - 24px));
        padding: 70px 58px 54px;
    }
    .journey-modal--bonus .journey-modal__panel > button {
        width: 50px;
        height: 50px;
        font-size: 32px;
    }
    .journey-modal--bonus .journey-modal__panel h2 { font-size: 26px; }
    .journey-modal--bonus .journey-modal__panel p { font-size: 20px; }
    .journey-modal--bonus .journey-modal__score { font-size: 25px; }
    .journey-modal__score-total { font-size: 31px; }
    .journey-chatbot__suggestions { grid-template-columns: 1fr; }
    .journey-chatbot__suggestions button:last-child {
        width: 100%;
        grid-column: auto;
    }
    .journey-modal--topics .journey-modal__panel {
        min-height: min(410px, calc(100dvh - 36px));
        padding: 44px 34px;
    }
    .journey-card--compatibility-attention {
        width: 100%;
        gap: 34px;
        padding: 76px 18px 34px;
    }
    .compatibility-warning {
        min-height: 300px;
        padding: 48px 24px 34px;
        border-radius: 16px;
    }
    .compatibility-warning__close {
        top: -30px;
        left: -8px;
        width: 58px;
        height: 58px;
        font-size: 36px;
    }
    .compatibility-warning__icon {
        top: -22px;
        right: -6px;
        width: 78px;
        height: 78px;
        font-size: 54px;
    }
    .compatibility-warning > p { font-size: 42px; }
    .compatibility-warning > h1 {
        max-width: calc(100% - 24px);
        font-size: 28px;
    }
    .journey-accordion--compatibility {
        --accordion-actions-space: 104px;
    }
    .journey-accordion--compatibility .journey-accordion__row {
        gap: 8px;
    }
    .journey-accordion--compatibility .journey-accordion__bar {
        min-height: 88px;
        padding: 18px;
        font-size: 25px;
    }
    .journey-accordion--compatibility .journey-accordion__control {
        width: 46px;
        height: 46px;
        font-size: 30px;
    }
    .journey-accordion--compatibility .journey-accordion__panel {
        width: calc(100% - var(--accordion-actions-space));
        margin-right: var(--accordion-actions-space);
    }
    .journey-accordion--compatibility .journey-accordion__item.is-open .journey-accordion__panel {
        max-height: 620px;
        padding: 16px 18px 24px;
    }
    .compatibility-attention-actions {
        padding: 24px 20px;
    }
    .compatibility-attention-actions .journey-modal__actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    .compatibility-candidates { grid-template-columns: 1fr; }
    .final-result { grid-template-columns: 1fr; }
    .final-result dl { text-align: center; }
    .journey-controls {
        position: sticky;
        bottom: 0;
        flex-wrap: wrap;
        background: linear-gradient(180deg, rgba(244, 232, 211, 0), var(--journey-cream) 32%);
        padding: 16px 6px 8px;
    }
    .journey-controls .journey-control {
        min-width: 152px;
        min-height: 54px;
        padding: 8px 42px;
        font-size: 23px;
    }
    .journey-control::before { width: 18px; height: 18px; }
    .journey-control--back::before { right: 16px; transform: rotate(-135deg); }
    .journey-control--next::before { left: 16px; transform: rotate(45deg); }
    .journey-control--back::after,
    .journey-control--next::after { width: 27px; }
    .journey-control--back::after { right: 15px; }
    .journey-control--next::after { left: 15px; }
    .journey-control--long {
        width: min(330px, 88vw);
        min-width: min(280px, 84vw) !important;
        min-height: 60px !important;
        padding: 11px 52px !important;
    }
    .journey-modal--skin-confirm .journey-modal__actions {
        width: 100%;
        grid-template-columns: 1fr;
    }
}

/* Padrao compartilhado da Tela 02 para a jornada; a Tela 01 preserva seu CTA. */
.interactive-shell .journey-accordion {
    width: min(850px, 100%);
    --accordion-actions-space: 170px;
    --accordion-content-pad: 40px;
}
.interactive-shell .journey-accordion__row {
    grid-template-columns: minmax(0, 686px) auto;
    gap: 20px;
}
.interactive-shell .journey-accordion__bar {
    min-height: 126px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 34px;
    border-radius: 11px;
    font-size: clamp(30px, 3.8vw, 39px);
    line-height: .95;
    text-align: center;
}
.interactive-shell .journey-accordion__actions {
    gap: 12px;
}
.interactive-shell .journey-accordion__control {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    font-size: 42px;
}
.interactive-shell .journey-accordion__panel {
    width: calc(100% - var(--accordion-actions-space));
    margin-right: var(--accordion-actions-space);
}

.interactive-shell:not(.is-intro-screen) .journey-controls {
    width: min(850px, calc(100vw - 64px));
    margin-right: auto;
    margin-left: auto;
}
.interactive-shell .journey-controls .journey-control:not([aria-label="INICIAR"]) {
    width: 100%;
    flex: 1 1 0;
    min-width: 233px !important;
    max-width: none;
    min-height: 58px !important;
    gap: .38em;
    padding: 10px 72px !important;
    border: 2px solid var(--journey-orange);
    border-radius: 8px;
    background: transparent;
    color: var(--journey-orange);
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: 18px !important;
    font-weight: 700;
    line-height: 1.1;
    white-space: normal;
}
.interactive-shell.is-question-screen .journey-controls .journey-control--back:not([aria-label="INICIAR"]) {
    background: var(--journey-cream);
}
.interactive-shell .journey-controls .journey-control:not([aria-label="INICIAR"])::before {
    position: static;
    width: auto;
    height: auto;
    border: 0;
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: 1em;
    font-weight: 600;
    line-height: 1;
    transform: none;
}
.interactive-shell .journey-controls .journey-control--back:not([aria-label="INICIAR"])::before {
    content: "\2190";
}
.interactive-shell .journey-controls .journey-control--next:not([aria-label="INICIAR"])::before {
    content: "\2192";
    order: 2;
}
.interactive-shell .journey-controls .journey-control:not([aria-label="INICIAR"])::after {
    display: none;
}
.interactive-shell .journey-controls .journey-control:not([aria-label="INICIAR"]):hover,
.interactive-shell .journey-controls .journey-control:not([aria-label="INICIAR"]):focus-visible {
    border-color: var(--journey-orange);
    background: var(--journey-orange);
    color: var(--journey-cream);
}
.interactive-shell.is-avatar-screen .journey-controls .journey-control--next:not([aria-label="INICIAR"]) {
    border-color: var(--journey-orange);
    background: var(--journey-orange);
    color: var(--journey-cream);
}
.interactive-shell.is-avatar-screen .journey-controls .journey-control--next:not([aria-label="INICIAR"]):hover,
.interactive-shell.is-avatar-screen .journey-controls .journey-control--next:not([aria-label="INICIAR"]):focus-visible {
    background: transparent;
    color: var(--journey-orange);
}
.interactive-shell.is-info-screen .journey-controls .journey-control--next:not([aria-label="INICIAR"]) {
    width: 100%;
}

@media (max-width: 700px) {
    .interactive-shell .journey-accordion {
        width: 100%;
        --accordion-actions-space: 104px;
        --accordion-content-pad: 12px;
    }
    .interactive-shell .journey-accordion__row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
    }
    .interactive-shell .journey-accordion__bar {
        min-height: 82px;
        padding: 16px 12px;
        font-size: clamp(22px, 6vw, 29px);
    }
    .interactive-shell .journey-accordion__actions {
        gap: 6px;
    }
    .interactive-shell .journey-accordion__control {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
        border-width: 2px;
        font-size: 30px;
    }
    .interactive-shell .journey-accordion__panel {
        width: 100%;
        margin-right: 0;
    }
    .interactive-shell .journey-controls .journey-control:not([aria-label="INICIAR"]) {
        min-width: 0 !important;
        min-height: 54px !important;
        padding: 8px 52px !important;
        font-size: 15px !important;
    }
    .interactive-shell:not(.is-intro-screen) .journey-controls {
        width: min(100%, 560px);
    }

    .journey-card--topics {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        min-height: calc(100dvh - 112px);
        padding: 76px 2px 100px;
    }
    .topic-selection-stage,
    .topic-priority-stage,
    .selected-topics,
    .priority-list { min-width: 0; max-width: 100%; }
    .topic-selection-stage > h1,
    .topic-priority-stage > h1 {
        font-size: clamp(29px, 8.5vw, 38px);
    }
    .journey-card--topics .journey-alert--topics {
        width: min(100%, 340px);
        min-height: 82px;
        gap: 16px;
        margin: 34px 0 42px;
        padding: 10px 14px;
        font-size: 19px !important;
    }
    .journey-alert--topics > span {
        width: 54px;
        height: 54px;
        flex-basis: 54px;
        font-size: 39px;
    }
    .topic-grid {
        width: 100%;
        gap: 10px 8px;
    }
    .topic-grid button,
    .topic-grid button:nth-child(n) {
        min-height: 62px;
        padding: 9px 8px;
    }
    .topic-grid button:nth-child(1) { flex-basis: 57%; }
    .topic-grid button:nth-child(2) { flex-basis: 40.5%; }
    .topic-grid button:nth-child(3) { flex-basis: 31%; }
    .topic-grid button:nth-child(4) { flex-basis: 48%; }
    .topic-grid button:nth-child(5) { flex-basis: 39%; }
    .topic-grid button:nth-child(6) { flex-basis: 48%; }
    .topic-grid button:nth-child(7) { flex-basis: 88%; }
    .topic-grid span { font-size: clamp(19px, 6.2vw, 28px); }
    .selected-topics {
        width: 100%;
        margin-top: 48px;
        padding: 10px;
    }
    .selected-topics > div { gap: 12px; }
    .selected-topic-chip {
        width: auto;
        max-width: calc(100% - 18px);
        min-height: 60px;
        padding: 8px 27px;
    }
    .priority-chip { width: auto; max-width: calc(100% - 18px); }
    .selected-topic-chip strong { font-size: 23px; }
    .selected-topic-chip button,
    .priority-slot [data-remove-priority] {
        width: 30px;
        height: 30px;
        top: -8px;
        right: -6px;
        font-size: 23px;
    }
    .topic-confirm-action,
    .priority-confirm-action {
        min-height: 86px;
        margin-top: 56px;
        padding: 16px;
        font-size: 29px;
    }
    .priority-list {
        width: 100%;
        gap: 12px;
        margin-top: 62px;
    }
    .priority-list li {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 5px;
    }
    .priority-position { font-size: 47px; }
    .priority-slot {
        min-height: 92px;
        padding: 10px;
    }
    .priority-move-controls { display: none; }
    .priority-slot > strong {
        min-height: 62px;
        padding: 8px 18px;
        font-size: 24px;
    }
    .journey-modal--topics .journey-modal__panel {
        width: min(570px, calc(100vw - 24px));
        min-height: min(570px, calc(100vw - 24px));
        gap: 14px;
        padding: 70px 52px 48px;
        border-radius: 50%;
    }
    .journey-modal--topics .journey-modal__panel h2 {
        font-size: clamp(30px, 9vw, 42px);
    }
    .journey-modal--topics .journey-modal__panel p {
        font-size: clamp(20px, 5.7vw, 27px);
    }
    .journey-modal--topics .journey-modal__corner-close {
        top: 42px;
        left: -5px;
        width: 50px;
        height: 50px;
        font-size: 34px;
    }
    .journey-modal--topic-ready .journey-modal__score-row { gap: 18px; }
    .journey-modal--topic-ready .journey-modal__award { font-size: 38px; }
    .journey-modal--topics .journey-modal__score--plain { font-size: 22px; }
}

/* Tela 7.1: composição homologada no roteiro final. */
.interactive-shell.is-question-screen .journey-controls {
    width: 100%;
    max-width: none;
    min-height: 62px;
    margin: 0;
    padding: 8px 0;
    background: var(--journey-cream);
}
.interactive-shell.is-question-screen .journey-controls .journey-control--back:not([aria-label="INICIAR"]) {
    width: 156px;
    min-width: 156px !important;
    max-width: 156px;
    min-height: 44px !important;
    flex: 0 0 156px;
    padding: 8px 20px !important;
    border-color: var(--journey-orange);
    border-radius: 9px;
    background: var(--journey-orange);
    color: var(--journey-cream);
    font-family: "Passion One", "Bricolage Grotesque", Arial, sans-serif;
    font-size: 18px !important;
}
.interactive-shell.is-question-screen .journey-controls .journey-control--back:not([aria-label="INICIAR"])::before {
    order: 2;
    font-family: "Bricolage Grotesque", Arial, sans-serif;
    font-size: 28px;
    font-weight: 400;
}
.interactive-shell.is-question-screen .journey-controls .journey-control--back:not([aria-label="INICIAR"]):hover,
.interactive-shell.is-question-screen .journey-controls .journey-control--back:not([aria-label="INICIAR"]):focus-visible {
    background: transparent;
    color: var(--journey-orange);
}

@media (max-width: 720px) {
    .journey-card--final {
        gap: 34px;
        padding: 76px 16px 34px;
    }
    .final-message {
        width: 100%;
        padding: 28px 24px;
        border-radius: 20px;
    }
    .journey-card--final-success .final-message { border-width: 4px; }
    .final-message h1 {
        margin-bottom: 26px;
        font-size: clamp(36px, 11vw, 48px);
    }
    .final-message p { font-size: 18px; line-height: 1.34; }
    .final-no-seal {
        width: 100%;
        font-size: clamp(34px, 10vw, 47px) !important;
    }
    .final-achievement.has-seal {
        width: 100%;
        grid-template-columns: minmax(0, 1.25fr) minmax(120px, .75fr);
        gap: 12px;
    }
    .final-achievement { width: 100%; }
    .final-avatar { height: auto; }
    .share-preview { height: 150px; }
    .share-preview img { width: min(150px, 100%); max-height: 150px; }
    .final-actions { width: 100%; gap: 12px; }
    .final-action {
        min-height: 72px;
        grid-template-columns: 1fr 40px;
        padding: 12px 14px 12px 34px;
        border-width: 3px;
        border-radius: 12px;
        font-size: clamp(23px, 7vw, 30px);
    }
    .final-action__share-icon { transform: scale(.8); }
    .final-action__return-icon { font-size: 34px; }
    .journey-modal--share { padding: 8px; }
    .journey-modal--share .journey-modal__panel {
        width: 100%;
        max-height: calc(100dvh - 16px);
        gap: 16px;
        padding: 62px 14px 22px;
        border-radius: 12px;
    }
    .journey-modal--share .journey-modal__corner-close {
        top: 10px;
        right: 10px;
        width: 42px;
        height: 42px;
    }
    .share-result-card {
        min-height: 0;
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "logo logo"
            "avatar avatar"
            "summary seal";
        gap: 10px 14px;
        padding: 22px 18px;
        border-width: 3px;
        border-radius: 12px;
    }
    .share-result-card__logo { width: 150px; max-height: 62px; }
    .share-result-card__avatar { height: 190px; }
    .share-result-card__seal { width: 100px; height: 95px; justify-self: end; }
    .share-result-card__summary p { font-size: 16px; }
    .share-result-card__summary strong { font-size: 38px; }
    .share-result-card__summary span { font-size: 26px; }
    .share-social-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
}
