@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--blue:#0d4777;--blue2:#176ca5;--aqua:#dff2f4;--green:#4d9366;--ink:#203548;--muted:#637789;--pale:#f2f7f8;--line:#dbe6e9;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font:16px 'DM Sans',Arial,sans-serif;line-height:1.65}h1,h2,h3{font-family:Manrope,Arial,sans-serif;color:var(--blue);line-height:1.15;margin-top:0}h1{font-size:clamp(2.7rem,5vw,4.8rem);letter-spacing:-.045em;margin:.5rem 0 1.1rem}h1 em{font-style:normal;color:var(--green)}h2{font-size:clamp(1.9rem,3.3vw,2.8rem);letter-spacing:-.025em;margin:.55rem 0 1.1rem}h3{font-size:1.16rem;margin:.7rem 0}p{margin:.5rem 0 1rem}header{height:88px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;background:#ffffffed;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--muted);font-size:11px;font-weight:600;line-height:1.3}.brand img{width:78px;height:62px;object-fit:contain}.brand span{border-left:1px solid var(--line);padding-left:13px}nav{display:flex;align-items:center;gap:25px}nav a{color:#314c62;text-decoration:none;font-size:13px;font-weight:700}nav a:hover,.text-link{color:var(--green)}.nav-cta{background:var(--blue);color:white;padding:11px 17px;border-radius:5px}#menu{display:none}.hero{padding:66px 6vw 72px;display:grid;grid-template-columns:1.02fr .98fr;gap:5vw;align-items:center;background:linear-gradient(115deg,#edf6f8,#fff 66%,#e8f4f2)}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--green);display:block}.lead{font-size:19px;color:#536b7e;max-width:640px}.actions{margin:23px 0}.button{display:inline-block;background:var(--blue);color:white;border:1px solid var(--blue);border-radius:5px;padding:13px 20px;text-decoration:none;font-size:14px;font-weight:700;cursor:pointer;margin:5px 8px 5px 0}.button:hover{background:var(--blue2)}.button.secondary{background:white;color:var(--blue);border-color:#bfd0dc}.hero-points{display:flex;gap:17px;flex-wrap:wrap;color:#567487;font-size:12px;font-weight:700}.hero-points span:before{content:'✓';color:var(--green);margin-right:7px}.hero-visual{height:430px;position:relative}.hero-visual>img{width:100%;height:100%;object-fit:cover;border-radius:12px;box-shadow:0 22px 55px #153c5526}.photo-note{position:absolute;bottom:18px;left:18px;right:18px;background:#fffF;padding:14px 18px;border-left:4px solid var(--green);border-radius:4px;display:grid}.photo-note small{color:var(--muted)}section{padding:78px 7vw}.intro-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.intro-section p{color:var(--muted)}.rain-section{padding:0;display:grid;grid-template-columns:1fr 1fr;background:#edf5f6}.rain-image{min-height:500px;background:url('https://images.unsplash.com/photo-1519692933481-e162a57d6721?auto=format&fit=crop&w=1400&q=85') center/cover}.rain-copy{padding:65px 7vw 65px 5vw}.rain-copy p{color:#536a7b}blockquote{margin:25px 0 0;padding:18px 22px;background:#e2f0e9;border-left:4px solid var(--green);color:var(--blue);font-weight:700}.soft-section{background:var(--pale)}.section-heading{max-width:760px;margin-bottom:28px}.section-heading>p{color:var(--muted)}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.solution-grid article{background:white;border:1px solid var(--line);border-radius:9px;padding:25px;box-shadow:0 5px 20px #123d7008}.solution-grid article>span{color:var(--green);font-weight:800;font-size:13px}.solution-grid p{font-size:14px;color:var(--muted);margin-bottom:0}.reference-section{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.reference-photo{height:360px}.reference-photo img{width:100%;height:100%;object-fit:cover;border-radius:10px}.reference-copy p{color:var(--muted)}.text-link{font-weight:800;text-decoration:none}.team-section{background:#f5f9fa}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.team-card{background:white;border-radius:9px;overflow:hidden;border:1px solid var(--line)}.team-card img{width:100%;height:225px;object-fit:cover;display:block}.team-card div{padding:18px 20px}.team-card p{font-size:14px;color:var(--muted);margin-bottom:0}.image-note{font-size:11px;color:#718394;margin-top:18px}.process-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:32px}.process-grid>div{border-top:2px solid #b8d0d9;padding-top:15px}.process-grid b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--blue);color:white}.process-grid p{font-size:13px;color:var(--muted)}aside{margin-top:25px;padding:17px 20px;background:#fff8e9;border-left:4px solid #d3a84e;font-size:13px}.storage-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.storage-strip div{background:#fff;border:1px solid var(--line);padding:20px;border-radius:8px;display:grid}.storage-strip b{color:var(--blue)}.storage-strip small{color:var(--muted);margin-top:6px}.catalogue-promo{display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(105deg,#e4f2f3,#f7fbfa)}.catalogue-promo p{color:var(--muted);max-width:650px}.contact-section{display:grid;grid-template-columns:1fr .85fr;gap:8vw;background:#edf4f7}.contact-copy>p{color:var(--muted);max-width:550px}.contact-details{display:grid;gap:12px;margin-top:25px}.contact-details a{color:var(--blue);font-weight:700;text-decoration:none}.contact-section form{background:white;border:1px solid var(--line);border-radius:9px;padding:26px;display:grid;gap:12px;box-shadow:0 10px 35px #123d700c}.contact-section form label{font-size:12px;font-weight:700;color:var(--blue)}input,select,textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #cad8df;border-radius:5px;font:inherit}footer{background:#0b3153;color:#eaf3f7;padding:38px 7vw;display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:30px}footer b{color:white}footer p{font-size:13px;color:#c6d7e1}.footer-brand img{width:100px;height:70px;object-fit:contain;background:#fff;border-radius:5px;padding:4px}.footer-brand p{font-weight:700}.copyright{grid-column:1/-1;border-top:1px solid #ffffff25;padding-top:16px;color:#b6c8d3}.catalogue-hero{background:linear-gradient(110deg,#e9f4f6,#f8fbfc);padding-top:75px;padding-bottom:65px}.catalogue-hero p{font-size:19px;color:var(--muted)}.pdf-section iframe{width:100%;height:900px;border:1px solid var(--line);border-radius:8px;margin-top:25px}.pdf-section>div{max-width:800px}.pdf-section p{color:var(--muted)}
@media(max-width:900px){nav{gap:13px}nav a{font-size:12px}.hero{gap:3vw}.hero-visual{height:360px}.process-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){header{height:72px;padding:0 5vw}.brand img{width:65px;height:55px}.brand span{font-size:10px}#menu{display:block;border:0;background:none;font-size:25px;color:var(--blue)}nav{display:none;position:absolute;top:72px;left:0;right:0;padding:20px 7vw;background:white;box-shadow:0 15px 25px #123d7020;flex-direction:column;align-items:flex-start}nav.open{display:flex}.hero,.intro-section,.rain-section,.reference-section,.contact-section{grid-template-columns:1fr}.hero{padding:48px 6vw}.hero-visual{height:300px}.rain-image{min-height:280px}.rain-copy{padding:48px 6vw}.solution-grid,.team-grid{grid-template-columns:1fr}.reference-photo{height:270px}.process-grid{grid-template-columns:repeat(2,1fr)}.storage-strip{grid-template-columns:repeat(2,1fr)}.catalogue-promo{align-items:flex-start;flex-direction:column}.contact-section form{padding:20px}section{padding:55px 6vw}footer{grid-template-columns:1fr;gap:18px}.copyright{grid-column:auto}.pdf-section iframe{height:650px}}

.installation-section{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;background:#f7fafb}
.installation-photo{height:390px}
.installation-photo img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:10px}
.installation-copy p{color:var(--muted)}
.installation-copy strong{color:var(--blue)}
.installation-copy small{display:block;color:#718394;font-size:11px;margin-top:15px}
@media(max-width:720px){.installation-section{grid-template-columns:1fr}.installation-photo{height:290px}}

/* Galerie dédiée au potentiel pluviométrique du Gabon */
.rain-section{display:block;padding:72px 7vw;background:linear-gradient(135deg,#edf5f6 0%,#f9fbfb 100%)}
.rain-copy{max-width:920px;margin:0 auto 32px;padding:0}
.rain-gallery{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px;align-items:stretch;max-width:1320px;margin:0 auto}
.rain-gallery figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 10px 28px #123d7010;display:flex;flex-direction:column}
.rain-gallery img{width:100%;height:250px;object-fit:cover;display:block}
.rain-gallery-main img{height:290px}
.rain-gallery figcaption{padding:12px 15px;color:var(--blue);font-size:13px;font-weight:700;min-height:58px}
.installation-photo{height:auto;min-height:390px;background:#edf2f3;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:12px}
.installation-photo img{width:100%;height:auto;max-height:560px;object-fit:contain;object-position:center;border-radius:6px}
@media(max-width:900px){.rain-gallery{grid-template-columns:1fr 1fr}.rain-gallery-main{grid-column:1/-1}.rain-gallery-main img{height:300px}}
@media(max-width:720px){.rain-section{padding:52px 6vw}.rain-gallery{grid-template-columns:1fr}.rain-gallery-main{grid-column:auto}.rain-gallery img,.rain-gallery-main img{height:235px}.installation-photo{min-height:0;padding:8px}.installation-photo img{max-height:none}}

/* Navigation interactive des solutions et sommaire du catalogue */
.solution-grid article{display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.solution-grid article:hover{transform:translateY(-3px);box-shadow:0 14px 30px #123d701c}
.solution-link{display:inline-flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;color:var(--blue2);font-weight:800;font-size:13px;text-decoration:none}
.solution-link:hover{text-decoration:underline}
.website-toc,.catalogue-toc{background:linear-gradient(120deg,#edf6f7,#fff)}
.toc-grid,.catalogue-toc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.toc-grid a,.catalogue-toc-grid a{display:flex;flex-direction:column;justify-content:space-between;gap:4px;background:white;padding:15px 18px;border:1px solid #d7e5e9;border-radius:8px;text-decoration:none;color:var(--blue);font-size:14px;font-weight:700;transition:background .2s,border-color .2s}
.toc-grid a:hover,.catalogue-toc-grid a:hover,.catalogue-toc-grid a.active{background:#e2f3f5;border-color:#78b4c1}
.toc-grid small,.catalogue-toc-grid small{color:#668095;font-size:12px;font-weight:500}
.catalogue-toc-grid{grid-template-columns:repeat(4,1fr)}
.catalogue-toc-grid a{flex-direction:row;gap:12px;align-items:center}
.catalogue-toc-grid small{white-space:nowrap}
.toc-note{font-size:12px;color:var(--muted);margin-top:15px}
.pdf-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 15px;background:#eaf4f6;border-radius:8px;margin-top:18px;font-size:13px;color:var(--blue);font-weight:700}
.pdf-toolbar a{color:var(--blue2)}
@media(max-width:900px){.catalogue-toc-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.toc-grid,.catalogue-toc-grid{grid-template-columns:1fr 1fr}.pdf-toolbar{flex-wrap:wrap}}
@media(max-width:460px){.toc-grid,.catalogue-toc-grid{grid-template-columns:1fr}}

/* Cartes de solutions reliées aux fiches exactes du catalogue */
.solution-grid{align-items:stretch}
.solution-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 6px 22px #123d7009;padding:0 0 18px!important;display:flex;flex-direction:column}
.solution-card .solution-image-link{display:block;height:180px;overflow:hidden;background:#edf4f7}
.solution-card .solution-image-link img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.solution-card .solution-image-link:hover img{transform:scale(1.035)}
.solution-card>span,.solution-card>h3,.solution-card>p,.solution-card .solution-pages{margin-left:22px;margin-right:22px}
.solution-card>span{margin-top:18px;color:var(--green);font-size:10px;font-weight:800;letter-spacing:.1em}
.solution-card>h3{margin-top:8px}
.solution-card>p{font-size:14px;color:var(--muted);flex:1}
.solution-pages{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.solution-pages a{display:inline-block;border:1px solid #c7dce4;border-radius:20px;padding:6px 10px;color:var(--blue);font-size:11px;font-weight:700;text-decoration:none;background:#f6fafb}
.solution-pages a:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.catalogue-toc-grid a{display:flex;justify-content:space-between;gap:12px}
.catalogue-toc-grid a small{white-space:nowrap;color:var(--green);font-weight:800}

/* Portfolio des réalisations et réseau de partenaires */
.achievements-section{background:#f3f8f9}
.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.achievement-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 8px 24px #123d700a;display:flex;flex-direction:column}
.achievement-card>img{width:100%;height:220px;object-fit:contain;background:#edf3f4;padding:8px}
.achievement-body{padding:21px 22px 24px}
.achievement-body h3{margin:10px 0;font-size:1.1rem}
.achievement-body p{color:var(--muted);font-size:14px;margin-bottom:0}
.status-label{display:inline-block;color:#236b48;background:#e4f3e9;border-radius:30px;padding:5px 10px;font-size:10px;letter-spacing:.07em;font-weight:800}
.status-progress{color:#805b13;background:#fff2d7}
.status-study{color:#315f86;background:#e7f1f8}
.achievement-illustration{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;background:linear-gradient(135deg,#0d4777,#2c91a0)}
.achievement-illustration span{font:800 42px Manrope,Arial,sans-serif;letter-spacing:-.04em}
.achievement-illustration small{font-weight:700;opacity:.95}
.fire-illustration{background:linear-gradient(135deg,#173d5c,#558b75)}
.partners-section{background:#fff}
.partners-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.partners-grid article{display:flex;align-items:flex-start;gap:17px;padding:22px;border:1px solid var(--line);border-radius:9px;background:#fbfdfd}
.partner-mark{flex:0 0 54px;height:54px;display:grid;place-items:center;border-radius:12px;background:#e4f1f4;color:var(--blue);font:800 15px Manrope,Arial,sans-serif}
.partners-grid h3{font-size:1.08rem;margin:0 0 5px}
.partners-grid p{font-size:14px;color:var(--muted);margin:0 0 7px}
.partners-grid small{font-size:11px;color:var(--green);font-weight:800;letter-spacing:.04em}
.partner-note{font-size:11px;color:#718394;margin-top:18px}
.website-toc .button{margin-top:8px}
@media(max-width:850px){.achievement-grid{grid-template-columns:1fr 1fr}.partners-grid{grid-template-columns:1fr}}
@media(max-width:600px){.achievement-grid{grid-template-columns:1fr}.achievement-card>img{height:200px}}

/* Présentation transparente des réalisations et projets */
.achievement-grid-single{grid-template-columns:minmax(0,760px);justify-content:center}
.projects-in-progress{max-width:900px;margin:28px auto 0;padding:24px 28px;display:flex;gap:24px;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-left:4px solid #3b91a2;border-radius:10px}
.project-copy{flex:1}
.project-copy h3{margin:8px 0}
.project-copy p{margin:0;color:var(--muted);font-size:14px}
.project-capacity{min-width:150px;padding:20px;border-radius:9px;background:#edf6f7;text-align:center;color:var(--blue);display:flex;flex-direction:column;gap:5px}
.project-capacity strong{font-size:27px}
.project-capacity span{font-size:11px}
.partners-grid-open{grid-template-columns:repeat(3,minmax(0,1fr))}
.partners-grid-open article{min-height:145px;align-items:center;border-style:dashed;background:#fbfdfd}
.partners-grid-open .partner-mark{border-radius:50%;font-size:28px;background:#edf5f6}
.partners-grid-open .partner-mark span{font-weight:400}
.partners-grid-open small{color:#8798a3}
@media(max-width:850px){.partners-grid-open{grid-template-columns:1fr}.projects-in-progress{align-items:flex-start;flex-direction:column}.project-capacity{width:100%}}
