/* build:1105e80 */
/* manifesto.css — redesigned to match the ECO public-page design system (S245).
   Structure/layout only; all color & type tokens come from theme.css.
   Local aliases mirror confluence.css so the look is consistent across pages. */

:root{
  --blue:   var(--color-accent-c);
  --green:  var(--color-accent-g);
  --white:  var(--color-text);
  --muted:  var(--color-text-dim);
  --border: var(--color-border);
}

.m-wrap{ overflow-x:hidden; }

/* ── HERO ── */
.m-hero{ text-align:center; padding:clamp(64px,12vh,140px) 40px clamp(48px,8vh,90px); max-width:1000px; margin:0 auto; }
.m-eye{ font-family:var(--font-mono,'Arial','Helvetica',sans-serif); font-size:var(--text-sm); letter-spacing:.28em; text-transform:uppercase; color:var(--blue); margin-bottom:28px; }
.m-title{ font-family:var(--font-display,'Arial Black','Arial',sans-serif); font-weight:300; line-height:.9; letter-spacing:-.03em; font-size:clamp(3.5rem,12vw,8rem); margin-bottom:40px; color:var(--color-text); }
.m-title .c{ color:var(--blue); display:block; }
.m-title .g{ color:var(--green); font-style:italic; display:block; }
.m-defs{ display:grid; grid-template-columns:1fr 1fr; gap:32px; max-width:760px; margin:0 auto; text-align:left; }
.m-def{ border-top:1px solid var(--border); padding-top:18px; }
.m-def-label{ font-family:var(--font-mono,'Arial','Helvetica',sans-serif); font-size:var(--text-sm); font-weight:700; letter-spacing:.18em; text-transform:uppercase; margin-bottom:10px; }
.m-def-label.c{ color:var(--blue); }
.m-def-label.g{ color:var(--green); }
.m-def p{ color:var(--muted); line-height:1.7; font-size:var(--text-base); }

/* ── DIVIDER ── */
.m-divider{ display:flex; align-items:center; gap:20px; max-width:1100px; margin:0 auto; padding:0 48px; }
.m-divider .ln{ flex:1; height:1px; background:var(--border); }
.m-divider .mk{ font-family:var(--font-mono,'Arial','Helvetica',sans-serif); font-size:var(--text-sm); color:var(--muted); letter-spacing:.15em; text-transform:uppercase; }

/* ── PRINCIPLES ── */
.m-principles{ max-width:1100px; margin:0 auto; padding:64px 48px; }
.m-principles-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.m-principle{ background:var(--color-surface); border:1px solid var(--color-border); padding:32px 28px; transition:background .25s, transform .25s; }
.m-principle:hover{ background:var(--color-surface-hover,var(--color-surface)); transform:translateY(-2px); }
.m-principle .num{ font-family:var(--font-mono,'Arial','Helvetica',sans-serif); font-size:var(--text-sm); letter-spacing:.18em; color:var(--blue); margin-bottom:16px; font-weight:700; }
.m-principle .txt{ font-family:var(--font-display,'Arial Black','Arial',sans-serif); font-weight:400; font-size:22px; line-height:1.3; color:var(--white); }
.m-principle .txt em{ color:var(--blue); font-style:italic; }
.m-principle .txt .green{ color:var(--green); }
.m-principle .txt .amber{ color:var(--gold, var(--color-accent-a)); }

/* ── PROSE SECTIONS ── */
.m-section{ max-width:820px; margin:0 auto; padding:80px 48px; text-align:center; }
.m-section .body{ font-family:var(--font-display,'Arial Black','Arial',sans-serif); font-weight:300; font-size:clamp(17px,2vw,22px); line-height:1.85; color:var(--white); }
.m-section .body p{ margin-bottom:20px; }
.m-section .body p:last-child{ margin-bottom:0; }
.m-section .body strong{ color:var(--white); font-weight:700; }
.m-section .body em{ color:var(--blue); font-style:italic; }
.m-pull{ font-family:var(--font-display,'Arial Black','Arial',sans-serif); font-weight:700; font-size:clamp(17px,2vw,24px); color:var(--white); border-left:3px solid var(--green); padding:6px 0 6px 24px; margin:36px auto 0; text-align:left; max-width:680px; line-height:1.5; }
.m-pull em{ color:var(--green); font-style:italic; }

/* ── CLIMAX ── */
.m-climax{ text-align:center; padding:clamp(80px,12vh,140px) 40px; border-top:1px solid var(--border); }
.m-climax h2{ font-family:var(--font-display,'Arial Black','Arial',sans-serif); font-weight:300; font-size:clamp(34px,5vw,64px); line-height:1.1; margin-bottom:40px; }
.m-climax h2 em{ color:var(--blue); font-style:italic; }
.m-climax h2 .green{ color:var(--green); }
.m-actions{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* buttons (self-contained, no dependency on components.css) */
.m-btn{ font-family:var(--font-display,'Arial Black','Arial',sans-serif); font-weight:700; font-size:var(--text-base); letter-spacing:.04em; padding:14px 30px; border-radius:28px; text-decoration:none; display:inline-block; transition:all .2s; cursor:pointer; }
.m-btn.solid{ background:var(--blue); color:var(--void,var(--color-bg)); border:1px solid var(--blue); }
.m-btn.solid:hover{ filter:brightness(1.1); }
.m-btn.ghost{ background:transparent; color:var(--white); border:1px solid var(--border); }
.m-btn.ghost:hover{ border-color:var(--blue); color:var(--blue); }

/* ── CLOSING CTA ── */
.m-cta{ text-align:center; padding:clamp(72px,10vh,120px) 40px; background:var(--void,var(--color-bg)); border-top:1px solid var(--border); }
.m-cta h2{ font-family:var(--font-display,'Arial Black','Arial',sans-serif); font-weight:300; font-size:clamp(30px,4.5vw,56px); line-height:1.1; margin-bottom:14px; color:var(--white); }
.m-cta .sub{ color:var(--muted); letter-spacing:.04em; margin-bottom:34px; }

/* ── MID-PAGE CTA ── */
.m-mid-cta{ text-align:center; padding:clamp(48px,7vh,80px) 40px; background:var(--void,var(--color-bg)); border-top:1px solid var(--border); border-bottom:1px solid var(--border); margin:0; }
.m-mid-cta-text{ font-family:var(--font-display,'Arial Black','Arial',sans-serif); font-weight:300; font-size:clamp(22px,3vw,38px); line-height:1.2; margin-bottom:24px; color:var(--white); }
.m-mid-cta-sub{ font-size:13px; font-weight:700; color:var(--muted); letter-spacing:.04em; margin-top:14px; }

/* ── FOOTER ── */
.m-footer{ text-align:center; padding:40px; border-top:1px solid var(--border); display:flex; flex-direction:column; gap:8px; align-items:center; }
.m-footer .brand{ font-family:var(--font-mono,'Arial','Helvetica',sans-serif); }
.m-footer .credit{ font-size:var(--text-sm); color:var(--muted); letter-spacing:.04em; }
.eco-sub-e{ color:#00AAFF; } .eco-sub-c{ color:#00CC44; } .eco-sub-o{ color:#FFFFFF; }

/* ── RESPONSIVE ── */
@media(max-width:860px){
  .m-principles-grid{ grid-template-columns:1fr; }
  .m-defs{ grid-template-columns:1fr; }
}
