/* Goal from 01, reasoning flow from 04. */
.competition-entry .competition-copy.gf-panel{padding:1.8rem 2.4rem;gap:1rem}.gf-panel h2{font-size:clamp(1.85rem,2.65vw,2.4rem)}.gf-panel .ov-goal{padding:.8rem 0;gap:.9rem}.gf-panel .ov-goal>div>p{font-size:.86rem;max-width:47ch}.gf-panel .ov-goal .ov-icon{width:30px;height:30px}.gf-flow{padding:0;gap:.4rem;grid-template-columns:1.1fr 16px 1.03fr 16px 1.1fr}.gf-flow .ov-icon{width:33px;height:33px;margin-bottom:.55rem}.gf-flow .ov-qwen{width:52px;height:52px;margin-bottom:.5rem}.gf-flow .ov-flow-model{padding:.8rem .4rem}.gf-flow h3{font-size:.95rem;line-height:1.25;margin-top:.45rem}.gf-flow section p{font-size:.71rem;line-height:1.5}.gf-flow .ov-label{font-size:.52rem;letter-spacing:.075em}.gf-flow .ov-arrow{padding-bottom:2.2rem}.gf-number{font:300 2.15rem/.9 var(--sans);letter-spacing:-.035em;display:block;margin-bottom:.3rem}.gf-flow>section:first-child .gf-number{color:#a17c37}.gf-flow>section:last-child .gf-number{color:#55755f}.gf-panel .gf-footer{display:block;padding:0;margin:0;border:0;background:none;min-height:0}.gf-panel .gf-footnote{font:400 .59rem/1.5 var(--mono);color:#7d796d;margin:0 0 .5rem}.gf-panel .gf-credit{font:400 .6rem/1.5 var(--mono);letter-spacing:0;color:#8a8373;margin:0}.gf-credit a{color:inherit;text-decoration-color:#cac3b2;text-underline-offset:3px}.gf-display{display:block;font:300 clamp(2.1rem,3.25vw,3rem)/.98 var(--sans);letter-spacing:-.045em;margin:.65rem 0 .4rem;color:#a17c37}.gf-score-tile .gf-display{color:#55755f;white-space:nowrap;margin:.22rem 0 .5rem}.gf-score-tile .gf-display>span{font-size:.57em;margin-left:.08em}.gf-decimal{display:block;font:400 .9rem/1 var(--mono);color:#8b8879;margin-top:.75rem}.gf-decimal>span{margin-left:.2rem}.gf-score-tile>p{font:400 .56rem/1.5 var(--mono)!important}.gf-value-flow{grid-template-columns:1fr 16px 1.05fr 16px 1fr}.gf-value-flow .ov-arrow{padding-bottom:0}.gf-value-flow .ov-flow-model{padding:1rem .4rem}.gf-open-flow .ov-flow-model{background:none;border:0}.gf-open-flow .ov-qwen{width:57px;height:57px}.gf-equation{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.6rem 0;border-top:1px solid var(--ov-rule);border-bottom:1px solid var(--ov-rule);font:italic 1.05rem var(--serif);color:#55755f}.gf-fraction{display:flex;flex-direction:column;align-items:stretch;text-align:center;font:400 .67rem/1.5 var(--sans);color:#676558}.gf-fraction>span:first-child{border-bottom:1px solid #aaa58e;padding-bottom:.2rem}.gf-fraction>span:last-child{padding-top:.2rem}.gf-03 .gf-flow{padding:0}.gf-03 .ov-arrow{padding-bottom:1.8rem}
@media(min-width:821px) and (max-width:1150px){.competition-entry .competition-copy.gf-panel{padding:1.8rem 1.35rem;gap:1rem}.gf-flow h3{font-size:.84rem}.gf-flow section p{font-size:.64rem}.gf-flow .ov-label{font-size:.48rem}.gf-flow{gap:.15rem;grid-template-columns:1fr 12px 1.1fr 12px 1fr}.gf-display{font-size:2.15rem}.gf-panel .gf-credit,.gf-panel .gf-footnote{font-size:.53rem}}
@media(max-width:820px){.competition-entry .competition-copy.gf-panel{padding:2rem;min-height:520px;gap:1.2rem}.gf-display{font-size:2.7rem}.gf-panel h2{font-size:2.15rem}}
@media(max-width:460px){.competition-entry .competition-copy.gf-panel{padding:1.7rem 1.15rem;min-height:530px;gap:1.2rem}.gf-panel h2{font-size:1.8rem}.gf-panel .ov-goal>div>p{font-size:.8rem}.gf-flow{grid-template-columns:1fr 10px 1.1fr 10px 1fr;gap:.05rem}.gf-flow h3{font-size:.8rem}.gf-flow section p{font-size:.61rem}.gf-flow .ov-label{font-size:.45rem}.gf-flow .ov-icon{width:28px;height:28px}.gf-flow .ov-qwen{width:44px;height:44px}.gf-display{font-size:2.1rem}.gf-decimal{font-size:.7rem}.gf-number{font-size:1.9rem}.gf-equation{gap:.65rem;font-size:.94rem}.gf-fraction{font-size:.61rem}.gf-panel .gf-credit,.gf-panel .gf-footnote{font-size:.52rem}.gf-score-tile>p{font-size:.49rem!important}.gf-value-flow .ov-flow-model{padding:1rem .2rem}}

/* Selected 02: readable stage labels, with the score expressed directly as a percentage. */
.gf-02 .gf-value-flow .ov-label{font:500 .7rem/1.4 var(--mono);letter-spacing:.035em;color:#45463f}
.gf-02 .gf-score-tile .gf-display{font-size:clamp(2.4rem,3.4vw,3.2rem);margin:0 0 .65rem}
@media(max-width:1150px){.gf-02 .gf-value-flow .ov-label{font-size:.64rem}}
@media(max-width:460px){.gf-02 .gf-value-flow .ov-label{font-size:.59rem;line-height:1.45;letter-spacing:.015em}.gf-02 .gf-score-tile .gf-display{font-size:2.2rem}}

/* Give the selected goal a clear label and room for its complete description. */
.gf-02 .ov-goal .ov-label{font:500 .75rem/1.4 var(--mono);letter-spacing:.045em;color:#36382f}
.gf-02 .ov-goal>div>p{max-width:68ch}

.gf-02 .ov-goal>div>p>strong{font-weight:600}

/* The goal target stays neutral, with a single red bullseye. */
.gf-02 .ov-goal .ov-icon{color:#111}
.gf-02 .ov-goal .ov-icon circle:last-child{stroke:#d93632;fill:#d93632}

/* Goal now has its own heading above the fully emphasized statement. */
.gf-02 .ov-goal .goal-heading{font:600 .95rem/1.25 var(--sans);letter-spacing:.045em;color:#111;margin:0 0 .55rem}
.gf-02 .ov-goal .goal-heading+p{margin-top:0}
