:root{--ink:#10231f;--muted:#5c6d68;--paper:#f5f1e8;--white:#fff;--green:#0b5b46;--green-2:#073d31;--lime:#d8f04a;--orange:#e96d2f;--line:#d8ddd8;--shadow:0 18px 50px rgba(16,35,31,.11);--radius:18px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font:16px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.narrow{max-width:830px}.section{padding:88px 0}.section-muted{background:var(--paper)}.section-dark{background:var(--green-2);color:var(--white)}.skip-link{position:fixed;left:12px;top:-80px;z-index:1000;padding:10px 16px;background:var(--lime);color:var(--ink)}.skip-link:focus{top:12px}.eyebrow{margin:0 0 12px;color:var(--orange);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.1;margin:0 0 18px}h1{font-size:clamp(2.55rem,6vw,5.8rem);letter-spacing:-.045em}h2{font-size:clamp(2rem,4vw,3.7rem);letter-spacing:-.035em}h3{font-size:1.45rem}p{margin:0 0 18px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 21px;border:1px solid transparent;border-radius:999px;font-weight:800;cursor:pointer;transition:.2s}.btn-primary{background:var(--lime);color:var(--ink)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(216,240,74,.2)}.btn-ghost{border-color:rgba(255,255,255,.55);color:var(--white)}.text-link{font-weight:800;color:var(--green)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;min-height:76px;gap:24px}.brand{display:flex;align-items:center;gap:11px;margin-right:auto}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--green);color:var(--lime);font-weight:900}.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font-size:1rem}.brand-copy small{color:var(--muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.primary-nav{display:flex;align-items:center;gap:20px}.primary-nav>a,.nav-group>a{font-weight:700;font-size:.9rem}.nav-group{position:relative;display:flex;align-items:center}.nav-sub-toggle{margin-left:4px;border:0;background:transparent;cursor:pointer}.nav-submenu{display:none;position:absolute;top:100%;left:0;min-width:240px;padding:10px;background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.nav-group:hover .nav-submenu,.nav-submenu.is-open{display:grid}.nav-submenu a{padding:9px 10px;border-radius:8px}.nav-submenu a:hover{background:var(--paper)}.menu-toggle{display:none;border:0;background:transparent;font-weight:800}.menu-toggle i{display:block;width:24px;height:2px;background:currentColor;margin-top:5px}.header-cta{padding:10px 16px;border-radius:999px;background:var(--green);color:white;font-weight:800}
.hero{overflow:hidden;background:var(--green-2);color:var(--white)}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center;min-height:680px;padding-block:70px}.hero-lead{max-width:690px;font-size:1.15rem;color:#dce8e4}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-board{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}.hero-board>div{min-height:175px;padding:28px;background:rgba(7,61,49,.82);display:flex;flex-direction:column}.hero-board span,.process-list span,.feature-grid article>span{color:var(--lime);font-weight:900}.hero-board strong{font:1.35rem Georgia,serif;margin:auto 0 4px}.hero-board small{color:#c7d7d1}.proof-strip{border-bottom:1px solid var(--line)}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}.proof-grid>div{display:flex;flex-direction:column;padding:26px;border-right:1px solid var(--line)}.proof-strip strong{font-size:1.2rem}.proof-strip span{color:var(--muted);font-size:.85rem}
.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:36px}.section-heading>p{max-width:520px;color:var(--muted)}.section-heading.light>p{color:#c8d7d1}.sector-grid,.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.sector-card,.content-card{position:relative;padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);overflow:hidden}.sector-card:hover,.content-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.sector-card{min-height:350px;display:flex;flex-direction:column}.sector-card .text-link{margin-top:auto}.card-index{font-size:4rem;font-weight:900;color:#e7ebe7}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.feature-grid article{padding-top:24px;border-top:1px solid rgba(255,255,255,.25)}.feature-grid p{color:#c8d7d1}.process-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;list-style:none;padding:0;margin:0}.process-list li{padding:26px;border:1px solid var(--line);border-radius:var(--radius)}.inquiry-section{background:var(--green)}.inquiry-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start;color:var(--white)}
.page-hero{padding:100px 0 70px;background:var(--paper)}.page-hero p{font-size:1.15rem;color:var(--muted)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:9px;padding-top:28px;color:var(--muted);font-size:.85rem}.category-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.category-tabs a{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--white)}.content-card{padding:0}.card-media{height:240px;display:grid;place-items:center;background:var(--paper)}.card-media img{width:100%;height:100%;object-fit:cover}.media-placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:3.5rem;font-weight:900;color:#a5b1ad}.card-body{padding:25px}.card-body time{color:var(--muted);font-size:.8rem}.empty-state{padding:45px;border:1px dashed #aebbb6;border-radius:var(--radius);background:var(--paper);text-align:center}.pagination{display:flex;justify-content:center;gap:8px;margin-top:40px}.pagination a,.pagination span{padding:8px 12px;border:1px solid var(--line);border-radius:8px}
.product-hero{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;padding:50px 0 70px}.product-main-media{min-height:420px;display:grid;place-items:center;background:var(--paper);border-radius:var(--radius);overflow:hidden}.product-main-media img{width:100%;height:100%;object-fit:cover}.quick-facts{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.quick-facts>div{padding:20px}.quick-facts span{display:block;color:var(--muted);font-size:.8rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-grid figure{margin:0}.gallery-grid img{aspect-ratio:4/3;object-fit:cover;border-radius:12px}.gallery-grid figcaption{font-size:.85rem;color:var(--muted);margin-top:8px}.split-panels{display:grid;grid-template-columns:1fr 1fr;gap:20px}.split-panels>div{padding:34px;border:1px solid var(--line);border-radius:var(--radius)}.about-panels p{color:var(--muted)}.spec-table{width:100%;border-collapse:collapse}.spec-table th,.spec-table td{padding:10px 0;text-align:left;border-bottom:1px solid rgba(255,255,255,.15);vertical-align:top}.spec-table th{width:45%;font-weight:500}.tech-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.faq-list{display:grid;gap:10px}.faq-list details{padding:18px 22px;border:1px solid var(--line);border-radius:12px}.faq-list summary{font-weight:800;cursor:pointer}.article-shell{width:min(calc(100% - 40px),820px);margin:50px auto 90px}.article-header{margin-bottom:35px}.article-cover{width:100%;margin:25px 0;border-radius:var(--radius)}.prose{font-size:1.06rem}.prose h2,.prose h3{margin-top:1.7em}.prose a{text-decoration:underline;color:var(--green)}.prose table{width:100%;border-collapse:collapse}.prose th,.prose td{padding:12px;border:1px solid var(--line);text-align:left}
.inquiry-form{padding:30px;border-radius:var(--radius);background:var(--white);color:var(--ink);box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.inquiry-form label{display:grid;gap:6px;margin-bottom:16px;font-weight:700;font-size:.87rem}.inquiry-form input,.inquiry-form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fbfcfb;color:var(--ink)}.inquiry-form input:focus,.inquiry-form textarea:focus{outline:3px solid rgba(11,91,70,.18);border-color:var(--green)}.inquiry-form .consent{display:flex;align-items:flex-start}.inquiry-form .consent input{width:auto;margin-top:5px}.form-status{min-height:25px;margin:12px 0 0;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px}.contact-checklist{padding:30px;background:var(--paper);border-radius:var(--radius)}.contact-checklist li{margin-bottom:10px}.fine-print{color:var(--muted);font-size:.84rem}.error-page{min-height:65vh;padding-block:120px;text-align:center}.site-footer{padding:70px 0 25px;background:#061f19;color:white}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}.footer-grid nav{display:grid;align-content:start;gap:9px}.footer-grid p,.footer-grid a{color:#c9d7d2}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:55px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);color:#9fb3ac;font-size:.82rem}
@media(max-width:1180px){.menu-toggle{display:block}.primary-nav{display:none;position:absolute;top:76px;left:0;right:0;padding:20px;background:white;border-bottom:1px solid var(--line);box-shadow:var(--shadow);align-items:stretch;flex-direction:column}.primary-nav.is-open{display:flex}.nav-group{display:grid}.nav-submenu{position:static;box-shadow:none;margin-top:8px}.header-cta{display:none}.hero-grid,.product-hero,.inquiry-grid,.contact-layout{grid-template-columns:1fr}.hero-grid{min-height:auto}.feature-grid,.process-list{grid-template-columns:1fr 1fr}.proof-grid{grid-template-columns:1fr 1fr}.tech-groups{grid-template-columns:1fr}.quick-facts{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.container{width:min(calc(100% - 28px),var(--max))}.section{padding:62px 0}.header-inner{min-height:68px}.brand-copy small{display:none}.primary-nav{top:68px}.hero-grid{padding-block:55px;gap:35px}.hero-board,.sector-grid,.card-grid,.feature-grid,.process-list,.split-panels,.form-grid,.footer-grid{grid-template-columns:1fr}.hero-board>div{min-height:135px}.proof-grid{grid-template-columns:1fr 1fr}.section-heading{display:block}.gallery-grid{grid-template-columns:1fr 1fr}.quick-facts{grid-template-columns:1fr}.footer-bottom{display:block}.page-hero{padding:70px 0 50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* 2026-10 Senegal brand refinement: keep the established green/lime/orange palette. */
body{letter-spacing:-.006em}
h1,h2,h3{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:900}
h1{line-height:.94;max-width:760px}
h2{line-height:1;max-width:820px}
h3{letter-spacing:-.025em}
.site-header{border-top:4px solid var(--orange);box-shadow:0 1px 0 rgba(16,35,31,.04)}
.header-inner{min-height:82px;gap:18px}
.brand{gap:12px;flex:0 0 auto}
.brand-mark{width:48px;height:48px;padding:3px;border-radius:15px;background:var(--paper);box-shadow:inset 0 0 0 1px rgba(16,35,31,.1)}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.brand-mark>span{display:grid;place-items:center;width:100%;height:100%;border-radius:12px;background:var(--green);color:var(--lime)}
.brand-copy strong{font-size:1.05rem;letter-spacing:-.025em}
.brand-copy small{margin-top:4px;font-size:.64rem;font-weight:700;letter-spacing:.1em}
.primary-nav{gap:2px;padding:5px;border-radius:999px;background:var(--paper)}
.primary-nav>a,.nav-group>a{padding:7px 9px;border-radius:999px;font-size:.78rem;transition:background-color .18s,color .18s}
.primary-nav>a:hover,.nav-group:hover>a,.primary-nav>a:focus-visible,.nav-group>a:focus-visible{background:var(--white);color:var(--green);outline:none}
.nav-sub-toggle{width:28px;height:28px;border-radius:50%}
.nav-sub-toggle:hover,.nav-sub-toggle:focus-visible{background:var(--white);outline:2px solid var(--lime);outline-offset:1px}
.nav-submenu{top:calc(100% + 12px);border-radius:18px;box-shadow:0 18px 40px rgba(16,35,31,.12)}
.nav-submenu:before{content:"";position:absolute;left:0;right:0;top:-13px;height:13px}
.header-cta{padding:11px 18px;background:var(--lime);color:var(--ink);font-size:.86rem;white-space:nowrap;box-shadow:inset 0 0 0 1px rgba(16,35,31,.08)}
.header-cta:hover,.header-cta:focus-visible{background:var(--orange);color:var(--white);outline:none}
.hero-grid{min-height:720px}
.hero .eyebrow{color:var(--lime)}
.hero h1{font-size:clamp(3.15rem,6.35vw,6.35rem);text-transform:none}
.hero-lead{max-width:650px;font-size:1.18rem}
.hero-board{gap:10px;border:0;background:transparent}
.hero-board>div{min-height:182px;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:rgba(11,91,70,.34)}
.proof-strip{background:var(--white)}
.proof-grid>div{position:relative;padding:24px 26px}
.proof-grid>div:before{content:"";position:absolute;left:26px;top:0;width:34px;height:4px;border-radius:999px;background:var(--lime)}
.proof-grid>div:nth-child(3):before{background:var(--orange)}
.section{padding:100px 0}
.section-heading{margin-bottom:44px}
.sector-grid,.card-grid{gap:24px}
.sector-card,.content-card{border-radius:28px;transition:transform .2s,box-shadow .2s,border-color .2s}
.sector-card{min-height:390px;padding:38px}
.sector-card-dark{background:var(--green);color:var(--white);border-color:var(--green)}
.sector-card-dark p{color:#dce8e4}
.sector-card-dark .card-index{color:rgba(216,240,74,.28)}
.sector-card-dark .text-link{color:var(--lime)}
.sector-card-blue{background:var(--paper);border-color:transparent}
.sector-card-blue:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:var(--orange)}
.feature-grid article{position:relative;padding:30px 22px 0;border-top-color:rgba(255,255,255,.2)}
.feature-grid article>span{display:grid;place-items:center;width:38px;height:38px;margin-bottom:26px;border-radius:50%;background:var(--lime);color:var(--ink)}
.process-list{gap:18px}
.process-list li{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:28px;border-radius:24px;background:var(--white);transition:transform .2s,border-color .2s}
.process-list li:hover{transform:translateY(-3px);border-color:rgba(11,91,70,.35)}
.process-list li>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--green);color:var(--lime)}
.inquiry-section{position:relative;overflow:hidden}
.inquiry-section:before{content:"";position:absolute;width:220px;height:220px;right:-90px;top:-90px;border:44px solid var(--lime);border-radius:50%;opacity:.18}
.inquiry-grid{position:relative;z-index:1}
.page-hero{padding:110px 0 78px}
.category-tabs a{padding:9px 16px;transition:background-color .18s,border-color .18s}
.category-tabs a:hover,.category-tabs a:focus-visible{border-color:var(--green);background:var(--green);color:var(--white);outline:none}
.content-card:hover{border-color:rgba(11,91,70,.3)}
.inquiry-form{border-radius:28px;box-shadow:0 18px 50px rgba(7,61,49,.16)}
.inquiry-form input,.inquiry-form textarea{border-radius:12px}
.site-footer{position:relative;padding-top:82px;border-top:7px solid var(--lime)}
.footer-brand{display:inline-flex;align-items:center;gap:12px;margin-bottom:20px;color:var(--white)}
.footer-brand img,.footer-brand>span{width:56px;height:56px;padding:4px;border-radius:17px;background:var(--white);object-fit:contain}
.footer-brand>span{display:grid;place-items:center;background:var(--green);color:var(--lime);font-weight:900}
.footer-brand strong{font-size:1.1rem;letter-spacing:-.02em}
.site-footer h2{font-size:clamp(2rem,3vw,3.4rem)}
.btn:focus-visible,.text-link:focus-visible,.brand:focus-visible,.footer-brand:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
@media(max-width:1120px){.brand-copy small{display:none}.primary-nav>a,.nav-group>a{padding-inline:7px;font-size:.74rem}.header-cta{padding-inline:14px}}
@media(max-width:1180px){.site-header{border-top-width:3px}.header-inner{min-height:74px}.primary-nav{top:74px;padding:18px;border-radius:0;background:var(--white)}.primary-nav>a,.nav-group>a{padding:10px 12px;font-size:.92rem}.nav-sub-toggle{justify-self:end;grid-column:2}.nav-group>a{grid-column:1}.nav-submenu{grid-column:1/-1}.hero-grid{min-height:auto}.hero-board>div{min-height:160px}.section{padding:80px 0}}
@media(max-width:620px){.header-inner{min-height:68px}.brand-mark{width:44px;height:44px}.brand-copy strong{font-size:.94rem}.primary-nav{top:68px}.hero h1{font-size:clamp(2.9rem,14vw,4.4rem)}.hero-lead{font-size:1.05rem}.section{padding:68px 0}.section-heading{margin-bottom:30px}.sector-card{min-height:320px;padding:28px}.feature-grid article{padding-inline:0}.process-list li{padding:22px}.proof-grid>div{padding:22px 18px}.proof-grid>div:before{left:18px}.site-footer{padding-top:64px}}

/* 2026-10 Senegal procurement navigation: real categories, responsive mega menus. */
.site-header{z-index:1000;overflow:visible;background:rgba(255,255,255,.98)}
.header-main{display:flex;align-items:center;min-height:76px;gap:22px}
.header-main .brand{margin-right:auto}
.header-tools{display:flex;align-items:center;gap:10px}
.header-tools--mobile{display:none}
.enterprise-channel{display:flex;flex-direction:column;justify-content:center;min-height:46px;padding:6px 14px;border-left:3px solid var(--orange);background:var(--paper);font-size:.74rem;font-weight:850;line-height:1.25}
.enterprise-channel small{margin-top:2px;color:var(--muted);font-size:.65rem;font-weight:650}
.enterprise-channel:hover,.enterprise-channel:focus-visible{background:#ebe5d8;outline:2px solid var(--orange);outline-offset:2px}
.whatsapp-link{display:inline-flex;align-items:center;min-height:46px;padding:0 14px;border:1px solid var(--green);color:var(--green);font-size:.78rem;font-weight:850}
.nav-shell{position:relative;border-top:1px solid var(--line);background:var(--white)}
.site-header .primary-nav{display:block;position:static;width:min(calc(100% - 40px),var(--max));margin-inline:auto;padding:0;border-radius:0;background:transparent;box-shadow:none}
.nav-list{display:flex;align-items:stretch;justify-content:space-between;gap:4px}
.nav-group{position:relative;display:block}
.nav-entry{display:flex;height:100%;align-items:stretch}
.site-header .nav-link{position:relative;display:flex;align-items:center;min-height:54px;padding:9px 8px;color:var(--ink);font-size:.74rem;font-weight:800;line-height:1.25}
.site-header .nav-link:after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:3px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .16s ease}
.site-header .nav-link:hover:after,.site-header .nav-link:focus-visible:after,.site-header .nav-link.is-active:after,.nav-group:hover>.nav-entry .nav-link:after{transform:scaleX(1)}
.site-header .nav-link.is-active{color:var(--green)}
.site-header .nav-link:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}
.site-header .nav-sub-toggle{align-self:center;display:grid;place-items:center;width:34px;height:34px;margin:0 1px 0 -5px;padding:0;border:0;border-radius:0;background:transparent;color:var(--green);cursor:pointer}
.site-header .nav-sub-toggle span{display:block;font-size:1.05rem;font-weight:900;line-height:1;transition:transform .16s ease}
.nav-group.is-open .nav-sub-toggle span{transform:rotate(45deg)}
.site-header .nav-sub-toggle:hover,.site-header .nav-sub-toggle:focus-visible{background:var(--lime);outline:0}
.nav-panel{position:absolute;top:calc(100% - 1px);left:0;width:min(820px,calc(100vw - 40px));padding-top:14px;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .17s ease,transform .17s ease,visibility 0s linear .17s;z-index:1010}
.nav-panel:before{content:"";position:absolute;inset:0 0 auto;height:15px}
.nav-group.is-open .nav-panel,.nav-group:focus-within .nav-panel{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0);transition-delay:0s}
.nav-panel__surface{border:1px solid var(--line);border-top:4px solid var(--lime);background:var(--white);box-shadow:0 24px 55px rgba(7,61,49,.18)}
.mega-menu{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)}
.mega-menu__catalog,.mega-menu__focus{padding:28px}
.mega-menu__focus{border-left:1px solid var(--line);background:var(--paper)}
.mega-menu__kicker{margin:0 0 7px;color:var(--orange);font-size:.67rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.mega-menu h2,.mega-menu h3{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.mega-menu h2{margin-bottom:20px;font-size:1.45rem;letter-spacing:-.03em}
.mega-menu h3{margin-bottom:12px;font-size:1.22rem;line-height:1.2}
.mega-menu__catalog ul{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;list-style:none}
.mega-category{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:9px;min-height:58px;padding:8px 11px;border:1px solid var(--line);background:var(--white);font-size:.78rem;font-weight:800;line-height:1.25}
.mega-category__index{color:var(--green);font-size:.66rem;font-weight:900}
.mega-category:hover,.mega-category:focus-visible,.mega-category.is-active{border-color:var(--green);background:#edf3ef;outline:0}
.mega-category.is-active{box-shadow:inset 4px 0 0 var(--orange)}
.mega-menu__focus>p:not(.mega-menu__kicker){margin-bottom:20px;color:var(--muted);font-size:.86rem}
.mega-menu__cta,.nav-product-card__link{color:var(--green);font-size:.78rem;font-weight:900}
.mega-menu__cta:hover,.mega-menu__cta:focus-visible,.nav-product-card__link:hover,.nav-product-card__link:focus-visible{color:var(--orange);outline:0;text-decoration:underline}
.nav-product-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nav-product-card{min-width:0;border:1px solid var(--line);background:var(--white)}
.nav-product-card__media{display:grid;place-items:center;aspect-ratio:16/9;overflow:hidden;background:#e6ebe7}
.nav-product-card__media img{width:100%;height:100%;object-fit:cover}
.nav-product-card__media img.is-placeholder{width:58%;height:58%;object-fit:contain}
.nav-product-card__body{padding:12px}
.nav-product-card h3{margin:0 0 7px;font-size:.83rem;line-height:1.28}
.nav-product-card p{display:-webkit-box;margin:0 0 8px;overflow:hidden;color:var(--muted);font-size:.7rem;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.menu-toggle{align-items:center;gap:10px;min-height:48px;padding:0 6px;border:0;background:transparent;color:var(--ink);font-weight:850}
.menu-toggle__icon{position:relative;display:block;width:24px;height:18px}
.menu-toggle__icon i{position:absolute;left:0;width:24px;height:2px;margin:0;background:currentColor;transition:transform .16s ease,top .16s ease}
.menu-toggle__icon i:first-child{top:4px}.menu-toggle__icon i:last-child{top:12px}
.menu-toggle[aria-expanded="true"] .menu-toggle__icon i:first-child{top:8px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-toggle__icon i:last-child{top:8px;transform:rotate(-45deg)}
body.nav-open{overflow:hidden}

@media(max-width:1180px){
  .header-main{min-height:72px}
  .header-tools--desktop{display:none}
  .menu-toggle{display:inline-flex}
  .nav-shell{position:static;border-top:0}
  .site-header .primary-nav{position:absolute;top:100%;right:0;bottom:auto;left:0;display:none;width:100%;max-width:none;height:calc(100vh - 72px);height:calc(100dvh - 72px);margin:0;padding:16px 20px 34px;overflow-y:auto;overscroll-behavior:contain;background:var(--white);border-top:1px solid var(--line)}
  .site-header .primary-nav.is-open{display:block}
  .nav-list{display:block}
  .nav-group{border-bottom:1px solid var(--line)}
  .nav-entry{display:grid;grid-template-columns:minmax(0,1fr) 48px}
  .site-header .nav-link{min-height:52px;padding:11px 4px;font-size:.92rem}
  .site-header .nav-link:after{left:4px;right:auto;width:42px}
  .site-header .nav-sub-toggle{align-self:stretch;width:48px;height:52px;margin:0}
  .nav-panel{position:static;display:none;width:auto;padding:0 0 14px;visibility:visible;opacity:1;pointer-events:auto;transform:none;transition:none}
  .nav-panel:before{display:none}
  .nav-group.is-open .nav-panel{display:block}
  .nav-panel__surface{box-shadow:none}
  .mega-menu{grid-template-columns:1fr}
  .mega-menu__catalog,.mega-menu__focus{padding:20px}
  .mega-menu__focus{border-top:1px solid var(--line);border-left:0}
  .header-tools--mobile{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
  .header-tools--mobile .enterprise-channel{grid-column:1/-1}
  .header-tools--mobile .header-cta,.header-tools--mobile .whatsapp-link{display:inline-flex;justify-content:center;min-height:48px}
}

@media(max-width:620px){
  .header-main{min-height:68px}
  .site-header .primary-nav{height:calc(100vh - 68px);height:calc(100dvh - 68px);padding-inline:14px}
  .brand-copy small{display:none}
  .mega-menu__catalog,.mega-menu__focus{padding:17px}
  .mega-menu__catalog ul,.nav-product-grid{grid-template-columns:1fr}
  .mega-category{min-height:52px}
  .header-tools--mobile{grid-template-columns:1fr}
  .header-tools--mobile .enterprise-channel{grid-column:auto}
}

@media(prefers-reduced-motion:reduce){.nav-panel,.site-header .nav-link:after,.site-header .nav-sub-toggle span,.menu-toggle__icon i{transition:none!important}}

/* 2026-10 Senegal category system: procurement-led product and resource pages. */
.catalog-hero{position:relative;overflow:hidden;padding:42px 0 76px;background:var(--green-2);color:var(--white)}
.catalog-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,transparent,black 34%,black)}
.catalog-hero:after{content:"";position:absolute;width:280px;height:280px;right:-85px;bottom:-150px;border:52px solid var(--orange);border-radius:50%;opacity:.28}
.catalog-hero .container{position:relative;z-index:1}
.catalog-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:58px;color:#bed0c9;font-size:.78rem;font-weight:750;letter-spacing:.04em}
.catalog-breadcrumb a:hover,.catalog-breadcrumb a:focus-visible{color:var(--lime);outline:none}
.catalog-hero__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:80px;align-items:end}
.catalog-hero__copy,.catalog-brief,.catalog-category-card>div,.catalog-content-layout>*,.catalog-card-grid>*{min-width:0}
.catalog-hero .eyebrow{color:var(--lime)}
.catalog-hero h1{max-width:820px;overflow-wrap:anywhere;font-size:clamp(3rem,6.1vw,6.3rem)}
.catalog-hero__lead{max-width:760px;margin:28px 0 0;color:#d6e3de;font-size:1.12rem;line-height:1.75}
.catalog-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.catalog-brief{border:1px solid rgba(255,255,255,.2);background:rgba(11,91,70,.32);backdrop-filter:blur(6px)}
.catalog-brief__label{margin:0;padding:15px 20px;border-bottom:1px solid rgba(255,255,255,.2);color:var(--lime);font-size:.7rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.catalog-brief dl{margin:0}
.catalog-brief dl>div{display:grid;grid-template-columns:105px 1fr;gap:18px;padding:19px 20px;border-bottom:1px solid rgba(255,255,255,.14)}
.catalog-brief dl>div:last-child{border-bottom:0}
.catalog-brief dt{color:#a9c1b8;font-size:.75rem;font-weight:750;text-transform:uppercase}
.catalog-brief dd{margin:0;font-weight:800;line-height:1.4}
.catalog-anchorbar{border-bottom:1px solid var(--line);background:var(--white)}
.catalog-anchorbar .container{display:flex;align-items:center;gap:0;overflow-x:auto;scrollbar-width:thin}
.catalog-anchorbar span,.catalog-anchorbar a{flex:0 0 auto;padding:17px 18px;border-right:1px solid var(--line);font-size:.78rem;font-weight:800}
.catalog-anchorbar span{padding-left:0;color:var(--orange);letter-spacing:.08em;text-transform:uppercase}
.catalog-anchorbar a:hover,.catalog-anchorbar a:focus-visible{background:var(--lime);outline:none}
.catalog-heading h2{max-width:680px}
.catalog-directory{background:var(--white)}
.catalog-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.catalog-category-card{display:grid;grid-template-columns:72px 1fr;gap:8px 24px;min-height:250px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);transition:background-color .18s,color .18s}
.catalog-category-card:hover{background:var(--green);color:var(--white)}
.catalog-category-card__index{grid-row:1/3;color:var(--orange);font-size:.8rem;font-weight:900;letter-spacing:.08em}
.catalog-category-card h3{font-size:1.65rem}
.catalog-category-card h3,.catalog-list-heading h2,.catalog-related-grid strong{overflow-wrap:anywhere}
.catalog-category-card p{max-width:520px;color:var(--muted)}
.catalog-category-card:hover p{color:#d4e2dd}
.catalog-category-card .text-link{grid-column:2;color:var(--green)}
.catalog-category-card:hover .text-link{color:var(--lime)}
.catalog-products{position:relative}
.catalog-products:before{content:"";position:absolute;left:0;top:0;width:clamp(14px,4vw,54px);height:8px;background:var(--orange)}
.catalog-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.content-card{display:flex;flex-direction:column;min-width:0;background:var(--white)}
.card-media{height:auto;aspect-ratio:3/2}
.media-placeholder{gap:5px;background:var(--green-2);color:var(--lime)}
.media-placeholder b{font-size:3.3rem;line-height:1}
.media-placeholder small{color:#c7d8d1;font-size:.68rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.card-body{display:flex;flex:1;flex-direction:column;padding:28px}
.card-body>p{color:var(--muted)}
.card-body .text-link{margin-top:auto}
.card-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px;color:var(--muted);font-size:.7rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.card-meta>span{color:var(--orange)}
.catalog-empty{display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid var(--line);border-left:8px solid var(--lime);background:var(--white)}
.catalog-empty>div{padding:42px}
.catalog-empty>div+div{border-left:1px solid var(--line)}
.catalog-empty>div>span{display:block;margin-bottom:35px;color:#c7cfcb;font-size:3.7rem;font-weight:950;line-height:1}
.catalog-empty h3{max-width:520px;font-size:clamp(1.8rem,3vw,2.8rem)}
.catalog-empty p{max-width:620px;color:var(--muted)}
.catalog-empty .btn{margin-top:8px}
.catalog-method{background:var(--white)}
.catalog-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;border-top:1px solid var(--line);border-left:1px solid var(--line);list-style:none}
.catalog-steps li{min-height:265px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.catalog-steps li>span{display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:58px;border-radius:50%;background:var(--green);color:var(--lime);font-weight:900}
.catalog-steps h3{font-size:1.25rem}
.catalog-steps p{color:var(--muted);font-size:.9rem}
.catalog-cta{padding:70px 0;background:var(--green);color:var(--white)}
.catalog-cta__inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.catalog-cta .eyebrow{color:var(--lime)}
.catalog-cta h2{font-size:clamp(2.2rem,4vw,4.2rem)}
.catalog-cta__inner>div:last-child p{color:#d7e4df}
.catalog-spec-check{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.catalog-spec-check>div>p:last-child{max-width:620px;color:var(--muted)}
.catalog-spec-check ul{margin:0;padding:0;border-top:1px solid var(--line);list-style:none}
.catalog-spec-check li{position:relative;padding:20px 20px 20px 52px;border-bottom:1px solid var(--line);font-weight:750}
.catalog-spec-check li:before{content:"✓";position:absolute;left:16px;color:var(--orange);font-weight:950}
.catalog-content-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:70px;align-items:start}
.catalog-list-heading{max-width:740px;margin-bottom:38px}
.catalog-list-heading>p:last-child{max-width:650px;color:var(--muted)}
.catalog-resource-list{display:grid;gap:18px}
.catalog-resource-list .content-card{display:grid;grid-template-columns:250px 1fr}
.catalog-resource-list .card-media{height:100%;min-height:245px;aspect-ratio:auto}
.catalog-resource-list .card-body{min-width:0}
.catalog-empty--stacked{grid-template-columns:1fr}
.catalog-empty--stacked>div+div{border-top:1px solid var(--line);border-left:0}
.catalog-aside{position:sticky;top:110px;padding:34px;background:var(--green-2);color:var(--white)}
.catalog-aside .eyebrow{color:var(--lime)}
.catalog-aside h2{font-size:2rem}
.catalog-aside ol{margin:32px 0;padding:0;border-top:1px solid rgba(255,255,255,.2);list-style:none}
.catalog-aside li{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.catalog-aside li>span{color:var(--lime);font-size:.75rem;font-weight:900}
.catalog-aside li strong{display:block;margin-bottom:5px}
.catalog-aside li p{margin:0;color:#c7d8d1;font-size:.85rem}
.catalog-aside .btn{margin-top:6px}
.catalog-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.catalog-related-grid>a{display:grid;grid-template-columns:44px 1fr auto;gap:18px;align-items:start;min-height:170px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}
.catalog-related-grid>a:hover,.catalog-related-grid>a:focus-visible{background:var(--lime);outline:none}
.catalog-related-grid>a>span{color:var(--orange);font-size:.75rem;font-weight:900}
.catalog-related-grid strong{font-size:1.15rem}
.catalog-related-grid p{margin-top:8px;color:var(--muted);font-size:.88rem}
.catalog-related-grid>a>b{color:var(--green);font-size:1.4rem}
.pagination a:focus-visible{outline:3px solid var(--orange);outline-offset:2px}

@media(max-width:980px){
  .catalog-hero__grid,.catalog-cta__inner,.catalog-spec-check{grid-template-columns:1fr;gap:42px}
  .catalog-hero__grid{align-items:start}
  .catalog-brief{max-width:620px}
  .catalog-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalog-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalog-content-layout{grid-template-columns:1fr}
  .catalog-aside{position:static}
}

@media(max-width:620px){
  .catalog-hero{padding:28px 0 54px}
  .catalog-breadcrumb{margin-bottom:38px}
  .catalog-hero h1{font-size:clamp(2.35rem,11.6vw,3.15rem);letter-spacing:-.055em}
  .catalog-hero__lead{font-size:1rem}
  .catalog-hero__actions{display:grid}
  .catalog-hero__actions .btn{width:100%}
  .catalog-brief dl>div{grid-template-columns:1fr;gap:5px}
  .catalog-anchorbar span,.catalog-anchorbar a{padding:14px}
  .catalog-category-grid,.catalog-card-grid,.catalog-steps,.catalog-empty,.catalog-related-grid{grid-template-columns:1fr}
  .catalog-category-card{grid-template-columns:44px 1fr;min-height:0;padding:26px 22px}
  .catalog-empty>div{padding:28px}
  .catalog-empty>div+div{border-top:1px solid var(--line);border-left:0}
  .catalog-steps li{min-height:0;padding:24px}
  .catalog-steps li>span{margin-bottom:28px}
  .catalog-resource-list .content-card{grid-template-columns:1fr}
  .catalog-resource-list .card-media{min-height:210px}
  .catalog-aside{padding:28px}
}

/* 2026-10-08 product detail: expose verified structured product data. */
.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.quick-grid>div{min-width:0;border-right:1px solid var(--line)}
.quick-grid>div:last-child{border-right:0}
.product-copy .hero-lead{color:var(--muted)}
.product-editorial{max-width:930px}
.product-editorial>h2:first-child{margin-top:0}
.spec-table{display:grid;margin:0}
.spec-table>div{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);gap:22px;padding:13px 0;border-bottom:1px solid var(--line)}
.section-dark .spec-table>div{border-color:rgba(255,255,255,.16)}
.spec-table>div:last-child{border-bottom:0}
.spec-table dt{font-weight:800}
.spec-table dd{margin:0;color:var(--muted);overflow-wrap:anywhere}
.section-dark .spec-table dd{color:#c8d7d1}
.base-specs{margin-top:44px;padding-top:34px;border-top:1px solid rgba(255,255,255,.2)}
.base-specs .spec-table{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
.product-spec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.product-spec-grid>article{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
.product-spec-grid--dark>article{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.04)}
.product-spec-grid--dark .spec-table>div{grid-template-columns:1fr;gap:5px}
.product-text-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.product-text-card{padding:28px;border-left:4px solid var(--orange);background:var(--paper)}
.product-text-card p{margin:0;color:var(--muted)}
.tech-groups>div{padding-bottom:20px}
.faq-list details[open]{background:var(--paper)}
.faq-list details p{margin:12px 0 0;color:var(--muted)}

@media(max-width:980px){
  .quick-grid,.product-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .base-specs .spec-table{grid-template-columns:1fr}
}

@media(max-width:620px){
  .quick-grid,.product-spec-grid,.product-text-grid{grid-template-columns:1fr}
  .quick-grid>div{border-right:0;border-bottom:1px solid var(--line)}
  .quick-grid>div:last-child{border-bottom:0}
  .spec-table>div{grid-template-columns:1fr;gap:4px}
  .product-spec-grid>article,.product-text-card{padding:22px}
  .gallery-grid{grid-template-columns:1fr}
}

/* 2026-10-12: shared product-detail layout repair */
.quick-facts{
  display:block;
}

.product-hero h1{
  max-width:760px;
  font-size:clamp(2.75rem,4.5vw,4.5rem);
  line-height:1.02;
  overflow-wrap:anywhere;
  text-wrap:balance;
}

.inquiry-section{
  scroll-margin-top:156px;
}

@media(max-width:620px){
  .product-hero h1{
    font-size:clamp(2.35rem,10.5vw,2.75rem);
    line-height:1.06;
  }

  .inquiry-section{
    scroll-margin-top:88px;
  }
}

/* WhatsApp contact: shared navigation, footer and persistent chat entry. */
.whatsapp-link{gap:8px;border-radius:999px;background:#ecf8f1;color:#075e40;border-color:#b7deca;white-space:nowrap}
.whatsapp-link:hover{background:#d8f2e3}
.whatsapp-link:focus-visible,.footer-whatsapp:focus-visible,.whatsapp-float:focus-visible,.contact-whatsapp__number:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.footer-grid .footer-whatsapp{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:fit-content;margin-top:18px;padding:12px 16px;border:1px solid #547a6d;border-radius:12px;color:#fff;background:#123d30;overflow-wrap:anywhere}
.footer-whatsapp strong{color:#a4efc0;font-size:.82rem}
.whatsapp-float{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:900;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:54px;padding:12px 20px;border:1px solid #368b65;border-radius:999px;background:#087343;color:#fff;font-size:.92rem;font-weight:800;line-height:1;box-shadow:0 6px 22px #052f2933;transition:background .15s}
.whatsapp-float:hover,.btn-whatsapp:hover{background:#075e37}
.whatsapp-float svg{flex:none}
.contact-whatsapp{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:48px;padding:28px 32px;border:1px solid #c7e2d3;border-radius:16px;background:#edf7f0}
.contact-whatsapp .eyebrow{color:#075e40;margin-bottom:8px}
.contact-whatsapp h2{font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:12px}
.contact-whatsapp__number{color:#075e40;font-weight:800;font-size:1.15rem;overflow-wrap:anywhere}
.btn-whatsapp{gap:12px;background:#087343;color:white;white-space:nowrap}
@media(max-width:620px){.whatsapp-float{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));min-height:50px;padding:10px 15px}.contact-whatsapp{align-items:flex-start;flex-direction:column;padding:24px;margin-top:30px}.contact-whatsapp .btn{width:100%;white-space:normal}.site-footer{padding-bottom:92px}}
