/* V1.2.19: challenge-only layout, preserving the approved portfolio elsewhere. */
.challenge-page .challenge-edge-shell{width:min(calc(100% - 96px),1510px);margin-inline:auto}
.challenge-page .challenge-screenshot-hero{background:linear-gradient(155deg,#0a1c2a,#132c39 87%);padding:138px 0 104px}
.challenge-page .challenge-screenshot-bar{display:flex;align-items:center;justify-content:space-between;gap:32px;margin:0 0 33px}
.challenge-page .challenge-screenshot-bar .back-link{color:#c6d8d5;font:500 11px/1.5 var(--mono);letter-spacing:.12em;text-decoration:none}
.challenge-page .challenge-screenshot-bar .eyebrow{color:#99cbbf;letter-spacing:.10em}
.challenge-page .challenge-screenshot-frame{margin:0;background:#fff;border:1px solid rgba(219,239,235,.35);padding:12px;box-shadow:0 30px 75px rgba(0,0,0,.24)}
.challenge-page .challenge-screenshot-frame img{display:block;width:100%;height:auto}
.challenge-page .challenge-metrics-band{background:#f1f3ed;padding:52px 0 55px}
.challenge-page .challenge-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px}
.challenge-page .challenge-metrics-grid>div{border-top:1px solid #b4c4ba;padding-top:18px;display:flex;flex-direction:column;gap:5px}
.challenge-page .challenge-metrics-grid span,.challenge-page .challenge-metrics-grid small{font:500 11px/1.55 var(--mono);letter-spacing:.04em;color:#6f887c}
.challenge-page .challenge-metrics-grid strong{font-size:clamp(23px,2.8vw,39px);letter-spacing:-.05em;font-weight:700;color:#0d1818}
.challenge-page .challenge-main-narrative{background:#f8f9f4;padding:100px 0 110px}
.challenge-page .challenge-main-narrative .challenge-context-block{max-width:1000px}
.challenge-page .challenge-context-block .eyebrow{color:#597e70}
.challenge-page .challenge-context-block h1{font-size:clamp(32px,3.1vw,42px);line-height:1.26;letter-spacing:-.045em;max-width:760px;margin:20px 0 25px}
.challenge-page .challenge-context-block p{font-size:17px;line-height:1.8;color:#53675d;max-width:800px;margin:0}
.challenge-page .challenge-contribution-block{max-width:800px;margin:66px 0 0 auto;padding-top:29px;border-top:1px solid #bacdc0}
.challenge-page .challenge-contribution-block h2{font-size:22px;letter-spacing:-.035em;margin:0 0 12px}
.challenge-page .challenge-contribution-block p{font-size:17px;line-height:1.8;color:#52675c;margin:0}
.challenge-page .challenge-result-section{background:#e5ebe4;padding:94px 0 102px}
.challenge-page .challenge-result-section .eyebrow{color:#4f7866}
.challenge-page .challenge-result-section h2{font-size:clamp(32px,3.1vw,42px);line-height:1.26;letter-spacing:-.045em;max-width:760px;margin:20px 0 23px}
.challenge-page .challenge-result-section p{max-width:800px;font-size:17px;line-height:1.8;color:#52665b;margin:0}
.challenge-page .challenge-description-section{background:#0b1a22;color:#eaf1f0;padding:88px 0 110px}
.challenge-page .challenge-description-head{max-width:1030px;margin:0 auto 24px}
.challenge-page .challenge-description-head .eyebrow{color:#9bcbdb}


.challenge-page .challenge-description-frame{max-width:1030px;margin:0 auto;background:#fff;padding:14px;border:1px solid #45606a;box-shadow:0 25px 75px rgba(0,0,0,.26)}
.challenge-page .challenge-description-frame img{display:block;width:100%;height:auto}
@media(max-width:850px){
 .challenge-page .challenge-edge-shell{width:calc(100% - 44px)}
 .challenge-page .challenge-screenshot-hero{padding:110px 0 75px}
 .challenge-page .challenge-screenshot-bar{margin-bottom:25px}
 .challenge-page .challenge-metrics-grid{gap:18px}
 .challenge-page .challenge-main-narrative{padding:88px 0 95px}
 .challenge-page .challenge-contribution-block{margin-top:65px}
 .challenge-page .challenge-result-section{padding:85px 0 95px}
 .challenge-page .challenge-description-section{padding:90px 0 110px}
 
}
@media(max-width:560px){
 .challenge-page .challenge-screenshot-hero{padding:98px 0 54px}
 .challenge-page .challenge-screenshot-bar{flex-direction:column;align-items:flex-start;gap:12px}
 .challenge-page .challenge-screenshot-frame{overflow-x:auto;overscroll-behavior-inline:contain;padding:8px}
 .challenge-page .challenge-screenshot-frame img{width:880px;max-width:none}
 .challenge-page .challenge-metrics-grid{grid-template-columns:1fr;gap:22px}
 .challenge-page .challenge-main-narrative{padding:75px 0 88px}
 .challenge-page .challenge-context-block h1{font-size:clamp(30px,8vw,38px)}
 .challenge-page .challenge-context-block p,.challenge-page .challenge-contribution-block p,.challenge-page .challenge-result-section p{font-size:16px}
 .challenge-page .challenge-contribution-block{margin-top:55px}
 .challenge-page .challenge-result-section h2{font-size:clamp(30px,8vw,38px)}
 .challenge-page .challenge-description-frame{padding:8px;overflow-x:auto}
 .challenge-page .challenge-description-frame img{width:800px;max-width:none}
}
