/* Peace Project: an editorial layer over the established paper, sage and earth palette. */
:root { --ed-paper:#f6f2e9; --ed-ink:#243b35; --ed-muted:#52615a; --ed-line:#c9cdc0; --ed-rust:#8d4430; --ed-sage:#dce3d4; --ed-sand:#e7dac4; --ed-serif:Georgia,'Times New Roman',serif; }
html { scroll-behavior:smooth; }
body { background:var(--ed-paper); color:var(--ed-ink); }
body::before { display:none; }
h1,h2,h3,h4 { color:var(--ed-ink); letter-spacing:-.035em; font-weight:400; }
p,li,label,.small,.text-muted { color:var(--ed-muted); }
a { color:#365b49; text-underline-offset:.2em; }
a:hover { color:var(--ed-rust); }
:where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--ed-rust); outline-offset:4px; }
button,input,select,textarea { font:inherit; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; text-decoration:none; white-space:normal; }
.btn-pp-primary { background:var(--ed-ink); border-color:var(--ed-ink); box-shadow:none; color:#fff; border-radius:3px; }
.btn-pp-primary:hover { background:#365b49; color:#fff; box-shadow:0 5px 12px #243b3515; }
.btn-outline-primary { color:var(--ed-ink); border:1px solid var(--ed-ink); border-radius:3px; padding:.7rem 1.25rem; }
.btn-outline-primary:hover { color:#fff; background:var(--ed-ink); border-color:var(--ed-ink); }
.header-theme { background:var(--ed-paper); border-bottom:1px solid var(--ed-line); box-shadow:none; }
.header-theme .navbar-brand .site-title,.header-theme .navbar-nav .nav-link,.header-theme .navbar-nav .dropdown-toggle { color:var(--ed-ink)!important; }
.header-theme .navbar-nav .nav-link:hover { color:var(--ed-rust)!important; }
.header-theme .btn-outline-light { border-color:var(--ed-ink); color:var(--ed-ink); }
.header-theme .navbar-toggler { color:var(--ed-ink); border-color:var(--ed-line); }
.header-theme .navbar-toggler-icon { filter:invert(1); }
.site-main { position:relative; }
.skip-link { position:fixed; top:8px; left:12px; padding:12px; background:var(--ed-ink); color:white; z-index:2000; transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.editorial { --page-accent:var(--ed-rust); width:100%; }
.editorial :where(p,li) { max-width:68ch; }
.editorial h1 { font-size:clamp(2.65rem,5.6vw,5.6rem); line-height:1.04; }
.editorial h2 { font-size:clamp(2rem,3.5vw,3.4rem); line-height:1.1; }
.editorial h3 { font-size:clamp(1.3rem,1.8vw,1.65rem); line-height:1.25; }
.editorial .eyebrow,.eyebrow { display:block; color:var(--page-accent,var(--ed-rust)); text-transform:uppercase; font-size:.72rem; font-weight:700; letter-spacing:.15em; margin:0 0 1.1rem; }
.editorial .lead { font-size:clamp(1.12rem,1.6vw,1.35rem); line-height:1.65; }
.editorial .lede { font-size:clamp(1.25rem,2.3vw,1.85rem); line-height:1.5; }
.ed-section { padding-block:clamp(3.5rem,7vw,7rem); }
.ed-split { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(2rem,5vw,6rem); align-items:start; }
.ed-split > * { min-width:0; }
.ed-split .narrow { max-width:48ch; margin-left:auto; }
.ed-rule { border-top:1px solid var(--ed-line); }
.ed-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.ed-actions .btn { padding:.85rem 1.4rem; }
.ed-hero { position:relative; padding-block:clamp(3rem,6vw,6rem); }
.home-hero { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:3rem; align-items:center; }
.home-hero h1 { max-width:13ch; }
.home-hero .lead { max-width:49ch; margin-top:1.6rem; }
.orbit { aspect-ratio:1; width:100%; max-width:400px; position:relative; border:1px solid #bac7b7; border-radius:50%; display:grid; place-items:center; margin:auto; }
.orbit::before { content:''; position:absolute; inset:11%; border:1px solid #bac7b7; border-radius:50%; background:radial-gradient(circle at 30% 20%,#e6eadf,#cbd7c2); box-shadow:18px 25px 0 -4px #e7dac4; }
.orbit-content { position:relative; z-index:1; text-align:center; padding:22%; }
.orbit-content strong { display:block; font-family:var(--ed-serif); font-size:clamp(2.2rem,4vw,3.9rem); line-height:1.03; letter-spacing:-.055em; font-weight:400; }
.orbit-content span { display:block; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; margin-top:1rem; }
.orbit-note { position:absolute; right:0; bottom:5%; background:var(--ed-paper); border-left:3px solid var(--ed-rust); padding:.8rem 1rem; max-width:190px; font-size:.83rem; box-shadow:0 7px 20px #243b3510; z-index:2; }
.statement { background:var(--ed-ink); padding:clamp(2rem,6vw,6rem); position:relative; }
.statement h2,.statement p,.statement blockquote { color:var(--ed-paper); }
.statement .eyebrow { color:#d8c4a1; }
.statement blockquote { font-family:var(--ed-serif); font-size:clamp(1.9rem,3.7vw,3.7rem); line-height:1.2; max-width:27ch; margin:0; letter-spacing:-.035em; }
.statement .aside { margin-top:2rem; max-width:44ch; margin-left:auto; font-size:1rem; color:#d7dfd3; }
.project-pair { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-top:3rem; }
.project-teaser { position:relative; padding:2rem 0; border-top:1px solid var(--ed-ink); }
.project-teaser .project-code { font-family:var(--ed-serif); font-size:clamp(3.5rem,7vw,6rem); line-height:1; color:var(--page-accent); display:block; margin-bottom:1.5rem; }
.project-teaser:nth-child(2) { --page-accent:#365d67; margin-top:3rem; }
.project-teaser h3 { font-size:clamp(1.65rem,2.8vw,2.5rem); max-width:18ch; }
.status-label { display:inline-flex; gap:.5rem; align-items:center; border:1px solid currentColor; border-radius:30px; padding:.4rem .85rem; font-size:.75rem; font-weight:600; line-height:1.5; max-width:100%; }
.status-label::before { content:''; width:7px; height:7px; border-radius:50%; background:currentColor; flex-shrink:0; }
.participation-steps { list-style:none; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.8rem; counter-reset:step; margin-top:3rem; }
.participation-steps li { counter-increment:step; border-top:1px solid var(--ed-line); padding-top:1.4rem; }
.participation-steps li::before { content:'0' counter(step); display:block; color:var(--ed-rust); font-family:var(--ed-serif); font-size:2rem; margin-bottom:1.5rem; }
.participation-steps h3 { font-size:1.3rem; }
.learning-cycle { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; margin-top:2.4rem; }
.learning-cycle > div { border:1px solid var(--ed-line); border-radius:50%; aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:12%; }
.learning-cycle strong { font-size:clamp(.85rem,1.7vw,1.25rem); letter-spacing:.1em; color:var(--ed-ink); }
.learning-cycle span { font-size:.8rem; color:var(--ed-muted); }
.flow-ledger { list-style:none; padding:0; margin:2rem 0 0; }
.flow-ledger li { padding:.85rem 0; border-bottom:1px solid var(--ed-line); display:flex; justify-content:space-between; gap:1rem; font-family:var(--ed-serif); font-size:1.6rem; }
.flow-ledger li span { font-family:Arial,sans-serif; font-size:.75rem; color:var(--ed-rust); }
.empty-state { background:#e6eadf; padding:2rem; border-left:3px solid var(--ed-ink); }
.empty-state h3 { font-size:1.5rem; }
.update-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.update-list article { border-top:1px solid var(--ed-line); padding-top:1.5rem; }
.update-list .empty-state { grid-column:1/-1; }
/* Membership: separate moments, equality given equal visual weight. */
.membership-hero h1 { max-width:16ch; }
.membership-hero { padding-block:clamp(3rem,7vw,7rem); }
.membership-hero .lead { max-width:40ch; }
.membership-statement { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:3rem; background:var(--ed-sand); padding:clamp(2rem,5vw,5rem); }
.membership-statement h2 { max-width:10ch; font-size:clamp(2.4rem,5vw,5rem); }
.quote-orbit { background:var(--ed-ink); color:white; border-radius:50%; aspect-ratio:1; display:flex; align-items:center; padding:15%; box-shadow:18px 18px 0 #f6f2e9; position:relative; margin-bottom:1rem; }
.quote-orbit blockquote { font-family:var(--ed-serif); font-size:clamp(1.35rem,2.4vw,2.2rem); line-height:1.3; margin:0; color:#fff; text-align:center; }
.membership-equality { padding:clamp(2rem,5vw,5rem); background:var(--ed-sage); margin-block:2rem; }
.equality-circles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(.6rem,3vw,3rem); margin:2.5rem auto; max-width:850px; }
.equality-circles div { aspect-ratio:1; border:1px solid var(--ed-ink); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-direction:column; padding:10%; text-align:center; }
.equality-circles span { text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; margin-bottom:.5rem; }
.equality-circles strong { font-family:var(--ed-serif); font-size:clamp(1.2rem,3vw,2.5rem); font-weight:400; letter-spacing:-.03em; }
.membership-quiet { max-width:70ch; margin:2rem auto 0; }
.membership-quiet p { font-size:.94rem; }
.plan-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.membership-card { border-top:2px solid var(--ed-ink); border-radius:0; background:transparent; padding:1.5rem 0; height:auto; display:flex; flex-direction:column; box-shadow:none; min-width:0; }
.membership-card h3 { font-size:1.5rem; }
.membership-price { font-family:var(--ed-serif); font-size:clamp(2.4rem,4vw,3.5rem); color:var(--ed-ink); margin:.8rem 0; line-height:1.1; }
.membership-price span { display:block; font: .78rem/1.5 Arial,sans-serif; color:var(--ed-muted); margin-top:.5rem; }
.membership-benefits { padding-left:1.15rem; margin:.8rem 0; font-size:.9rem; line-height:1.55; }
.membership-benefits li { padding-left:.1rem; margin-bottom:.45rem; }
.membership-benefits li::marker { color:var(--ed-ink); }
.membership-premium-benefits { border-top:1px solid var(--ed-line); padding-top:1rem; margin-top:.5rem; }
.membership-premium-benefits h4 { font-size:.95rem; line-height:1.45; font-weight:600; font-family:inherit; color:var(--ed-ink); margin:.3rem 0 .6rem; }
.membership-premium-benefits h4:not(:first-child) { margin-top:1.2rem; }
.membership-benefit-detail { font-size:.85rem; line-height:1.5; margin:.4rem 0 .9rem; }
.membership-benefit-terms { font-size:.85rem; line-height:1.55; color:var(--ed-muted); margin:.8rem 0 0; }
.membership-card form { margin-top:.8rem; padding-top:1.5rem; }
.membership-note { max-width:75ch; margin:3rem 0; border-top:1px solid var(--ed-line); padding-top:1.5rem; }
.membership-note p { font-size:.9rem; }
/* Project briefs share components, each with its own accent and diagram. */
.project-brief { --page-accent:var(--ed-rust); }
.project-brief.p002 { --page-accent:#365d67; }
.project-hero { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:clamp(2rem,5vw,5rem); padding-block:3rem 4rem; align-items:center; }
.project-number { font-family:var(--ed-serif); color:var(--page-accent); font-size:clamp(4.5rem,11vw,10rem); line-height:.85; letter-spacing:-.07em; display:block; margin:0 0 2rem; }
.project-hero h1 { font-size:clamp(2.5rem,4.8vw,4.8rem); max-width:18ch; }
.project-meta { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; border-top:1px solid var(--ed-line); padding-top:1.3rem; margin-top:2rem; }
.project-meta dt { font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:var(--page-accent); margin-bottom:.4rem; }
.project-meta dd { font-size:.9rem; color:var(--ed-muted); }
.project-art { background:var(--ed-sand); padding:2rem; position:relative; margin:0; }
.p002 .project-art { background:#dbe5e2; }
.project-art svg { width:100%; height:auto; display:block; }
.project-art figcaption { font-size:.75rem; margin-top:1.5rem; color:var(--ed-ink); }
.project-question { background:var(--ed-ink); color:white; padding:clamp(2rem,5vw,5rem); margin-bottom:3rem; }
.p002 .project-question { background:#2f4951; }
.project-question .eyebrow { color:#d8c4a1; }
.project-question h2 { color:#fff; font-size:clamp(1.8rem,3.8vw,3.5rem); line-height:1.2; max-width:30ch; }
.project-question p { color:#e4eadf; }
.project-section { padding-block:3.5rem; border-top:1px solid var(--ed-line); }
.project-section.ed-split { grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); }
.project-section h2 { max-width:17ch; }
.project-copy > p:last-child { margin-bottom:0; }
.equation { padding:clamp(1.4rem,4vw,3.5rem); background:var(--ed-sand); margin:2rem 0; }
.equation figcaption { font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:2rem; }
.equation-parts { display:flex; gap:.6rem; align-items:center; justify-content:space-between; }
.equation-parts strong { background:#f7f3e9; padding:1.4rem .7rem; text-align:center; flex:1; font-size:clamp(.78rem,1.2vw,1rem); min-width:0; }
.equation-parts strong:last-child { background:var(--ed-ink); color:white; }
.equation-parts span { font-family:var(--ed-serif); font-size:1.8rem; }
.equation .formula-line { font-size:.85rem; margin-top:1.5rem; }
.process-sequence { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; counter-reset:process; margin:2rem 0; }
.process-sequence li { padding:1.4rem; border-left:1px solid var(--ed-line); border-bottom:1px solid var(--ed-line); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; counter-increment:process; }
.process-sequence li::before { content:'0' counter(process) ' ↗'; display:block; font-size:1.6rem; font-family:var(--ed-serif); color:var(--page-accent); margin-bottom:1rem; }
.measurement-section { position:relative; background:var(--ed-sage); padding:clamp(1.5rem,4vw,3.5rem); margin:2rem 0; box-shadow:14px 14px 0 #e7dac4; }
.p002 .measurement-section { background:#dbe5e2; box-shadow:14px 14px 0 #e6dcc9; }
.measurements { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin:2rem 0 0; }
.measurements > div { border-top:1px solid #a4b09d; padding-top:1rem; }
.measurements dt { font-weight:600; color:var(--ed-ink); margin-bottom:.8rem; }
.measurements dd { font-size:.85rem; margin-bottom:.5rem; color:var(--ed-muted); }
.measurements .unmeasured { display:block; font-size:.76rem; font-weight:600; color:var(--page-accent); }
.roadmap { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:2rem; }
.roadmap li { position:relative; border-top:2px solid var(--ed-line); padding:1.5rem 1.5rem 2rem 0; }
.roadmap .current { border-color:var(--page-accent); }
.roadmap-number { font-family:var(--ed-serif); font-size:2.6rem; color:var(--page-accent); display:block; margin-bottom:1rem; }
.roadmap h3 { font-size:1.2rem; }
.roadmap p { font-size:.87rem; }
.roadmap-state { font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; display:block; margin-top:1rem; color:var(--page-accent); }
.system-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; margin:2rem 0; background:#e6e9df; }
.system-grid section { grid-column:span 2; border-top:1px solid var(--ed-line); padding:1.8rem; border-right:1px solid var(--ed-line); }
.system-grid section:nth-child(1) { grid-column:span 3; background:#dbe5e2; }
.system-grid section:nth-child(2) { grid-column:span 3; background:#e6dcc9; }
.system-grid section:last-child { grid-column:span 6; display:grid; grid-template-columns:1fr 2fr; gap:2rem; }
.system-grid .eyebrow { margin-bottom:.6rem; }
.system-grid p { font-size:.9rem; }
.cost-index { list-style:none; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; counter-reset:cost; margin:2rem 0; }
.cost-index li { counter-increment:cost; border-bottom:1px solid var(--ed-line); padding:1rem .6rem 1rem 0; font-size:.9rem; }
.cost-index li::before { content:counter(cost,decimal-leading-zero); display:block; color:var(--page-accent); font-size:.68rem; letter-spacing:.08em; }
.question-list { columns:2; column-gap:3rem; padding-left:1.2rem; }
.question-list li { padding:0 0 1rem .2rem; break-inside:avoid; }
.project-close { background:var(--ed-ink); padding:clamp(2rem,5vw,4rem); margin-top:3rem; }
.project-close h2,.project-close p { color:var(--ed-paper); }
.project-close a { color:#e6dbc1; }
.project-close .eyebrow { color:#d8c4a1; }
.stage-strip { list-style:none; display:flex; flex-wrap:wrap; gap:.6rem; padding:0; margin:2rem 0; }
.stage-strip li { padding:.5rem .8rem; border:1px solid var(--ed-line); font-size:.82rem; }
.project-directory { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.project-directory .project-teaser { padding:2rem; background:#e6dcc9; }
.project-directory .project-teaser:nth-child(2) { background:#dbe5e2; }
.database-projects { margin-top:4rem; }
.database-project { padding:1.8rem 0; border-top:1px solid var(--ed-line); display:grid; grid-template-columns:1fr 1.2fr auto; gap:1.5rem; align-items:start; }
.database-project h3 { font-size:1.5rem; }
.mission-principles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem 3.5rem; margin-top:2rem; }
.mission-principles section { border-top:1px solid var(--ed-line); padding-top:1.5rem; }
.values-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2rem; padding:0; }
.values-grid dt { font-family:var(--ed-serif); font-size:1.5rem; font-weight:400; margin-bottom:.75rem; }
.values-grid dd { font-size:.9rem; margin:0; }
.founding-copy { max-width:70ch; }
.founding-copy h2 { font-size:clamp(2rem,3vw,3rem); }
.founding-copy p { margin-bottom:1.2rem; }
.account-page { max-width:1000px; margin:3rem auto; display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); }
.account-page h1 { font-size:clamp(2.4rem,4vw,4rem); max-width:13ch; }
.account-page form { background:#ebe7dc; padding:clamp(1.3rem,3vw,2.5rem); border-top:2px solid var(--ed-ink); }
.account-page form .btn { width:100%; }
.account-page .form-control { background:#fcfaf4; border:1px solid #869185; border-radius:2px; min-height:46px; }
.account-page .account-aside { font-size:.9rem; border-top:1px solid var(--ed-line); margin-top:2rem; padding-top:1.5rem; }
.dashboard-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; padding-block:2rem; }
.dashboard-overview section { border-top:1px solid var(--ed-line); padding-top:1rem; }
.site-footer { padding-block:3rem; margin-top:5rem; border-top:1px solid var(--ed-line); }
.footer-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:3rem; }
.site-footer strong { font-family:var(--ed-serif); font-weight:400; font-size:1.6rem; }
.site-footer p { max-width:48ch; font-size:.9rem; }
.site-footer nav { display:flex; flex-wrap:wrap; align-content:start; gap:.5rem 1.4rem; }
.site-footer nav a { padding:.4rem 0; min-height:44px; font-size:.9rem; }
.site-footer .financial-note { max-width:90ch; font-size:.78rem; margin-top:2rem; }
/* No animation gates essential copy. Only optional control transitions are used. */
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } .btn:hover { transform:none; } }
@media (max-width:1199px) { .plan-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:991px) { .home-hero { grid-template-columns:1.4fr 1fr; gap:1.5rem; } .ed-split { gap:2rem; } .participation-steps { grid-template-columns:repeat(2,minmax(0,1fr)); } .values-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) {
  .home-hero,.ed-split,.project-section.ed-split,.project-hero,.membership-statement,.account-page,.footer-layout { grid-template-columns:1fr; }
  .home-hero h1 { max-width:16ch; }
  .home-hero .orbit { max-width:320px; margin-top:1rem; }
  .ed-split .narrow { margin-left:0; }
  .project-pair,.project-directory,.mission-principles,.update-list { grid-template-columns:1fr; }
  .project-teaser:nth-child(2) { margin-top:0; }
  .project-meta { grid-template-columns:1fr; }
  .project-art { max-width:500px; }
  .membership-statement h2 { max-width:15ch; }
  .quote-orbit { max-width:420px; margin-inline:auto; padding:16%; }
  .quote-orbit blockquote { font-size:clamp(1.35rem,5.4vw,2rem); }
  .equality-circles { gap:.6rem; }
  .equality-circles span { font-size:.6rem; letter-spacing:.05em; }
  .equality-circles strong { font-size:clamp(.86rem,3.5vw,1.5rem); }
  .plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
  .measurements { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
  .roadmap { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cost-index { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .system-grid { grid-template-columns:1fr 1fr; }
  .system-grid section,.system-grid section:nth-child(1),.system-grid section:nth-child(2) { grid-column:span 1; }
  .system-grid section:last-child { grid-column:span 2; display:block; }
  .database-project { grid-template-columns:1fr; }
  .question-list { columns:1; }
  .equation-parts { flex-direction:column; }
  .equation-parts strong { width:100%; padding:1rem; }
  .measurement-section { box-shadow:6px 6px 0 #e7dac4; margin-right:6px; }
  .project-section { padding-block:2.5rem; }
  .account-page { margin-block:2rem; }
  .account-page > * { min-width:0; }
}
@media (max-width:399px) {
  .plan-grid,.measurements,.roadmap,.system-grid,.values-grid { grid-template-columns:1fr; }
  .system-grid section:last-child { grid-column:span 1; }
  .process-sequence { grid-template-columns:1fr; }
  .participation-steps { grid-template-columns:1fr; }
  .ed-actions .btn { width:100%; }
  .learning-cycle { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .membership-equality { padding:1.2rem; }
  .equality-circles { grid-template-columns:1fr; max-width:190px; gap:1rem; }
  .equality-circles strong { font-size:1.8rem; }
  .equality-circles span { font-size:.72rem; }
}
@media print { .header-theme,.site-footer,.ed-actions { display:none; } .statement,.project-question { background:white; color:black; } .statement blockquote,.statement p,.project-question h2 { color:black; } }
/* Keep the navigation control visible independently of Bootstrap's icon asset. */
.header-theme .navbar-toggler-icon { background-image:none!important; filter:none; position:relative; }
.header-theme .navbar-toggler-icon::before { content:''; position:absolute; left:3px; right:3px; top:7px; height:2px; background:var(--ed-ink); box-shadow:0 7px 0 var(--ed-ink),0 14px 0 var(--ed-ink); }
@media(max-width:767px) { .dashboard-overview { grid-template-columns:1fr; } }
@media(max-width:399px) { .table-responsive .table { table-layout:fixed; } .table-responsive :where(th,td) { overflow-wrap:anywhere; } }
.header-theme .navbar-toggler { min-width:44px; min-height:44px; }
.ed-actions a { min-height:44px; display:inline-flex; align-items:center; }
.guide-sections { margin-top:2rem; }
.guide-sections details { border-top:1px solid var(--ed-line); padding-block:1rem; }
.guide-sections summary { font-family:var(--ed-serif); font-size:clamp(1.2rem,2vw,1.6rem); color:var(--ed-ink); cursor:pointer; padding:.7rem .3rem; min-height:44px; }
.guide-sections details > div { max-width:70ch; padding:1rem .3rem; }
.status-definitions > div { padding:.8rem 0; border-top:1px solid var(--ed-line); }
.status-definitions dt { color:var(--ed-ink); }
.status-definitions dd { margin:0; }
.statement a { color:#e6dbc1; }

/* Founder introduction: an editorial frame with a reserved 16:9 player area. */
.founder-video { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr); gap:clamp(2rem,4vw,4rem); align-items:center; }
.founder-video > * { min-width:0; }
.founder-video-intro h2 { max-width:16ch; }
.founder-video-intro p { max-width:40ch; }
.founder-video-media { width:100%; margin-inline:auto; }
.founder-video-frame { aspect-ratio:16 / 9; width:100%; background:var(--ed-ink); border:1px solid var(--ed-ink); box-shadow:10px 10px 0 var(--ed-sand); }
.founder-video-frame iframe { display:block; width:100%; height:100%; border:0; }
.founder-video-frame iframe:focus-visible { outline:3px solid var(--ed-rust); outline-offset:4px; }
.founder-video-link { margin:1.2rem 0 0; font-size:.85rem; }
.founder-video-link a { display:inline-flex; align-items:center; gap:.3rem; min-height:44px; }
@media(max-width:767px) { .founder-video { grid-template-columns:1fr; } .founder-video-frame { box-shadow:6px 6px 0 var(--ed-sand); width:calc(100% - 6px); margin-inline:auto; } }
