:root{--gold:#f6c700;--ink:#03070a;--panel:#080d11;--line:#293138;--muted:#9aa2aa;--green:#8be630;--red:#ff3b30;--yellow:#f6c700}*{box-sizing:border-box}html{scroll-behavior:smooth}

body {
    margin: 0;
    background: #020507;
    color: #f8f8f8;
    font-family: Arial, sans-serif;
}

button,
a {
    font: inherit;
}

.hidden {
    display: none !important;
}


/* =========================================================
   TOP BAR
   ========================================================= */

.topbar {
    height: 92px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #1c2227;
    padding: 0 4.5vw;
    background: rgba(2, 5, 7, .94);
    position: relative;
    z-index: 4;
}

.brand {
    display: flex;
    align-items: center;
    gap: 18px;
}

.orbit {
    width: 50px;
    height: 50px;
    border: 1px solid #9d7600;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--gold);
    font-family: Georgia, serif;
    font-size: 26px;
    box-shadow: 0 0 25px #b78a0033;
}

.brand div {
    display: flex;
    flex-direction: column;
    letter-spacing: .16em;
}

.brand div b {
    font-family: Georgia, serif;
    font-size: 23px;
}

.brand div small {
    font-size: 9px;
    color: var(--gold);
    font-weight: 800;
}

.brand > i {
    width: 1px;
    height: 46px;
    background: #394047;
    margin: 0 12px;
}

.brand strong {
    font-size: 26px;
}

.brand strong span {
    color: var(--gold);
    font-size: 35px;
}

.about,
.outline {
    border: 1px solid #8b6900;
    background: transparent;
    color: #fff;
    padding: 13px 22px;
    border-radius: 9px;
    cursor: pointer;
}


/* =========================================================
   HERO
   ========================================================= */

.hero {
    min-height: 720px;
    display: grid;
    grid-template-columns: 46% 54%;
    gap: 4vw;
    padding: 58px 4vw 38px;
    max-width: 1700px;
    margin: auto;

    background: radial-gradient(
        circle at 72% 18%,
        #111008 0,
        #05090c 30%,
        #020507 62%
    );
}

.hero-copy {
    padding-top: 16px;
}

.kicker {
    color: var(--gold);
    font-size: 12px;
    letter-spacing: .17em;
    font-weight: 800;
}

.hero h1 {
    font-size: clamp(42px, 4vw, 68px);
    line-height: 1.04;
    margin: 18px 0 22px;
    letter-spacing: -.045em;
}

.hero h1 em {
    font-style: normal;
    color: var(--gold);
}

.lede {
    max-width: 610px;
    color: #b9c0c7;
    font-size: 18px;
    line-height: 1.65;
}

.hero h3 {
    font-size: 12px;
    color: var(--gold);
    letter-spacing: .1em;
    margin: 30px 0 14px;
}


/* =========================================================
   DIAGNOSIS CHOICES
   ========================================================= */

.choice-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.choice {
    min-height: 175px;
    border: 1px solid #30373d;
    background: linear-gradient(145deg, #080d11, #05080a);
    border-radius: 11px;
    color: #fff;
    padding: 24px;
    display: grid;
    grid-template-columns: 55px 1fr 25px;
    gap: 15px;
    text-align: left;
    position: relative;
    transition: .2s;
}

.choice.active {
    border-color: #a47b00;
    cursor: pointer;
}

.choice.active:hover {
    transform: translateY(-2px);
    box-shadow:
        0 14px 50px #000,
        0 0 0 1px #e5b90055;
}

.choice-icon {
    width: 54px;
    height: 54px;
    border: 1px solid #926e00;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--gold);
    font-size: 25px;
}

.choice b {
    font-size: 17px;
}

.choice p {
    font-size: 13px;
    color: #aeb5bb;
    line-height: 1.65;
    margin: 8px 0;
}

.arrow {
    align-self: end;
    color: var(--gold);
    font-size: 28px;
}

.choice.disabled {
    opacity: .36;
    filter: grayscale(.5);
    cursor: not-allowed;
}

.soon {
    position: absolute;
    right: 13px;
    top: 12px;
    color: #111;
    background: #bbb;
    padding: 4px 8px;
    border-radius: 9px;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .1em;
}


/* =========================================================
   FREE / INFO
   ========================================================= */

.free {
    border: 1px solid #252d33;
    border-radius: 10px;
    margin-top: 16px;
    padding: 16px 22px;
    display: flex;
    gap: 18px;
    align-items: center;
}

.free > span {
    color: var(--gold);
    font-size: 28px;
}

.free b {
    font-size: 14px;
}

.free p {
    margin: 4px 0 0;
    color: #a9b0b6;
    font-size: 12px;
}


/* =========================================================
   HERO VISUAL
   ========================================================= */

.hero-visual {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rings {
    width: min(480px, 42vw);
    aspect-ratio: 1;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background:
        repeating-radial-gradient(
            circle,
            #b78a0022 0 1px,
            transparent 2px 34px
        ),
        linear-gradient(
            90deg,
            transparent 49.8%,
            #b78a0044 50%,
            transparent 50.2%
        ),
        linear-gradient(
            transparent 49.8%,
            #b78a0044 50%,
            transparent 50.2%
        );
    position: relative;
}

.rings::before,
.rings::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    border: 1px solid #d5a60055;
    width: 54%;
    height: 54%;
    box-shadow: 0 0 35px #f6c70033;
}

.rings::after {
    width: 72%;
    height: 72%;
    border-style: dashed;
}

.rings span {
    font-family: Georgia, serif;
    font-size: 150px;
    color: #c99616;
    text-shadow:
        2px 2px 0 #ffe67d,
        0 0 35px #e2a90077;
    z-index: 2;
}

.hero-visual > p {
    color: var(--gold);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
}


/* =========================================================
   STAGE STRIP
   ========================================================= */

.stage-strip {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    width: 100%;
    margin-top: 8px;
}

.stage-strip div {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    gap: 8px;
}

.stage-strip span {
    width: 48px;
    height: 48px;
    border: 2px solid #d7a700;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--gold);
    font-size: 21px;
}

.stage-strip b {
    font-size: 9px;
}

.stage-strip i {
    position: absolute;
    right: -4px;
    top: 12px;
    color: #b88a00;
    font-size: 23px;
    font-style: normal;
}

.hero-visual blockquote {
    border: 1px solid #242b30;
    border-radius: 10px;
    width: 100%;
    margin: 26px 0 0;
    padding: 20px;
    text-align: center;
    color: #eadcaf;
}


/* =========================================================
   TRUST STRIP
   Solid background prevents the body gradient from showing.
   ========================================================= */

.trust {
    border-top: 1px solid #252d33;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 1700px;
    margin: auto;
    padding: 20px 4vw 22px;
    color: var(--gold);

    /* Slightly lighter than page background */
    background: #070b0e;
}

.trust > div {
    display: flex;
    gap: 13px;
    align-items: center;
    border-right: 1px solid #252b30;
    padding-left: 22px;
}

.trust > div:last-child {
    border-right: 0;
}

.trust span {
    display: flex;
    flex-direction: column;
}

.trust b {
    color: #eee;
    font-size: 12px;
}

.trust small {
    color: #929aa1;
    margin-top: 3px;
}


/* =========================================================
   QUESTIONNAIRE
   ========================================================= */

.question-page {
    min-height: calc(100vh - 92px);
    display: grid;
    place-items: center;
    padding: 45px 20px;
}

.question-shell {
    width: min(780px, 100%);
}

.progress-head {
    display: flex;
    justify-content: space-between;
    color: #9da5ac;
    font-size: 13px;
}

.progress-head button {
    border: 0;
    background: none;
    color: #d5d9dc;
    cursor: pointer;
}

.progress {
    height: 4px;
    background: #1b2227;
    margin: 15px 0 28px;
    border-radius: 5px;
    overflow: hidden;
}

.progress i {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #866500, var(--gold));
    transition: width .4s;
}

.question-card {
    background: linear-gradient(145deg, #0a1014, #060a0d);
    border: 1px solid #293138;
    border-radius: 18px;
    padding: 42px;
    box-shadow: 0 25px 80px #000;
    animation: enter .28s ease;
}

.question-eyebrow {
    color: var(--gold);
    font-size: 11px;
    letter-spacing: .15em;
    text-transform: uppercase;
    font-weight: 800;
}

.stage-title,
.question-card h2 {
    font-family: Arial, sans-serif;
    font-weight: 700;
}

.question-help {
    color: #9da6ad;
    line-height: 1.6;
}

.options {
    display: grid;
    gap: 10px;
    margin-top: 28px;
}

.options button {
    border: 1px solid #303940;
    background: #0b1115;
    color: #e9ecee;
    padding: 16px;
    display: grid;
    grid-template-columns: 34px 1fr 18px;
    align-items: center;
    text-align: left;
    border-radius: 10px;
    cursor: pointer;
}

.options button:hover,
.options button.selected {
    border-color: #bd9000;
    background: #14140b;
}

.options button span {
    width: 25px;
    height: 25px;
    border: 1px solid #596168;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 11px;
}

.options button i {
    font-style: normal;
    color: var(--gold);
    font-size: 20px;
}

.privacy {
    text-align: center;
    color: #737c83;
    font-size: 11px;
    margin-top: 20px;
}


/* =========================================================
   ANALYZING
   ========================================================= */

.analyzing {
    min-height: calc(100vh - 92px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.scan {
    width: 140px;
    height: 140px;
    border: 1px solid #a77e00;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: repeating-radial-gradient(
        circle,
        #b78a0022 0 1px,
        transparent 2px 18px
    );
    animation: pulse 1.2s infinite;
}

.scan span {
    font-family: Georgia, serif;
    color: var(--gold);
    font-size: 65px;
}

.analyzing h2 {
    margin: 30px 0 4px;
}

.analyzing p {
    color: #939ca3;
}

.scanline {
    width: 260px;
    height: 3px;
    background: #1a2025;
    margin-top: 20px;
    overflow: hidden;
}

.scanline::after {
    content: "";
    display: block;
    width: 40%;
    height: 100%;
    background: var(--gold);
    animation: scan 1s infinite;
}


/* =========================================================
   RESULTS
   ========================================================= */

.results-page {
    max-width: 1280px;
    margin: auto;
    padding: 60px 30px;
}

.results-top {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 30px;
}

.results-top h1 {
    font-size: 38px;
    max-width: 760px;
    line-height: 1.1;
}

.score-hero {
    display: grid;
    grid-template-columns: 210px 1fr;
    gap: 40px;
    align-items: center;
    background: linear-gradient(120deg, #0b1115, #080b0d);
    border: 1px solid #283138;
    border-radius: 18px;
    padding: 34px;
    margin: 28px 0;
}

.score-ring {
    width: 165px;
    height: 165px;
    border-radius: 50%;
    border: 8px solid;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 35px #000;
}

.score-ring span {
    font-size: 58px;
    font-weight: 800;
}

.score-ring small {
    margin-top: 35px;
    color: #8e979e;
}

.red {
    color: var(--red) !important;
}

.yellow {
    color: var(--yellow) !important;
}

.green {
    color: var(--green) !important;
}

.score-ring.red {
    border-color: var(--red);
}

.score-ring.yellow {
    border-color: var(--yellow);
}

.score-ring.green {
    border-color: var(--green);
}

.status {
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.score-hero h2 {
    font-size: 28px;
    margin: 9px 0;
}

.score-hero p {
    color: #aeb6bc;
    line-height: 1.6;
}

.engine-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #2c3c25;
    background: #0b1609;
    color: #bfeaa5;
    border-radius: 20px;
    padding: 8px 13px;
    font-size: 11px;
}


/* =========================================================
   STAGE RESULTS
   ========================================================= */

.results-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.stage-result {
    background: #080d11;
    border: 1px solid #293138;
    border-radius: 13px;
    padding: 22px;
}

.stage-result-head {
    display: flex;
    align-items: center;
    gap: 13px;
}

.stage-result-head > span {
    width: 43px;
    height: 43px;
    border: 1px solid currentColor;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 20px;
}

.stage-result-head div {
    flex: 1;
}

.stage-result-head small,
.next small {
    display: block;
    color: #768087;
    font-size: 8px;
    letter-spacing: .12em;
}

.stage-result-head h3 {
    margin: 2px 0;
}

.stage-result-head > b {
    font-size: 29px;
}

.meter {
    height: 5px;
    background: #1c2328;
    margin: 17px 0;
    border-radius: 4px;
    overflow: hidden;
}

.meter i {
    display: block;
    height: 100%;
    background: currentColor;
}

.stage-result p {
    font-size: 13px;
    color: #aab2b8;
    line-height: 1.55;
}

.stage-summary {
    margin: 2px 0 0;
}

.stage-summary p {
    margin: 9px 0 0;
}

.confidence-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border: 1px solid #39434a;
    border-radius: 999px;
    padding: 4px 8px;
    color: #9da6ad;
    font-size: 9px;
    line-height: 1;
    letter-spacing: .04em;
    text-transform: uppercase;
    font-weight: 700;
}

.confidence-high {
    border-color: #3d5a2e;
    color: #bfeaa5;
}

.next {
    border-top: 1px solid #20272c;
    margin-top: 16px;
    padding-top: 14px;
    font-size: 12px;
    line-height: 1.5;
}

.next small {
    color: var(--gold);
    margin-bottom: 5px;
}


/* =========================================================
   CTA
   ========================================================= */

.cta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    border: 1px solid #805f00;
    background: linear-gradient(110deg, #171304, #080b0d);
    border-radius: 15px;
    margin-top: 26px;
    padding: 30px;
}

.cta small {
    color: var(--gold);
    font-weight: 800;
    letter-spacing: .13em;
}

.cta h2 {
    margin: 8px 0;
}

.cta p {
    color: #969fa6;
}

.cta a {
    background: var(--gold);
    color: #080808;
    border-radius: 9px;
    padding: 15px 20px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.disclaimer {
    text-align: center;
    color: #6f787f;
    font-size: 10px;
    max-width: 800px;
    margin: 24px auto;
}


/* =========================================================
   ANIMATIONS
   ========================================================= */

@keyframes enter {
    from {
        opacity: 0;
        transform: translateY(9px);
    }
}

@keyframes pulse {
    50% {
        box-shadow: 0 0 50px #f6c70055;
    }
}

@keyframes scan {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(350%);
    }
}

@media(max-width:950px){.hero{grid-template-columns:1fr}.hero-visual{margin-top:30px}.rings{width:420px}.trust{grid-template-columns:1fr 1fr;gap:20px}.results-grid{grid-template-columns:1fr}.stage-strip{gap:4px}.stage-strip span{width:40px;height:40px}.stage-strip b{font-size:7px}}@media(max-width:640px){.topbar{padding:0 18px}.brand div,.brand>i{display:none}.brand strong{font-size:21px}.about{padding:10px 12px;font-size:12px}.hero{padding:35px 20px}.hero h1{font-size:39px}.choice-grid{grid-template-columns:1fr}.hero-visual{display:none}.trust{grid-template-columns:1fr}.trust>div{border-right:0;border-bottom:1px solid #252b30;padding:12px}.question-card{padding:25px 18px}.question-card h2{font-size:25px}.score-hero{grid-template-columns:1fr;text-align:center}.score-ring{margin:auto}.results-top{align-items:start;flex-direction:column}.results-top h1{font-size:30px}.cta{flex-direction:column;align-items:flex-start}}
.options textarea{width:100%;min-height:130px;border:1px solid #303940;background:#0b1115;color:#eef1f2;border-radius:10px;padding:16px;resize:vertical;font:inherit;line-height:1.55}.options textarea:focus{outline:none;border-color:#bd9000;box-shadow:0 0 0 2px #bd900022}.options .continue{border-color:#9b7500;background:#171407;color:#fff;font-weight:700}.options .continue i{justify-self:end}
.framework-brand{display:flex;align-items:center;gap:18px;color:#fff;text-decoration:none;border-radius:8px}.framework-brand:hover .orbit{border-color:var(--gold);box-shadow:0 0 30px #d5a60055}.framework-wordmark{display:flex;flex-direction:column;letter-spacing:.16em}.framework-wordmark b{font-family:Georgia,serif;font-size:23px}.framework-wordmark small{font-size:9px;color:var(--gold);font-weight:800}.results-actions{display:flex;justify-content:flex-end;margin:24px 0 14px}.export-button{display:inline-flex;align-items:center;gap:9px;border:1px solid #596168;background:#0b1115;color:#fff;border-radius:8px;padding:12px 18px;font-weight:700;cursor:pointer}.export-button:hover{border-color:var(--gold);background:#151307}.export-button span{font-size:18px;color:var(--gold)}
.action-plan,.connections{margin:28px 0}.section-heading small{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.14em}.section-heading h2{margin:7px 0 16px;font-size:24px}.action-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.action-card,.connection-card{background:linear-gradient(145deg,#0a1014,#060a0d);border:1px solid #293138;border-radius:13px;padding:21px}.action-card:first-child{border-color:#9b7500}.action-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.action-rank{color:var(--gold);font-size:10px;font-weight:900;letter-spacing:.1em}.action-stage{font-size:11px;color:#8f989f}.action-card h3{font-size:17px;line-height:1.35;margin:12px 0}.action-card>p,.connection-card p{font-size:12px;color:#aab2b8;line-height:1.55}.action-meta{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0}.action-meta span,.rec-type{border:1px solid #39434a;border-radius:13px;padding:5px 8px;font-size:9px;color:#cbd1d5}.action-measure{border-top:1px solid #20272c;padding-top:12px!important}.action-measure b{color:#e3e6e8}.connections-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.connection-card strong{color:var(--gold);font-size:11px}.connection-card h3{font-size:15px;line-height:1.35}.stage-explain{border-top:1px dashed #273038;padding-top:10px;font-size:11px!important;color:#838d94!important}.next .rec-type{display:inline-block;margin:0 0 8px}.next-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.next-meta span{font-size:8px;border:1px solid #303a41;border-radius:10px;padding:4px 7px;color:#9da6ad}
@media(max-width:950px){.action-plan-grid,.connections-grid{grid-template-columns:1fr}}
@media print{.action-plan{break-before:page;page-break-before:always;padding-top:8mm}.action-plan-grid{grid-template-columns:1fr 1fr 1fr;gap:3mm}.action-card,.connection-card{background:#fff!important;border-color:#bbb!important;box-shadow:none!important;break-inside:avoid;padding:3.5mm}.section-heading small{font-size:6pt}.section-heading h2{font-size:15pt;margin:1.5mm 0 3mm}.action-rank,.connection-card strong{color:#946f00!important}.action-card h3{font-size:9pt;margin:2mm 0}.action-card>p,.connection-card p{font-size:7pt;line-height:1.35}.action-meta{margin:2mm 0}.action-meta span,.rec-type,.next-meta span{font-size:5.5pt;padding:1mm 1.5mm}.action-measure{padding-top:2mm!important}.connections{margin:5mm 0}.connections-grid{grid-template-columns:repeat(3,1fr);gap:3mm}.connection-card h3{font-size:8pt}.stage-explain{font-size:6.5pt!important}.next-meta{margin-top:1.5mm}}
.print-report-header,.print-page-two-header,.answers-appendix{display:none}.scoring-method{display:grid;grid-template-columns:1.35fr 1fr;gap:10px 24px;border:1px solid #293138;background:#080d11;border-radius:13px;padding:18px 22px;margin:0 0 18px}.scoring-method small{display:block;color:var(--gold);font-size:9px;letter-spacing:.13em;font-weight:800}.scoring-method strong{display:block;font-size:16px;margin-top:7px}.scoring-method p{color:#9fa7ad;font-size:12px;line-height:1.45;margin:6px 0 0}.scoring-method>p{grid-column:1/-1;border-top:1px solid #20272c;padding-top:10px}.score-legend{display:flex;align-items:center;justify-content:flex-end;gap:8px}.score-legend span{border:1px solid currentColor;border-radius:14px;padding:7px 9px;font-size:10px}.red-key{color:var(--red)}.yellow-key{color:var(--yellow)}.green-key{color:var(--green)}
@page{size:Letter;margin:0}

@media print{
  .action-plan{break-before:auto!important;page-break-before:auto!important;padding-top:2mm!important}
  .disclaimer{position:fixed;left:12mm;right:12mm;bottom:3mm;margin:0!important;text-align:center;background:#fff}
}

/* Framework-faithful, stage-grouped questionnaire */
.question-shell{width:min(920px,100%)}
.stage-field{padding:24px 0;border-top:1px solid #273038}
.stage-field:first-child{border-top:0;padding-top:8px}
.field-label-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:13px}
.field-label-row label{font-size:16px;font-weight:700;line-height:1.45}
.req-tag,.opt-tag{flex:0 0 auto;border-radius:12px;padding:4px 8px;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.req-tag{border:1px solid #8f6d00;color:var(--gold)}
.opt-tag{border:1px solid #4b555d;color:#aab2b8}
.stage-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.stage-option-grid button{min-height:52px;grid-template-columns:32px 1fr!important}
.stage-field textarea,.other-input{width:100%;border:1px solid #303940;background:#0b1115;color:#eef1f2;border-radius:10px;padding:15px;resize:vertical;font:inherit;line-height:1.5}
.other-input{margin-top:10px}
.stage-field textarea:focus,.other-input:focus{outline:none;border-color:#bd9000;box-shadow:0 0 0 2px #bd900022}
.field-hint{color:#89939a;font-size:12px;line-height:1.5}
.field-select{width:100%;border:1px solid #303940;background-color:#0b1115;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8"><path d="M1 1l5 6 5-6" fill="none" stroke="%23f6c700" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-repeat:no-repeat;background-position:right 16px center;background-size:12px 8px;color:#eef1f2;border-radius:10px;padding:15px 42px 15px 15px;font:inherit;line-height:1.5;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer}
.field-select:hover{border-color:#4b555d}
.field-select:focus{outline:none;border-color:#bd9000;box-shadow:0 0 0 2px #bd900022}
.field-select option{background:#0b1115;color:#eef1f2}
.question-card>h2{font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.02em}
.options>.continue{margin-top:8px}
@media(max-width:640px){.stage-option-grid{grid-template-columns:1fr}.field-label-row{gap:9px}.field-label-row label{font-size:14px}}
@media print{html,body{width:216mm;background:#fff!important;color:#111!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body{margin:0!important}.topbar,#home-view,#question-view,#analyzing-view,.results-top .outline,.results-actions,.cta{display:none!important}.results-page{display:block!important;max-width:none;padding:10mm 12mm!important}.print-report-header{display:flex;align-items:center;border-bottom:1px solid #d4d4d4;padding-bottom:4mm;margin-bottom:5mm}.print-report-header>div,.print-page-two-header>div,.appendix-header>div{display:flex;flex-direction:column;margin-left:8px;letter-spacing:.12em}.print-report-header small,.print-page-two-header small,.appendix-header small{font-size:6.5pt;color:#946f00}.print-report-header time{margin-left:auto;font-size:7pt;color:#666}.print-mark{width:28px;height:28px;border:1px solid #946f00;border-radius:50%;display:grid;place-items:center;color:#946f00;font:17px Georgia,serif}.results-top{display:block!important}.results-top .kicker{font-size:7.5pt;margin:0 0 2mm}.results-top h1{font-size:19pt;line-height:1.05;color:#111;margin:0 0 4mm}.kicker,.next small,.scoring-method small{color:#946f00!important}.score-hero{grid-template-columns:34mm 1fr;gap:7mm;padding:5mm;margin:0 0 4mm;border-radius:10px}.score-ring{width:29mm;height:29mm;border-width:5px}.score-ring span{font-size:31pt}.score-ring small{font-size:8pt;margin-top:20px}.score-hero h2{font-size:18pt;margin:1mm 0}.score-hero p{font-size:9pt;line-height:1.35;margin:1.5mm 0}.status{font-size:7pt}.engine-tag{font-size:7pt;padding:1.5mm 2.5mm}.scoring-method{grid-template-columns:1.25fr 1fr;margin:0 0 4mm;padding:3mm 4mm;gap:1.5mm 5mm;background:#fff!important;border-color:#bbb!important}.scoring-method strong{font-size:9pt;margin-top:1mm}.scoring-method p{font-size:7pt;margin-top:1mm}.scoring-method>p{padding-top:1.5mm}.score-legend{gap:1.5mm}.score-legend span{font-size:6.5pt;padding:1.2mm 2mm}.score-hero,.stage-result{background:#fff!important;border-color:#bbb!important;box-shadow:none!important;break-inside:avoid}.score-hero p,.stage-result p,.next,.disclaimer,.scoring-method p{color:#333!important}.results-grid{grid-template-columns:1fr 1fr;gap:3mm}.stage-result{padding:3.5mm;min-height:50mm}.stage-result-head>span{width:9mm;height:9mm;font-size:11pt}.stage-result-head small,.next small{font-size:5.5pt}.stage-result-head h3{font-size:12pt;margin:.5mm 0}.stage-result-head>b{font-size:18pt}.meter{height:1mm;margin:2.5mm 0}.stage-result p{font-size:8pt;line-height:1.35;margin:2mm 0}.next{font-size:7.5pt;line-height:1.35;margin-top:2mm;padding-top:2mm}.print-page-two-header{display:flex;grid-column:1/-1;align-items:center;border-bottom:1px solid #d4d4d4;padding:10mm 0 3mm;break-before:page;page-break-before:always}.print-page-two-header .print-mark{width:24px;height:24px;font-size:14px}.answers-appendix{display:block;break-before:page;page-break-before:always;padding-top:10mm}.appendix-header{display:flex;align-items:center;border-bottom:1px solid #d4d4d4;padding-bottom:3mm}.appendix-intro{font-size:8pt;color:#555;margin:3mm 0 5mm}.answers-groups{display:grid;grid-template-columns:1fr 1fr;gap:3mm}.answer-group{border:1px solid #bbb;border-radius:3mm;padding:3.5mm;break-inside:avoid;background:#fff}.answer-group h3{font-size:11pt;margin:0 0 2.5mm;color:#946f00}.answer-item{border-top:1px solid #e2e2e2;padding:2mm 0}.answer-item:first-of-type{border-top:0;padding-top:0}.answer-question{font-size:7.5pt;font-weight:700;line-height:1.3;margin:0 0 1mm}.answer-question span{font-size:5.5pt;color:#777;border:1px solid #bbb;border-radius:6px;padding:.5mm 1mm;margin-left:1mm}.answer-value{font-size:8pt;line-height:1.35;color:#222;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.answer-value.unanswered{color:#777;font-style:italic}.disclaimer{font-size:6.5pt;margin:4mm auto 0}.results-grid article:nth-of-type(7){grid-column:1/-1}.results-grid article:nth-of-type(7) .next{max-width:90mm}}

.score-note {
    margin-top: 16px;
    color: #a9afb7;
    font-size: 14px;
    line-height: 1.4;
}

.score-note p {
    margin: 0 0 12px;
}

.score-note b {
    color: #c8cdd3;
    font-weight: 600;
}

/* =========================================================
   ODYSSEYQ CUSTOM INDUSTRY DROPDOWN
   Overrides the generic .options button rules.
   ========================================================= */

.odyssey-select{
    position:relative;
    display:block;
    width:100%;
    min-width:0;
}

/* Closed dropdown */
.options .odyssey-select > .odyssey-select-trigger{
    width:100% !important;
    min-width:100% !important;
    height:52px !important;
    min-height:52px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    grid-template-columns:none !important;
    gap:12px !important;

    padding:0 16px !important;
    margin:0 !important;

    background:#0b1115 !important;
    border:1px solid #303940 !important;
    border-radius:10px !important;

    color:#eef1f2 !important;
    text-align:left !important;
    cursor:pointer;
}

.options .odyssey-select > .odyssey-select-trigger:hover,
.options .odyssey-select > .odyssey-select-trigger:focus{
    background:#0d1215 !important;
    border-color:#bd9000 !important;
    outline:none !important;
    box-shadow:0 0 0 2px #bd900022 !important;
}

.options .odyssey-select > .odyssey-select-trigger > span{
    display:block !important;
    flex:1 1 auto !important;
    width:auto !important;
    height:auto !important;
    min-width:0 !important;

    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;

    color:#eef1f2 !important;
    font-size:14px !important;
    line-height:1.35 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.options .odyssey-select > .odyssey-select-trigger > i{
    display:block !important;
    flex:0 0 auto !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;

    color:var(--gold) !important;
    font-size:18px !important;
    line-height:1 !important;
    font-style:normal !important;
}

/* Open menu */
.odyssey-select-menu{
    position:absolute !important;
    top:calc(100% + 6px) !important;
    left:0 !important;
    right:0 !important;
    z-index:9999 !important;

    width:100% !important;
    min-width:100% !important;
    max-height:320px !important;

    display:block;
    overflow-y:auto !important;
    overflow-x:hidden !important;

    padding:6px !important;
    margin:0 !important;

    background:#080d11 !important;
    border:1px solid #39434a !important;
    border-radius:10px !important;

    box-shadow:0 20px 55px rgba(0,0,0,.78) !important;
}

.odyssey-select-menu.hidden{
    display:none !important;
}

/* Menu options — explicitly defeat .options button */
.options .odyssey-select-menu > button.odyssey-select-option{
    all:unset;
    box-sizing:border-box;

    display:block !important;
    width:100% !important;
    min-width:100% !important;
    min-height:42px !important;

    padding:11px 13px !important;
    margin:0 !important;

    background:transparent !important;
    border:0 !important;
    border-radius:7px !important;

    color:#d9dfe3 !important;
    font-family:Arial,sans-serif !important;
    font-size:14px !important;
    font-weight:400 !important;
    line-height:1.35 !important;

    text-align:left !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;

    cursor:pointer !important;
}

.options .odyssey-select-menu > button.odyssey-select-option:hover{
    background:#151409 !important;
    color:#fff !important;
}

.options .odyssey-select-menu > button.odyssey-select-option.selected{
    background:#1b1705 !important;
    color:var(--gold) !important;
}

/* Dark scrollbar */
.odyssey-select-menu{
    scrollbar-color:#39434a #080d11;
    scrollbar-width:thin;
}

.odyssey-select-menu::-webkit-scrollbar{
    width:8px;
}

.odyssey-select-menu::-webkit-scrollbar-track{
    background:#080d11;
}

.odyssey-select-menu::-webkit-scrollbar-thumb{
    background:#39434a;
    border-radius:10px;
}

.odyssey-select-menu::-webkit-scrollbar-thumb:hover{
    background:#806500;
}

/* Loading radar — visually remove black background without altering artwork */
#analyzing-view .analysis-radar .radar-art {
    mix-blend-mode: screen !important;
    background: transparent !important;
}

/* Use one font throughout OdysseyQ */
body,
button,
input,
textarea,
select,
option,
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
label,
small,
strong,
b,
a {
    font-family: Arial, sans-serif;
}

.question-card h2,
.question-card .stage-title,
.stage-title,
#question-prompt {
    font-family: Arial, sans-serif !important;
}


/* OdysseyQ result-card refinements: print readability and compact confidence metadata */
@media print {
    .confidence-badge {
        border-color: #999 !important;
        color: #555 !important;
        font-size: 5.5pt !important;
        padding: 1mm 1.5mm !important;
    }
    .stage-summary p,
    .action-card > p,
    .connection-card p,
    .action-measure,
    .action-stage {
        color: #333 !important;
    }
    .action-card > p,
    .connection-card p {
        line-height: 1.42 !important;
    }
}
