/* Logo-derived palette. Darker variants keep small text and buttons readable. */
:root{--brand-red:#e74d3a;--brand-blue:#3492c8;--brand-green:#74b12e;--brand-paper:#fffffe;--action:#b83225;--action-hover:#97291f;--navy:#173d54;--navy-2:#215773;--mint:#3492c8;--green:#397317;--ink:#19384b;--muted:#536b78;--soft:#f1f6f9;--white:#fffffe}
body,.site-header{background:var(--brand-paper)}
.site-header{border-top:3px solid var(--brand-blue);border-bottom-color:#dee7ec}.site-header:before{content:'';position:absolute;top:-3px;left:0;width:28%;height:3px;background:var(--brand-red)}
.brand-caption{color:var(--navy)}.desktop-nav a:after{background:var(--brand-red)}
.button-navy,.button-mint{background:var(--action);color:white}.button-navy:hover,.button-mint:hover{background:var(--action-hover)}
.button-outline{background:transparent;border-color:#9db8c8;color:var(--navy)}.button-outline:hover{background:#e8f3f9;border-color:var(--brand-blue)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#196b9a}
.hero{background:var(--brand-paper);color:var(--ink)}.hero-grid{grid-template-columns:1.07fr 1fr;gap:58px;min-height:620px;padding-block:60px 46px}
.hero .eyebrow{color:#397317}.eyebrow-line{background:var(--brand-red);width:30px;height:3px}
h1,html[lang=fr] h1{font-size:clamp(34px,3.7vw,52px);line-height:1.16;letter-spacing:-1.9px;white-space:normal}.hero .text-mint{color:#267cab}
.hero-description,.hero-note{color:var(--muted)}.hero-note .icon{color:var(--brand-green)}.hero-bottom{border-color:#dce6eb;color:var(--muted)}.hero-bottom a{color:var(--navy)}
.hero-bottom a .icon{width:18px;height:18px;color:var(--action)}
/* A stable text column and a separate, keyboard-accessible photo carousel. */
.hero-gallery{min-width:0;position:relative;border:1px solid #d8e4eb;border-radius:10px;background:white;box-shadow:0 20px 55px #24557712;align-self:center;overflow:hidden}
.hero-gallery:before{content:'';height:5px;position:absolute;inset:0 0 auto;background:linear-gradient(to right,var(--brand-red) 0 33.33%,var(--brand-blue) 33.33% 66.66%,var(--brand-green) 66.66%);z-index:2}
.slides{position:relative}.hero-slide{margin:0}.hero-slide:not([hidden]){animation:photo-enter .45s ease-out}.hero-slide img{width:100%;height:330px;object-fit:cover;display:block;background:#eaf0f3}.hero-slide:nth-child(2) img{object-position:50% 32%}.hero-slide:nth-child(3) img{object-position:100% 50%}
.hero-slide figcaption{padding:22px 26px 18px;min-height:112px}.slide-kicker{display:block;color:#397317;font-size:10px;font-weight:800;letter-spacing:1.2px;margin-bottom:7px}.hero-slide h2{font-size:23px;line-height:1.3;letter-spacing:-.5px}
.carousel-controls{border-top:1px solid #e3ebf0;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.carousel-controls[hidden]{display:none}.carousel-dots{display:flex;gap:7px}.carousel-dot{width:38px;height:38px;border:0;background:transparent;border-radius:50%;display:grid;place-items:center}.carousel-dot:before{content:'';width:8px;height:8px;border-radius:50%;background:#acbec8}.carousel-dot[aria-pressed=true]:before{background:var(--brand-red);width:20px;border-radius:5px}.carousel-actions{display:flex;gap:5px}.carousel-actions button{display:grid;place-items:center;width:38px;height:38px;border:1px solid #cedee7;background:white;color:var(--navy);border-radius:50%}.carousel-actions button:hover{background:#eef5fa}.carousel-actions .icon{width:16px;height:16px}.carousel-actions #slider-prev .icon{transform:rotate(180deg)}
.carousel-credit{padding:0 26px 12px;color:var(--muted);font-size:10px}.carousel-credit a{text-decoration:underline;text-underline-offset:2px}
@keyframes photo-enter{from{opacity:.4}to{opacity:1}}
.metrics{background:#f3f7fa;border-color:#dfe8ed}.metric>.icon{color:var(--brand-blue)}.metric:first-child>.icon{color:var(--brand-red)}.metric:last-child>.icon{color:#548825}.metric strong{color:var(--navy)}
.service-card{border-top:3px solid var(--brand-blue)}.service-card:first-child{border-top-color:var(--brand-red)}.service-card:last-child{border-top-color:var(--brand-green)}.service-icon{background:#edf5fa;border-color:#d4e5ef;color:#256d97}.service-card:first-child .service-icon{color:var(--action);background:#fff3f0;border-color:#f5d6d0}.service-card:last-child .service-icon{color:#397317;background:#f3f8ea;border-color:#dce9cd}.service-card:hover{border-color:var(--brand-blue)}.service-bottom a{background:#edf5fa;color:#256d97}
.company-facts{border-color:var(--brand-red)}.country-card .authority{color:#2e6815}.country-card .authority:before{background:var(--brand-green)}.country-card:hover{border-color:var(--brand-blue)}.region-filters button[aria-pressed=true]{background:#205e80}.region-filters button[aria-pressed=true]>span:last-child{color:white}
/* Coverage map now sits alongside the regional list, where it aids selection. */
.coverage-map{position:relative;min-height:290px;margin:25px 0 0;max-width:280px;background:#e8f1f6;border:1px solid #d4e3ec;border-radius:7px;overflow:hidden}.coverage-map .africa-map{inset:24px 2px 35px}.coverage-map .country{fill:#cbdde8;stroke:#eef5f9}.coverage-map .covered{fill:var(--brand-green);stroke:#426d25}.coverage-map .country[data-country=CIV]{fill:var(--brand-red);stroke:#8d3527}.coverage-map .map-graticule{stroke:#367995;opacity:.16}.coverage-map figcaption{position:absolute;bottom:12px;left:15px;right:15px;font-size:11px;color:var(--navy);text-align:center}.coverage-map .map-key{display:inline-block;width:7px;height:7px;background:var(--brand-green);margin-right:6px;border-radius:50%}
.contact-section{background:#edf5fa;color:var(--ink);border-top:1px solid #d5e5ef}.contact-copy .eyebrow,.contact-copy .text-mint{color:#236e98}.contact-intro{color:var(--muted)}.response-note{color:#397317}.contact-details>div>div>span,.opening-hours h3{color:#586e7a}.contact-details p,.contact-details a,.contact-details strong{color:var(--ink)}.contact-details .icon{color:#267cab}.contact-details a{overflow-wrap:anywhere}.contact-details address{font-style:normal;font-size:14px;line-height:1.85;color:var(--muted);margin-top:4px}.contact-details address span{display:block}.opening-hours dd{color:var(--ink)}.opening-hours>p{color:var(--muted)}.contact-since{border-color:#cbdde8;color:var(--navy)}.contact-since>span:last-child{color:var(--muted)}.quote-form{box-shadow:0 12px 40px #244d6710;border:1px solid #d8e6ee}
.country-option input:checked+span{background:#e4f0f8;border-color:#327da7;color:#194f70}.country-option input:checked+span:after{content:'';display:inline-block;width:8px;height:4px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);margin-left:6px;vertical-align:3px}
@media(max-width:1100px){.hero-grid{gap:30px}.hero-slide img{height:300px}.hero-slide h2{font-size:21px}.hero-slide figcaption{padding-inline:20px}.carousel-credit{padding-inline:20px}}
@media(max-width:800px){.hero-grid{grid-template-columns:1fr;max-width:660px;gap:35px}.hero-copy{max-width:none}h1,html[lang=fr] h1{font-size:clamp(34px,6.6vw,50px)}.hero-gallery{width:100%}.hero-slide img{height:320px}.hero-bottom>span{font-size:10px}.hero-bottom a{font-size:12px}.coverage-map{min-height:235px}}
@media(max-width:700px){.hero-grid{padding-top:40px;padding-bottom:30px}.hero .eyebrow{font-size:10px;letter-spacing:.7px}.hero-buttons{flex-wrap:wrap}.hero-buttons .button{min-height:48px}.hero-slide img{height:250px}.hero-slide figcaption{min-height:102px;padding:19px 20px}.hero-slide h2{font-size:22px}.hero-gallery{border-radius:7px}.hero-bottom a>span{display:none}.carousel-credit{font-size:10px}.coverage-map{display:block;max-width:100%;width:100%;min-height:285px;margin-top:22px}.coverage-map .africa-map{inset:12px 8% 34px}.contact-layout{gap:35px}.contact-copy h2{font-size:35px}}
@media(max-width:370px){h1,html[lang=fr] h1{font-size:32px;letter-spacing:-1.2px}.hero-slide img{height:220px}.carousel-controls{padding-inline:12px}.carousel-actions{gap:3px}.carousel-dot{width:32px}.hero-slide h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.hero-slide:not([hidden]){animation:none}}
