:root{font-family:Arial,Helvetica,sans-serif;color:#14202c;scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;line-height:1.58;background:#fff}
a{color:inherit}
a:focus-visible{outline:3px solid #efc14c;outline-offset:4px}
.skip{position:absolute;left:-9999px;top:1rem;background:#fff;padding:.7rem;z-index:12}
.skip:focus{left:1rem}
.wrap{width:min(1100px,calc(100% - 2.5rem));margin:auto}
.hero{min-height:580px;position:relative;display:flex;align-items:end;color:#fff;overflow:hidden}
.hero img,.shade{position:absolute;inset:0;width:100%;height:100%}
.hero img{object-fit:cover;object-position:center 45%}
.shade{background:linear-gradient(0deg,rgba(5,15,22,.84),rgba(5,15,22,.04) 85%)}
.hero-content{position:relative;padding:5rem 0 4rem}
h1,h2,h3,p,blockquote{overflow-wrap:break-word}
h1{max-width:1000px;font-size:clamp(2.8rem,6vw,5.6rem);line-height:1.02;letter-spacing:-.05em;margin:0}
.hero-question{font-size:clamp(2.5rem,5vw,4.5rem);font-style:italic;color:#9bd8fa;line-height:1.08;margin:.4rem 0 0}
h2{font-size:clamp(2rem,4vw,3.35rem);line-height:1.13;letter-spacing:-.035em;max-width:900px;margin:0 0 1.6rem}
h3{font-size:1.25rem;line-height:1.3;margin:.3rem 0 .7rem}
p{font-size:1.06rem;margin:0 0 1.2rem}
.section{padding:clamp(4rem,7vw,7rem) 0}
.lede{font-size:clamp(1.22rem,2.2vw,1.55rem);max-width:900px;margin:0 0 2.6rem}
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.pillars article{padding:1.8rem;border-top:5px solid #2981b5;background:#f3f9fc;min-height:245px}
.pillars h3{color:#1962a0}
.pillars p{margin-bottom:0}
.blue{background:#163f75;color:#fff}
.blue article{padding:1.6rem 1.8rem;border:1px solid #78acd1}
.blue h3{color:#bfe7ff}
.blue p{margin-bottom:0}
.story{display:grid;grid-template-columns:1.4fr .8fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.story blockquote{font-size:clamp(1.5rem,2.7vw,2.2rem);line-height:1.3;font-weight:700;margin:1.6rem 0 .7rem;color:#164f85}
.story aside{background:#edf7fc;padding:2.2rem;border-left:5px solid #52a7d7}
.story aside p{margin:0}
.source{font-size:.88rem;color:#526879}
.pale{background:#f1f8fb}
.callout{font-size:1.35rem;font-weight:800;color:#195d91;margin:1.7rem 0 2rem}
.evolution article{background:#fff;padding:1.5rem;border-top:4px solid #52a7d7}
.evolution span,.number{display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:#1962a0;color:#fff;font-weight:800;margin-bottom:1rem}
.evolution h3{margin-bottom:0}
.section-heading{display:flex;align-items:center;gap:1rem;margin-bottom:1.4rem}
.section-heading .number{margin:0;flex:none}
.section-heading h2{margin:0}
.framework{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;background:#f1f8fb;padding:1.5rem;margin:2.5rem 0}
.framework>div{background:#fff;border-top:4px solid #52a7d7;padding:1.3rem}
.framework strong{font-size:1.3rem;color:#15568a}
.framework p{font-size:.98rem;margin:.6rem 0 0}
.framework-center{grid-column:1/-1;text-align:center;font-size:1.4rem;font-weight:800;margin:.2rem 0 0;color:#15568a}
.quote{background:#eaf5fa}
.quote blockquote{font-size:clamp(1.45rem,2.8vw,2.15rem);line-height:1.4;font-weight:700;max-width:950px;margin:0 0 1.2rem}
.action{background:#123a6e;color:#fff}
.cards article{background:#fff;color:#14202c;padding:2rem;display:flex;align-items:flex-start;flex-direction:column}
.cards h2{font-size:clamp(1.5rem,2.7vw,2.15rem);letter-spacing:-.02em;flex:1}
.button{display:inline-block;background:#1962a0;color:#fff;padding:.85rem 1.25rem;border-radius:4px;text-decoration:none;font-weight:800;text-align:center}
.button:hover{background:#0e4779}
.secondary{background:#174e7f}
@media(max-width:760px){.story,.three,.two{grid-template-columns:1fr}.hero{min-height:520px}.hero-content{padding:5rem 0 3rem}.pillars article{min-height:0}.framework{grid-template-columns:1fr}.framework-center{grid-column:1}.cards h2{flex:auto}}
@media(max-width:570px){.wrap{width:calc(100% - 2rem)}.hero{min-height:500px}.hero img{object-position:55% center}.hero-content{padding:4rem 0 2.5rem}.section{padding:3.5rem 0}.cards .button{width:100%}}
