.campaign-detail,.campaign-work{overflow-wrap:anywhere;min-width:0}
.campaign-cover{height:110px;border-radius:14px;overflow:hidden;margin-bottom:24px}.campaign-cover img{height:100%;width:100%;object-fit:contain}
.campaign-sections{font-size:1rem;line-height:1.65}.campaign-sections>section{margin:28px 0;padding-bottom:20px;border-bottom:1px solid #d8e3e3}.campaign-sections h2{font-size:1.35rem}.campaign-sections h3{font-size:1.05rem}.campaign-sections li{margin:10px 0}.campaign-sections ul{padding-left:22px}
.campaign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.campaign-grid article{padding:18px;background:#fff;border:1px solid #d8e3e3;border-radius:12px}.campaign-grid p{margin:10px 0}.campaign-plan{padding-left:24px}
.campaign-detail .detail-actions{gap:10px;flex-wrap:wrap}.campaign-detail .btn{min-height:44px}.campaign-detail .detail-aside h2{font-size:1.25rem}
.campaign-work{min-height:100vh;background:var(--cream,#F9F4EA);color:var(--ink,#153b43)}.campaign-work-header{display:flex;justify-content:space-between;align-items:center;padding:18px max(20px,calc((100vw - 1180px)/2));gap:20px;background:#fff;border-bottom:1px solid #d8e3e3}.campaign-work-header .brand{min-width:0}.campaign-work-header>div{display:flex;gap:10px;flex-shrink:0}
.campaign-work-content{max-width:940px;margin:auto;padding:32px 24px 56px}.campaign-work h1{font-size:clamp(1.65rem,4vw,2.5rem);line-height:1.3;margin:16px 0 24px}.campaign-lead,.campaign-context,.campaign-question{font-size:clamp(1.15rem,2.3vw,1.5rem);line-height:1.65;white-space:pre-line}.campaign-counter{font-size:.875rem;font-weight:750;letter-spacing:.06em;color:#275e68}.campaign-context{padding:20px;background:#fff;border:1px solid #c7dade;border-radius:14px}.campaign-notice{background:#e6f3ee;border-left:4px solid #337867;padding:16px;line-height:1.6}
.campaign-family-scene{width:430px;max-width:100%;aspect-ratio:1.5;background-image:url('campaign/family-scenes.png');background-size:200% 400%;background-position:var(--scene-x) var(--scene-y);background-repeat:no-repeat;border-radius:14px;margin:18px 0}
.campaign-context-image{display:block;width:620px;max-width:100%;height:auto;border-radius:14px;margin:20px 0}.campaign-object{width:160px;max-width:100%;aspect-ratio:1;background-image:url('campaign/literacy-objects.png');background-size:200% 200%;background-position:var(--scene-x) var(--scene-y);background-repeat:no-repeat;margin:18px 0;border-radius:12px}
.campaign-objects{display:flex;flex-wrap:wrap;gap:12px}.campaign-objects .campaign-object{flex:0 1 150px;min-width:80px}
.campaign-story-scenes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.campaign-story-scenes figure{margin:0}.campaign-story-scenes figcaption{margin-top:10px;font-weight:700}.campaign-story-scene{aspect-ratio:619/847;background-image:url('campaign/story-scenes.png');background-size:300% 100%;background-position:var(--scene-x) 0;background-repeat:no-repeat;border-radius:12px}
.campaign-stage-instructions{padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid #c7dade}.campaign-stage-instructions+.campaign-counter{margin-top:24px}
@media(max-width:500px){.campaign-story-scenes{grid-template-columns:1fr;max-width:250px}.campaign-story-scenes figure{margin-bottom:10px}}
.campaign-guidance{padding:20px 24px;background:#eaf3f4;border-radius:14px;border:1px solid #b7d1d5;margin:24px 0;line-height:1.7;font-size:1rem}.campaign-guidance h2{font-size:1.2rem}.campaign-controls,.campaign-stage-controls{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.campaign-stage-controls{border-top:2px solid #c7dade;padding-top:20px;margin-top:36px}.campaign-work .btn{min-height:48px;font-size:1rem;white-space:normal}
.campaign-collections{display:flex;align-items:flex-start;flex-wrap:wrap;gap:22px;margin:24px 0}.campaign-collection{margin:0;padding:20px;background:#fff;border:1px solid #c7dade;border-radius:14px;max-width:100%;min-width:0}.campaign-collection figcaption{font-size:1.2rem;font-weight:700;margin-bottom:14px}.campaign-dots{display:grid;grid-template-columns:repeat(var(--columns),20px);gap:10px;max-width:100%}.campaign-dots span{display:block;width:20px;height:20px;border-radius:50%;background:#3b7780;border:2px solid #154954}
.campaign-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.campaign-options .btn{background:#fff;border:2px solid #b2cbd0;font-size:1.2rem;min-height:72px;justify-content:center}.campaign-options .selected{border-color:#145362;background:#e3f0ee;box-shadow:0 0 0 2px #145362}.campaign-order{padding-left:28px}.campaign-order li{margin:14px 0;padding:16px;background:#fff;border-radius:12px}.campaign-order strong{font-size:1.7rem;display:inline-block;min-width:40px;margin-right:15px}.campaign-order .btn{margin:3px}
.campaign-story{font-size:1.2rem;line-height:1.85;max-width:720px}.campaign-story p{margin:0 0 20px}.campaign-shapes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}.campaign-shapes figure{margin:0;text-align:center}.campaign-shapes svg{width:100%;max-width:150px;fill:#f2d58a;stroke:#0F4C5C;stroke-width:3}.campaign-shapes figcaption{font-size:1rem;font-weight:650}.campaign-diagram{margin:24px 0;padding:22px;background:white;border:1px solid #c7dade;border-radius:14px}.campaign-diagram figcaption{font-size:1.2rem;font-weight:700;margin-bottom:15px}.campaign-diagram-nodes{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.campaign-diagram-nodes strong{background:#e5eff0;padding:10px 18px;border-radius:9px}.campaign-diagram li{margin:14px 0;font-size:1.1rem;line-height:1.6}
@media(max-width:768px){.campaign-grid{grid-template-columns:1fr}.campaign-work-header{padding:14px 18px}.campaign-work-content{padding:24px 18px 40px}.campaign-options,.campaign-shapes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.campaign-work-header{flex-wrap:wrap}.campaign-work-header .brand{max-width:210px}.campaign-work-header .brand-words small{display:none}.campaign-work-header .brand-mark{width:40px}.campaign-work-header .btn{font-size:.875rem;min-height:44px;padding:10px 14px}.campaign-work-header .brand-words strong{font-size:1.1rem}.campaign-options{grid-template-columns:1fr}.campaign-controls>.btn,.campaign-stage-controls>.btn{flex:1 1 140px}.campaign-collections{gap:12px}.campaign-collection{padding:16px}.campaign-dots{grid-template-columns:repeat(var(--columns),17px);gap:8px}.campaign-dots span{width:17px;height:17px}.campaign-detail .detail-actions>.btn{width:100%;justify-content:center}.campaign-object{width:135px}.campaign-diagram{padding:16px}}
