.prep-panel-section { padding: clamp(3rem,6vw,5rem) 0; background: #f3f2ed; color: #243038; }
.prep-panel-section--dark { background: #14222b; color: #eff4f2; }
.prep-panel-section h2 { max-width: 900px; margin: 0 0 1.5rem; font-size: clamp(2rem,4vw,3.25rem); line-height: 1.12; letter-spacing: -.04em; }
.prep-panel-section .upgrade-kicker { color: #476332; }
.prep-panel-section--dark .upgrade-kicker { color: #c1e575; }
.prep-panel-intro { max-width: 850px; font-size: 1.05rem; line-height: 1.75; margin: 0 0 2rem; }
.prep-role-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.prep-role-card { min-width: 0; border: 1px solid #bac6b6; padding: clamp(1.25rem,3vw,2rem); background: #fffdf8; }
.prep-role-card h3 { color: #314630; font-size: 1.35rem; line-height: 1.25; margin: 0 0 .9rem; }
.prep-role-card p { font-size: .98rem; line-height: 1.75; margin: 0; }
.prep-flow { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1rem; list-style: none; padding: 0; margin: 2rem 0; counter-reset: prep-step; }
.prep-flow li { counter-increment: prep-step; min-width: 0; padding: 1.25rem; border-top: 2px solid #b4d779; background: #ffffff08; }
.prep-flow li::before { content: '0' counter(prep-step); color: #c1e575; font: 800 .75rem/1.5 system-ui,sans-serif; letter-spacing: .1em; }
.prep-flow h3 { font-size: 1.15rem; line-height: 1.25; margin: .8rem 0; color: inherit; }
.prep-flow p { margin: 0; color: #d3dfdc; font-size: .93rem; line-height: 1.7; }
.prep-coordination-note { max-width: 1000px; padding-top: 1.5rem; border-top: 1px solid #ffffff3b; font-size: .98rem; line-height: 1.75; }
.prep-outcomes { padding-left: 1.2rem; margin: 1.5rem 0; }
.prep-outcomes li { padding: .4rem 0; line-height: 1.7; }
.prep-public-links { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: 1.5rem; }
.prep-case .hero-prep { background: linear-gradient(130deg,#101824,#182d2b); }
.prep-case main :is(h1,h2,h3),.prep-flow li,.prep-role-card { overflow-wrap: anywhere; }
.prep-case #project-views { scroll-margin-top: 100px; }
@media(max-width:1100px) { .prep-flow { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:700px) { .prep-role-grid,.prep-flow { grid-template-columns: minmax(0,1fr); } .prep-flow li { padding: 1.25rem; } }
