/* =========================================================
   Go Green Guinée — style.css
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
    --green: #0f7f3d;
    --green-dark: #073d20;
    --green-light: #e6f2ea;
    --deep: #1f2a33;
    --cream: #f7f5ef;
    --muted: #5c6870;
    --line: rgba(31, 42, 51, .12);
    --gold: #d9a441;
    --white: #ffffff;
    --radius: 14px;
    --radius-lg: 22px;
    --shadow: 0 10px 30px -12px rgba(7, 61, 32, .18);
    --font-display: 'Fraunces', serif;
    --font-body: 'Manrope', sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: var(--font-body);
    color: var(--deep);
    background: var(--cream);
    -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }

a { color: inherit; text-decoration: none; }

h1, h2, h3, h4 {
    font-family: var(--font-display);
    font-weight: 600;
    line-height: 1.12;
    margin: 0 0 .5em;
    color: var(--green-dark);
}

p { margin: 0 0 1em; color: var(--muted); }

.container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
}

.section { padding: 96px 0; }
.section-tight { padding: 64px 0; }

.section-head { max-width: 640px; margin-bottom: 48px; }
.section-head.center { margin-left: auto; margin-right: auto; text-align: center; }

.kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--green);
    margin-bottom: 14px;
}
.kicker::before {
    content: "";
    width: 22px;
    height: 2px;
    background: var(--gold);
    display: inline-block;
}

.lead { font-size: 18px; }

/* Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 26px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 15px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
    white-space: nowrap;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--green); color: #fff; box-shadow: var(--shadow); }
.btn-primary:hover { background: var(--green-dark); }
.btn-outline { background: transparent; border-color: rgba(255,255,255,.7); color: #fff; }
.btn-outline:hover { background: rgba(255,255,255,.12); }
.btn-outline-dark { background: transparent; border-color: var(--green); color: var(--green-dark); }
.btn-outline-dark:hover { background: var(--green-light); }
.btn-gold { background: var(--gold); color: var(--green-dark); }
.btn-gold:hover { background: #c8933a; }
.btn-block { width: 100%; }
.btn[disabled] { opacity: .55; cursor: not-allowed; transform: none; }

/* =================== HEADER =================== */
.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(247, 245, 239, .92);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--line);
}
.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 24px;
    max-width: 1180px;
    margin: 0 auto;
    gap: 20px;
}
.brand { display: flex; align-items: center; gap: 10px; }
.brand img { height: 42px; width: auto; }

.main-nav ul {
    list-style: none;
    display: flex;
    gap: 26px;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}
.main-nav a {
    font-weight: 600;
    font-size: 14.5px;
    color: var(--deep);
    position: relative;
    padding: 6px 0;
}
.main-nav a:hover { color: var(--green); }

.header-actions { display: flex; align-items: center; gap: 14px; }

.lang-switch { display: flex; gap: 4px; font-size: 13px; font-weight: 700; }
.lang-switch a {
    padding: 5px 9px;
    border-radius: 8px;
    color: var(--muted);
}
.lang-switch a.active { background: var(--green); color: #fff; }

.nav-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
}
.nav-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--deep);
    margin: 5px 0;
    transition: .2s;
}

/* =================== HERO =================== */
.hero {
    position: relative;
    color: #fff;
    padding: 64px 0 0;
    overflow: hidden;
}
.hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center 65%;
    z-index: 0;
}
.hero-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(7,61,32,.92) 8%, rgba(7,61,32,.55) 55%, rgba(7,61,32,.15) 100%);
}
.hero-inner { position: relative; z-index: 1; padding-bottom: 80px; }
.hero-content { max-width: 620px; }
.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.3);
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    margin-bottom: 22px;
}
.hero h1 {
    color: #fff;
    font-size: clamp(34px, 5vw, 52px);
    margin-bottom: 20px;
}
.hero h1 em { font-style: normal; color: #ffd76a; }
.hero-text { color: rgba(255,255,255,.88); font-size: 17px; max-width: 520px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }

.stat-bar {
    position: relative;
    z-index: 1;
    background: #fff;
    border-radius: var(--radius-lg);
    box-shadow: 0 20px 50px -20px rgba(7,61,32,.35);
    margin: 0 24px;
    max-width: 1132px;
    margin-inline: auto;
    transform: translateY(48px);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.stat-item {
    padding: 28px 24px;
    text-align: center;
    border-right: 1px solid var(--line);
}
.stat-item:last-child { border-right: none; }
.stat-num {
    font-family: var(--font-display);
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 700;
    color: var(--green-dark);
    display: block;
}
.stat-label { font-size: 13.5px; color: var(--muted); font-weight: 600; margin-top: 4px; }
.stat-sub { font-size: 12px; color: var(--muted); opacity: .8; }
.hero-spacer { height: 48px; }

/* =================== WHY / CARDS =================== */
.cards-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.why-card {
    background: #fff;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow);
    border: 1px solid var(--line);
}
.why-card img { height: 170px; width: 100%; object-fit: cover; }
.why-card-body { padding: 24px; }
.why-card h3 { font-size: 20px; margin-bottom: 8px; }
.why-card p { font-size: 14.5px; margin: 0; }

/* =================== SOLUTIONS =================== */
.cards-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.sol-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 26px 18px;
    text-align: center;
    transition: transform .15s ease, box-shadow .15s ease;
}
.sol-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.sol-icon {
    width: 56px; height: 56px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: var(--green-light);
    display: flex; align-items: center; justify-content: center;
    color: var(--green);
}
.sol-icon svg { width: 26px; height: 26px; }
.sol-card h4 { font-size: 18px; margin-bottom: 6px; }
.sol-card p { font-size: 13.5px; margin: 0; }

/* =================== MOUNT BANNER =================== */
.mount-banner {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: stretch;
    background: var(--green-dark);
    border-radius: var(--radius-lg);
    overflow: hidden;
    color: #fff;
}
.mount-banner img { width: 100%; height: 100%; object-fit: cover; min-height: 320px; }
.mount-copy { padding: 46px; display: flex; flex-direction: column; justify-content: center; }
.mount-copy h2 { color: #fff; }
.mount-copy p { color: rgba(255,255,255,.82); }

/* =================== MANIFESTO =================== */
.manifesto {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 60px;
    align-items: center;
}
.manifesto-book {
    background: linear-gradient(160deg, var(--green) 0%, var(--green-dark) 100%);
    border-radius: var(--radius-lg);
    padding: 34px;
    color: #fff;
    aspect-ratio: 3/4;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: var(--shadow);
    position: relative;
    overflow: hidden;
}
.manifesto-book::after {
    content: "";
    position: absolute;
    right: -30px; bottom: -30px;
    width: 160px; height: 160px;
    border-radius: 50%;
    background: rgba(255,255,255,.08);
}
.manifesto-book .tag { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; opacity: .85; }
.manifesto-book h3 { color: #fff; font-size: 26px; margin: 14px 0 6px; }
.manifesto-book .sub { color: rgba(255,255,255,.8); font-size: 13.5px; }
.manifesto-book svg { width: 44px; height: 44px; opacity: .9; }

/* =================== PETITION =================== */
.petition {
    background: var(--green-dark);
    border-radius: var(--radius-lg);
    color: #fff;
    padding: 56px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
}
.petition h2 { color: #fff; }
.petition .kicker { color: #ffd76a; }
.petition .kicker::before { background: #ffd76a; }
.petition p.lead { color: rgba(255,255,255,.85); }
.petition ul { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 12px; }
.petition ul li { display: flex; gap: 10px; font-size: 14.5px; color: rgba(255,255,255,.9); align-items: flex-start; }
.petition ul li svg { flex: none; width: 18px; height: 18px; margin-top: 2px; color: #ffd76a; }

.petition-progress { margin-top: 26px; }
.progress-track {
    width: 100%; height: 10px; border-radius: 999px;
    background: rgba(255,255,255,.18); overflow: hidden;
}
.progress-fill { height: 100%; background: linear-gradient(90deg, #ffd76a, var(--gold)); border-radius: 999px; }
.progress-labels { display: flex; justify-content: space-between; font-size: 13px; margin-top: 8px; color: rgba(255,255,255,.75); }

.petition-form {
    background: #fff;
    border-radius: var(--radius);
    padding: 28px;
    color: var(--deep);
}
.field { margin-bottom: 16px; }
.field label { display: block; font-size: 13.5px; font-weight: 700; margin-bottom: 6px; color: var(--deep); }
.field input, .field textarea, .field select {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 10px;
    font-family: var(--font-body);
    font-size: 14.5px;
    background: #fbfaf7;
}
.field textarea { min-height: 120px; resize: vertical; }
.field input:focus, .field textarea:focus { outline: 2px solid var(--green); outline-offset: 1px; }
.hidden-field { position: absolute; left: -9999px; top: -9999px; }

.notice { padding: 12px 16px; border-radius: 10px; font-size: 15px; margin-bottom: 16px; }
.notice-success { background: #e6f6ec; color: #146a34; border: 1px solid #bfe8cd; }
.notice-error { background: #fdeceb; color: #b02a2a; border: 1px solid #f6c8c4; }

/* =================== FUNDING =================== */
.cards-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.fund-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 28px 22px;
    text-align: center;
}
.fund-icon {
    width: 50px; height: 50px; margin: 0 auto 14px;
    border-radius: 50%; background: var(--green-light);
    display: flex; align-items: center; justify-content: center; color: var(--green);
}
.fund-card .amount { font-family: var(--font-display); font-size: 26px; font-weight: 700; color: var(--green-dark); }
.fund-card p { font-size: 13.5px; margin: 6px 0 18px; }
.fund-note { display: flex; align-items: center; gap: 8px; justify-content: center; margin-top: 28px; font-size: 13.5px; color: var(--muted); }
.fund-note svg { width: 18px; height: 18px; color: var(--green); }

/* =================== DOCS =================== */
.cards-doc { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.doc-card {
    background: #fff;
    border-radius: var(--radius);
    overflow: hidden;
    border: 1px solid var(--line);
    box-shadow: 0 6px 18px -10px rgba(7,61,32,.2);
}
.doc-card .thumb { height: 140px; width: 100%; object-fit: cover; }
.doc-card .thumb-icon {
    height: 140px; width: 100%;
    background: linear-gradient(160deg, var(--green) 0%, var(--green-dark) 100%);
    display: flex; align-items: center; justify-content: center;
}
.doc-card .thumb-icon svg { width: 40px; height: 40px; color: #fff; opacity: .9; }
.doc-body { padding: 18px; }
.doc-tag {
    display: inline-block;
    font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
    background: var(--green-light); color: var(--green-dark);
    padding: 4px 9px; border-radius: 999px; margin-bottom: 10px;
}
.doc-body h4 { font-size: 15.5px; margin-bottom: 4px; }
.doc-body .soon { font-size: 12.5px; color: var(--muted); }

/* =================== PARTNERS =================== */
.partners { background: var(--green-light); border-radius: var(--radius-lg); padding: 56px; }
.partner-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 34px; }
.partner-card { background: #fff; border-radius: var(--radius); padding: 24px; text-align: center; }
.partner-card .icon { width: 46px; height: 46px; margin: 0 auto 12px; color: var(--green); }
.partner-card h4 { font-size: 16px; margin-bottom: 6px; }
.partner-card p { font-size: 13.5px; margin: 0; }

/* =================== CONTACT =================== */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.contact-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 32px; box-shadow: var(--shadow); }
.contact-info { display: grid; gap: 22px; align-content: start; }
.info-row { display: flex; gap: 14px; align-items: flex-start; }
.info-row .ic {
    width: 40px; height: 40px; border-radius: 10px; background: var(--green-light);
    display: flex; align-items: center; justify-content: center; color: var(--green); flex: none;
}
.info-row .ic svg { width: 18px; height: 18px; }
.info-row h4 { font-size: 14px; margin: 0 0 2px; }
.info-row p { font-size: 14.5px; margin: 0; color: var(--deep); }

.share-actions { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.share-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 9px 14px; border-radius: 999px;
    background: var(--green-light); color: var(--green-dark);
    font-size: 13.5px; font-weight: 700;
}
.share-btn svg { width: 15px; height: 15px; fill: currentColor; }
.share-btn:hover { background: var(--green); color: #fff; }

/* =================== FOOTER =================== */
.footer { background: var(--green-dark); color: rgba(255,255,255,.82); padding: 70px 0 26px; }
.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr 1.2fr;
    gap: 34px;
}
.footer-brand img { height: 40px; margin-bottom: 14px; filter: brightness(0) invert(1); }
.footer-brand p { color: rgba(255,255,255,.65); font-size: 13.5px; }
.footer h4 { color: #fff; font-size: 14px; margin-bottom: 16px; text-transform: uppercase; letter-spacing: .05em; }
.footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.footer ul a { font-size: 14px; color: rgba(255,255,255,.75); }
.footer ul a:hover { color: #fff; }
.footer-social { display: flex; gap: 10px; margin-top: 16px; }
.footer-social a {
    width: 34px; height: 34px; border-radius: 50%;
    background: rgba(255,255,255,.1);
    display: flex; align-items: center; justify-content: center;
}
.footer-social a svg { width: 15px; height: 15px; fill: #fff; }
.footer-social a:hover { background: var(--green); }

.news-form { display: flex; margin-top: 10px; border-radius: 10px; overflow: hidden; background: rgba(255,255,255,.08); }
.news-form input {
    flex: 1; border: none; background: transparent; padding: 11px 12px; color: #fff; font-size: 13.5px;
}
.news-form input::placeholder { color: rgba(255,255,255,.55); }
.news-form button {
    background: var(--green); border: none; color: #fff; padding: 0 16px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}
.news-form button svg { width: 16px; height: 16px; }

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.14);
    margin-top: 50px; padding-top: 22px;
    display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px;
    font-size: 13px; color: rgba(255,255,255,.6);
}
.footer-bottom a { color: rgba(255,255,255,.7); }
.footer-bottom a:hover { color: #fff; }
.footer-legal { display: flex; gap: 18px; }

/* =================== RESPONSIVE =================== */
@media (max-width: 980px) {
    .main-nav { display: none; }
    .nav-toggle { display: block; }
    .site-header.open .main-nav {
        display: block;
        position: absolute;
        top: 100%; left: 0; right: 0;
        background: #fff;
        border-bottom: 1px solid var(--line);
        padding: 16px 24px 24px;
    }
    .site-header.open .main-nav ul { flex-direction: column; gap: 4px; }

    .cards-3, .cards-4, .cards-doc { grid-template-columns: repeat(2, 1fr); }
    .cards-5 { grid-template-columns: repeat(3, 1fr); }
    .stat-bar { grid-template-columns: 1fr; }
    .stat-item { border-right: none; border-bottom: 1px solid var(--line); }
    .stat-item:last-child { border-bottom: none; }
    .mount-banner, .manifesto, .petition, .contact-grid { grid-template-columns: 1fr; }
    .mount-banner img { min-height: 220px; }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 620px) {
    .section { padding: 64px 0; }
    .cards-3, .cards-4, .cards-doc, .cards-5 { grid-template-columns: 1fr 1fr; }
    .cards-5 { grid-template-columns: 1fr 1fr; }
    .header-actions .btn span.long { display: none; }
    .footer-grid { grid-template-columns: 1fr; }
    .petition, .partners { padding: 30px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    * { transition: none !important; animation: none !important; }
}


/* =================== V2 ENHANCEMENTS =================== */
:root { --header-offset: 104px; }
.anchor-section { scroll-margin-top: var(--header-offset); }
.engagement-section { padding: 88px 0; background: #fff; }
.engagement-inner { max-width: 1120px; text-align: center; }
.engagement-inner h2 { max-width: 1050px; margin: 12px auto 26px; font-size: clamp(36px,5vw,66px); line-height: 1.08; text-transform: uppercase; letter-spacing: -.025em; }
.engagement-inner p { max-width: 900px; margin: auto; font-size: 20px; line-height: 1.8; color: var(--muted); }
.solutions-section { background: linear-gradient(180deg,#f8f5ed,#fff); }
.solution-showcase { display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.solution-card { background:#fff; border:1px solid #ebe7dc; border-radius:18px; overflow:hidden; box-shadow:0 14px 35px -25px rgba(7,61,32,.45); transition:transform .25s,box-shadow .25s; }
.solution-card:hover { transform:translateY(-6px); box-shadow:0 22px 45px -24px rgba(7,61,32,.48); }
.solution-card img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.solution-card-body { padding:18px 18px 20px; min-height:190px; position:relative; }
.solution-card h3 { font-size:18px; margin-bottom:8px; }
.solution-card p { font-size:14px; line-height:1.6; }
.solution-arrow { position:absolute; bottom:17px; left:18px; width:34px; height:34px; border:1px solid #d9b860; border-radius:50%; display:grid; place-items:center; color:var(--green); font-size:19px; }
.reveal-panel { margin-top:22px; }
.reveal-panel summary { list-style:none; width:max-content; cursor:pointer; }
.reveal-panel summary::-webkit-details-marker { display:none; }
.reveal-panel[open] summary { margin-bottom:18px; }
.reveal-content { padding:26px; border-radius:16px; background:#f7f5ef; border:1px solid var(--line); color:var(--deep); line-height:1.75; animation:reveal .28s ease-out; }
.reveal-content h3 { margin-top:0; color:var(--green-dark); }
.reveal-content h4 { margin:24px 0 8px; color:var(--green-dark); font-size:19px; }
.reveal-content ul { padding-left:22px; }
.manifesto-panel { grid-column:1/-1; }
.manifesto-content { max-height:620px; overflow:auto; text-align:left; background:#fff; }
.notice { animation:noticeIn .45s ease-out; box-shadow:0 12px 25px -20px currentColor; }
@keyframes reveal { from {opacity:0; transform:translateY(-8px)} to {opacity:1; transform:none} }
@keyframes noticeIn { from {opacity:0; transform:translateY(-10px)} to {opacity:1; transform:none} }
@media(max-width:1100px){.solution-showcase{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.solution-showcase{grid-template-columns:1fr}.engagement-inner p{font-size:17px}.solution-card-body{min-height:160px}}


/* =================== V2.1 FIXES =================== */
:root { --header-offset: 118px; }
.anchor-section { scroll-margin-top: calc(var(--header-offset) + 8px); }
#top { scroll-margin-top: 0; }
#documentation { scroll-margin-top: calc(var(--header-offset) + 18px); }

.engagement-section {
    padding: 54px 0 18px;
    background: transparent;
}
.engagement-inner {
    max-width: 940px;
    margin-left: auto;
    margin-right: auto;
}
.engagement-inner h2 {
    max-width: 880px;
    margin: 12px auto 20px;
    font-size: clamp(34px, 4.2vw, 52px);
    line-height: 1.14;
    text-transform: none;
    letter-spacing: -.02em;
}
.engagement-inner p {
    max-width: 900px;
    margin: 0 auto;
    font-size: 19px;
    line-height: 1.75;
}

.solutions-section {
    background: linear-gradient(180deg, rgba(245,242,233,.5), #fff 34%);
}
.solution-showcase {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
}
.solution-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #ebe7dc;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 14px 35px -25px rgba(7,61,32,.45);
    transition: transform .25s, box-shadow .25s;
}
.solution-card img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    flex: none;
}
.solution-card-body {
    padding: 18px 18px 18px;
    min-height: 188px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.solution-card h3 {
    font-size: 19px;
    margin: 0;
}
.solution-card p {
    font-size: 14px;
    line-height: 1.65;
    margin: 0;
}
.solution-arrow {
    position: static;
    margin-top: auto;
    width: 34px;
    height: 34px;
    border: 1px solid #d9b860;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--green);
    font-size: 18px;
}

.manifesto-section {
    background: linear-gradient(180deg, #fff, #f6f3ea 100%);
}
.manifesto-layout {
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
}
.manifesto-head {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 28px;
}
.manifesto-lead {
    max-width: 860px;
    margin: 0 auto;
}
.manifesto-book-wrap {
    max-width: 360px;
    margin: 0 auto 14px;
    max-height: 520px;
    opacity: 1;
    transform: translateY(0);
    transition: max-height .35s ease, opacity .35s ease, transform .35s ease, margin .35s ease;
}
.manifesto-book {
    width: 100%;
    margin: 0 auto;
}
.manifesto-panel {
    max-width: 920px;
    margin: 0 auto;
}
.manifesto-panel summary {
    margin: 0 auto;
}
.manifesto-panel[open] summary {
    margin-bottom: 18px;
}
.manifesto-content {
    max-height: none;
    overflow: visible;
    width: 100%;
    margin: 16px auto 0;
    text-align: left;
    background: #fff;
    box-shadow: 0 20px 45px -28px rgba(7,61,32,.32);
}
.manifesto-content h3:first-child { text-align: center; }
.manifesto-section.is-open .manifesto-book-wrap {
    max-height: 0;
    margin: 0 auto;
    opacity: 0;
    overflow: hidden;
    transform: translateY(-12px);
}

.news-form {
    margin-top: 12px;
}
#newsletter .notice {
    margin-top: 14px;
    margin-bottom: 12px;
    box-shadow: none;
}

@media (max-width: 1100px) {
    .solution-showcase { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 780px) {
    .engagement-section { padding: 44px 0 8px; }
    .engagement-inner h2 { font-size: clamp(29px, 7vw, 40px); }
    .engagement-inner p { font-size: 17px; }
    .solution-showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .solution-card-body { min-height: 168px; }
}
@media (max-width: 560px) {
    .solution-showcase { grid-template-columns: 1fr; }
    .manifesto-content { padding: 24px 20px; }
}

/* =================== V4 multilingual & UX fixes =================== */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lang-select-wrap{position:relative;flex:none}
.language-select{appearance:none;-webkit-appearance:none;border:1px solid var(--line);background:#fff;color:var(--deep);font-weight:800;font-size:12px;padding:9px 30px 9px 11px;border-radius:10px;cursor:pointer;min-width:64px;background-image:linear-gradient(45deg,transparent 50%,var(--green) 50%),linear-gradient(135deg,var(--green) 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
html[dir="rtl"] .language-select{padding:9px 11px 9px 30px;background-position:15px 50%,10px 50%}
.mount-reveal-content,.mount-reveal-content h3,.mount-reveal-content p{color:var(--deep)!important}
.mount-reveal-content{background:#fff;text-align:left}
html[dir="rtl"] .mount-reveal-content{text-align:right}
.header-petition-btn{padding-inline:18px}
.doc-card-button{font:inherit;color:inherit;text-align:left;width:100%;padding:0;cursor:pointer}
.doc-card-button:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.active-link{color:var(--green)!important;font-weight:800}
.manifesto-modal[hidden]{display:none}
.manifesto-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}
.manifesto-modal-backdrop{position:absolute;inset:0;background:rgba(3,32,17,.72);backdrop-filter:blur(5px);animation:modalFade .25s ease}
.manifesto-modal-panel{position:relative;width:min(920px,100%);max-height:min(86vh,900px);background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.35);overflow:hidden;animation:modalRise .35s cubic-bezier(.2,.8,.2,1)}
.manifesto-modal-scroll{max-height:86vh;overflow:auto;padding:48px 52px}
.manifesto-modal-close{position:absolute;right:18px;top:14px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:var(--green-dark);color:#fff;font-size:28px;line-height:1;cursor:pointer}
html[dir="rtl"] .manifesto-modal-close{right:auto;left:18px}
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:150;width:48px;height:48px;border:0;border-radius:50%;background:var(--green);color:#fff;font-size:24px;font-weight:800;box-shadow:0 14px 35px rgba(7,61,32,.35);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:.25s}
.back-to-top.visible{opacity:1;visibility:visible;transform:none}
html[dir="rtl"] .back-to-top{right:auto;left:24px}
@keyframes modalFade{from{opacity:0}to{opacity:1}}
@keyframes modalRise{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}
body.modal-open{overflow:hidden}
@media(max-width:620px){
  .header-inner{padding-inline:12px;gap:8px}
  .header-actions{gap:7px}
  .brand img{height:36px}
  .language-select{min-width:58px;padding:8px 26px 8px 9px}
  .header-petition-btn{display:inline-flex!important;font-size:11px;padding:10px 11px;max-width:118px;white-space:normal;line-height:1.15;text-align:center}
  .header-actions .btn span.long{display:inline!important}
  .manifesto-modal{padding:10px}
  .manifesto-modal-scroll{padding:50px 20px 28px}
  .back-to-top{right:16px;bottom:16px}
}


/* =================== V5 resources, video and browser translation =================== */
html.notranslate, body.notranslate { -webkit-locale: auto; }
.docs-more-wrap{display:flex;justify-content:center;margin-top:34px}
.docs-more-toggle{gap:10px}
.docs-more-close-label{display:none}
.docs-more-toggle[aria-expanded="true"] .docs-more-open-label{display:none}
.docs-more-toggle[aria-expanded="true"] .docs-more-close-label{display:inline}
.docs-more-chevron{font-size:20px;line-height:1;transition:transform .3s ease}
.docs-more-toggle[aria-expanded="true"] .docs-more-chevron{transform:rotate(180deg)}
.youtube-documents{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:28px;animation:youtubeReveal .42s cubic-bezier(.2,.8,.2,1)}
.youtube-documents[hidden]{display:none}
.youtube-card{display:flex;flex-direction:column;overflow:hidden}
.youtube-thumb-wrap{position:relative;background:#111;overflow:hidden}
.youtube-thumb{width:100%;height:170px;object-fit:cover;display:block;transition:transform .35s ease}
.youtube-card:hover .youtube-thumb{transform:scale(1.035)}
.youtube-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:40px;border-radius:12px;background:#e62117;color:#fff;display:grid;place-items:center;font-size:19px;padding-left:3px;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.youtube-card .doc-body{flex:1;display:flex;flex-direction:column;align-items:flex-start}
.youtube-card .active-link{margin-top:auto}
.video-modal[hidden]{display:none}
.video-modal{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:24px}
.video-modal-backdrop{position:absolute;inset:0;background:rgba(3,24,13,.82);backdrop-filter:blur(6px);animation:modalFade .25s ease}
.video-modal-panel{position:relative;width:min(980px,100%);background:#fff;border-radius:22px;box-shadow:0 34px 100px rgba(0,0,0,.45);padding:54px 28px 28px;animation:modalRise .35s cubic-bezier(.2,.8,.2,1)}
.video-modal-close{position:absolute;right:16px;top:12px;width:42px;height:42px;border:0;border-radius:50%;background:var(--green-dark);color:#fff;font-size:28px;cursor:pointer}
html[dir="rtl"] .video-modal-close{right:auto;left:16px}
.video-modal-title{font-size:clamp(21px,3vw,30px);text-align:center;margin:0 auto 20px;max-width:820px}
.video-embed{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@keyframes youtubeReveal{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
@media(max-width:980px){.youtube-documents{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.youtube-documents{grid-template-columns:1fr}.video-modal{padding:10px}.video-modal-panel{padding:52px 12px 12px}.youtube-thumb{height:auto;aspect-ratio:16/9}}


/* =================== V6 documentation order & partner logos =================== */
.docs-more-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-direction:row;
    gap:12px;
    line-height:1;
}
.docs-more-toggle > span{display:inline-flex;align-items:center}
.docs-more-chevron{
    position:static;
    margin:0;
    line-height:1;
    transform-origin:center;
}
.docs-more-close-label{display:none!important}
.docs-more-toggle[aria-expanded="true"] .docs-more-open-label{display:none!important}
.docs-more-toggle[aria-expanded="true"] .docs-more-close-label{display:inline-flex!important}

.partner-logos-section{
    padding-top:0;
    background:linear-gradient(180deg,transparent,#f7f5ef 100%);
}
.partner-logos-head{
    max-width:760px;
    margin-bottom:34px;
}
.partner-logos-head h2{
    font-size:clamp(30px,4vw,46px);
}
.partner-logos-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px;
    max-width:920px;
    margin:0 auto;
}
.partner-logo-card{
    min-height:250px;
    padding:30px;
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    background:#fff;
    box-shadow:var(--shadow);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.partner-logo-card img{
    display:block;
    max-width:100%;
    max-height:190px;
    width:auto;
    height:auto;
    object-fit:contain;
}
.partner-logo-card-dark{background:#0d1015}
.partner-logo-card-dark img{max-height:210px}

@media(max-width:700px){
    .partner-logos-grid{grid-template-columns:1fr}
    .partner-logo-card{min-height:210px;padding:24px}
}


/* =================== V7 translations, Russian header & compact partners =================== */
.partner-logos-section{
    padding-top:28px;
    padding-bottom:64px;
}
.partner-logos-head{
    max-width:680px;
    margin-bottom:24px;
}
.partner-logos-head h2{
    font-size:clamp(24px,3vw,34px);
    line-height:1.18;
}
.partner-logos-grid{
    max-width:640px;
    gap:20px;
}
.partner-logo-card{
    min-height:150px;
    padding:22px;
    border-radius:18px;
}
.partner-logo-card img{
    max-width:76%;
    max-height:82px;
}
.partner-logo-card-dark img{
    max-width:82%;
    max-height:96px;
}

/* Les libellés russes sont plus longs : le header reste sur une seule ligne. */
html[lang="ru"] .header-inner{
    max-width:1500px;
    gap:12px;
    padding-left:22px;
    padding-right:22px;
}
html[lang="ru"] .brand img{height:40px}
html[lang="ru"] .main-nav{
    flex:1 1 auto;
    min-width:0;
}
html[lang="ru"] .main-nav ul{
    flex-wrap:nowrap;
    justify-content:center;
    gap:15px;
}
html[lang="ru"] .main-nav a{
    font-size:13px;
    white-space:nowrap;
}
html[lang="ru"] .header-actions{
    flex:none;
    gap:10px;
}
html[lang="ru"] .header-actions .btn{
    padding-left:18px;
    padding-right:18px;
    font-size:13px;
}

@media(max-width:1180px){
    html[lang="ru"] .main-nav ul{gap:10px}
    html[lang="ru"] .main-nav a{font-size:12px}
    html[lang="ru"] .header-actions .btn{padding-left:14px;padding-right:14px}
}
@media(max-width:980px){
    html[lang="ru"] .main-nav ul{flex-wrap:wrap;justify-content:flex-start}
    .partner-logo-card{min-height:130px}
}
@media(max-width:700px){
    .partner-logos-section{padding-top:18px;padding-bottom:48px}
    .partner-logos-grid{max-width:360px}
    .partner-logo-card{min-height:120px;padding:18px}
    .partner-logo-card img{max-height:68px}
    .partner-logo-card-dark img{max-height:78px}
}


/* =================== V8 manifesto cover & petition form =================== */
.manifesto-book-cover{padding:0!important;background:transparent!important;border:none!important;box-shadow:0 20px 45px -28px rgba(7,61,32,.35);border-radius:28px;overflow:hidden}
.manifesto-book-cover img{display:block;width:100%;height:auto;border-radius:28px}
.petition-form-card{padding:22px 22px 24px;background:#fff;border-radius:16px;box-shadow:0 14px 40px -28px rgba(0,0,0,.35)}
.petition-form-intro{margin:0 0 14px;color:var(--deep);font-size:15px;line-height:1.55;font-weight:500}
.petition-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.petition-form-card .field{margin-bottom:0}
.petition-form-card .field input{background:#fff;border:1px solid #d9dfd7;border-radius:12px;padding:15px 18px;font-size:14px;color:var(--deep)}
.petition-form-card .field input::placeholder{color:#677680;opacity:1}
.petition-form-card .field-full{grid-column:1/-1}
.petition-consent{display:flex;align-items:flex-start;gap:12px;margin:18px 0 18px;color:var(--deep);font-size:14px;line-height:1.45;cursor:pointer}
.petition-consent input{margin-top:3px;accent-color:var(--green);width:16px;height:16px;flex:none}
.petition-submit{min-width:220px;padding-inline:26px;font-size:16px}
html[dir="rtl"] .petition-form-intro,html[dir="rtl"] .petition-consent{text-align:right}
@media (max-width: 780px){.petition-form-grid{grid-template-columns:1fr}.petition-submit{width:100%}}

/* =================== V9 corrected legal pages & cookie banner =================== */
.cookie-banner{
    position:fixed;
    left:50%;
    bottom:20px;
    z-index:1400;
    width:min(1120px,calc(100% - 32px));
    transform:translate(-50%,18px);
    background:rgba(255,255,255,.98);
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:0 24px 70px rgba(7,61,32,.22);
    padding:20px 22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    opacity:0;
    visibility:hidden;
    transition:opacity .35s ease,transform .35s ease,visibility .35s;
    backdrop-filter:blur(12px);
}
.cookie-banner[hidden]{display:none!important}
.cookie-banner.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
.cookie-copy{max-width:720px}
.cookie-copy strong{display:block;font-family:var(--font-display);font-size:20px;color:var(--green-dark);margin-bottom:5px}
.cookie-copy p{margin:0;font-size:14px;line-height:1.55}
.cookie-copy a{color:var(--green);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.cookie-actions .btn{padding:11px 18px;font-size:13px}

.legal-page{background:var(--cream)}
.legal-header .header-inner.legal-header-inner{width:100%;max-width:1180px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.legal-back{padding:11px 22px;font-size:14px;flex:none}
.legal-main{min-height:70vh}
.legal-hero{padding:90px 0 70px;background:linear-gradient(135deg,var(--green-dark),#0f8141);position:relative;overflow:hidden}
.legal-hero::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-120px;top:-210px;background:rgba(255,255,255,.07)}
html[dir="rtl"] .legal-hero::after{right:auto;left:-120px}
.legal-hero-inner{position:relative;z-index:1;max-width:900px;text-align:center}
.legal-hero .kicker{color:#ffd76a}.legal-hero .kicker::before{background:#ffd76a}
.legal-hero h1{color:#fff;font-size:clamp(40px,6vw,66px);margin-bottom:18px}
.legal-hero .lead{color:rgba(255,255,255,.86);max-width:760px;margin:0 auto 14px;line-height:1.75}
.legal-updated{color:rgba(255,255,255,.62);font-size:13px;margin:0}
.legal-content-section{padding:70px 0 90px}
.legal-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:34px;align-items:start}
.legal-article{display:grid;gap:18px}
.legal-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 30px;box-shadow:0 12px 35px -28px rgba(7,61,32,.35)}
.legal-card h2{font-size:23px;margin-bottom:10px}.legal-card p{margin:0;line-height:1.75}
.legal-aside{position:sticky;top:110px}
.legal-aside-card{background:var(--green-light);border-radius:18px;padding:24px;border:1px solid rgba(15,129,65,.12)}
.legal-aside-card h3{font-size:20px}.legal-aside-card p{font-size:14px;line-height:1.65}.legal-aside-card .btn{font-size:13px;padding:11px 16px;white-space:normal;text-align:center}
.legal-footer{padding:10px 0 24px}.legal-footer .footer-bottom{margin-top:0}
html[dir="rtl"] .legal-card,html[dir="rtl"] .legal-aside-card{text-align:right}

@media(max-width:860px){
    .legal-content-grid{grid-template-columns:1fr}
    .legal-aside{position:static}
    .legal-hero{padding:70px 0 55px}
}
@media(max-width:700px){
    .cookie-banner{bottom:10px;padding:17px;display:block}
    .cookie-copy{margin-bottom:14px}
    .cookie-actions{justify-content:stretch}
    .cookie-actions .btn{flex:1 1 180px;white-space:normal}
    .legal-header .header-inner.legal-header-inner{padding-inline:18px}
    .legal-back{padding:9px 14px;font-size:12px}
    .legal-card{padding:22px}
    .legal-hero h1{font-size:38px}
}


/* =================== V9.1 hero order & mobile cookie popup =================== */
html,body{max-width:100%;overflow-x:hidden}
@media(max-width:700px){
    .cookie-banner{
        left:12px;
        right:12px;
        bottom:12px;
        width:auto;
        max-width:none;
        margin:0;
        padding:18px 16px 16px;
        border-radius:18px;
        transform:translateY(20px);
        display:flex;
        flex-direction:column;
        align-items:stretch;
        justify-content:flex-start;
        gap:14px;
        text-align:center;
        box-sizing:border-box;
    }
    .cookie-banner.is-visible{transform:translateY(0)}
    .cookie-copy{max-width:none;width:100%;margin:0}
    .cookie-copy strong{font-size:19px;line-height:1.25;margin-bottom:8px}
    .cookie-copy p{font-size:13.5px;line-height:1.55;overflow-wrap:anywhere}
    .cookie-actions{width:100%;display:grid;grid-template-columns:1fr;gap:9px;justify-content:stretch}
    .cookie-actions .btn{width:100%;min-width:0;max-width:100%;padding:12px 14px;white-space:normal;line-height:1.3}
}
@media(max-width:380px){
    .cookie-banner{left:8px;right:8px;bottom:8px;padding:16px 13px 13px}
    .cookie-copy strong{font-size:18px}
    .cookie-copy p{font-size:13px}
}

/* =================== V9.2 anchors & resources toggle =================== */
:root { --section-anchor-gap: 0px; }
#accueil,
#pourquoi,
#manifeste,
#petition,
#solutions,
#financer,
#documentation,
#contact {
    scroll-margin-top: calc(var(--header-offset) + var(--section-anchor-gap));
}

.docs-more-toggle {
    position: relative;
    min-width: 310px;
    padding: 14px 56px 14px 28px;
    line-height: 1.2;
    gap: 0;
}
.docs-more-toggle > .docs-more-open-label,
.docs-more-toggle > .docs-more-close-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    text-align: center;
}
.docs-more-toggle .docs-more-chevron {
    position: absolute;
    right: 24px;
    top: 50%;
    margin: 0;
    line-height: 1;
    transform: translateY(-50%);
    transform-origin: 50% 50%;
}
.docs-more-toggle[aria-expanded="true"] .docs-more-chevron {
    transform: translateY(-50%) rotate(180deg);
}
html[dir="rtl"] .docs-more-toggle {
    padding-right: 28px;
    padding-left: 56px;
}
html[dir="rtl"] .docs-more-toggle .docs-more-chevron {
    right: auto;
    left: 24px;
}

@media (max-width: 560px) {
    .docs-more-toggle {
        width: min(100%, 340px);
        min-width: 0;
        padding-right: 52px;
        padding-left: 24px;
    }
    html[dir="rtl"] .docs-more-toggle {
        padding-right: 24px;
        padding-left: 52px;
    }
}


/* =================== V9.3 sticky header, V8 anchors & redesigned docs toggle =================== */
.site-header {
    position: sticky !important;
    top: 0;
    z-index: 100;
}

:root { --header-offset: 104px; }
.anchor-section { scroll-margin-top: calc(var(--header-offset) + 8px); }
#top, #accueil { scroll-margin-top: 0; }
#pourquoi,
#manifeste,
#petition,
#solutions,
#financer,
#contact { scroll-margin-top: calc(var(--header-offset) + 8px); }
#documentation { scroll-margin-top: calc(var(--header-offset) + 18px); }

.docs-more-wrap {
    display: flex;
    justify-content: center;
    margin-top: 34px;
}
.docs-more-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 330px;
    min-height: 58px;
    padding: 14px 68px 14px 30px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--green) 0%, var(--green-dark) 100%);
    color: #fff;
    box-shadow: 0 16px 34px -20px rgba(7,61,32,.75);
    font-weight: 800;
    letter-spacing: .01em;
    overflow: hidden;
    transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.docs-more-toggle::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.18) 48%, transparent 76%);
    transform: translateX(-120%);
    transition: transform .55s ease;
}
.docs-more-toggle:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 42px -20px rgba(7,61,32,.82);
    filter: saturate(1.06);
}
.docs-more-toggle:hover::before { transform: translateX(120%); }
.docs-more-toggle:focus-visible {
    outline: 3px solid rgba(216,169,70,.55);
    outline-offset: 4px;
}
.docs-more-toggle > .docs-more-open-label,
.docs-more-toggle > .docs-more-close-label {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    color: #fff;
}
.docs-more-toggle .docs-more-chevron {
    position: absolute;
    z-index: 1;
    right: 16px;
    top: 50%;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    margin: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.24);
    color: #fff;
    font-size: 20px;
    line-height: 1;
    transform: translateY(-50%);
    transform-origin: center;
    transition: transform .25s ease, background .25s ease;
}
.docs-more-toggle:hover .docs-more-chevron { background: rgba(255,255,255,.25); }
.docs-more-toggle[aria-expanded="true"] .docs-more-chevron {
    transform: translateY(-50%) rotate(180deg);
}
html[dir="rtl"] .docs-more-toggle {
    padding-right: 30px;
    padding-left: 68px;
}
html[dir="rtl"] .docs-more-toggle .docs-more-chevron {
    right: auto;
    left: 16px;
}

@media (max-width: 560px) {
    :root { --header-offset: 86px; }
    .docs-more-toggle {
        width: min(100%, 360px);
        min-width: 0;
        min-height: 56px;
        padding: 13px 64px 13px 24px;
        font-size: 15px;
    }
    html[dir="rtl"] .docs-more-toggle {
        padding-right: 24px;
        padding-left: 64px;
    }
    .docs-more-toggle .docs-more-chevron {
        right: 12px;
        width: 36px;
        height: 36px;
    }
    html[dir="rtl"] .docs-more-toggle .docs-more-chevron {
        right: auto;
        left: 12px;
    }
}


/* =================== V9.4 sticky header, precise anchors & visible resources button =================== */
html {
    overflow-x: clip;
    scroll-behavior: smooth;
}
body {
    overflow-x: clip;
}
.site-header {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 999 !important;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    will-change: auto;
}

/* JavaScript gère l'offset exact du header ; ces marges servent de repli sans JS. */
:root { --header-offset: 78px; }
.anchor-section,
#accueil,
#pourquoi,
#manifeste,
#petition,
#solutions,
#financer,
#documentation,
#contact {
    scroll-margin-top: var(--header-offset) !important;
}
#accueil { scroll-margin-top: 0 !important; }

/* Le bloc Documentation conserve le même espace supérieur que les autres sections. */
#documentation.section { padding-top: 88px !important; }

/* Bouton ressources : contraste constant, hover sobre et toujours lisible. */
.docs-more-toggle {
    background: var(--green) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    box-shadow: 0 12px 28px -16px rgba(7,61,32,.65) !important;
    filter: none !important;
    overflow: visible !important;
    transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease !important;
}
.docs-more-toggle::before { display: none !important; }
.docs-more-toggle:hover {
    background: var(--green-dark) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 16px 30px -16px rgba(7,61,32,.72) !important;
    filter: none !important;
}
.docs-more-toggle:active { transform: translateY(0) !important; }
.docs-more-toggle > .docs-more-open-label,
.docs-more-toggle > .docs-more-close-label {
    color: #fff !important;
    opacity: 1 !important;
}
.docs-more-toggle .docs-more-chevron {
    background: rgba(255,255,255,.14) !important;
    border-color: rgba(255,255,255,.35) !important;
    color: #fff !important;
    opacity: 1 !important;
}
.docs-more-toggle:hover .docs-more-chevron {
    background: rgba(255,255,255,.22) !important;
}

@media (max-width: 980px) {
    :root { --header-offset: 72px; }
}

/* =================== V9.5 mobile width fixes =================== */
*, *::before, *::after { box-sizing: border-box; }
img, svg, video, iframe { max-width: 100%; }
.container, .section, .partners, .partner-grid, .cards-4, .fund-card, .partner-card {
    min-width: 0;
}

@media (max-width: 620px) {
    html, body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden !important;
    }

    .container {
        width: 100%;
        max-width: 100%;
        padding-left: 18px;
        padding-right: 18px;
    }

    /* Financer : une carte par ligne pour éviter tout débordement. */
    .cards-4 {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px;
        width: 100%;
    }
    .fund-card {
        width: 100%;
        max-width: 100%;
        padding: 26px 20px;
    }
    .fund-card .btn {
        width: 100%;
        min-width: 0;
        white-space: normal;
    }

    /* Agir & soutenir : cartes empilées et centrées sur mobile. */
    .partners {
        width: 100%;
        max-width: 100%;
        padding: 34px 18px;
        border-radius: 24px;
        overflow: hidden;
    }
    .partners .section-head {
        width: 100%;
        max-width: 100%;
    }
    .partners .section-head h2,
    .partners .section-head p {
        overflow-wrap: anywhere;
    }
    .partner-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px;
        width: 100%;
        margin-top: 26px;
    }
    .partner-card {
        width: 100%;
        max-width: 100%;
        min-height: 0;
        padding: 24px 20px;
    }

    .partner-logos-section .container,
    .partner-logos-grid,
    .partner-logo-card {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }
}

@media (min-width: 621px) and (max-width: 780px) {
    .cards-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .partner-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .partner-card:last-child {
        grid-column: 1 / -1;
    }
}

/* =================== V11 Projects, legal memo and signature popup =================== */
.projects-section .section-head { margin-bottom: 34px; }
.projects-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
}
.project-card {
    background: #fff;
    border: 1px solid rgba(7, 61, 32, .08);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 18px 40px -28px rgba(7, 61, 32, .35);
    display: flex;
    flex-direction: column;
}
.project-card.is-hidden { display: none; }
.project-thumb-button {
    border: 0;
    padding: 0;
    background: transparent;
    cursor: pointer;
    width: 100%;
}
.project-thumb-button img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.project-card-body {
    padding: 18px 18px 22px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
}
.project-card h3 {
    margin: 0;
    font-size: 1.18rem;
    line-height: 1.2;
}
.project-card p {
    margin: 0;
    color: var(--muted);
    font-size: .98rem;
    line-height: 1.55;
}
.project-link {
    margin-top: auto;
    border: 0;
    background: transparent;
    color: var(--green-dark);
    font-weight: 700;
    padding: 0;
    text-align: left;
    cursor: pointer;
}
html[dir="rtl"] .project-link { text-align: right; }
.projects-more-wrap,
.docs-more-wrap {
    display: flex;
    justify-content: center;
    margin-top: 32px;
}
.projects-more-toggle {
    min-width: 270px;
    justify-content: center;
    gap: 10px;
    background: var(--green);
    color: #fff;
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: 0 14px 32px -22px rgba(7,61,32,.65);
}
.projects-more-toggle:hover { background: var(--green-dark); color: #fff; }
.projects-more-open-label, .projects-more-close-label { display: inline-flex; align-items: center; }
.projects-more-close-label { display: none; }
.projects-more-chevron {
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px; border-radius: 999px; background: rgba(255,255,255,.16);
    transition: transform .25s ease;
}
.projects-more-toggle[aria-expanded="true"] .projects-more-open-label { display: none; }
.projects-more-toggle[aria-expanded="true"] .projects-more-close-label { display: inline-flex; }
.projects-more-toggle[aria-expanded="true"] .projects-more-chevron { transform: rotate(180deg); }

.project-info-modal[hidden], .petition-success-modal[hidden] { display: none; }
.project-info-modal, .petition-success-modal {
    position: fixed; inset: 0; z-index: 1200; display: grid; place-items: center; padding: 22px;
}
.project-info-backdrop, .petition-success-backdrop {
    position: absolute; inset: 0; background: rgba(2, 22, 12, .72); backdrop-filter: blur(5px);
}
.project-info-panel, .petition-success-panel {
    position: relative; z-index: 1; width: min(760px, 100%); background: #fff; border-radius: 26px;
    box-shadow: 0 36px 110px rgba(0,0,0,.38); padding: 28px 28px 30px;
}
.project-info-close, .petition-success-close {
    position: absolute; right: 16px; top: 14px; width: 42px; height: 42px; border-radius: 50%;
    border: 0; background: var(--green-dark); color: #fff; font-size: 28px; line-height: 1; cursor: pointer;
}
html[dir="rtl"] .project-info-close, html[dir="rtl"] .petition-success-close { right: auto; left: 16px; }
.project-info-kicker, .petition-success-more {
    margin: 0 0 10px; color: var(--green); font-weight: 700; letter-spacing: .02em;
}
.project-info-panel h2, .petition-success-panel h2 { margin: 0 0 12px; font-size: clamp(1.5rem, 2vw, 2rem); }
.project-info-text, .petition-success-text { color: var(--muted); line-height: 1.65; margin: 0 0 18px; }
.project-info-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.petition-success-actions-grid {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 18px;
}
.petition-success-action {
    border: 1px solid rgba(7, 61, 32, .12); border-radius: 18px; background: rgba(240, 247, 242, .92);
    padding: 16px 16px 18px; text-decoration: none; color: var(--green-dark); display: block;
}
.petition-success-action strong { display: block; font-size: 1rem; }
.petition-success-share-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.share-chip {
    border: 1px solid rgba(7, 61, 32, .18); background: #fff; color: var(--green-dark);
    border-radius: 999px; padding: 10px 14px; font-weight: 700; cursor: pointer;
}
.petition-success-footer { margin-top: 20px; display: flex; justify-content: flex-end; }

@media (max-width: 1080px) {
    .projects-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .projects-grid, .petition-success-actions-grid { grid-template-columns: 1fr; }
    .project-info-panel, .petition-success-panel { padding: 26px 18px 22px; }
    .projects-more-toggle { min-width: 0; width: 100%; }
    .project-info-actions { flex-direction: column; }
    .petition-success-footer { justify-content: stretch; }
    .petition-success-footer .btn { width: 100%; }
}


/* =================== V11.1 header, popup and scroll controls refinements =================== */
.site-header {
    position: relative !important;
    top: auto !important;
}
:root { --header-offset: 16px; }
.anchor-section,
#accueil,
#pourquoi,
#manifeste,
#petition,
#solutions,
#financer,
#documentation,
#contact,
#agir,
#projets,
#share-page {
    scroll-margin-top: 18px !important;
}
.scroll-buttons {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 150;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
html[dir="rtl"] .scroll-buttons {
    right: auto;
    left: 24px;
}
.back-to-top,
.back-to-bottom {
    position: static;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 50%;
    background: var(--green);
    color: #fff;
    font-size: 24px;
    font-weight: 800;
    box-shadow: 0 14px 35px rgba(7,61,32,.35);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: .25s;
}
.back-to-top.visible,
.back-to-bottom.visible {
    opacity: 1;
    visibility: visible;
    transform: none;
}
.petition-success-panel-simple {
    width: min(620px, 100%);
    padding: 32px 28px 26px;
}
.petition-success-panel-simple h2 {
    margin-bottom: 10px;
}
.petition-success-panel-simple .petition-success-text {
    max-width: 52ch;
}
.petition-success-list {
    list-style: none;
    padding: 0;
    margin: 18px 0 0;
    display: grid;
    gap: 10px;
}
.petition-success-list li {
    margin: 0;
}
.petition-success-list-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: underline;
    text-decoration-thickness: 1.5px;
    text-underline-offset: 3px;
    color: var(--green-dark);
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 2px 0;
    font-weight: 700;
    transition: color .18s ease, opacity .18s ease;
}
.petition-success-list-link:hover {
    color: var(--green);
    opacity: .9;
}
.petition-success-list-link::before {
    content: "→";
    color: var(--green);
    text-decoration: none;
}
@media (max-width: 680px) {
    .scroll-buttons { right: 16px; bottom: 16px; gap: 8px; }
    html[dir="rtl"] .scroll-buttons { left: 16px; right: auto; }
    .petition-success-panel-simple { padding: 24px 18px 20px; }
    .petition-success-list-link { padding: 2px 0; }
}


/* ===== V11.3 adjustments ===== */
.btn-accent {
  background: linear-gradient(135deg, #e4a22b 0%, #cf7f12 100%);
  border-color: #cf7f12;
  color: #fff;
  box-shadow: 0 12px 28px rgba(190, 124, 20, 0.28);
}
.btn-accent:hover,
.btn-accent:focus-visible {
  background: linear-gradient(135deg, #e9ac3e 0%, #b76d08 100%);
  color: #fff;
}
.hero-actions .btn-accent {
  border-color: transparent;
}
.fund-orange-money {
  margin-top: 16px;
  text-align: center;
  font-size: 16px;
  color: var(--green-dark);
  font-weight: 700;
}
.fund-orange-money strong {
  color: #c67a08;
}
.instagram-card .thumb {
  display:block;
}
.instagram-card:hover .thumb {
  transform: none;
}
@media (max-width: 640px) {
  .fund-orange-money {
    font-size: 14px;
    line-height: 1.45;
    padding-inline: 8px;
  }
}

/* =================== V11.7 sticky header & newsletter arrow fix =================== */
.site-header {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1200 !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
}
:root { --header-offset: 88px; }
.anchor-section,
#accueil,
#pourquoi,
#manifeste,
#petition,
#solutions,
#financer,
#documentation,
#contact,
#agir,
#projets,
#share-page {
    scroll-margin-top: calc(var(--header-offset) + 8px) !important;
}
.news-form {
    display: flex !important;
    align-items: stretch !important;
}
.news-form > input[type="email"] {
    min-width: 0;
}
.news-form > button[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    padding: 0 !important;
    color: #fff !important;
    background: var(--green) !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.news-form > button[type="submit"] svg {
    display: block !important;
    width: 19px !important;
    height: 19px !important;
    min-width: 19px !important;
    stroke: currentColor !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
}
.news-form > button[type="submit"]:hover {
    background: var(--green-dark) !important;
}
@media (max-width: 780px) {
    :root { --header-offset: 76px; }
}

/* =================== V13 — mobilisation & financement différé =================== */
.support-interest-shell{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start;background:var(--green-light);border-radius:var(--radius-lg);padding:34px;max-width:1050px;margin:0 auto}
.support-interest-copy h3{font-size:clamp(24px,3vw,34px);margin:12px 0;color:var(--deep)}
.support-interest-copy p{color:var(--muted);line-height:1.7}.support-status{display:inline-flex;background:#fff6d9;color:#8c6200;border:1px solid #efd58b;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800}.support-interest-note{font-size:14px}.support-interest-form{background:#fff;border-radius:22px;padding:24px;box-shadow:var(--shadow)}.support-interest-form select{width:100%;padding:15px 18px;border:1px solid #d9dfd7;border-radius:12px;background:#fff;font:inherit;color:var(--deep)}.text-link{color:var(--green);font-weight:800;text-decoration:none}.text-link:hover{text-decoration:underline}
.partner-logo-card img{max-width:88%!important;max-height:112px!important}.partner-logo-card-dark img{max-width:90%!important;max-height:124px!important}
@media(max-width:760px){.support-interest-shell{grid-template-columns:1fr;padding:22px}.partner-logo-card img{max-height:96px!important}.partner-logo-card-dark img{max-height:108px!important}}


/* ===== V13.1 partners grid ===== */
.partner-logos-grid{
    max-width:1180px!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:18px!important;
}
.partner-logo-card{
    aspect-ratio:1/1;
    min-height:0!important;
    padding:18px!important;
    border-radius:18px!important;
}
.partner-logo-card img{
    max-width:88%!important;
    max-height:72%!important;
}
.partner-logo-card-dark img{max-width:92%!important;max-height:78%!important}
@media(max-width:1100px){.partner-logos-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:850px){.partner-logos-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:620px){.partner-logos-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:100%!important}.partner-logo-card{padding:14px!important}}
@media(max-width:390px){.partner-logos-grid{grid-template-columns:1fr!important;max-width:260px!important}}


/* ===== V13.2 partners — 5 logos per row on desktop ===== */
.partner-logos-section .container{
    max-width:1440px!important;
}
.partner-logos-grid{
    width:100%!important;
    max-width:1320px!important;
    margin-inline:auto!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:18px!important;
}
.partner-logo-card{
    width:100%!important;
    aspect-ratio:1 / 1!important;
    min-width:0!important;
    min-height:0!important;
    padding:16px!important;
}
.partner-logo-card > a{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}
.partner-logo-card img{
    width:auto!important;
    height:auto!important;
    max-width:88%!important;
    max-height:76%!important;
    object-fit:contain!important;
}
.partner-logo-card-dark img{
    max-width:92%!important;
    max-height:80%!important;
}
@media (max-width:1180px){
    .partner-logos-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media (max-width:920px){
    .partner-logos-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (max-width:680px){
    .partner-logos-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:390px){
    .partner-logos-grid{grid-template-columns:1fr!important;max-width:280px!important;}
}


/* ===== V13.3 partners — 5 per row, compact and centered ===== */
.partner-logos-section .container{
    max-width:1280px!important;
}
.partner-logos-grid{
    width:100%!important;
    max-width:1180px!important;
    margin-inline:auto!important;
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:stretch!important;
    gap:18px!important;
}
.partner-logo-card{
    flex:0 0 calc((100% - 72px)/5)!important;
    max-width:205px!important;
    aspect-ratio:1/1!important;
    min-width:0!important;
    min-height:0!important;
    padding:18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}
.partner-logo-card > a{
    width:100%!important;
    height:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}
.partner-logo-card img{
    width:auto!important;
    height:auto!important;
    max-width:68%!important;
    max-height:58%!important;
    object-fit:contain!important;
    margin:auto!important;
}
.partner-logo-card-dark img{
    max-width:74%!important;
    max-height:62%!important;
}
@media(max-width:1100px){
    .partner-logo-card{flex-basis:calc((100% - 54px)/4)!important;}
}
@media(max-width:850px){
    .partner-logo-card{flex-basis:calc((100% - 36px)/3)!important;}
}
@media(max-width:620px){
    .partner-logo-card{flex-basis:calc((100% - 18px)/2)!important;max-width:220px!important;}
}
@media(max-width:390px){
    .partner-logo-card{flex-basis:100%!important;max-width:240px!important;}
}

/* ===== V13.4 partners — smaller cards, previous logo visibility ===== */
.partner-logos-section .container{
    max-width:1180px!important;
}
.partner-logos-grid{
    width:100%!important;
    max-width:1040px!important;
    margin-inline:auto!important;
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:16px!important;
}
.partner-logo-card{
    flex:0 0 176px!important;
    width:176px!important;
    max-width:176px!important;
    aspect-ratio:1/1!important;
    min-width:176px!important;
    min-height:176px!important;
    padding:14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}
.partner-logo-card > a{
    width:100%!important;
    height:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}
.partner-logo-card img{
    width:auto!important;
    height:auto!important;
    max-width:88%!important;
    max-height:112px!important;
    object-fit:contain!important;
    margin:auto!important;
}
.partner-logo-card-dark img{
    max-width:92%!important;
    max-height:124px!important;
}
@media(max-width:980px){
    .partner-logo-card{flex-basis:168px!important;width:168px!important;max-width:168px!important;min-width:168px!important;min-height:168px!important;}
}
@media(max-width:620px){
    .partner-logos-grid{gap:14px!important;}
    .partner-logo-card{flex-basis:calc(50% - 7px)!important;width:auto!important;max-width:170px!important;min-width:0!important;min-height:0!important;}
    .partner-logo-card img{max-height:104px!important;}
    .partner-logo-card-dark img{max-height:114px!important;}
}
@media(max-width:390px){
    .partner-logo-card{flex-basis:100%!important;max-width:170px!important;}
}

/* =================== V14 navigation & editorial highlight =================== */
.main-nav .nav-v14{display:flex;align-items:center;gap:24px;white-space:nowrap}.main-nav .nav-v14>li{position:relative}.main-nav .nav-v14>li>a{display:inline-flex;align-items:center}.main-nav .has-sub>a::after{content:'⌄';font-size:12px;margin-left:6px;opacity:.6}.nav-sub{position:absolute;left:50%;top:calc(100% + 14px);transform:translateX(-50%) translateY(8px);min-width:190px;background:#fff;border:1px solid rgba(7,61,32,.09);border-radius:14px;box-shadow:0 18px 44px rgba(7,61,32,.16);padding:9px;display:grid;gap:2px;opacity:0;visibility:hidden;pointer-events:none;transition:.2s;z-index:1000}.nav-sub::before{content:'';position:absolute;left:0;right:0;top:-18px;height:18px}.nav-sub a{padding:10px 12px;border-radius:9px;color:var(--deep)!important;text-decoration:none;font-size:14px}.nav-sub a:hover{background:#eef6f0;color:var(--green)!important}.has-sub:hover>.nav-sub,.has-sub:focus-within>.nav-sub{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.newsletter-feature{padding-top:34px}.newsletter-feature-card{background:linear-gradient(135deg,#e8f3eb,#f9f7ef);border:1px solid rgba(7,61,32,.08);border-radius:28px;padding:42px 48px;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:40px;align-items:center;box-shadow:0 18px 44px -34px rgba(7,61,32,.3)}.newsletter-feature-card h2{font-size:clamp(30px,4vw,46px);margin:8px 0 14px}.newsletter-feature-actions{display:flex;gap:12px;flex-wrap:wrap}.newsletter-feature-mark{width:190px;height:190px;border-radius:50%;background:var(--green-dark);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:34px;font-weight:800;line-height:.9;letter-spacing:.04em}.newsletter-feature-mark small{font-size:13px;letter-spacing:.18em;margin-top:12px;color:#d8b453}@media(max-width:1180px){.main-nav .nav-v14{gap:16px}.main-nav .nav-v14>li>a{font-size:14px}}@media(max-width:980px){.main-nav .nav-v14{display:block;white-space:normal}.nav-sub{position:static;transform:none;box-shadow:none;border:0;border-left:2px solid #dce9df;border-radius:0;padding:4px 0 4px 14px;margin:4px 0;opacity:1;visibility:visible;pointer-events:auto;display:grid}.main-nav .has-sub>a::after{display:none}.newsletter-feature-card{grid-template-columns:1fr;text-align:center;padding:34px 24px}.newsletter-feature-actions{justify-content:center}.newsletter-feature-mark{margin:auto;width:150px;height:150px;font-size:28px}}

/* =================== V14.1 newsletter signup =================== */
.newsletter-feature { padding-top: 42px; }
.newsletter-signup-card {
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
    gap: 34px;
    align-items: stretch;
}
.newsletter-signup-copy { align-self: center; }
.newsletter-note {
    margin: -2px 0 20px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.55;
}
.newsletter-main-notice { margin: 0 0 16px; }
.newsletter-main-form { margin-top: 18px; }
.newsletter-main-form-row {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 10px;
    align-items: stretch;
}
.newsletter-main-form-row input {
    min-width: 0;
    min-height: 54px;
    border: 1px solid rgba(7,61,32,.17);
    border-radius: 14px;
    background: rgba(255,255,255,.92);
    padding: 0 16px;
    font: inherit;
    color: var(--deep);
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.newsletter-main-form-row input:focus {
    border-color: var(--green);
    box-shadow: 0 0 0 4px rgba(16,137,68,.1);
}
.newsletter-main-form-row .btn { min-height: 54px; white-space: nowrap; }
.newsletter-archive-link {
    display: inline-flex;
    margin-top: 16px;
    color: var(--green-dark);
    font-weight: 750;
    text-decoration: none;
}
.newsletter-latest-wrap { min-width: 0; }
.newsletter-latest-card {
    height: 100%;
    background: #fff;
    border: 1px solid rgba(7,61,32,.09);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 16px 36px -30px rgba(7,61,32,.34);
    display: grid;
    grid-template-rows: minmax(170px, 1fr) auto;
}
.newsletter-latest-cover { display:block; min-height: 0; background:#f4f5f0; }
.newsletter-latest-cover img { width:100%; height:100%; max-height:270px; object-fit:cover; display:block; }
.newsletter-latest-content { padding: 18px 20px 20px; }
.newsletter-latest-label {
    display:block;
    color: var(--green);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 8px;
}
.newsletter-latest-content h3 { margin: 0 0 8px; color:var(--green-dark); font-size: 1.22rem; line-height:1.25; }
.newsletter-latest-content p { margin:0 0 12px; color:var(--muted); font-size:.94rem; line-height:1.5; }

@media (max-width: 900px) {
    .newsletter-signup-card { grid-template-columns: 1fr; text-align:left; }
    .newsletter-feature-actions { justify-content:flex-start; }
    .newsletter-latest-card { max-width: 640px; width:100%; margin:auto; }
}
@media (max-width: 620px) {
    .newsletter-main-form-row { grid-template-columns: 1fr; }
    .newsletter-main-form-row .btn { width:100%; }
    .newsletter-signup-card { padding: 28px 20px; }
}
