/* Public site: homepage challenges and the about page development story. */
.ss-challenges,.ss-story{color:#1b324d;scroll-margin-top:7rem}
.ss-challenges{background:#f0f5fc;border-block:1px solid #dce5f1}
.ss-challenges-heading{text-align:center;max-width:56rem;margin:0 auto 2.5rem}
.ss-challenges-heading .section-kicker{font-size:.95rem;letter-spacing:.04em;color:#a43b20}
.ss-challenges-heading h2{font-size:clamp(2rem,3vw,3rem);line-height:1.65;letter-spacing:0}
.ss-challenges-heading .ss-challenge-emphasis{color:var(--orange-dark)}
.ss-challenges-heading>p:last-child{font-size:1.0625rem;line-height:1.9;margin-top:1.25rem}
.ss-challenge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.ss-challenge-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #d5dfec;border-radius:1.25rem;padding:1.75rem;box-shadow:0 5px 0 #dce6f140}
.ss-challenge-category{display:flex;align-items:center;gap:.8rem;font-size:.875rem;line-height:1.6;font-weight:700;color:var(--fc-color,#226baf)}
.ss-challenge-card h3{font-size:clamp(1.125rem,1.5vw,1.375rem);line-height:1.7;letter-spacing:0;margin:1.15rem 0 1.35rem}
.ss-challenge-answer{padding-top:1.15rem;border-top:2px solid var(--fc-tint,#eaf4ff)}
.ss-challenge-answer>strong{display:block;color:var(--fc-color,#226baf);font-size:1rem;line-height:1.8}
.ss-challenge-answer>p{font-size:1rem;line-height:1.95;color:#46586d;margin-top:.55rem}
.ss-challenge-card .ss-challenge-note{font-size:.8125rem;line-height:1.85;color:#596777;margin-top:.9rem}
.ss-challenge-card>a{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:.875rem;line-height:1.7;font-weight:700;color:#1b324d;margin-top:auto;padding-top:1.5rem;text-decoration:underline;text-underline-offset:.25em}
.ss-challenge-card>a>span{font-size:1.3rem;flex:none}
.ss-challenge-card>a:hover{color:var(--fc-color,#226baf)}
.ss-challenge-card>a:focus-visible{outline:3px solid #3155cf;outline-offset:5px;border-radius:3px}
.ss-challenges-note{font-size:.8125rem;line-height:1.9;color:#526478;max-width:65rem;margin:1.5rem auto 0;text-align:center}
.ss-story{background:#fff;border-top:1px solid #dce5f1}
.ss-story-section-title{font-size:clamp(2rem,3.5vw,3rem);line-height:1.5;letter-spacing:.02em;text-align:center;margin-bottom:clamp(2rem,4vw,3.5rem)}
.ss-story-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr);gap:clamp(2.5rem,5vw,5.5rem);align-items:start}
.ss-story-heading{min-width:0;padding-top:.25rem}
.ss-story-heading .section-kicker{font-size:.875rem;color:#a43b20;letter-spacing:.1em}
.ss-story-label{display:inline-block;margin:1rem 0 1.2rem;padding:.5rem .9rem;background:#fff1cc;border-radius:.5rem;font-size:.9375rem;font-weight:700;line-height:1.7}
.ss-story-heading h3{font-size:clamp(2rem,2.8vw,2.75rem);line-height:1.65;letter-spacing:.01em}
.ss-story-heading h3>span{color:#bd3e22}
.ss-story-heading>p:last-of-type{font-size:1.0625rem;line-height:2.1;margin-top:1.5rem;color:#46586d}
.ss-story-intent{margin-top:2rem;padding:1.5rem 1.75rem;border-left:4px solid #ffd85a;background:#1b324d;color:#fff;border-radius:0 .9rem .9rem 0}
.ss-story-intent>span{font-size:.875rem;color:#ffe69a;line-height:1.7}
.ss-story-intent>p{font-size:1.1875rem;line-height:1.85;font-weight:700;margin-top:.55rem}
.ss-story-chapters{list-style:none;padding:0 0 0 1.75rem;margin:0;border-left:2px solid #dce5f1}
.ss-story-chapters>li{position:relative;min-width:0;padding:0 0 2.25rem}
.ss-story-chapters>li:last-child{padding-bottom:0}
.ss-story-chapters>li::before{content:"";position:absolute;top:.35rem;left:-2.15rem;width:.65rem;height:.65rem;border-radius:50%;background:#bd3e22;box-shadow:0 0 0 5px #fff}
.ss-story-period{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:baseline;font-size:1.125rem;font-weight:700;line-height:1.7;color:#a43b20}
.ss-story-period>span{font-size:.875rem;font-weight:400;color:#596777}
.ss-story-chapters h3{font-size:1.5rem;line-height:1.7;margin:.7rem 0 .9rem;letter-spacing:0}
.ss-story-chapters>li>p:not(.ss-story-period){font-size:1rem;line-height:2;color:#46586d;margin-top:.8rem}
.ss-story-chapters>li>p.ss-story-note{font-size:.8125rem;line-height:1.85;padding:.8rem 1rem;background:#f0f5fc;border-radius:.6rem;color:#526478}
.ss-story-closing{margin-top:4rem;padding:clamp(2rem,5vw,3.5rem) clamp(1.5rem,5vw,4rem);border:1px solid #28455f;border-top:4px solid #ffd85a;border-radius:1.5rem;background:#1b324d;color:#fff;text-align:center;box-shadow:0 12px 30px #1b324d14}
.ss-story-closing-label{display:inline-block;padding:.35rem 1rem;border:1px solid #ffe08a66;border-radius:999px;color:#ffe08a;font-size:1rem;font-weight:700;line-height:1.8;margin-bottom:1.5rem}
.ss-story-closing h3{margin:0;line-height:1.7;letter-spacing:0}
.ss-story-closing h3>span{display:block;font-size:clamp(1.0625rem,2vw,1.25rem);font-weight:500}
.ss-story-closing h3>strong{display:block;font-size:clamp(1.5rem,2.7vw,2rem);font-weight:800;color:#ffe08a;margin-top:.5rem}
.ss-story-closing-message{max-width:42rem;margin:1.5rem auto 0;padding-top:1.5rem;border-top:1px solid #ffffff33;font-size:1.0625rem;line-height:2;color:#e2eaf4}
@media(max-width:1050px){.ss-challenge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ss-story-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2rem}.ss-story-chapters h3{font-size:1.3rem}}
@media(max-width:760px){.ss-story-layout{grid-template-columns:minmax(0,1fr);gap:2.5rem}.ss-story-heading>p:last-of-type br{display:none}.ss-story-intent{max-width:32rem}.ss-story-chapters{margin-left:.35rem}.ss-story-closing{margin-top:2rem}.ss-challenges-heading .section-kicker{font-size:.875rem}.ss-challenges-heading>p:last-child{font-size:1rem}}
@media(max-width:560px){.ss-challenge-grid{grid-template-columns:minmax(0,1fr);gap:1rem}.ss-challenge-card{padding:1.4rem}.ss-challenge-card h3{font-size:1.25rem}.ss-challenges-heading h2,.ss-story-heading h3{font-size:1.875rem}.ss-challenges-note{text-align:left}.ss-story-chapters{padding-left:1.35rem}.ss-story-chapters>li::before{left:-1.75rem}.ss-story-chapters h3{font-size:1.3rem}.ss-story-intent{padding:1.2rem}.ss-story-closing{padding-inline:1.4rem;border-radius:1.1rem}.ss-story-heading .section-kicker{font-size:.8125rem;letter-spacing:.06em}}
