/*
Theme Name:  GMD Campaign
Theme URI:   https://adamandjolkouyate.com
Author:      GMD — Génération pour la Modernité et le Développement
Author URI:  https://adamandjolkouyate.com
Description: Official campaign theme for Adama Ndjol Kouyaté — GMD Guinea 2026. Fully editable, bilingual (FR/EN), with Orange Money, PayPal and Zelle donation integration.
Version:     1.0.0
License:     GNU General Public License v2 or later
Text Domain: gmd-campaign
Tags:        political, campaign, bilingual, donation, one-page
*/

/* ── DESIGN TOKENS ── */
:root {
  --green-dark:   #2D3D1E;
  --green:        #3D5229;
  --green-mid:    #4A6235;
  --green-light:  #6B8A4E;
  --green-pale:   #C8D9B8;
  --green-ultra:  #EBF0E4;
  --gold:         #C9A84C;
  --gold-light:   #E2C97E;
  --gold-pale:    #F5EDD4;
  --white:        #FFFFFF;
  --off-white:    #F8F9F5;
  --ink:          #1C2415;
  --ink-soft:     #3A4D2A;
  --ink-muted:    #6B7F5C;
  --sand:         #B8C9A4;
}

/* ── RESET & BASE ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: 'Jost', sans-serif;
  background: var(--off-white);
  color: var(--ink);
  overflow-x: hidden;
  line-height: 1.6;
}
h1, h2, h3, h4, h5, h6,
.serif { font-family: 'Cormorant Garamond', Georgia, serif; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--green-mid); text-decoration: none; transition: color .2s; }
a:hover { color: var(--gold); }

/* ── CUSTOM CURSOR ── */
body { cursor: none; }
.cursor-dot  { width:8px; height:8px; background:var(--gold); border-radius:50%; position:fixed; transform:translate(-50%,-50%); pointer-events:none; z-index:9999; }
.cursor-ring { width:32px; height:32px; border:1.5px solid var(--gold-light); border-radius:50%; position:fixed; transform:translate(-50%,-50%); pointer-events:none; z-index:9998; transition:width .3s,height .3s,opacity .3s; }

/* ── TYPOGRAPHY ── */
.sec-label {
  font-size: .65rem; letter-spacing: .16em; text-transform: uppercase;
  color: var(--green-mid); margin-bottom: .9rem; font-weight: 500; display: block;
}
.sec-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 300; line-height: 1.15; color: var(--ink);
}
.sec-title em { font-style: italic; color: var(--green-mid); }

/* ── BUTTONS ── */
.btn-gold {
  background: var(--gold); color: var(--green-dark);
  padding: .8rem 2rem; border-radius: 4px;
  font-size: .78rem; letter-spacing: .1em; text-transform: uppercase;
  font-weight: 500; transition: all .25s; display: inline-block;
  border: none; cursor: pointer; font-family: 'Jost', sans-serif;
}
.btn-gold:hover { background: var(--gold-light); transform: translateY(-2px); color: var(--green-dark); }

.btn-ghost {
  background: transparent; color: rgba(255,255,255,.7);
  padding: .78rem 1.6rem; border-radius: 4px;
  font-size: .78rem; letter-spacing: .08em;
  display: inline-block; border: 1.5px solid rgba(255,255,255,.2);
  transition: all .25s; cursor: pointer; font-family: 'Jost', sans-serif;
}
.btn-ghost:hover { border-color: var(--gold); color: var(--gold); }

/* ── NAVIGATION ── */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 500;
  padding: 1.1rem 3rem;
  display: flex; align-items: center; justify-content: space-between;
  transition: background .4s, box-shadow .4s;
}
.site-header.scrolled {
  background: rgba(29,45,20,.97);
  backdrop-filter: blur(12px);
  box-shadow: 0 1px 0 rgba(201,168,76,.2);
}
.site-branding { display: flex; align-items: center; gap: .75rem; text-decoration: none; }
.logo-gmd {
  background: var(--gold); color: var(--green-dark);
  font-family: 'Jost', sans-serif; font-size: .7rem; font-weight: 500;
  letter-spacing: .12em; padding: .28rem .6rem; border-radius: 3px;
}
.site-name {
  font-family: 'Cormorant Garamond', serif; font-size: 1.05rem;
  font-weight: 500; color: var(--white); letter-spacing: .05em;
}
.main-nav { display: flex; align-items: center; gap: 2rem; }
.main-nav a {
  font-size: .72rem; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.65); font-weight: 400; transition: color .2s;
}
.main-nav a:hover,
.main-nav a.current-menu-item { color: var(--gold-light); }
.nav-donate {
  background: var(--gold) !important; color: var(--green-dark) !important;
  padding: .42rem 1.1rem; border-radius: 4px; font-weight: 500 !important;
}
.nav-donate:hover { opacity: .85 !important; }
.lang-btn {
  background: none; border: 1px solid rgba(255,255,255,.25);
  color: rgba(255,255,255,.6); padding: .32rem .75rem; border-radius: 4px;
  font-size: .7rem; cursor: pointer; font-family: 'Jost', sans-serif;
  letter-spacing: .08em; transition: all .2s;
}
.lang-btn:hover { border-color: var(--gold); color: var(--gold); }

/* Hamburger mobile */
.menu-toggle {
  display: none; background: none; border: none; cursor: pointer;
  flex-direction: column; gap: 5px; padding: .5rem;
}
.menu-toggle span {
  display: block; width: 24px; height: 2px;
  background: var(--white); border-radius: 2px; transition: all .3s;
}

/* ── HERO ── */
.hero-section {
  min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr;
  position: relative; overflow: hidden;
}
.hero-content {
  background: var(--green-dark); display: flex; flex-direction: column;
  justify-content: center; padding: 8rem 4rem 6rem 6rem;
  position: relative; z-index: 2;
}
.hero-content::before {
  content: '';position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='20' cy='20' r='1' fill='rgba(201,168,76,.06)'/%3E%3C/svg%3E");
}
.hero-visual {
  position: relative; overflow: hidden;
  background: linear-gradient(135deg, var(--green-mid) 0%, var(--green-dark) 100%);
}
.geo-shape { position: absolute; }
.geo-1 { width:200px;height:200px;background:var(--gold);opacity:.12;top:-60px;left:-60px;transform:rotate(15deg); }
.geo-2 { width:140px;height:140px;background:var(--gold);opacity:.08;bottom:80px;right:-40px;transform:rotate(-20deg); }
.geo-3 { width:80px;height:80px;background:rgba(255,255,255,.06);top:30%;left:20px;transform:rotate(8deg); }
.ring-deco { position:absolute;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-42%); }
.ring-1 { width:400px;height:400px;border:1px solid rgba(201,168,76,.2); }
.ring-2 { width:500px;height:500px;border:1px dashed rgba(201,168,76,.1); }
.portrait-frame { position:absolute;bottom:0;left:50%;transform:translateX(-48%);width:320px;z-index:3; }
.portrait-img {
  width:320px;height:500px;object-fit:cover;object-position:top center;
  border-radius:4px 4px 0 0;border-top:3px solid var(--gold);display:block;
}
.portrait-label {
  background:var(--gold);padding:.6rem 1rem;text-align:center;
}
.portrait-label-name {
  font-family:'Jost',sans-serif;font-size:.78rem;font-weight:500;
  color:var(--green-dark);letter-spacing:.08em;text-transform:uppercase;
}
.portrait-label-slogan {
  font-size:.62rem;color:var(--green-dark);opacity:.7;letter-spacing:.1em;text-transform:uppercase;
}
.hero-stripe {
  position:absolute;bottom:0;left:0;width:100%;height:6px;
  background:linear-gradient(90deg,var(--gold),var(--gold-light),var(--gold));
}
.hero-party { display:flex;align-items:center;gap:.65rem;margin-bottom:1.5rem;position:relative;z-index:1; }
.party-badge {
  background:var(--gold);color:var(--green-dark);font-family:'Jost',sans-serif;
  font-size:.65rem;font-weight:500;letter-spacing:.14em;padding:.3rem .7rem;border-radius:3px;
}
.party-slogan { font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);font-weight:400; }
.hero-title {
  font-size:clamp(2.8rem,4.5vw,4.5rem);font-weight:300;line-height:1.1;
  color:var(--white);margin-bottom:.6rem;position:relative;z-index:1;
}
.hero-title em { font-style:italic;color:var(--gold-light); }
.hero-sig {
  font-family:'Cormorant Garamond',serif;font-size:1rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin-bottom:1.75rem;
  font-weight:400;position:relative;z-index:1;
}
.hero-sub {
  font-size:.93rem;line-height:1.85;color:rgba(255,255,255,.6);
  max-width:390px;font-weight:300;margin-bottom:2.5rem;position:relative;z-index:1;
}
.hero-actions { display:flex;gap:1rem;flex-wrap:wrap;position:relative;z-index:1; }

/* ── MANIFESTO ── */
.manifesto-section { padding:7rem 6rem;background:var(--off-white);position:relative;overflow:hidden; }
.manifesto-section::after {
  content:'';position:absolute;width:500px;height:500px;border-radius:50%;
  background:rgba(201,168,76,.05);top:-150px;right:-150px;pointer-events:none;
}
.manifesto-wrap {
  max-width:920px;margin:0 auto;display:grid;
  grid-template-columns:260px 1fr;gap:5rem;align-items:start;
}
.manifesto-aside { position:sticky;top:8rem; }
.manifesto-line { width:36px;height:2px;background:var(--gold);margin:1.5rem 0; }
.manifesto-by { font-size:.78rem;color:var(--ink-muted);font-weight:300;line-height:1.65; }
.manifesto-intro {
  font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:300;
  font-style:italic;line-height:1.6;color:var(--ink);margin-bottom:2.5rem;
  border-left:3px solid var(--gold);padding-left:1.5rem;
}
.manifesto-body p { font-size:.92rem;line-height:1.9;color:var(--ink-soft);margin-bottom:1.4rem;font-weight:300; }
.manifesto-pull {
  border-left:3px solid var(--green-light);padding:1.25rem 1.75rem;
  margin:2rem 0;background:var(--green-ultra);border-radius:0 8px 8px 0;
}
.manifesto-pull p {
  font-family:'Cormorant Garamond',serif;font-size:1.2rem;
  line-height:1.6;color:var(--green-mid);margin:0;
}

/* ── PROGRAMME ── */
.programme-section { padding:7rem 4rem;background:var(--green-dark); }
.programme-section .sec-label { color:var(--gold-light); }
.programme-section .sec-title { color:var(--white); }
.programme-section .sec-title em { color:var(--gold-light); }
.pillars-grid {
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:1.5px;background:rgba(201,168,76,.15);
  border-radius:6px;overflow:hidden;margin-top:3.5rem;
}
.pillar { background:rgba(255,255,255,.04);padding:2.5rem;transition:background .3s; }
.pillar:hover { background:rgba(201,168,76,.08); }
.pillar-num {
  font-family:'Cormorant Garamond',serif;font-size:3.5rem;font-weight:300;
  color:rgba(201,168,76,.2);line-height:1;margin-bottom:.75rem;
}
.pillar-icon {
  width:40px;height:40px;border-radius:4px;background:rgba(201,168,76,.12);
  display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;
}
.pillar-icon svg { width:17px;height:17px;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.pillar-title { font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:500;color:var(--white);margin-bottom:.6rem; }
.pillar-desc { font-size:.85rem;line-height:1.8;color:rgba(255,255,255,.5);font-weight:300; }

/* ── ROADMAP ── */
.roadmap-section { padding:7rem 4rem;background:var(--green-ultra); }
.roadmap-wrap { max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start; }
.road-quote-box {
  margin-top:2rem;background:var(--white);border-radius:6px;
  border:1px solid var(--green-pale);border-left:4px solid var(--gold);padding:2rem;
}
.road-quote-box p { font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:300;font-style:italic;color:var(--ink-soft);line-height:1.7; }
.road-quote-box cite { display:block;margin-top:.9rem;font-size:.75rem;color:var(--green-mid);font-weight:500;letter-spacing:.06em;font-style:normal; }
.timeline { margin-top:.5rem; }
.t-item { display:grid;grid-template-columns:56px 1fr;gap:1rem;margin-bottom:2.25rem; }
.t-item:last-child { margin-bottom:0; }
.t-col { display:flex;flex-direction:column;align-items:center;gap:4px; }
.t-circle {
  width:36px;height:36px;border-radius:50%;background:var(--white);
  border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;
  font-family:'Cormorant Garamond',serif;font-size:.95rem;font-weight:500;color:var(--green-mid);flex-shrink:0;
}
.t-vline { flex:1;width:1px;background:var(--gold);opacity:.3;min-height:28px; }
.t-date { font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;color:var(--green-mid);font-weight:500;margin-bottom:.22rem; }
.t-title { font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:500;color:var(--ink);margin-bottom:.35rem; }
.t-desc { font-size:.83rem;color:var(--ink-soft);line-height:1.7;font-weight:300; }

/* ── DONATION ── */
.donation-section { padding:7rem 4rem;background:var(--green);position:relative;overflow:hidden; }
.donation-section::before {
  content:'';position:absolute;width:600px;height:600px;border-radius:50%;
  background:rgba(201,168,76,.06);top:-200px;right:-200px;pointer-events:none;
}
.donation-wrap { max-width:620px;margin:0 auto;text-align:center;position:relative;z-index:1; }
.donation-section .sec-label { color:var(--gold-light); }
.donation-title { font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3vw,3rem);font-weight:300;color:var(--white);line-height:1.2;margin-bottom:1rem; }
.donation-title em { font-style:italic;color:var(--gold-light); }
.donation-sub { font-size:.88rem;color:rgba(255,255,255,.45);font-weight:300;line-height:1.75;margin-bottom:2rem;max-width:420px;margin-left:auto;margin-right:auto; }
.prog-info { display:flex;justify-content:space-between;margin-bottom:.55rem; }
.prog-info span { font-size:.72rem;color:rgba(255,255,255,.3);letter-spacing:.06em; }
.prog-info strong { font-size:.72rem;color:var(--gold-light); }
.prog-track { height:3px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden;margin-bottom:2rem; }
.prog-bar { height:100%;width:68%;background:linear-gradient(90deg,var(--gold),var(--gold-light));border-radius:2px; }
.amounts { display:flex;gap:.65rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.1rem; }
.amt {
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.7);padding:.52rem 1.2rem;border-radius:4px;
  font-size:.83rem;cursor:pointer;font-family:'Jost',sans-serif;transition:all .25s;
}
.amt:hover, .amt.on { background:var(--gold);border-color:var(--gold);color:var(--green-dark); }
.custom-f {
  width:100%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  color:var(--white);padding:.72rem 1.2rem;border-radius:4px;font-size:.85rem;
  font-family:'Jost',sans-serif;margin-bottom:1.6rem;text-align:center;
}
.custom-f:focus { outline:none;border-color:var(--gold); }
.custom-f::placeholder { color:rgba(255,255,255,.22); }
.pay-row { display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem; }
.pay-btn {
  border:none;border-radius:4px;padding:.85rem 1rem;font-size:.78rem;font-weight:500;
  cursor:pointer;font-family:'Jost',sans-serif;transition:all .25s;
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  letter-spacing:.04em;text-transform:uppercase;
}
.pay-btn:hover { transform:translateY(-2px);filter:brightness(1.08); }
.p-orange { background:linear-gradient(135deg,#FF6B35,#E63900);color:#fff; }
.p-paypal { background:linear-gradient(135deg,#0079C1,#003087);color:#fff; }
.p-zelle  { background:linear-gradient(135deg,#6D1ED4,#4A00A0);color:#fff; }
.secure-note { margin-top:1.4rem;font-size:.65rem;color:rgba(255,255,255,.2);letter-spacing:.06em;display:flex;align-items:center;justify-content:center;gap:.45rem; }

/* ── MODALS ── */
.modal-overlay { display:none;position:fixed;inset:0;background:rgba(29,45,20,.8);backdrop-filter:blur(6px);z-index:800;align-items:center;justify-content:center; }
.modal-overlay.open { display:flex; }
.modal { background:var(--white);border-radius:8px;padding:2.75rem;max-width:390px;width:90%;position:relative;animation:rise .28s ease;border-top:4px solid var(--gold); }
@keyframes rise { from{transform:translateY(14px);opacity:0;}to{transform:translateY(0);opacity:1;} }
.modal-close { position:absolute;top:1.2rem;right:1.2rem;background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--ink-muted); }
.m-badge { font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green-mid);margin-bottom:1.1rem;font-weight:500; }
.modal h3 { font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:400;color:var(--ink);margin-bottom:.45rem; }
.modal p { font-size:.83rem;color:var(--ink-muted);line-height:1.65;margin-bottom:1.4rem;font-weight:300; }
.m-input { width:100%;border:1px solid var(--green-pale);border-radius:4px;padding:.62rem 1.2rem;font-size:.85rem;margin-bottom:.8rem;font-family:'Jost',sans-serif;color:var(--ink);background:var(--off-white);transition:border-color .2s; }
.m-input:focus { outline:none;border-color:var(--gold); }
.m-ro { background:var(--green-ultra) !important;color:var(--ink-muted) !important; }
.m-submit { width:100%;padding:.78rem;border-radius:4px;border:none;font-size:.8rem;font-weight:500;cursor:pointer;font-family:'Jost',sans-serif;color:#fff;transition:all .2s;letter-spacing:.08em;text-transform:uppercase; }
.m-submit:hover { opacity:.88;transform:translateY(-1px); }
.m-submit.orange { background:linear-gradient(135deg,#FF6B35,#E63900); }
.m-submit.paypal { background:linear-gradient(135deg,#0079C1,#003087); }

/* ── BLOG ── */
.blog-section { padding:5rem 4rem;background:var(--off-white); }
.blog-wrap { max-width:1100px;margin:0 auto; }
.posts-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem; }
.post-card { background:var(--white);border-radius:6px;overflow:hidden;border:1px solid var(--green-pale);transition:box-shadow .3s; }
.post-card:hover { box-shadow:0 8px 32px rgba(61,82,41,.12); }
.post-card-img { width:100%;height:180px;object-fit:cover; }
.post-card-img-placeholder { width:100%;height:180px;background:var(--green-ultra);display:flex;align-items:center;justify-content:center; }
.post-card-body { padding:1.5rem; }
.post-card-date { font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:.5rem; }
.post-card-title { font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:500;color:var(--ink);margin-bottom:.6rem;line-height:1.3; }
.post-card-title a { color:var(--ink); }
.post-card-title a:hover { color:var(--green-mid); }
.post-card-excerpt { font-size:.83rem;color:var(--ink-muted);line-height:1.65;font-weight:300; }
.post-card-link { display:inline-block;margin-top:1rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--green-mid);font-weight:500; }

/* Single post */
.single-post { max-width:760px;margin:8rem auto 5rem;padding:0 2rem; }
.single-post-header { margin-bottom:2.5rem; }
.single-post-title { font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3rem);font-weight:300;color:var(--ink);line-height:1.2;margin-bottom:1rem; }
.single-post-meta { font-size:.75rem;color:var(--ink-muted);letter-spacing:.06em; }
.single-post-content { font-size:.95rem;line-height:1.9;color:var(--ink-soft); }
.single-post-content p { margin-bottom:1.4rem; }
.single-post-content h2 { font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:400;color:var(--ink);margin:2rem 0 1rem; }
.single-post-content h3 { font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:400;color:var(--ink);margin:1.5rem 0 .75rem; }
.single-post-content img { border-radius:6px;margin:1.5rem 0; }
.single-post-content blockquote { border-left:3px solid var(--gold);padding:1rem 1.5rem;margin:1.5rem 0;font-style:italic;color:var(--green-mid);font-family:'Cormorant Garamond',serif;font-size:1.15rem; }

/* ── FOOTER ── */
.site-footer {
  background:var(--green-dark);padding:3rem 4rem;
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem;
  border-top:3px solid var(--gold);
}
.footer-brand p { font-family:'Cormorant Garamond',serif;font-size:.95rem;color:rgba(255,255,255,.35);margin-bottom:.3rem; }
.footer-brand small { font-size:.65rem;color:rgba(255,255,255,.15);letter-spacing:.05em;display:block; }
.gmd-footer-badge { display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem; }
.gmd-footer-badge .badge { background:var(--gold);color:var(--green-dark);font-family:'Jost',sans-serif;font-size:.6rem;font-weight:500;letter-spacing:.14em;padding:.2rem .5rem;border-radius:2px; }
.footer-links { display:flex;gap:1.5rem; }
.footer-links a { font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.2);transition:color .2s; }
.footer-links a:hover { color:var(--gold-light); }

/* ── WORDPRESS BLOCKS ── */
.wp-block-image img { border-radius:6px; }
.wp-block-quote { border-left:3px solid var(--gold);padding:1rem 1.5rem;margin:1.5rem 0;font-style:italic;color:var(--green-mid); }
.wp-block-separator { border:none;border-top:1px solid var(--green-pale);margin:2rem 0; }
.alignwide { margin-left:-4rem;margin-right:-4rem; }
.alignfull { margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);width:100vw; }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .hero-section { grid-template-columns: 1fr; min-height: auto; }
  .hero-content { padding: 7rem 2rem 3rem; }
  .hero-visual { height: 420px; }
  .portrait-frame { width: 240px; }
  .portrait-img { width: 240px; height: 380px; }
  .manifesto-section { padding: 5rem 1.5rem; }
  .manifesto-wrap { grid-template-columns: 1fr; gap: 2.5rem; }
  .manifesto-aside { position: static; }
  .programme-section { padding: 5rem 1.5rem; }
  .pillars-grid { grid-template-columns: 1fr; }
  .roadmap-section { padding: 5rem 1.5rem; }
  .roadmap-wrap { grid-template-columns: 1fr; gap: 3rem; }
  .donation-section { padding: 5rem 1.5rem; }
  .pay-row { grid-template-columns: 1fr; }
  .blog-section { padding: 4rem 1.5rem; }
  .posts-grid { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: 1fr; gap: 1.5rem; }
  .site-header { padding: 1rem 1.5rem; }
  .main-nav { display: none; flex-direction: column; position: absolute; top: 100%; left: 0; right: 0; background: rgba(29,45,20,.98); padding: 1.5rem 2rem; gap: 1.2rem; }
  .main-nav.open { display: flex; }
  .menu-toggle { display: flex; }
}

@media (max-width: 600px) {
  .posts-grid { grid-template-columns: 1fr; }
  .amounts { gap: .5rem; }
  .amt { padding: .45rem .9rem; font-size: .78rem; }
}
</style>
